/* B&M Towing microsite
   Brand colors: Orange + Black from existing B&M identity
   ADA: focus rings, sufficient contrast, skip link
*/

:root{
  --bm-orange: #f36220;
  --bm-black: #111111;
  --bm-white: #ffffff;
  --bm-gray: #f6f7f9;
  --bm-shadow: 0 10px 30px rgba(0,0,0,.12);
}

html{ scroll-behavior:smooth; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #111;
  background: #fff;
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  background:#000;
  color:#fff;
  padding:.75rem 1rem;
  z-index:9999;
  border-radius:.5rem;
}
.skip-link:focus{
  left:1rem;
  top:1rem;
  outline:3px solid var(--bm-orange);
  outline-offset:2px;
}

.topbar{
  background: linear-gradient(90deg, var(--bm-black), #000);
}
.brand-logo{
  max-width: 240px;
  height: auto;
}

.navbar .nav-link{
  font-weight: 600;
}
.navbar .nav-link.active{
  color: var(--bm-orange) !important;
}

.hero{
  background:
    radial-gradient(2000px 1200px at 0% 0%, rgba(243,98,32,.8), rgba(243,98,32,.2) 60%),
    radial-gradient(1200px 800px at 100% 100%, rgba(243,98,32,.6), rgba(243,98,32,0) 50%),
    linear-gradient(135deg, #f36220 0%, #c44d15 25%, #4a1a08 60%, #1a0a02 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.hero .hero-card{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: var(--bm-shadow);
  border-radius: 1.25rem;
}
.hero .hero-badge{
  background: rgba(243,98,32,.18);
  border:1px solid rgba(243,98,32,.35);
  color:#fff;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .75rem;
  font-weight:700;
}

.section{
  padding: 4rem 0;
}
.section-alt{
  background: var(--bm-gray);
}

.card{
  border-radius: 1.25rem;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 6px 16px rgba(0,0,0,.05);
}
.icon-pill{
  width: 2.5rem;
  height: 2.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--bm-orange);
  font-size: 1.5rem;
}

.btn-warning{
  background: var(--bm-orange) !important;
  border-color: var(--bm-orange) !important;
  color:#111 !important;
}
.btn-warning:hover, .btn-warning:focus{
  filter: brightness(0.95);
}
.btn-dark{
  background: var(--bm-black) !important;
  border-color: var(--bm-black) !important;
}

.focus-ring:focus{
  outline: 3px solid var(--bm-orange);
  outline-offset: 2px;
}

.feature-image{
  border-radius: 1.25rem;
  box-shadow: var(--bm-shadow);
  border: 1px solid rgba(255,255,255,.08);
}

.kpi{
  background:#fff;
  border-radius: 1.25rem;
  border:1px solid rgba(0,0,0,.08);
  padding:1.25rem;
  height:100%;
  color: var(--bm-black);
}

.site-footer{
  background: #0b0b0c;
}
.footer-top{
  background: linear-gradient(180deg, #0b0b0c 0%, #0f1012 100%);
}
.footer-logo{
  max-width: 220px;
  height:auto;
}

/* Forms */
.form-control:focus, .form-select:focus{
  border-color: var(--bm-orange);
  box-shadow: 0 0 0 .25rem rgba(243,98,32,.25);
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}
