/* Public accessibility + responsive navigation pass — 2026-09-14 */
:root{
  --bft-orange-light:#a63b00; /* >= 6.4:1 on white */
  --bft-orange-dark:#f16419;  /* >= 6.1:1 on #0b0b0b */
}

/* Keep internal destinations out of customer-facing navigation. */
.marketing-nav .staff-link{display:none!important}

/* Readable public type floor. */
.announcement{font-size:12px!important;line-height:1.35}
.topbar .brand-copy small{font-size:12px!important;letter-spacing:.12em!important}
.topbar .phone span,.topbar .phone small{font-size:12px!important}
.site-link,.marketing-nav .nav-link{font-size:14px!important;line-height:1.2}
#customer-view .hero-kicker,
#customer-view .section-kicker,
#customer-view .eyebrow{font-size:12px!important;line-height:1.4}
#customer-view .lead{font-size:clamp(16px,1.4vw,18px)!important}
#customer-view .booking-topline,
#customer-view .step,
#customer-view .card-heading p,
#customer-view .no-account,
#customer-view .field label,
#customer-view .field-help,
#customer-view .secure-note,
#customer-view .stage-warning,
#customer-view .back,
#customer-view .check-row strong,
#customer-view .check-row small,
#customer-view .vehicle-type,
#customer-view .vehicle-specs span,
#customer-view .vehicle-copy>p:last-child,
#customer-view .airport-row span,
#customer-view .multi-pickup-heading strong,
#customer-view .multi-pickup-heading small,
#customer-view .multi-pickup-note,
#customer-view .return-help,
#customer-view .return-route-note span,
#customer-view .payment-method-heading>span,
#customer-view .payment-method-heading>small,
#customer-view .payment-method-card strong,
#customer-view .payment-method-card small,
#customer-view .booking-addons-heading span,
#customer-view .booking-addons-heading small,
#customer-view .addon-copy strong,
#customer-view .addon-copy em,
#customer-view .price-breakdown>div,
#customer-view .price-breakdown>div strong,
#customer-view .booking-inline-error,
#customer-view .booking-quick-summary span,
#customer-view .booking-quick-summary small,
#customer-view .summary-edit,
#customer-view .booking-addons-toggle strong,
#customer-view .booking-addons-toggle small,
#customer-view .booking-addons-toggle>b,
.footer-cta>div>span,
.footer-cta>p,
.footer-cta>a,
.footer-seo-links a,
.footer-bottom{font-size:14px!important;line-height:1.45}
#customer-view input,#customer-view select,#customer-view textarea,#customer-view button{font-size:14px}
#customer-view .primary{font-size:14px!important;min-height:48px}

