body{font-size:16px;padding-top:42px}.preview-notice{position:fixed;inset:0 0 auto;z-index:1100;padding:10px 16px;background:#12345f;color:#fff;text-align:center;font:500 14px/22px system-ui}.site-header{top:42px}.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.44}.hero-media{background:#101217!important}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0d0ff5 5%,#0c0d0f99 45%,transparent)}.rating-row,.woocommerce-product-rating,.stars,.hero-scroll-indicator,.social-row,.header-divider,.payment-icons{display:none!important}.thumb-placeholder:before{display:none!important}.thumb-placeholder:after{content:'Product photo pending'!important;position:static!important;display:block!important;background:none!important;transform:none!important;width:auto!important;height:auto!important;color:#a9aab2!important;font:14px/1.5 system-ui!important}.thumb-placeholder{display:flex!important;align-items:center;justify-content:center;background:#1d1f26!important}.unavailable-link{color:#a9aab2}.section-label,.eyebrow,.spec-pill{font-size:14px}.product-excerpt{font-size:16px}.site-footer p:empty{display:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #75a8ff;outline-offset:4px}.preview-detail{font-size:14px;color:#b7c9e7;padding:10px 0}.cart-rail{z-index:1050}.cart-rail-panel{padding-top:42px}@media(max-width:650px){body{padding-top:64px}.preview-notice{font-size:12px;line-height:20px}.site-header{top:60px}.hero-content h1{font-size:clamp(38px,11vw,64px)}.hero-media img{object-position:65% center}.cart-rail-panel{max-width:calc(100vw - 24px)}.container[style]{padding-left:20px!important;padding-right:20px!important}.footer-grid{gap:24px}}
/* Keep native option popups legible on Windows and mobile browsers. */
:root { color-scheme: dark; --preview-height: 42px; }
body { padding-top: var(--preview-height); }
.site-header { top: var(--preview-height); background: #0c0d0ff5; }
select { color-scheme: dark; }
select option, select optgroup { background: #1d1f26; color: #f3f3f1; }
select option:checked { background: #244d89; color: #fff; }
.fitment-pill select, .fitment-check select, .woocommerce-ordering select {
  color: #f3f3f1; background-color: #1d1f26; font-size: 16px; min-height: 44px;
}
select:disabled { color: #a9aab2; opacity: 1; cursor: not-allowed; }
.fitment-pill select:focus-visible { outline: 2px solid #75a8ff; outline-offset: -3px; background-color: #242833; }
.main-nav a, .btn, .variations label, .variation-swatches button, .tabs-nav button { font-size: 14px; }
.mini-product-foot { gap: 14px; flex-wrap: wrap; }
.mini-product-body { flex: 1; }
.shop-toolbar { gap: 14px; flex-wrap: wrap; }
.nav-toggle, .cart-rail-close { min-width: 44px; min-height: 44px; }
.cart-rail-panel { padding-top: var(--preview-height); visibility: hidden; }
body.cart-active .cart-rail-panel { visibility: visible; }
body.cart-active .cart-rail-idle { visibility: hidden; }
html { scroll-padding-top: calc(var(--preview-height) + var(--header-h) + 20px); }
@media (max-width: 1080px) {
  .main-nav { display: none; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .main-nav.is-open {
    display: flex; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 0; padding: 12px 20px;
    background: #17181d; border-bottom: 1px solid #3c3f49; box-shadow: 0 12px 24px #0006;
    max-height: calc(100dvh - var(--preview-height) - var(--header-h)); overflow-y: auto;
  }
  .main-nav a { display: block; padding: 14px 8px; color: #f3f3f1; }
  .main-nav a:hover, .main-nav a:focus-visible { background: #242833; }
}
@media (max-width: 760px) {
  html, body { overflow-x: clip; }
  .mini-product-card { flex: 0 1 auto; }
  .mini-product-body .desc { font-size: 14px; }
  body.cart-active .site-header, body.cart-active .site-hero, body.cart-active .sticky-fitment,
  body.cart-active .site-footer, body.cart-active main { --rail-idle: 0px; }
  .cart-rail-panel { max-width: 100%; }
  .fitment-pill select { min-width: 0; flex: 1 1 28%; padding-left: 10px; }
  .fitment-pill .fp-submit { min-height: 44px; }
  .woocommerce-ordering select { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Actual accessory photography: keep complete parts visible at every size. */
.product-photo { background: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.product-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.main-image.product-photo { aspect-ratio: 1; height: auto; padding: 16px; }
.product-thumb.product-photo { padding: 12px; }
.gallery-thumbs { display: flex; gap: 10px; overflow-x: auto; padding: 4px 3px 12px; }
.gallery-thumbs button.thumb { flex: 0 0 80px; width: 80px; height: 80px; padding: 4px; border: 2px solid #3c3f49; border-radius: 4px; cursor: pointer; }
.gallery-thumbs button.is-active { border-color: #e0293f; }
.gallery-thumbs button:hover { border-color: #75a8ff; }
.woocommerce-product-gallery { min-width: 0; }
.price-pending { font-size: 15px; color: #a9aab2; }
.mini-product-thumb.product-photo { padding: 4px; }
.section-heading { color: #fff; font-size: 32px; margin-bottom: 24px; }
#tow-rated, #how-it-works, #support { scroll-margin-top: calc(var(--preview-height, 28px) + 110px); }
.towing-page { max-width: 1320px; margin: 0 auto; padding: 0 44px 64px; }
.towing-page .woocommerce-breadcrumb { padding-left: 0; }
.tow-hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; padding: 48px 0 72px; align-items: center; }
.tow-hero h1 { font-size: clamp(40px, 5.5vw, 72px); line-height: 1.08; color: #fff; margin: 16px 0 24px; }
.towing-page p { color: #bdc0cb; line-height: 1.8; margin-bottom: 22px; }
.tow-rating { background: linear-gradient(140deg,#18385f,#151820); border: 1px solid #34547a; border-top: 4px solid var(--red); border-radius: 12px; padding: 40px; }
.tow-rating > span { display: block; color: #d7e2f2; }
.tow-rating strong { display: block; font: 700 clamp(48px,6vw,80px)/1.3 var(--font-display); color: #fff; margin: 14px 0; }
.tow-rating small { font-size: 28px; }
.tow-rating p { margin: 22px 0 0; }
.tow-section { padding: 56px 0; border-top: 1px solid var(--border); scroll-margin-top: 160px; }
.tow-section h2 { font-size: clamp(28px,3vw,40px); color: #fff; margin: 12px 0 24px; }
.tow-section h3 { font-size: 23px; color: #fff; margin-bottom: 16px; }
.tow-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; margin-top: 32px; }
.tow-columns > * { min-width: 0; }
.towing-page figure { margin: 0; }
.towing-page figure img { width: 100%; height: auto; display: block; border-radius: 8px; }
.towing-page figcaption, .towing-page .tow-caption { font-size: 13px; color: #aeb7c6; margin-top: 12px; line-height: 1.6; }
.tow-note { border-left: 3px solid var(--red); padding: 24px; background: #191c24; margin-top: 24px; }
.tow-note p { margin-bottom: 0; }
.tow-table-wrap { overflow-x: auto; }
.tow-table-wrap table { width: 100%; border-collapse: collapse; font-size: 14px; }
.tow-table-wrap caption { text-align: left; padding-bottom: 16px; color: #bcc9dd; }
.tow-table-wrap th,.tow-table-wrap td { text-align: left; padding: 12px 8px; border-bottom: 1px solid #383d48; }
.tow-table-wrap thead { background: #1d2738; }
.tow-source a { text-decoration: underline; color: #a8caff; }
@media(max-width: 800px) { .towing-page { padding: 0 20px 40px; } .tow-hero,.tow-columns { grid-template-columns: 1fr; gap: 28px; } .tow-hero { padding: 32px 0 44px; } .tow-rating { padding: 28px; } .tow-section { padding: 36px 0; } }
.opening-options { margin: 24px 0; padding: 20px; background: #191c24; border: 1px solid #3b4352; border-radius: 8px; }
.opening-options label { display: block; font-weight: 700; margin-bottom: 10px; }
.opening-options select { width: 100%; min-height: 48px; padding: 10px; background: #242833; color: #fff; font-size: 16px; }
.opening-options .opening-note { margin-top: 12px; font-size: 14px; line-height: 1.6; color: #bcc9dd; }
.support-page { max-width: 1320px; margin: 0 auto; padding: 0 44px 72px; }
.support-page .woocommerce-breadcrumb { padding-left: 0; }
.support-intro { padding: 40px 0; max-width: 750px; }
.support-intro h1 { font-size: clamp(38px,5vw,64px); line-height: 1.1; color: #fff; margin: 16px 0 24px; }
.support-page p { color: #c1c7d1; line-height: 1.75; }
.support-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.contact-card { border: 1px solid #343b47; background: #181c24; border-radius: 12px; padding: 28px; }
.contact-preferred { border-top: 4px solid var(--red); background: linear-gradient(150deg,#18385f,#181c24); }
.contact-card .eyebrow { letter-spacing: .08em; }
.contact-card h2 { font-size: 32px; color: #fff; margin: 16px 0; }
.contact-card p { margin: 0 0 20px; }
.contact-detail { display: block; color: #fff; font-size: clamp(16px,1.7vw,23px); font-weight: 700; margin: 24px 0; overflow-wrap: anywhere; }
.contact-card .btn { width: 100%; text-align: center; }
.contact-card .contact-caption { margin: 20px 0 0; font-size: 14px; }
.support-signoff { max-width: 680px; margin: 52px auto 0; text-align: center; }
.support-signoff p { font-size: 21px; margin-bottom: 16px; }
.support-signoff span { color: #fff; font-weight: 700; }
@media(max-width: 1000px) { .support-grid { grid-template-columns: 1fr; } .support-page { padding: 0 20px 48px; } .contact-detail { font-size: 22px; } }
