/* BTE V6 R81 / Single authoritative design system for primary navigation + photographic heroes.
   Replaces R75/R76/R77/R78 runtime overlays. Depends on original B6 foundation.
   Do not modify Home hero photo or private application state. */
:root{--bte79-surface:#0b1b2a;--bte79-panel:#102538;--bte79-primary:#f9fbfe;--bte79-muted:#dce6ef;--bte79-focus:#d4affb;--bte79-radius:22px;--bte79-max-width:1280px;--bte79-hero-height:380px}
/* All navigation states use sufficient contrast, no unreadable blue active rectangles. */
body.bte-app .bte-header{position:relative!important;z-index:1500!important;background:var(--bte79-surface)!important}
body.bte-app .bte-header .navbar{min-height:94px!important;padding:12px 0!important}
body.bte-app .bte-header .navbar-brand.bte-brand{display:inline-flex!important;align-items:center!important;gap:12px!important;max-width:100%;margin-right:16px!important;color:#fff!important;flex:0 0 auto;text-decoration:none!important}
body.bte-app .bte-header .bte20-monogram{font-size:clamp(40px,3.6vw,48px)!important;font-weight:900!important;letter-spacing:-.08em!important;line-height:1!important;color:#fff!important}
body.bte-app .bte-header .bte20-accent{color:var(--bte79-focus)!important}
body.bte-app .bte-header .bte20-wordmark{display:block!important;font-size:clamp(12px,1.06vw,15px)!important;font-weight:750!important;line-height:1.22!important;letter-spacing:.1em!important;color:#fff!important}
body.bte-app .bte-header .bte20-wordmark em{display:block!important;color:#e8ecf2!important;font-style:normal!important}
body.bte-app .bte-header .nav-link{position:relative;color:#e4eaf1!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;text-shadow:none!important}
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link{font-size:13px!important;font-weight:700!important;padding:12px 13px!important;letter-spacing:.035em!important}
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link:hover,
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link:focus-visible,
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link.active,
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link.bte-group-current{color:#fff!important;background:transparent!important}
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link::after{content:'';position:absolute;bottom:4px;left:13px;right:13px;height:2px;background:transparent!important;border:0!important;transform:none!important}
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link.active::after,
body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link.bte-group-current::after{background:var(--bte79-focus)!important}
body.bte-app .bte-header .dropdown-menu{background:#102438!important;border:1px solid #4e6273!important;box-shadow:0 16px 35px #0007!important;border-radius:12px!important;padding:8px!important;min-width:242px;z-index:1600!important}
body.bte-app .bte-header .dropdown-menu .dropdown-item{display:block!important;padding:12px 13px!important;color:#f6f9fe!important;background:transparent!important;font-weight:650!important;font-size:14px!important;line-height:1.4!important;white-space:normal!important;border-radius:7px!important;border:0!important;opacity:1!important;text-shadow:none!important}
body.bte-app .bte-header .dropdown-menu .dropdown-item:hover,
body.bte-app .bte-header .dropdown-menu .dropdown-item:focus-visible{color:#fff!important;background:#27313d!important}
body.bte-app .bte-header .dropdown-menu .dropdown-item.active,
body.bte-app .bte-header .dropdown-menu .dropdown-item[aria-current=page]{color:#fff!important;background:#202b36!important;box-shadow:inset 3px 0 var(--bte79-focus)!important;font-weight:800!important}
body.bte-app .bte-header .dropdown-menu .dropdown-item.active:hover,
body.bte-app .bte-header .dropdown-menu .dropdown-item[aria-current=page]:hover,
body.bte-app .bte-header .dropdown-menu .dropdown-item.active:focus-visible{color:#fff!important;background:#303c46!important}
body.bte-app .bte-header a:focus-visible,body.bte-app .bte-header button:focus-visible{outline:2px solid #f1dfff!important;outline-offset:3px!important}
/* Shared PHP hero. Images are real IMG elements, not z-index-negative backgrounds. */
body.bte-app #main .bte-v6-hero{position:relative!important;isolation:isolate;display:flex!important;align-items:center!important;width:calc(100% - 48px)!important;max-width:var(--bte79-max-width)!important;min-height:var(--bte79-hero-height)!important;height:var(--bte79-hero-height)!important;margin:24px auto 42px!important;padding:0!important;background:#0a1d2b!important;border:1px solid rgba(229,239,249,.72)!important;border-radius:var(--bte79-radius)!important;overflow:hidden!important;color:var(--bte79-primary)!important;box-shadow:0 15px 34px rgba(6,17,29,.26)!important}
body.bte-app #main .bte-v6-hero__photo{position:absolute!important;display:block!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 50%!important;z-index:0!important;opacity:1!important;filter:none!important}
body.bte-app #main .bte-v6-hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,12,23,.97) 0%,rgba(3,12,23,.89) 32%,rgba(3,12,23,.58) 56%,rgba(3,12,23,.14) 100%),linear-gradient(0deg,rgba(3,12,23,.58),transparent 64%);pointer-events:none}
body.bte-app #main .bte-v6-hero__inner{color:#fff!important;position:relative;z-index:2;width:100%;max-width:var(--bte79-max-width);padding:42px clamp(25px,5vw,68px)!important;margin:0!important}
body.bte-app #main .bte-v6-hero__eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:.14em!important;color:#dbedf9!important;text-transform:uppercase!important;margin:0 0 20px!important;line-height:1.4!important}
body.bte-app #main .bte-v6-hero h1{max-width:740px!important;margin:0 0 18px!important;color:#fff!important;opacity:1!important;text-shadow:0 2px 12px rgba(0,0,0,.26)!important;font-size:clamp(42px,4.25vw,61px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.05em!important;overflow-wrap:normal!important}
body.bte-app #main .bte-v6-hero__summary{font-size:clamp(15px,1.4vw,18px)!important;line-height:1.55!important;max-width:570px!important;color:#f3f7fc!important;margin:0!important;text-shadow:0 1px 7px #0006!important}
body.bte-app #main .bte-v6-hero__cta{margin-top:20px!important}
body.bte-app #main .bte-v6-hero__cta .btn{font-size:14px!important;padding:11px 18px!important;border-radius:9px!important;white-space:normal}
body.bte-app #main .bte-v6-hero__cta{line-height:1.2!important}
/* The original Rider page is a deliberate editorial variant; match panel width and corners. */
body.bte-app[data-bte-page=rider] #main .bte-rider-heading{min-height:var(--bte79-hero-height)!important;border-radius:var(--bte79-radius)!important;overflow:hidden!important}
/* Coast and Equipment retain content sections, but use the common hero. */
body.bte-app[data-bte-page=coast] #main .bte-coast-page{padding-top:1px!important}
body.bte-app[data-bte-page=coast] #main .bte-coast-page>.container{padding-top:0!important}
body.bte-app[data-bte-page=equipment] #main .bte-equipment{padding-top:1px!important}
body.bte-app[data-bte-page=coast] #main .bte-coast-page>.bte-v6-hero,
body.bte-app[data-bte-page=equipment] #main .bte-equipment>.bte-v6-hero{width:calc(100vw - 48px)!important;margin-left:0!important;margin-right:0!important;left:50%!important;transform:translateX(-50%)!important}
body.bte-app[data-bte-page=equipment] #main .bte-gear-showcase{margin-top:32px!important}
body.bte-app #main .bte-section-heading h2{letter-spacing:-.035em;line-height:1.16}
body.bte-app #main .bte-white-panel{border-radius:18px;min-width:0}
/* Genuine fix for Bootstrap negative row gutters overflowing containers at tablet size. */
body.bte-app .bte-footer .row{margin-inline:0!important}
body.bte-app .bte-footer .row>[class*=col-]{min-width:0}
/* The Progress page must expose its selected graph and its accessible fallback. */
body.bte-app[data-bte-page=progress] #season-analysis[open]>.bte-r73-analysis-body{display:block}
body.bte-app[data-bte-page=progress] .bte-progress-tabs{gap:10px}
/* R86: Progress chart-mode controls own both CSS color and WebKit text fill.
   Legacy R21 used pale text fill on white pills; this single scoped owner prevents
   unreadable default/hover states without changing the site's other controls. */
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls .bte-progress-tab{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  color:#172d45!important;-webkit-text-fill-color:#172d45!important;
  border:1px solid #536a81!important;background:#fff!important;
  opacity:1!important;text-shadow:none!important;
}
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls .bte-progress-tab:is(:hover,:focus-visible){
  background:#203c57!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#203c57!important;
}
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls .bte-progress-tab.is-active,
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls .bte-progress-tab.is-active:is(:hover,:focus-visible){
  background:#162f4b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#162f4b!important;
}
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls .bte-progress-tab:focus-visible{
  outline:3px solid #5c3ac9!important;outline-offset:3px!important;
}
body.bte-app[data-bte-page=progress] [data-bte-chart-wrapper]{min-height:240px;max-width:100%}
body.bte-app[data-bte-page=progress] [data-bte-chart-slot] canvas{display:block;max-width:100%}
/* Glossary search and cards retain their genuine functional markup. */
body.bte-app[data-bte-page=glossary] #glossary-terms{scroll-margin-top:100px}
body.bte-app[data-bte-page=glossary] #glossary-terms .bte-card{height:100%;border-radius:16px!important;overflow-wrap:anywhere}
/* R81: ensure visual separation from following content; no page-specific hero overrides. */
body.bte-app #main .bte-v6-hero + .bte-white,
body.bte-app #main .bte-v6-hero + section.bte-white{margin-top:0!important}
body.bte-app #main .bte-v6-hero__inner{max-width:900px!important;margin-left:0!important}
body.bte-app #main .bte-v6-hero h1,body.bte-app #main .bte-v6-hero__summary,body.bte-app #main .bte-v6-hero__eyebrow{position:relative;z-index:3}
/* Progress is a server-rendered GET view. Its controls should remain the viewport focus after a selection. */
body.bte-app[data-bte-page=progress] #bte-progress-filters,
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls{scroll-margin-top:clamp(100px,12vw,145px)}
body.bte-app[data-bte-page=progress] #bte-progress-chart-controls{min-height:52px}
@media(max-width:991px){
 body.bte-app .bte-header .navbar{min-height:76px!important}
 body.bte-app .bte-header .dropdown-menu{position:static!important;width:100%;box-shadow:none!important}
 body.bte-app .bte-header .navbar-nav>.nav-item>.nav-link::after{display:none!important}
 body.bte-app .bte-header .navbar-brand.bte-brand{margin-right:0!important}
}
@media(max-width:767px){
 :root{--bte79-radius:18px;--bte79-hero-height:340px}
 body.bte-app #main .bte-v6-hero{width:calc(100% - 24px)!important;margin-top:12px!important;margin-bottom:30px!important;min-height:340px!important;height:auto!important}
 body.bte-app #main .bte-v6-hero__inner{padding:30px 23px!important}
 body.bte-app #main .bte-v6-hero h1{font-size:clamp(34px,8.6vw,46px)!important;line-height:1.05!important;margin-bottom:14px!important}
 body.bte-app #main .bte-v6-hero__summary{font-size:14px!important;line-height:1.5!important}
 body.bte-app #main .bte-v6-hero__eyebrow{font-size:10px!important;margin-bottom:12px!important}
 body.bte-app #main .bte-v6-hero__cta{margin-top:13px!important}
 body.bte-app #main .bte-v6-hero::after{background:linear-gradient(0deg,rgba(4,14,25,.97) 0%,rgba(4,14,25,.77) 52%,rgba(4,14,25,.36) 100%)}
 body.bte-app[data-bte-page=coast] #main .bte-coast-page>.bte-v6-hero,
 body.bte-app[data-bte-page=equipment] #main .bte-equipment>.bte-v6-hero{width:calc(100vw - 24px)!important}
 body.bte-app .bte-header .bte20-monogram{font-size:36px!important}
 body.bte-app .bte-header .bte20-wordmark{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){body.bte-app .bte-header *{transition:none!important}}

/* R81: Typography and hero controls share one foreground palette, independent of legacy page themes. */
body.bte-app #main section.bte-v6-hero .bte-v6-hero__inner > h1,
body.bte-app #main section.bte-v6-hero .bte-v6-hero__eyebrow,
body.bte-app #main section.bte-v6-hero .bte-v6-hero__summary{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;mix-blend-mode:normal!important;}
body.bte-app #main section.bte-v6-hero .bte-v6-hero__eyebrow{color:#dceefa!important;-webkit-text-fill-color:#dceefa!important;}
body.bte-app #main section.bte-v6-hero .bte-v6-hero__summary{color:#f3f7fc!important;-webkit-text-fill-color:#f3f7fc!important;}
body.bte-app #main section.bte-v6-hero .bte-v6-hero__cta .btn{color:#fff!important;-webkit-text-fill-color:#fff!important;}
body.bte-app #main section.bte-v6-hero .bte-v6-hero__cta .btn:hover,
body.bte-app #main section.bte-v6-hero .bte-v6-hero__cta .btn:focus-visible{background:#472176!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
/* Visible lower boundary and breathing space should be intrinsic to the hero, not faked with the section below. */
body.bte-app #main section.bte-v6-hero{outline:1px solid rgba(240,247,255,.25);outline-offset:0;}
@media(min-width:768px) and (max-width:1050px){
  body.bte-app #main section.bte-v6-hero{height:auto!important;min-height:380px!important}
  body.bte-app #main section.bte-v6-hero .bte-v6-hero__inner{padding-block:38px!important}
  body.bte-app #main section.bte-v6-hero h1{font-size:clamp(38px,5vw,55px)!important}
}

/* R88: the final 2026 Summary tables must not collide with the footer. */
body.bte-app[data-bte-page="season"] .bte-season-detail{
 margin-top:clamp(32px,4vw,64px)!important;
 padding-bottom:clamp(64px,7vw,108px)!important;
}
body.bte-app[data-bte-page="season"] .bte-season-detail .row.g-4{row-gap:24px!important}
