/* =========================================================================
   RIVOT Motors — Light theme overrides
   Activated when <html data-theme="light">. Dark stays the default (no attr
   or data-theme="dark"). Scoped so the existing dark stylesheet is untouched.
   Brand accent (orange #CE6723 / #ff830e) is intentionally preserved.
   ========================================================================= */

/* Theme-flipping variable for inline "!important" colors that CSS can't
   otherwise override (used in the model pages' .model-description). Dark keeps
   white; light switches to readable ink. */
html { --dyn-text: #ffffff; }
html[data-theme="light"] { --dyn-text: #1b1d21; }

:root {
  --lt-bg:        #f4f5f7;   /* page background            */
  --lt-surface:   #ffffff;   /* cards / panels             */
  --lt-surface-2: #eceef2;   /* secondary surface          */
  --lt-surface-3: #e2e5ea;   /* insets / hovers            */
  --lt-text:      #1b1d21;   /* primary text               */
  --lt-text-soft: #4b4f57;   /* secondary text             */
  --lt-text-mut:  #6b7078;   /* muted / captions           */
  --lt-border:    #d5d9e0;   /* hairlines                  */
  --lt-accent:    #CE6723;   /* brand orange — buttons/borders */
  --lt-accent-ink:#a8460f;   /* darker orange for TEXT (readable on light) */
}

/* ---- Page canvas -------------------------------------------------------- */
/* background-attachment:fixed pins the gradient to the viewport so it does NOT
   shift as the (very tall) page scrolls. */
html[data-theme="light"],
html[data-theme="light"] body {
  background: linear-gradient(120deg, #f7f8fa 0%, #eef0f4 55%, #e7eaef 100%) !important;
  background-attachment: fixed !important;
  color: var(--lt-text);
}

/* Broad text flip: dark ink for the common content elements.
   Buttons / accent chips are re-whitened further down. */
html[data-theme="light"] body,
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] span,
html[data-theme="light"] label,
html[data-theme="light"] td,
html[data-theme="light"] th,
html[data-theme="light"] dd,
html[data-theme="light"] dt,
html[data-theme="light"] blockquote,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6 {
  color: var(--lt-text);
}

html[data-theme="light"] small,
html[data-theme="light"] .text-muted,
html[data-theme="light"] figcaption {
  color: var(--lt-text-mut);
}

html[data-theme="light"] a {
  color: var(--lt-text);
}
html[data-theme="light"] a:hover {
  color: var(--lt-accent);
}

/* ---- Logo: white mark -> solid black in light mode --------------------- */
/* Skipped on .hero-dark-top pages (header overlays a dark hero), UNLESS the
   page also opts back in with .logo-dark (white menu + black logo combo). */
html[data-theme="light"] body:not(.hero-dark-top) .logo img,
html[data-theme="light"] body.logo-dark .logo img {
  filter: brightness(0) !important;
}

/* ---- 360° rotation icon: white -> black in light mode ------------------ */
html[data-theme="light"] .rotation-icon img {
  filter: brightness(0);
}

/* Desktop-only dark header: pages flagged .desk-dark-head keep the white
   (hero-dark-top) header on mobile, but switch to BLACK menu text + BLACK logo
   on desktop (>=992px, where the full menu shows). */
@media (min-width: 992px) {
  html[data-theme="light"] body.desk-dark-head .main-menu nav ul li a,
  html[data-theme="light"] body.desk-dark-head .navbar-collapse > li > a {
    color: var(--lt-text) !important;
  }
  html[data-theme="light"] body.desk-dark-head .main-menu nav ul li a:hover,
  html[data-theme="light"] body.desk-dark-head .navbar-collapse > li > a:hover {
    color: var(--lt-accent-ink) !important;
  }
  html[data-theme="light"] body.desk-dark-head .logo img {
    filter: brightness(0) !important;
  }
}

/* ---- Header / navigation ------------------------------------------------ */
/* Transparent header, same as the dark version (menu just overlays the page). */
html[data-theme="light"] .header-menu,
html[data-theme="light"] #header-sticky,
html[data-theme="light"] .main-menu-area,
html[data-theme="light"] .topheader {
  background: transparent !important;
  box-shadow: none !important;
}

/* Default light-mode menu = dark text. Pages whose header sits over a dark hero
   opt out via body.hero-dark-top (keeps the white, dark-version menu). */
html[data-theme="light"] body:not(.hero-dark-top) .main-menu nav ul li a,
html[data-theme="light"] body:not(.hero-dark-top) .navbar-collapse > li > a,
html[data-theme="light"] body:not(.hero-dark-top) .nav-menu2 > li > a,
html[data-theme="light"] body:not(.hero-dark-top) .nav-menu2 > li > span {
  color: var(--lt-text) !important;
}
html[data-theme="light"] body:not(.hero-dark-top) .main-menu nav ul li a:hover,
html[data-theme="light"] body:not(.hero-dark-top) .navbar-collapse > li > a:hover {
  color: var(--lt-accent-ink) !important;
}

/* Dropdown submenus (light panel — fine on every page). */
html[data-theme="light"] .submenu,
html[data-theme="light"] .submenu2 {
  background: var(--lt-surface) !important;
  border: none !important;
  box-shadow: none !important;
}
html[data-theme="light"] .submenu li a,
html[data-theme="light"] .submenu2 li a {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .submenu li a:hover,
html[data-theme="light"] .submenu2 li a:hover {
  color: var(--lt-accent-ink) !important;
  background: var(--lt-surface-2) !important;
}

/* Mobile off-canvas nav */
html[data-theme="light"] .nav-menu2,
html[data-theme="light"] .mean-nav,
html[data-theme="light"] .mobile-menu {
  background: var(--lt-surface) !important;
}
/* Hamburger: dark on normal light pages, but WHITE on hero-dark-top pages
   (community/story) where it overlays a dark hero — matching their menu/logo. */
html[data-theme="light"] body:not(.hero-dark-top) .menu-toggle2,
html[data-theme="light"] .submenu-toggle,
html[data-theme="light"] .mean-bar,
html[data-theme="light"] .meanmenu-reveal {
  color: var(--lt-text) !important;
}

/* ---- Generic dark surfaces --------------------------------------------- */
/* Map the recurring dark fills (#000/#111/#222/#333) to light surfaces. */
html[data-theme="light"] .section,
html[data-theme="light"] section,
html[data-theme="light"] .card,
html[data-theme="light"] .box,
html[data-theme="light"] .panel,
html[data-theme="light"] .content-box,
html[data-theme="light"] .feature-box,
html[data-theme="light"] .info-box,
html[data-theme="light"] .spec-box,
html[data-theme="light"] .price-box,
html[data-theme="light"] .modal-content {
  background-color: transparent;
}

/* Anything that is explicitly a dark card in the dark theme. */
html[data-theme="light"] [class*="dark"],
html[data-theme="light"] .bg-black,
html[data-theme="light"] .bg-dark {
  background-color: var(--lt-surface) !important;
  color: var(--lt-text) !important;
}

/* ---- Forms -------------------------------------------------------------- */
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-control {
  background: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: var(--lt-text-mut) !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus {
  border-color: var(--lt-accent-ink) !important;
  box-shadow: 0 0 0 2px rgba(206, 103, 35, 0.18) !important;
}

/* ---- Buttons ------------------------------------------------------------ */
/* Keep accent buttons orange with white text; give plain/outline buttons a
   readable light treatment. */
html[data-theme="light"] .btn,
html[data-theme="light"] button.accent,
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .buy-btn,
html[data-theme="light"] .cta,
html[data-theme="light"] .cta-btn {
  color: #fff !important;
}
html[data-theme="light"] .btn-outline,
html[data-theme="light"] .btn-light {
  background: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}

/* ---- Footer ------------------------------------------------------------- */
html[data-theme="light"] footer {
  background-color: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border-top: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .footer-links a,
html[data-theme="light"] .contact-info,
html[data-theme="light"] .social-icons a {
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] .footer-links a:hover,
html[data-theme="light"] .social-icons a:hover {
  color: var(--lt-accent-ink) !important;
}
html[data-theme="light"] .footer-bottom {
  color: var(--lt-text-mut) !important;
  border-top: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .footer-heading {
  color: var(--lt-accent-ink) !important;
}

/* ---- Overlays / translucent dark layers -------------------------------- */
html[data-theme="light"] .overlay,
html[data-theme="light"] .modal-backdrop,
html[data-theme="light"] .story-overlay {
  background: rgba(0, 0, 0, 0.45) !important; /* dim over media stays dark */
}
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .popover,
html[data-theme="light"] .tooltip-inner {
  background: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}

/* Horizontal rules / borders that were dark on dark. */
html[data-theme="light"] hr,
html[data-theme="light"] .divider {
  border-color: var(--lt-border) !important;
}

/* ---- Inline-style overrides -------------------------------------------- */
/* Inline styles beat selectors, so these need attribute matching + !important
   to flip hard-coded white text / black fills embedded in the HTML. */
html[data-theme="light"] [style*="color:#fff"],
html[data-theme="light"] [style*="color: #fff"],
html[data-theme="light"] [style*="color:#FFF"],
html[data-theme="light"] [style*="color:#ffffff"],
html[data-theme="light"] [style*="color: #ffffff"],
html[data-theme="light"] [style*="color:white"],
html[data-theme="light"] [style*="color: white"] {
  color: var(--lt-text) !important;
}
html[data-theme="light"] [style*="background:#000"],
html[data-theme="light"] [style*="background: #000"],
html[data-theme="light"] [style*="background-color:#000"],
html[data-theme="light"] [style*="background-color: #000"],
html[data-theme="light"] [style*="background:#111"],
html[data-theme="light"] [style*="background:#222"],
html[data-theme="light"] [style*="background-color:#222"],
html[data-theme="light"] [style*="background:#333"],
html[data-theme="light"] [style*="background-color:#333"] {
  background-color: var(--lt-surface) !important;
}

/* Preserve white text where it sits on the orange accent (readability). */
html[data-theme="light"] [style*="background:#CE6723"] [style*="color"],
html[data-theme="light"] [style*="background:#ce6723"],
html[data-theme="light"] .footer-heading,
html[data-theme="light"] [class*="btn"][style*="color:#fff"] {
  color: inherit !important;
}
html[data-theme="light"] .accent,
html[data-theme="light"] .highlight,
html[data-theme="light"] .price {
  color: var(--lt-accent-ink) !important;
}

/* =========================================================================
   products.html (and similar model-grid pages) — page has its own embedded
   dark <style>, so these page-specific classes need explicit light overrides.
   ========================================================================= */
html[data-theme="light"] .main-content { background: transparent !important; }

html[data-theme="light"] .products-header h1,
html[data-theme="light"] .model-name,
html[data-theme="light"] .spec-value {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .products-header p,
html[data-theme="light"] .spec-label,
html[data-theme="light"] .footer-text {
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] .products-header h1 .highlight,
html[data-theme="light"] .product-series {
  color: var(--lt-accent-ink) !important;
}

html[data-theme="light"] .model-card {
  background: #ffffff !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .model-card:hover {
  border-color: var(--lt-accent-ink) !important;
}
html[data-theme="light"] .product-specs {
  background: var(--lt-surface-2) !important;
  border-top-color: var(--lt-border) !important;
}
html[data-theme="light"] .spec-item {
  border-color: var(--lt-border) !important;
}

/* Badge and primary button sit on orange -> keep white text. */
html[data-theme="light"] .product-badge,
html[data-theme="light"] .primary-button,
html[data-theme="light"] .product-button.primary-button {
  color: #fff !important;
}
/* Outline (secondary) button reads as orange-on-light. */
html[data-theme="light"] .secondary-button,
html[data-theme="light"] .product-button.secondary-button {
  background: transparent !important;
  color: var(--lt-accent-ink) !important;
  border: 1px solid var(--lt-accent) !important;
}
html[data-theme="light"] .secondary-button:hover,
html[data-theme="light"] .product-button.secondary-button:hover {
  background: rgba(206, 103, 35, 0.08) !important;
}

/* =========================================================================
   Model detail pages — classic / pro / max / sports / offlander
   (identical template; all use .classic-left/.classic-right etc.)
   .model-title/.model-description/.spec-*/buttons are already handled above.
   ========================================================================= */
html[data-theme="light"] .classic-left,
html[data-theme="light"] .classic-right {
  background: #f4f5f7 !important;
  background-color: #f4f5f7 !important;
}
html[data-theme="light"] .scroll-indicator { color: var(--lt-text) !important; }
html[data-theme="light"] #progressBar { background: var(--lt-surface-3) !important; }
html[data-theme="light"] #progressText { color: var(--lt-text-soft) !important; }
/* White dots -> visible on light. */
html[data-theme="light"] .section-dot {
  background-color: rgba(0, 0, 0, 0.25) !important;
  border: none !important;
}
html[data-theme="light"] .section-dot.active {
  background-color: var(--lt-accent-ink) !important;
}
/* Section background scrim (::before) is a 50% BLACK overlay in the dark theme,
   which muddies the light version. Flip to a light, more-opaque scrim. */
html[data-theme="light"] #section2::before,
html[data-theme="light"] #section3::before,
html[data-theme="light"] #section4::before,
html[data-theme="light"] #section5::before,
html[data-theme="light"] #section6::before,
html[data-theme="light"] #section7::before {
  background-color: rgba(255, 255, 255, 0.35) !important;
}

/* First (#section1) and last (#section8) sections: WHITE background + BLACK
   text in light mode (middle sections keep their images with the light scrim). */
html[data-theme="light"] #section1,
html[data-theme="light"] #section8 {
  background: #ffffff !important;
  background-image: none !important;
  --dyn-text: #1b1d21;   /* inline .model-description var -> dark */
}
/* Neutralize the (absent) scrim just in case, so nothing tints the white. */
html[data-theme="light"] #section1::before,
html[data-theme="light"] #section8::before {
  background-color: transparent !important;
}
html[data-theme="light"] #section1 .model-title,
html[data-theme="light"] #section1 .spec-value,
html[data-theme="light"] #section8 .model-title,
html[data-theme="light"] #section8 .spec-value {
  color: var(--lt-text) !important;
}
html[data-theme="light"] #section1 .model-description,
html[data-theme="light"] #section1 .spec-label,
html[data-theme="light"] #section8 .model-description,
html[data-theme="light"] #section8 .spec-label {
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] #section1 .highlight,
html[data-theme="light"] #section8 .highlight {
  color: var(--lt-accent-ink) !important;
}

/* =========================================================================
   compare.html — model comparison
   ========================================================================= */
html[data-theme="light"] .main-content {
  background: transparent !important;
}
/* Both page panels share a "background:#000" rule -> white in light mode. */
html[data-theme="light"] .selection-page,
html[data-theme="light"] .comparison-page {
  background: #ffffff !important;
}
html[data-theme="light"] .header h1,
html[data-theme="light"] .comparison-title,
html[data-theme="light"] .section-title {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .header p,
html[data-theme="light"] .selection-counter p {
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] .header h1 .highlight,
html[data-theme="light"] .selection-counter h3,
html[data-theme="light"] .reselect-link {
  color: var(--lt-accent-ink) !important;
}
html[data-theme="light"] .selection-counter,
html[data-theme="light"] .model-column {
  background: var(--lt-surface) !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .model-dropdown {
  background: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .model-dropdown:focus {
  border-color: var(--lt-accent-ink) !important;
}
/* Comparison spec table. */
html[data-theme="light"] .spec-table,
html[data-theme="light"] .spec-table td {
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] .spec-table th {
  background: var(--lt-surface-2) !important;
  color: var(--lt-text) !important;
}
html[data-theme="light"] .comparison-header {
  border-bottom-color: var(--lt-border) !important;
}
/* compare / detail button on orange keeps white text. */
html[data-theme="light"] .compare-btn { color: #fff !important; }

/* =========================================================================
   Content pages — blog / forum / connect / where / faqs
   ========================================================================= */
/* Surfaces / cards / panels */
html[data-theme="light"] .blog-card,
html[data-theme="light"] .forum-category,
html[data-theme="light"] .forum-topics,
html[data-theme="light"] .where-card,
html[data-theme="light"] .faq-question,
html[data-theme="light"] .form-page {
  background: var(--lt-surface) !important;
}
html[data-theme="light"] .forum-topic:hover,
html[data-theme="light"] .faq-question:hover {
  background: var(--lt-surface-2) !important;
}
/* Benefits/features panel has a dark gradient fill -> light surface. */
html[data-theme="light"] .form-features {
  background: var(--lt-surface-2) !important;
}
html[data-theme="light"] .form-features h3 {
  color: var(--lt-accent-ink) !important;
}

/* Borders / dividers */
html[data-theme="light"] .blog-card,
html[data-theme="light"] .forum-category,
html[data-theme="light"] .where-card,
html[data-theme="light"] .form-features,
html[data-theme="light"] .form-header,
html[data-theme="light"] .form-section,
html[data-theme="light"] .location-contact,
html[data-theme="light"] .forum-topic,
html[data-theme="light"] .forum-topics-header,
html[data-theme="light"] .forum-topic-stats,
html[data-theme="light"] .file-upload-label {
  border-color: var(--lt-border) !important;
}

/* Titles / headings */
html[data-theme="light"] .form-title,
html[data-theme="light"] .location-title,
html[data-theme="light"] .social-title,
html[data-theme="light"] .page-header h1,
html[data-theme="light"] .forum-hero h1,
html[data-theme="light"] .faq-question {
  color: var(--lt-text) !important;
}

/* Secondary text */
html[data-theme="light"] .blog-card-content p,
html[data-theme="light"] .blog-description-overlay,
html[data-theme="light"] .forum-category p,
html[data-theme="light"] .forum-hero p,
html[data-theme="light"] .forum-stat-label,
html[data-theme="light"] .forum-topic-meta span,
html[data-theme="light"] .forum-topic-views,
html[data-theme="light"] .loading-placeholder,
html[data-theme="light"] .form-description,
html[data-theme="light"] .feature-list li,
html[data-theme="light"] .location-details,
html[data-theme="light"] .social-description,
html[data-theme="light"] .page-header p,
html[data-theme="light"] .faq-answer {
  color: var(--lt-text-soft) !important;
}

/* Forum hero scrim: black film -> light so the (dark) hero text reads. */
html[data-theme="light"] .forum-hero::before {
  background: rgba(255, 255, 255, 0.5) !important;
}
/* Carousel captions sit ON images -> keep them WHITE in BOTH themes (the blog
   carousel keeps its dark scrim below for readability). */
html[data-theme="light"] .carousel-caption,
html[data-theme="light"] .carousel-caption.animate-caption {
  color: #ffffff !important;
}

/* community.html — cards, join section, photo carousel */
html[data-theme="light"] .community-card {
  background: var(--lt-surface) !important;
}
html[data-theme="light"] .card-content h3 {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .card-content p,
html[data-theme="light"] .join-section p {
  color: var(--lt-text-soft) !important;
}
/* Carousel dots visible on light. */
html[data-theme="light"] .photo-carousel .owl-dot {
  background-color: rgba(0, 0, 0, 0.3) !important;
}
/* .carousel-caption, .photo-info text, .carousel-nav-btn, .story-description-overlay
   stay white — they sit on images (scrim kept dark). .join-btn stays white on orange. */

/* File-upload zone + filter chips */
html[data-theme="light"] .file-upload-label {
  background: var(--lt-surface-2) !important;
  color: var(--lt-text) !important;
}
html[data-theme="light"] .filter-button {
  border: 1px solid var(--lt-border) !important;
  color: var(--lt-text-soft) !important;
}
html[data-theme="light"] .filter-button:hover,
html[data-theme="light"] .filter-button.active {
  color: #fff !important;   /* active chip fills orange */
}
html[data-theme="light"] #loadMoreBtn {
  color: var(--lt-text) !important;
}
/* .submit-btn / .social-btn keep white text on their colored fills. */

/* =========================================================================
   support.html — help center / contact cards
   ========================================================================= */
html[data-theme="light"] .support-container { background: transparent !important; }
/* Form card panel (dark rgba fill in the dark theme) -> light surface. */
html[data-theme="light"] .form-section {
  background: var(--lt-surface) !important;
}
html[data-theme="light"] .support-card {
  background: var(--lt-surface) !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .card-contact {
  border-top-color: var(--lt-border) !important;
}
html[data-theme="light"] .hero-title,
html[data-theme="light"] .card-title,
html[data-theme="light"] .section-title {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .hero-subtitle,
html[data-theme="light"] .section-subtitle,
html[data-theme="light"] .card-description {
  color: var(--lt-text-soft) !important;
}

/* =========================================================================
   testride.html + booknow.html — booking forms (white-on-dark, many rules use
   !important, so these need higher-specificity overrides).
   ========================================================================= */
/* Panels */
html[data-theme="light"] .testride-left,
html[data-theme="light"] .book-left {
  background-color: #f4f5f7 !important;
}
html[data-theme="light"] .book-right {
  background: #ffffff !important;
}

/* Headings / labels / descriptions */
html[data-theme="light"] .testride-content,
html[data-theme="light"] .booking-amount,
html[data-theme="light"] .color-label {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .testride-description {
  color: var(--lt-text-soft) !important;
}

/* Form fields (inputs, date, selects) */
html[data-theme="light"] .testride-form input,
html[data-theme="light"] .testride-form input[type="date"],
html[data-theme="light"] .testride-form select,
html[data-theme="light"] .testride-form select:focus,
html[data-theme="light"] .testride-form textarea,
html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group select,
html[data-theme="light"] .form-group select:focus,
html[data-theme="light"] .form-group textarea,
html[data-theme="light"] .form-group textarea:focus {
  background-color: #ffffff !important;
  color: var(--lt-text) !important;
  -webkit-text-fill-color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}
/* Form field labels (white in the dark theme). */
html[data-theme="light"] .form-group label,
html[data-theme="light"] .contact-form label,
html[data-theme="light"] form label {
  color: var(--lt-text) !important;
}
/* Replace the WHITE dropdown/calendar SVG icons with dark ones. */
html[data-theme="light"] .testride-form select,
html[data-theme="light"] .form-group select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231b1d21'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 20px !important;
}
/* Drop the custom calendar background on date inputs — the browser's native
   date-picker icon already renders one; a custom bg icon doubles it (visible in
   Firefox especially). Rely on the single native icon. */
html[data-theme="light"] .testride-form input[type="date"],
html[data-theme="light"] .form-group input[type="date"] {
  background-image: none !important;
}
html[data-theme="light"] .testride-form input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="light"] .form-group input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 1;
}
/* Dropdown option list */
html[data-theme="light"] .testride-form select option,
html[data-theme="light"] .form-group select option {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--lt-text) !important;
}
/* Placeholders */
html[data-theme="light"] .testride-form input::placeholder,
html[data-theme="light"] .form-group input::placeholder {
  color: var(--lt-text-mut) !important;
  -webkit-text-fill-color: var(--lt-text-mut) !important;
}

/* Model select buttons (booknow) */
html[data-theme="light"] .model-btns button {
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}
html[data-theme="light"] .model-btns button.active {
  color: #fff !important;   /* sits on orange */
}
/* Color swatch active ring visible on light. */
html[data-theme="light"] .color-dots span.active {
  border-color: var(--lt-accent) !important;
}

/* =========================================================================
   Home page — hero slider (left) & component panel (right)
   These use ID/class-scoped light-on-dark text that outranks the generic
   flip above, so they need explicit selectors.
   ========================================================================= */
html[data-theme="light"] .slider-content h2 { color: var(--lt-text) !important; }
html[data-theme="light"] .slider-content h3 { color: var(--lt-text-soft) !important; }
html[data-theme="light"] .slider-content p  { color: var(--lt-text) !important; }

html[data-theme="light"] #slid-right .title,
html[data-theme="light"] #slid-right .title strong { color: var(--lt-text) !important; }
html[data-theme="light"] #slid-right .desc p        { color: var(--lt-text-soft) !important; }

/* Right-panel component captions live in .fixed-text > .title / .desc (text
   sits directly in the div, colored #fff / #ccc via style.css + the responsive
   .fixed-text rules). Scope to .fixed-text so ancestry/tag guesses don't matter. */
html[data-theme="light"] .fixed-text .title,
html[data-theme="light"] .fixed-text .title *,
html[data-theme="light"] .fixed-text .desc,
html[data-theme="light"] .fixed-text .desc * {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .fixed-text .title strong,
html[data-theme="light"] .fixed-text .highlight { color: var(--lt-accent-ink) !important; }
html[data-theme="light"] .scroll-down { color: var(--lt-text) !important; }

/* Big watermark hero word stays a subtle ink on light. */
html[data-theme="light"] .slidbg_text h1 { color: rgba(0, 0, 0, 0.14) !important; }

/* Invisible click targets shouldn't ever paint a solid fill. */
html[data-theme="light"] .click-area { background-color: transparent !important; }

/* Loader overlay behind the intro. */
html[data-theme="light"] #loaderOverlay { background: var(--lt-bg) !important; }

/* Right panel gets a distinct soft-gray surface in light mode. */
html[data-theme="light"] #slid-right { background-color: #eceef2 !important; }

/* Left panel (position:fixed) keeps a stable, non-shifting background. */
html[data-theme="light"] #slid-left {
  background: #f4f5f7 !important;
  background-attachment: fixed !important;
}

/* =========================================================================
   Home page — full-screen component / story popups
   The overlay divs carry an inline "background: rgba(0, 0, 0, 0.95)" (also set
   on #hoverOverlay via JS). Inline styles win, so match them by attribute and
   swap to a light scrim; recolor the white close buttons.
   ========================================================================= */
html[data-theme="light"] [style*="rgba(0, 0, 0, 0.95)"],
html[data-theme="light"] [style*="rgba(0,0,0,0.95)"] {
  background: rgba(244, 245, 247, 0.97) !important;
}

html[data-theme="light"] [id$="CloseBtn"],
html[data-theme="light"] [id$="CloseBtn"] * {
  color: var(--lt-text) !important;
}

/* Content injected inside popups (iframes carry their own theme via
   localStorage; loose text/labels get the ink treatment). */
html[data-theme="light"] [id$="OverlayFull"],
html[data-theme="light"] [id$="OverlayFull"] p,
html[data-theme="light"] [id$="OverlayFull"] span,
html[data-theme="light"] [id$="OverlayFull"] h1,
html[data-theme="light"] [id$="OverlayFull"] h2,
html[data-theme="light"] [id$="OverlayFull"] h3 {
  color: var(--lt-text) !important;
}

/* -------------------------------------------------------------------------
   Merchandise / component detail popups (built by custom-scripts.js).
   Panels get an inline "background: rgb(0, 0, 0)"; text uses .model-title
   (#fff) and .model-description (#777 !important, plus an inline #ccc on the
   active one). Flip fills to light and text to ink; keep .highlight orange.
   ------------------------------------------------------------------------- */
html[data-theme="light"] [id$="MerchandiseContainer"],
html[data-theme="light"] .merchandise-left,
html[data-theme="light"] .merchandise-right,
html[data-theme="light"] [id$="MerchandiseContainer"] .content-sections,
html[data-theme="light"] [id$="MerchandiseContainer"] .content-section,
html[data-theme="light"] [style*="background: rgb(0, 0, 0)"],
html[data-theme="light"] [style*="background:rgb(0,0,0)"],
html[data-theme="light"] [style*="background: rgb(0,0,0)"] {
  background: #f4f5f7 !important;
}
/* The image side can stay a touch darker so renders read well. */
html[data-theme="light"] .merchandise-left {
  background: #eaecef !important;
}

html[data-theme="light"] .model-title {
  color: var(--lt-text) !important;
}
html[data-theme="light"] .model-title .highlight,
html[data-theme="light"] .highlight {
  color: var(--lt-accent-ink) !important;
}
html[data-theme="light"] .model-description {
  color: var(--lt-text-soft) !important;
}
/* Active-section inline color set by JS (rgb(204,204,204)/#ccc). */
html[data-theme="light"] [style*="color: rgb(204, 204, 204)"],
html[data-theme="light"] [style*="color:rgb(204,204,204)"] {
  color: var(--lt-text-soft) !important;
}

/* Section indicator dots + scroll-to-top button on the light backdrop. */
html[data-theme="light"] .section-dot {
  border: 1px solid var(--lt-text-mut) !important;
}
html[data-theme="light"] .section-dot.active {
  background: var(--lt-accent) !important;
  border-color: var(--lt-accent-ink) !important;
}
html[data-theme="light"] .component-scroll-up-button {
  background: var(--lt-surface) !important;
  color: var(--lt-text) !important;
  border: 1px solid var(--lt-border) !important;
}

/* =========================================================================
   Theme toggle button (shared — styled for both themes)
   ========================================================================= */
/* Fixed-size sliding pill switch. Only the knob moves, so the control never
   changes size between themes — no layout shift. */
.theme-toggle {
  position: relative;
  display: inline-block;
  width: 68px;
  height: 34px;
  border: none;
  border-radius: 999px;
  background: #3b3f46;            /* dark-mode track */
  box-shadow: none;
  cursor: pointer;
  padding: 0;
  vertical-align: middle;
  transition: background 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
.theme-toggle .tt-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 23px;
  line-height: 1;
  z-index: 1;
  pointer-events: none;
}
.theme-toggle .tt-sun  { right: 6px; color: #ffcf6b; font-size: 29px; }   /* light side (glyph reads small, so larger) */
.theme-toggle .tt-moon { left: 8px;  color: #cfd3da; }                     /* dark side  */
.theme-toggle .tt-knob {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #ffffff;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.2, 1);
}
.theme-toggle:focus-visible {
  outline: 2px solid var(--lt-accent);
  outline-offset: 2px;
}

/* Light mode: orange track, knob slid to the right. */
html[data-theme="light"] .theme-toggle {
  background: var(--lt-accent);
}
html[data-theme="light"] .theme-toggle .tt-knob {
  transform: translateX(34px);
}

/* Desktop: overlay the toggle at the extreme right of the header using
   absolute positioning. This keeps it OUT of the menu's flow, so the existing
   header layout (dark and light) is completely undisturbed. The menu links use
   padding-top:50px, so top:38px lines the circle up with the menu text. */
.main-menu { position: relative; }
/* Pin the toggle to the top-right corner of the viewport (fixed), so it sits
   at the right-top on every page and never shifts with the menu. */
.navbar-collapse > li.theme-toggle-item,
.navbar-collapse > li.theme-toggle-item:hover {
  position: fixed;
  right: 24px;
  top: 20px;
  margin: 0;
  list-style: none;
  z-index: 100000;
}
/* Mobile toggle sits right before the hamburger. Hidden on desktop; shown only
   at the mobile breakpoint, where the desktop fixed toggle is hidden. */
.theme-toggle.theme-toggle--mobile {
  display: none;
}
@media (max-width: 768px) {
  .theme-toggle.theme-toggle--mobile {
    display: inline-flex;
    position: fixed;
    top: 12px;
    right: 64px;          /* left of the hamburger (~right:10px) */
    z-index: 100001;      /* above the fixed mobile header */
  }
  /* Hide the desktop corner toggle on mobile to avoid a duplicate. */
  .navbar-collapse > li.theme-toggle-item {
    display: none !important;
  }
}

/* Floating fallback (pages without a navbar) — same pill, pinned bottom-right. */
.theme-toggle.theme-toggle--floating {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99999;
}