/* WCAG-safe orange: darker on light surfaces, brighter on dark surfaces. */
#customer-view .hero h1 span,
#customer-view .vehicle-specs b,
#customer-view .return-route-note span,
#customer-view .booking-addons-heading span,
#customer-view .addon-copy em,
#customer-view .booking-addon-card>b,
#customer-view .payment-method-heading>span,
#customer-view .payment-method-card>b,
#customer-view .booking-quick-summary span,
#customer-view .secure-note span{color:var(--bft-orange-light)!important}
#customer-view .primary,
.hero-cta-solid,
.footer-cta>a{background:var(--bft-orange-light)!important;color:#fff!important}
#customer-view .primary:hover,.hero-cta-solid:hover,.footer-cta>a:hover{background:#8d3200!important}
.announcement i,.announcement strong,.topbar .brand-mark,.topbar .brand-copy strong em,.topbar .phone:before,
.footer-cta h2 em{color:var(--bft-orange-dark)!important}

/* SEO/public content pages */
.seo-header{border-bottom-color:var(--bft-orange-dark)!important}
.seo-brand-mark,.seo-brand strong span{color:var(--bft-orange-dark)!important}
.seo-brand small,.seo-phone small{font-size:12px!important;line-height:1.35}
.seo-nav a{font-size:14px!important;line-height:1.2}
.seo-kicker,.link-cluster span,.directory-card>span,.contact-card>span,
.area-guide-meta,.area-section-kicker,.area-city-badge,.area-search>span,.area-county-card header span,.area-not-listed span,
.vehicles-page .vehicle-card-heading>div>span,.vehicles-page .vehicle-card-label{font-size:12px!important;line-height:1.4;color:var(--bft-orange-light)!important}
.seo-lead{font-size:clamp(16px,1.5vw,18px)!important}
.seo-heading p,.seo-card p,.fleet-card p,.route-box p,.faq p,.directory-card p,.contact-card p,
.owner-review-callout p,.supplement-grid small,.extra-price small,.area-guide-card p,.area-city-card small,.area-search small,
.area-not-listed p,.area-process-grid p,.vehicles-page .vehicle-card-body>p,.vehicles-page .vehicle-capacity span,
.vehicles-page .vehicle-disclaimer,.seo-disclaimer{font-size:14px!important;line-height:1.6}
.seo-btn,.seo-card b,.route-list div,.faq summary,.seo-crosslink a,.seo-footer-links a,.seo-footer-bottom,.breadcrumb,
.link-cluster a,.directory-card a,.airport-link-card,.price-table caption,.price-table th,.price-table td,.price-table a,
.contact-card a,.area-guide-card a,.area-city-card .area-arrow,.area-search button,.area-county-card header b,.area-chip,
.area-empty-message,.area-process-grid b,.vehicles-page .vehicle-card-cta{font-size:13px!important;line-height:1.4}
.seo-photo-copy span{font-size:12px!important}
.seo-trust small{font-size:13px!important;line-height:1.4}
.seo-btn.primary,.seo-card b,.seo-trust,.seo-crosslink,.vehicles-page .vehicle-card-label.orange,.vehicles-page .vehicle-card-cta,.area-process-grid b{
  background:var(--bft-orange-light)!important;color:#fff!important;border-color:var(--bft-orange-light)!important
}
.seo-hero h1 em,.seo-heading a:hover,.seo-card a:hover,.price-table .price-value,.supplement-grid strong,
.vehicles-page .vehicle-capacity b,.area-proof-strip strong{color:var(--bft-orange-light)!important}
.route-box h2 span,.extra-price strong,.seo-footer h2 span,.seo-footer-links a:hover,.seo-nav a:hover,.official-link:hover{
  color:var(--bft-orange-dark)!important
}
.official-link{border-bottom-color:var(--bft-orange-dark)!important}

/* Shared purpose-built mobile/tablet menu. */
.public-menu-toggle{
  display:none;align-items:center;justify-content:center;gap:8px;min-width:46px;min-height:46px;
  border:1px solid #343434;border-radius:12px;background:#151515;color:#fff;font:800 14px/1 system-ui,sans-serif;
  cursor:pointer;padding:0 12px
}
.public-menu-toggle .menu-icon{width:19px;height:14px;display:grid;align-content:space-between}
.public-menu-toggle .menu-icon i{display:block;height:2px;border-radius:2px;background:currentColor;transition:.18s ease}
.nav-open .public-menu-toggle .menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-open .public-menu-toggle .menu-icon i:nth-child(2){opacity:0}
.nav-open .public-menu-toggle .menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:900px){
  .topbar,.seo-header{position:relative;z-index:80}
  .public-menu-toggle{display:inline-flex}
  .topbar{grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px;padding:10px 14px!important;min-height:72px}
  .topbar .brand{min-width:0}
  .topbar .brand-copy strong{font-size:15px!important}
  .topbar .brand-copy small{display:none}
  .topbar .phone{grid-column:auto!important;padding-left:0}
  .topbar .phone:before{display:none}
  .topbar .phone span,.topbar .phone small{display:none!important}
  .topbar .marketing-nav{
    display:none!important;position:absolute;top:calc(100% + 8px);left:12px;right:12px;z-index:100;
    margin:0!important;padding:10px!important;overflow:visible!important;max-width:none!important;
    flex-direction:column;align-items:stretch;gap:4px!important;background:#0d0d0f;border:1px solid #303033;
    border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.26)
  }
  .topbar.nav-open .marketing-nav{display:flex!important}
  .topbar .site-link,.topbar .marketing-nav .nav-link{
    display:flex;align-items:center;min-height:46px;padding:12px 14px!important;border-radius:10px!important;
    font-size:15px!important;color:#fff!important
  }
  .topbar .site-link:hover,.topbar .marketing-nav .nav-link:hover{background:#202024;color:#fff!important}

  .seo-header{flex-wrap:nowrap!important;padding:12px 16px!important;gap:12px}
  .seo-brand{min-width:0;flex:1}
  .seo-brand strong{font-size:16px!important}
  .seo-brand small{display:none}
  .seo-phone{margin-left:auto}
  .seo-header .seo-nav{
    display:none!important;position:absolute;top:calc(100% + 8px);left:12px;right:12px;z-index:100;
    width:auto!important;order:initial!important;padding:10px!important;overflow:visible!important;
    flex-direction:column;align-items:stretch;gap:4px!important;background:#0d0d0f;border:1px solid #303033;
    border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.26)
  }
  .seo-header.nav-open .seo-nav{display:flex!important}
  .seo-header .seo-nav a{display:flex;align-items:center;min-height:46px;padding:12px 14px;border-radius:10px;font-size:15px!important;color:#fff}
  .seo-header .seo-nav a:hover{background:#202024;color:#fff!important}
}

@media(max-width:620px){
  .announcement{
    box-sizing:border-box;
    width:100%;
    height:auto!important;
    min-height:36px;
    padding:6px 12px!important;
    gap:6px!important;
    align-items:center;
    font-size:11px!important;
    line-height:1.15;
    letter-spacing:.08em!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .announcement>span:first-child{
    flex:0 0 auto;
    font-size:11px!important;
    white-space:nowrap;
  }
  .announcement i{flex:0 0 auto;font-size:11px!important}
  .announcement .announcement-route{
    flex:1 1 auto;
    min-width:0;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    font-size:10px!important;
    line-height:1.15;
    letter-spacing:.06em!important;
  }
  .topbar .phone,.seo-phone{display:none!important}
  .topbar{grid-template-columns:minmax(0,1fr) auto!important}
  #customer-view .hero h1{font-size:clamp(46px,14vw,58px)!important}
  #customer-view .hero-cta-solid,.how-link strong,.how-link small{font-size:14px!important}
  #customer-view .service-band strong{font-size:14px!important}
  #customer-view .service-band small{font-size:13px!important}
  .footer-cta h2{font-size:clamp(40px,12vw,48px)!important}
  .seo-hero h1{font-size:clamp(48px,14vw,58px)!important}
}

@media(prefers-reduced-motion:reduce){
  .public-menu-toggle .menu-icon i{transition:none}
}

/* Dark-surface orange text needs the brighter accessible tone. */
.seo-nav a[aria-current="page"],
.area-proof-strip strong,
.area-directory-section .area-section-kicker,
.area-county-card header span,
.area-chip span,
.area-not-listed span{color:var(--bft-orange-dark)!important}
