/* ============================================
   TLT BOARD — OFF-ROAD TERRAIN THEME
   Performance-Optimized CSS
    Fonts: Special Gothic Expanded One (Marquee/Logo) · Stack Sans Notch (Display/UI) · Inter (Body)
   ============================================ */

/* ═══════════════════════════════════════
   DESIGN TOKENS (CSS Custom Properties)
   Centralized → easy maintenance, zero redundancy
   ═══════════════════════════════════════ */
:root {
  --color-earth: #893914;
  --color-warm-brown: #C8703F;
  --color-dark: #1C1917;
  --color-darker: #0F0E0D;
  --color-terrain: #78716C;
  --color-stone: #E7E5E4;
  --color-sand: #DCBCA3;
  --color-orange: #D77C49;
  --color-orange-dark: #C8703F;
  --color-green: #65A30D;
  --font-display: 'Stack Sans Notch', sans-serif;
  --font-ui: 'Stack Sans Notch', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-marquee: 'Special Gothic Expanded One', sans-serif;

  /* Spacing System */
  --spacing-section: 8rem;
  --spacing-stack: 1.5rem;

  /* Typographic Scale — Responsive with clamp() */
  --text-xs: clamp(0.75rem, 0.7vw + 0.5rem, 0.875rem);
  --text-base: clamp(0.875rem, 0.8vw + 0.6rem, 1rem);
  --text-lg: clamp(1rem, 1vw + 0.7rem, 1.25rem);
  --text-xl: clamp(1.25rem, 1.2vw + 0.9rem, 1.563rem);
  --text-2xl: clamp(1.5rem, 1.5vw + 1rem, 1.953rem);
  --text-3xl: clamp(1.75rem, 2vw + 1.2rem, 2.441rem);
  --text-4xl: clamp(2rem, 2.5vw + 1.4rem, 3.052rem);
  --text-5xl: clamp(2.5rem, 3vw + 1.6rem, 3.815rem);
  --text-6xl: clamp(3rem, 4vw + 2rem, 4.768rem);

  /* Transitions */
  --transition-premium: 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --radius-boxy: 0px;
}

/* ═══════════════════════════════════════
   GLOBAL BASE
   Override theme.css (Tailwind) which sets light background
   ═══════════════════════════════════════ */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Prevent double scrollbar: only html scrolls, everything else passes through */
/* Disable CSS transitions on hamburger lines so GSAP has full control */
.hamburger-line {
  transition: none !important;
}

/* Only site blocks and main content can overflow — NOT body */
.wp-site-blocks,
main,
#main-content {
  overflow: visible !important;
}

body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Footer CTA "Let's Talk" — GSAP underline base */
.footer-cta-link {
  position: relative;
  text-decoration: none !important;
}

.footer-cta-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #D77C49;
  transform: scaleX(var(--underline-scale, 0));
  transform-origin: var(--underline-origin, left);
  pointer-events: none;
}

/* Globals to nuke underlines in all CTA components and nested links */
.wp-block-button__link,
.wp-block-button__link:hover,
.wp-block-button__link a,
.wp-block-button__link a:hover,
.nav-cta,
.nav-cta:hover,
.nav-cta a,
.nav-cta a:hover,
.mobile-menu-cta,
.mobile-menu-cta:hover,
.mobile-menu-cta a,
.mobile-menu-cta a:hover,
.btn-orange,
.btn-orange:hover,
.btn-orange a,
.btn-orange a:hover,
.btn-outline,
.btn-outline:hover,
.btn-outline a,
.btn-outline a:hover,
.forminator-button-submit,
.forminator-button-submit:hover,
.forminator-button-submit a,
.forminator-button-submit a:hover,
.woocommerce-page .button,
.woocommerce-page .button:hover,
.woocommerce-page .button a,
.woocommerce-page .button a:hover {
  text-decoration: none !important;
}

/* ── GLOBAL ICON UNDERLINE PREVENTION ── */
/* Nuke underlines on all icons and links wrapping icons */
a svg,
a i,
a img,
a:hover svg,
a:hover i,
a:hover img,
.woocommerce-product-gallery__trigger svg,
.pswp__button svg,
.flex-direction-nav a svg {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Ensure links containing only icons never show a text underline */
a:has(svg),
a:has(i),
a:has(img),
.header-icons a,
.site-header .cart-contents {
  text-decoration: none !important;
}


/* DECODE UNIT buttons — proper styling */
.models-section .wp-block-button__link {
  background: linear-gradient(135deg, rgba(215, 124, 73, 0.95) 0%, rgba(200, 112, 63, 0.85) 100%) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 4px !important;
  padding: 18px 40px !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-family: var(--font-ui) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.models-section .wp-block-button__link::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(221, 124, 73, 1) 0%, rgba(215, 124, 73, 0.95) 100%) !important;
  opacity: 0;
  transition: opacity 0.4s ease !important;
  z-index: -1 !important;
}

.models-section .wp-block-button__link:hover::before {
  opacity: 1 !important;
}

.models-section .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}

.models-section .wp-block-button__link:active {
  transform: translateY(1px) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4) !important;
}

/* ═══════════════════════════════════════
   GUARANTEED VISIBLE MOUSE CURSOR (GLOBAL & CART/CHECKOUT)
   ═══════════════════════════════════════ */
html,
body,
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout,
.wc-block-cart-items,
div,
section,
main {
  cursor: auto !important;
}

a,
button,
input[type="submit"],
input[type="button"],
select,
[role="button"],
.wc-block-components-quantity-selector__button,
.wc-block-cart-item__remove-link,
.remove,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.components-button {
  cursor: pointer !important;
}

input[type="text"],
input[type="number"],
input[type="email"],
textarea {
  cursor: text !important;
}



/* ═══════════════════════════════════════
   TYPOGRAPHY HIERARCHY
   ═══════════════════════════════════════ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-weight: 800;
  line-height: 1;
}

h1,
h2 {
  font-size: var(--text-6xl);
  letter-spacing: -0.02em;
  line-height: 0.9;
}

h3,
h4 {
  font-size: var(--text-3xl);
  letter-spacing: -0.01em;
}

p,
li,
a {
  font-family: var(--font-body);
}

a:hover {
  text-decoration: none !important;
}

/* GSAP Underline Base */
a:not(.nav-cta):not(.wp-block-button__link):not(.site-logo-container a):not(.social-icon):not(.footer-social-icon):not(.mobile-menu-link):not(.mobile-menu-cta):not(.nav-cart-link):not(.share-icon-btn):not(.btn-orange):not(.btn-outline):not(.legal-links a):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not(.wp-element-button):not(.fleet-scroll-down-btn):not(.hero-scroll-indicator) {
  position: relative;
  text-decoration: none !important;
}

a:not(.nav-cta):not(.wp-block-button__link):not(.site-logo-container a):not(.social-icon):not(.footer-social-icon):not(.mobile-menu-link):not(.mobile-menu-cta):not(.nav-cart-link):not(.share-icon-btn):not(.btn-orange):not(.btn-outline):not(.legal-links a):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not(.wp-element-button):not(.fleet-scroll-down-btn):not(.hero-scroll-indicator)::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(var(--underline-scale, 0));
  transform-origin: var(--underline-origin, left);
  pointer-events: none;
  /* GSAP will handle the animation */
}

/* Globally suppress underline on ANY button or button-like element */
a[class*="btn"],
a[class*="button"],
a[class*="cta"],
a[class*="link-btn"],
.btn,
.wp-element-button,
.wp-block-button__link,
.fleet-scroll-down-btn,
.hero-scroll-indicator,
.model-cta-pill-btn,
.model-secondary-link,
button,
input[type="button"],
input[type="submit"] {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  border-bottom: none !important;
}

a[class*="btn"]::after,
a[class*="button"]::after,
a[class*="cta"]::after,
a[class*="link-btn"]::after,
.btn::after,
.wp-element-button::after,
.wp-block-button__link::after,
.fleet-scroll-down-btn::after,
.hero-scroll-indicator::after,
.model-cta-pill-btn::after,
.model-secondary-link::after,
button::after,
input[type="button"]::after,
input[type="submit"]::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Globally suppress underline on ANY link that ONLY wraps icons (SVG / icon font / img) */
a:has(> svg):not(:has(> span, > b, > strong))::after,
a:has(> i):not(:has(> span, > b, > strong))::after,
a:has(> img):not(:has(> span, > b, > strong))::after {
  display: none !important;
  content: none !important;
}

/* ═══════════════════════════════════════
   ROOT RESET & STRUCTURAL ANCHORS
   ═══════════════════════════════════════ */
html {
  margin: 0 !important;
  padding: 0 !important;
  scroll-behavior: smooth;
  overflow-x: hidden !important;
  background: var(--color-warm-brown, #38281F) !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  /* Body clips X overflow; html handles Y scrolling */
  overflow-x: hidden !important;
  overflow-y: clip !important;
  background: var(--color-warm-brown, #38281F) !important;
  background-color: var(--color-warm-brown, #38281F) !important;
  color: #E7E5E4 !important;
}

/* Fixed header anchored to top of viewport */
header,
.site-header,
.site-header-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  z-index: 9999 !important;
  margin: 0 !important;
}

/* Full-width footer — uses breakout so it always spans edge-to-edge */
.site-footer-group.alignfull,
.site-footer-group,
.site-footer,
footer.site-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
  background: #080605 !important;
  background-color: #080605 !important;
  z-index: 10 !important;
}


/* Root block container — Flexbox layout to push footer to bottom */
.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
  background: var(--color-warm-brown, #38281F) !important;
  background-color: var(--color-warm-brown, #38281F) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wp-site-blocks>main,
main,
.site-main,
.woocommerce-page-main {
  background: var(--color-warm-brown, #38281F) !important;
  background-color: var(--color-warm-brown, #38281F) !important;
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* WOOCOMMERCE SHOP ARCHIVE FOOTER GAP FIX */
.post-type-archive-product .wp-site-blocks>main,
.tax-product_cat .wp-site-blocks>main,
.woocommerce-shop .wp-site-blocks>main,
.post-type-archive-product main,
.tax-product_cat main,
.woocommerce-shop main,
.woocommerce-page-main {
  flex: 0 0 auto !important;
  padding-bottom: 32px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--color-warm-brown, #38281F) !important;
  background-color: var(--color-warm-brown, #38281F) !important;
}

.shop-inner,
.post-type-archive-product .shop-inner,
.tax-product_cat .shop-inner,
.woocommerce-shop .shop-inner {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.woocommerce ul.products,
.wc-block-grid__products {
  margin-bottom: 16px !important;
  clear: both !important;
}

/* WOOCOMMERCE CATALOG ORDERING & RESULT COUNT ALIGNMENT */
.tlt-shop-controls-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 32px !important;
  width: 100% !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  clear: both !important;
}

.tlt-shop-controls-bar .woocommerce-result-count,
p.woocommerce-result-count {
  margin: 0 !important;
  font-family: 'Stack Sans Notch', var(--font-ui, sans-serif) !important;
  font-size: 0.82rem !important;
  color: var(--color-sand, #DCBCA3) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.tlt-shop-controls-bar .woocommerce-ordering,
form.woocommerce-ordering {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.shop-inner p.woocommerce-result-count,
.woocommerce-page-main p.woocommerce-result-count {
  float: left !important;
  line-height: 52px !important;
  height: 52px !important;
}

.shop-inner form.woocommerce-ordering,
.woocommerce-page-main form.woocommerce-ordering {
  float: right !important;
  margin-bottom: 24px !important;
}

@media (max-width: 768px) {
  .tlt-shop-controls-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
  }
  .tlt-shop-controls-bar .woocommerce-ordering,
  .tlt-shop-controls-bar .woocommerce-ordering select,
  form.woocommerce-ordering,
  form.woocommerce-ordering select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.post-type-archive-product .site-footer,
.tax-product_cat .site-footer,
.woocommerce-shop .site-footer,
.woocommerce-page .site-footer {
  flex: 1 0 auto !important;
}

.models-section-fleet>.wp-block-columns {
  align-items: stretch !important;
  gap: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.models-section-fleet>.wp-block-columns>.wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.models-section-fleet>.wp-block-columns>.wp-block-column.is-vertically-aligned-center,
.models-section-fleet .product-content-col {
  background: var(--color-warm-brown, #38281F) !important;
}

.models-section-fleet>.wp-block-columns>.wp-block-column>.wp-block-cover {
  flex: 1 !important;
}

/* Prevent cover background overlay from taking extra space */
.models-section-fleet .wp-block-cover__background {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   FULL-BLEED MODEL STRIPES — photo/video takes the screen, details beneath
   ========================================================================== */
.models-section-fleet {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: var(--color-darker, #0F0E0D) !important;
}

.model-stripe {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.model-stripe.bg-a { background: var(--color-darker, #0F0E0D) !important; }
.model-stripe.bg-b { background: var(--color-warm-brown, #38281F) !important; }

/* Full-bleed photo / video band */
.model-stripe-media {
  position: relative !important;
  width: 100% !important;
  height: min(92vh, 980px) !important;
  min-height: 460px !important;
  overflow: hidden !important;
  background: #000000 !important;
}

.model-stripe-media-el {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.model-stripe-scrim {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(15, 14, 13, 0.55) 82%, rgba(15, 14, 13, 0.92) 100%) !important;
  pointer-events: none !important;
}

.model-stripe.bg-b .model-stripe-scrim {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(56, 40, 31, 0.55) 82%, rgba(56, 40, 31, 0.92) 100%) !important;
}

.model-stripe-index {
  position: absolute !important;
  top: clamp(20px, 3vw, 36px) !important;
  left: clamp(20px, 3vw, 36px) !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.model-stripe-index .dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--color-orange, #D77C49) !important;
  flex-shrink: 0 !important;
}

.model-stripe-heading {
  position: absolute !important;
  left: clamp(20px, 3vw, 36px) !important;
  right: clamp(20px, 3vw, 36px) !important;
  bottom: clamp(20px, 3vw, 32px) !important;
  z-index: 2 !important;
}

.model-stripe-name {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(2.4rem, 7vw, 5.5rem) !important;
  line-height: 0.95 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
  text-transform: uppercase !important;
}

/* Details panel beneath the photo/video — organized in one clean row */
.model-stripe-details {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(32px, 5vw, 48px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 72px) !important;
  box-sizing: border-box !important;
}

.model-stripe-top-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-bottom: clamp(20px, 3vw, 28px) !important;
  margin-bottom: clamp(24px, 3vw, 32px) !important;
}

.model-badge-top {
  color: var(--color-sand, #DCBCA3) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

.model-catchphrase-el {
  font-family: var(--font-ui) !important;
  font-size: clamp(1rem, 2vw, 1.3rem) !important;
  color: var(--color-stone, #E7E5E4) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  max-width: 620px !important;
}

.model-stripe-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

.model-stripe-actions .model-cta-pill-btn,
.model-stripe-actions .model-secondary-link {
  width: auto !important;
}

/* Specs Row — four key facts, evenly spaced */
.model-specs-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

.model-spec-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  padding: 0 clamp(12px, 2vw, 24px) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.model-spec-item:first-child {
  border-left: none !important;
  padding-left: 0 !important;
}

.model-spec-divider {
  display: none !important;
}

.model-spec-lbl {
  font-family: var(--font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  color: var(--color-terrain, #78716C) !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  order: 2 !important;
}

.model-spec-val {
  font-family: var(--font-display) !important;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  order: 1 !important;
}

.model-spec-val small {
  font-family: var(--font-ui) !important;
  font-size: 0.55em !important;
  font-weight: 700 !important;
  color: var(--color-terrain, #78716C) !important;
  letter-spacing: 0.5px !important;
}

/* Actions Wrap & No-Underline Buttons */
.model-actions-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 360px !important;
  margin: 0 auto !important;
  gap: 8px !important;
}

.model-actions-wrap a,
.model-actions-wrap a:hover,
.model-actions-wrap a:focus,
.model-actions-wrap a:active,
.model-actions-wrap a:visited,
.model-cta-pill-btn,
.model-cta-pill-btn:hover,
.model-cta-pill-btn:focus,
.model-cta-pill-btn:active,
.model-cta-pill-btn:visited,
.model-secondary-link,
.model-secondary-link:hover,
.model-secondary-link:focus,
.model-secondary-link:active,
.model-secondary-link:visited {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  border-bottom: none !important;
}

.model-cta-pill-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  background: var(--color-orange, #D77C49) !important;
  color: #ffffff !important;
  font-family: var(--font-ui) !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 0px !important;
  box-shadow: 0 4px 14px rgba(215, 124, 73, 0.25) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  padding: 14px 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.model-cta-pill-btn:hover {
  background: #E88B57 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(215, 124, 73, 0.4) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.model-secondary-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--color-sand, #DCBCA3) !important;
  font-family: var(--font-ui) !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  transition: all 0.2s ease !important;
}

.model-secondary-link:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
}

/* Price & Finance Wrap */
.model-price-wrap {
  margin-top: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.model-price-el {
  font-family: var(--font-display) !important;
  font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  margin-bottom: 2px !important;
}

.model-price-el del {
  opacity: 0.45 !important;
  margin-right: 6px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

.model-price-el ins {
  text-decoration: none !important;
  color: #ffffff !important;
}

.model-finance-teaser {
  font-family: var(--font-ui) !important;
  font-size: 0.74rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
}

/* Fluid Mobile Responsive */
@media (max-width: 991px) {
  .models-section-fleet {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .model-stripe-media {
    height: 62vh !important;
    min-height: 380px !important;
  }

  .model-stripe-top-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .model-stripe-actions {
    width: 100% !important;
  }

  .model-stripe-actions .model-cta-pill-btn,
  .model-stripe-actions .model-secondary-link {
    flex: 1 !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .model-specs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    row-gap: 24px !important;
  }

  .model-spec-item:nth-child(2) {
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .model-spec-item:nth-child(3),
  .model-spec-item:nth-child(4) {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 16px !important;
  }

  .model-floating-badge {
    display: none !important;
  }
}

.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
  background: #080605 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  width: 100% !important;
  max-width: 100% !important;
}



/* Aggressive background nuke for all content areas to let the dune gradient show through */
main .wp-block-group:not(.marquee-section):not(.section-premium):not(.newsletter-section),
.wp-block-post-content,
.entry-content,
.woocommerce,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-page,
.has-background:not(.marquee-section):not(.section-premium):not(.newsletter-section):not(.site-footer),
.has-brand-dark-background-color:not(.newsletter-section):not(.site-footer) {
  background: transparent !important;
  background-color: transparent !important;
}

/* Explicitly protect sectors that WANT solid blacks or gradients for contrast */
.site-footer {
  background: #080605 !important;
  background-color: #080605 !important;
}

.section-premium:not(.models-section-header):not(.newsletter-section):not(.single-product-article):not(article) {
  background: transparent !important;
  background-color: transparent !important;
}

.models-section-header {
  background: var(--color-warm-brown, #38281F) !important;
  border-top: 1px solid rgba(215, 124, 73, 0.1) !important;
  border-bottom: 1px solid rgba(215, 124, 73, 0.1) !important;
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

.newsletter-section {
  background: var(--color-warm-brown, #38281F) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.marquee-section {
  background: linear-gradient(90deg, var(--color-earth, #2b211a) 0%, var(--color-warm-brown, #4a372f) 50%, var(--color-earth, #2b211a) 100%) !important;
  border-top: 1px solid rgba(220, 188, 163, 0.15) !important;
  border-bottom: 1px solid rgba(220, 188, 163, 0.15) !important;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-page {
  background: #080605 !important;
  background-color: #080605 !important;
}

/* Bottom accent line for footer */
.site-footer {
  background: #080605 !important;
  background-color: #080605 !important;
}

/* Footer buttons spacing */
.wp-block-buttons {
  display: flex !important;
  gap: 24px !important;
  flex-wrap: wrap;
}

#full-page-search form button[type="submit"],
.wp-block-search__button,
button.wp-block-search__button,
.wp-block-search__button:hover {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 8px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.wp-block-search__button svg {
  fill: #fff !important;
  color: #fff !important;
}

#full-page-search form button[type="submit"] {
  padding: 0 !important;
  min-width: unset !important;
  height: auto !important;
}

@media (max-width: 781px) {
  .mobile-reverse {
    flex-direction: column-reverse !important;
  }
}

.wp-block-template-part {
  margin: 0;
  background: transparent;
}

/* Header template part — invisible wrapper (actual header rendered via PHP) */
.wp-block-template-part[data-area="header"],
header.wp-block-template-part {
  background: transparent !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.has-global-padding>* {
  padding-left: 0;
  padding-right: 0;
}

body .is-layout-constrained>* {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.wp-block-group {
  padding: 0;
}

.wp-block-html {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════
   HEADER — RESPONSIVE + ALIGNMENT
   ═══════════════════════════════════════ */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 80px !important;
  z-index: 999 !important;
  background: rgba(15, 14, 13, 0.9) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: var(--transition-premium) !important;
  display: flex !important;
  align-items: center !important;
}

.site-header > div {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#desktop-nav-container {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#desktop-nav-container nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 28px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nav links */
#desktop-nav-container .nav-link,
.nav-link {
  font-family: var(--font-ui) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  transition: color 0.25s ease !important;
}

.nav-link:hover,
.nav-link:focus-visible {
  color: #fff !important;
}

/* Search and Cart links in header */
#desktop-nav-container .nav-cart-link,
#desktop-nav-container button.nav-cart-link,
#desktop-nav-container a.nav-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: opacity 0.25s ease, color 0.25s ease !important;
}

#desktop-nav-container .nav-cart-link svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  vertical-align: middle !important;
}

#desktop-nav-container .desktop-nav-cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#desktop-nav-container .desktop-nav-cart .cart-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--color-orange, #D77C49) !important;
  color: #000000 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 10px !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* CTA button in nav — Hover Switch (LET'S TALK -> CONTACT) */
.nav-cta {
  padding: 0 24px !important;
  font-family: var(--font-ui) !important;
  font-size: 0.8rem !important;
  font-weight: 900 !important;
  letter-spacing: 1.5px !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, rgba(215, 124, 73, 0.95) 0%, rgba(200, 112, 63, 0.85) 100%) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px !important;
  transition: all 0.35s cubic-bezier(0.25, 1, 0.5, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 135px !important;
  height: 42px !important;
  margin: 0 0 0 6px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.nav-cta .nav-cta-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  height: 100% !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  white-space: nowrap !important;
}

.nav-cta:hover .nav-cta-text {
  opacity: 0 !important;
  transform: translateY(-120%) !important;
}

.nav-cta::after {
  content: "CONTACT" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-family: var(--font-ui) !important;
  font-size: 0.8rem !important;
  font-weight: 900 !important;
  letter-spacing: 1.5px !important;
  color: #FFFFFF !important;
  opacity: 0 !important;
  transform: translateY(120%) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  white-space: nowrap !important;
}

.nav-cta:hover::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.nav-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(221, 124, 73, 1) 0%, rgba(215, 124, 73, 0.95) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
}

.nav-cta:hover,
.nav-cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  color: #fff !important;
}

.nav-cta:hover::before {
  opacity: 1;
}

/* Hamburger button */
.hamburger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 1002;
  padding: 4px;
  position: relative;
}

.hamburger-line {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

.hamburger-line--accent {
  width: 55%;
  background: var(--color-orange);
  margin-left: auto;
}

/* Hamburger → Cross animation */
.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
  background: var(--color-orange);
}

.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
  background: var(--color-orange);
}

/* Mobile-first: hide desktop nav, show hamburger */
#desktop-nav-container {
  display: none !important;
}

#mobile-menu-toggle {
  display: flex !important;
}

/* Desktop: show nav right-aligned, hide hamburger */
@media (min-width: 1025px) {
  #desktop-nav-container {
    display: flex !important;
    margin-left: auto !important;
    align-items: center !important;
  }

  #mobile-menu-toggle {
    display: none !important;
  }
}

/* Logo */
.custom-logo-link img,
.site-logo-container img {
  height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ═══════════════════════════════════════
   MOBILE MENU OVERLAY
   ═══════════════════════════════════════ */
.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 14, 13, 0.98);
  display: flex;
  flex-direction: column;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  padding: 0;
}

.mobile-close-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border-radius: 50%;
}

.mobile-close-btn:hover {
  background: rgba(215, 124, 73, 0.2);
  border-color: rgba(215, 124, 73, 0.4);
  transform: rotate(90deg);
}

/* Scrollable inner wrapper — centers content, allows scroll on short viewports */
.mobile-menu-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 100px 32px 20px;
  flex: 1;
  justify-content: center;
  gap: 0;
  min-height: min-content;
}

/* Navigation links */
.mobile-menu-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-ui);
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  letter-spacing: 0.15em;
  font-weight: 700;
  text-transform: uppercase;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
}

.mobile-menu-link:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.mobile-menu-link:hover,
.mobile-menu-link:active {
  color: #fff;
  padding-left: 12px;
  border-color: rgba(215, 124, 73, 0.2);
}

.mobile-menu-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 3px;
  height: 60%;
  background: var(--color-orange);
  transition: transform 0.3s ease;
  border-radius: 2px;
}

.mobile-menu-link:hover::before {
  transform: translateY(-50%) scaleY(1);
}

.mobile-menu-link i,
.mobile-menu-link svg {
  opacity: 0.4;
  transition: opacity 0.3s, color 0.3s;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.mobile-menu-link:hover i,
.mobile-menu-link:hover svg {
  opacity: 1;
  color: var(--color-sand);
}

/* CTA button */
.mobile-menu-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 12px;
  padding: 18px 24px;
  background: linear-gradient(135deg, rgba(215, 124, 73, 0.95) 0%, rgba(200, 112, 63, 0.85) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: #fff !important;
  font-family: var(--font-ui);
  font-size: 0.9rem;
  text-decoration: none !important;
  letter-spacing: 2px;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 28px;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
  z-index: 1;
  border-radius: 4px;
}

.mobile-menu-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(221, 124, 73, 1) 0%, rgba(215, 124, 73, 0.95) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
}

.mobile-menu-cta i,
.mobile-menu-cta svg {
  width: 20px;
  height: 20px;
  color: #fff;
  transition: color 0.4s ease;
}

.mobile-menu-cta:hover::before {
  opacity: 1;
}

.mobile-menu-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  color: #fff !important;
}

/* Social Icons Row */
.mobile-menu-social {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 32px 0px;
  margin-top: auto;
}

.mobile-menu-social .social-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.03);
  flex-shrink: 0;
  text-decoration: none !important;
}

.mobile-menu-social .social-icon:hover {
  transform: translateY(-3px) scale(1.1);
  border-color: rgba(215, 124, 73, 0.3);
  background: rgba(215, 124, 73, 0.08);
  color: #DCBCA3 !important;
  box-shadow: 0 6px 16px rgba(215, 124, 73, 0.35);
}

.mobile-menu-social .social-icon:hover svg,
.mobile-menu-social .social-icon:hover i {
  color: #DCBCA3 !important;
}

/* Footer */
.mobile-menu-footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 16px 32px 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.mobile-menu-footer a {
  font-family: var(--font-ui);
  font-size: 0.6rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
}

.mobile-menu-footer a:hover {
  color: rgba(255, 255, 255, 0.4);
}

.mobile-menu-footer p {
  font-family: var(--font-ui);
  font-size: 0.55rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.08);
  letter-spacing: 4px;
  text-transform: uppercase;
  margin: 0;
}

/* Landscape / short viewport adjustments */
@media (max-height: 600px) {
  .mobile-menu-content {
    padding-top: 70px;
    justify-content: flex-start;
  }

  .mobile-menu-link {
    padding: 14px 0;
    font-size: 1rem;
  }

  .mobile-menu-cta {
    padding: 14px 20px;
    margin-top: 16px;
  }

  .mobile-menu-social {
    padding: 20px 32px 10px;
  }
}

/* ═══════════════════════════════════════
   FOOTER RESPONSIVE
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
}

@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════
   ACCESSIBILITY (WCAG 2.1 AA)
   ═══════════════════════════════════════ */
.skip-link:focus {
  top: 16px !important;
  outline: 3px solid var(--color-orange);
  outline-offset: 4px;
  z-index: 10000;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--color-orange);
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ═══════════════════════════════════════
   CUSTOM CURSOR
   Uses will-change sparingly, GPU-accelerated
   ═══════════════════════════════════════ */
.cursor-dot {
  width: 10px;
  height: 10px;
  background: var(--color-orange, #D77C49);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  pointer-events: none !important;
  z-index: 99999999 !important;
  mix-blend-mode: normal !important;
  transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1),
    height 0.3s cubic-bezier(0.19, 1, 0.22, 1),
    background-color 0.3s;
  will-change: left, top;
}

.cursor-ring {
  width: 40px;
  height: 40px;
  border: 2px solid rgba(215, 124, 73, 0.6);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  pointer-events: none !important;
  z-index: 99999998 !important;
  mix-blend-mode: normal !important;
  transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1),
    height 0.3s cubic-bezier(0.19, 1, 0.22, 1),
    border-color 0.3s,
    background-color 0.3s;
  will-change: left, top;
}

/* Invert State (Images/Videos) */
.cursor-dot.is-inverting {
  mix-blend-mode: difference;
  background-color: #fff;
}

.cursor-ring.is-inverting {
  mix-blend-mode: normal;
  border-color: #fff;
  border-style: dashed;
  background-color: transparent;
  opacity: 0.9;
  width: 50px;
  height: 50px;
  animation: cursor-spin 3s linear infinite;
}

@keyframes cursor-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Hover state — rolling wheel */
body.cursor-hover .cursor-dot {
  width: 10px;
  height: 10px;
}

body.cursor-hover .cursor-ring {
  width: 50px;
  height: 50px;
  border: 2px dashed #fff;
  background: transparent;
  animation: cursor-spin 4s linear infinite;
  mix-blend-mode: difference;
}

/* Click state */
body.cursor-click .cursor-dot {
  transform: translate(-50%, -50%) scale(0.8);
}

body.cursor-click .cursor-ring {
  transform: translate(-50%, -50%) scale(0.9);
}

/* Hide cursor on touch devices */
@media (max-width: 768px),
(hover: none) {

  .cursor-dot,
  .cursor-ring {
    display: none !important;
  }

  html,
  body,
  a,
  button,
  input,
  textarea,
  select {
    cursor: auto !important;
  }
}

/* ═══════════════════════════════════════
   MARQUEE
   ═══════════════════════════════════════ */
.marquee-container {
  overflow: hidden;
  position: relative;
  width: 100vw;
  background: var(--color-orange);
  padding: 20px 0;
  transform: rotate(-2deg) scale(1.05);
  margin: 40px 0;
  display: flex;
  align-items: center;
  z-index: 5;
  contain: layout style;
}

.marquee-track {
  display: flex;
  white-space: nowrap;
  gap: 0;
  animation: marquee-scroll 20s linear infinite;
  will-change: transform;
}

.marquee-item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* ═══════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════ */
.btn-orange {
  background: linear-gradient(135deg, rgba(215, 124, 73, 0.95) 0%, rgba(200, 112, 63, 0.85) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: #fff !important;
  font-family: var(--font-ui);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 16px 40px;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  overflow: hidden;
  z-index: 1;
  border-radius: 4px;
}

.btn-orange::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(221, 124, 73, 1) 0%, rgba(215, 124, 73, 0.95) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
}

.btn-orange:hover::before {
  opacity: 1;
}

.btn-orange:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  color: #fff !important;
}

.btn-orange:active {
  transform: translateY(1px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.btn-outline {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-family: var(--font-ui);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 16px 40px;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  border-radius: 2px;
}

.btn-outline:hover {
  border-color: #D77C49;
  background: rgba(215, 124, 73, 0.1);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.btn-outline:active {
  transform: translateY(1px);
}

/* Click feedback */
.magnetic-btn:active {
  transform: scale(0.95);
  transition: transform var(--transition-fast);
}

/* ═══════════════════════════════════════
   FUTURISTIC BUTTON TECHNICAL ANIMATION
   ═══════════════════════════════════════ */
.btn-orange::after,
.btn-outline::after,
.nav-cta::after,
.mobile-menu-cta::after,
.models-section .wp-block-button__link::after,
.forminator-custom-form-3739 .forminator-button-submit::after,
.forminator-custom-form-3740 .forminator-button-submit::after,
.woocommerce .button::after,
.wc-block-grid__product .wp-block-button__link::after,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(-45deg,
      transparent,
      transparent 4px,
      rgba(255, 255, 255, 0.08) 4px,
      rgba(255, 255, 255, 0.08) 8px);
  background-size: 200% 200%;
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.btn-orange:hover::after,
.btn-outline:hover::after,
.nav-cta:hover::after,
.mobile-menu-cta:hover::after,
.models-section .wp-block-button__link:hover::after,
.forminator-custom-form-3739 .forminator-button-submit:hover::after,
.forminator-custom-form-3740 .forminator-button-submit:hover::after,
.woocommerce .button:hover::after,
.wc-block-grid__product .wp-block-button__link:hover::after,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover::after {
  opacity: 1;
  animation: tech-stripes 20s linear infinite;
}

@keyframes tech-stripes {
  0% {
    background-position: 0% 0%;
  }

  100% {
    background-position: 100% 100%;
  }
}

/* ═══════════════════════════════════════
   SECTION SPACING
   ═══════════════════════════════════════ */
.section-premium {
  padding-top: var(--spacing-section);
  padding-bottom: var(--spacing-section);
}

/* ═══════════════════════════════════════
   INPUT FOCUS
   ═══════════════════════════════════════ */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-orange) !important;
  box-shadow: 0 0 15px rgba(215, 124, 73, 0.15);
  outline: none !important;
  transition: var(--transition-premium);
}

/* ═══════════════════════════════════════
   SPEC CARDS (model detail pages)
   ═══════════════════════════════════════ */
.spec-card {
  background: #fff;
  border: 1px solid var(--color-stone);
  padding: 24px 20px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.spec-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
  border-color: var(--color-orange);
}

.spec-val {
  font-family: var(--font-ui);
  font-size: 1.8rem;
  color: var(--color-darker);
  letter-spacing: -0.5px;
  line-height: 1;
}

.spec-label {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-terrain);
  margin-top: 6px;
}

/* ═══════════════════════════════════════
   COMPARISON CARDS (homepage)
   ═══════════════════════════════════════ */
.comparison-card {
  background: #292524;
  border: 1px solid #3F3F3F;
  padding: 32px;
  text-decoration: none;
  display: block;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  overflow: hidden;
}

.comparison-card:hover {
  transform: translateY(-8px);
  border-color: var(--color-orange);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.comparison-card h3 {
  font-family: var(--font-display) !important;
  letter-spacing: 0;
}

/* ═══════════════════════════════════════
   ANIMATIONS & EFFECTS
   ═══════════════════════════════════════ */
.magnetic-btn {
  display: inline-block;
}

.tlt-hover {
  transition: transform 0.1s ease-out;
  will-change: transform;
  transform-style: preserve-3d;
}

/* Film grain — lightweight SVG */
.bg-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Scroll Reveals */
.reveal-init {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s cubic-bezier(0.25, 0.8, 0.25, 1),
    transform 1s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Entry Animation */
.halo-fade-in {
  animation: haloFadeIn 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

@keyframes haloFadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* removed glitch effect */
═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   SOCIAL ICONS
   ═══════════════════════════════════════ */
.social-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: var(--transition-premium);
}

.social-icon:hover {
  background: var(--color-orange);
  color: #fff;
  border-color: var(--color-orange);
  transform: translateY(-5px);
}

.social-icon i,
.social-icon svg {
  width: 20px;
  height: 20px;
}

/* ═══════════════════════════════════════
   CLS PREVENTION — LAYOUT STABILITY
   Reserve space for known dynamic elements
   ═══════════════════════════════════════ */
/* Reserve header space to prevent CLS */
body {
  padding-top: 2.5rem;
  /* Match header height */
}

/* Prevent image CLS with aspect-ratio */
.model-media img,
.comp-card-v2 img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ═══════════════════════════════════════
   REDUCED MOTION — ACCESSIBILITY
   ═══════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .marquee-track {
    animation: none !important;
  }

  .cursor-dot,
  .cursor-ring {
    display: none !important;
  }

  .reveal-init {
    opacity: 1;
    transform: none;
  }
}

/* ═══════════════════════════════════════
   PERFORMANCE — CONTAIN + GPU HINTS
   Used sparingly to avoid side effects
   ═══════════════════════════════════════ */
.section-premium {
  contain: layout style;
}

/* ═══════════════════════════════════════
   PRINT STYLES — ACCESSIBILITY
   ═══════════════════════════════════════ */
@media print {

  .site-header,
  .cursor-dot,
  .cursor-ring,
  .bg-grain,
  .mobile-menu-overlay,
  .marquee-container {
    display: none !important;
  }

  body {
    padding-top: 0;
    background: #fff;
    color: #000;
  }

  a {
    color: #000;
    text-decoration: underline;
  }
}

/* ═══════════════════════════════════════
   NATIVE BLOCK OVERRIDES
   Styles for native WP blocks used in patterns
   ═══════════════════════════════════════ */

/* Hero Cover Block */
.hero-cover {
  min-height: 100vh;
  position: relative;
}

.hero-cover .wp-block-cover__video-background {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
}

.hero-cover .wp-block-cover__background {
  background-color: var(--tlt-hero-overlay-bg, rgba(15, 14, 13, 0.12)) !important;
  opacity: 1 !important;
  position: absolute !important;
  inset: 0;
  z-index: 1 !important;
}

.hero-cover video,
.hero-cover .wp-block-cover__video-background {
  filter: var(--tlt-hero-video-filter, none) !important;
}

.hero-cover .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}

.hero-cover .wp-block-heading {
  font-family: var(--font-display) !important;
}

/* Global Hero Adjustments (Fixes header overlap) */

/* Old hero styles removed for cleanup */

/* About Section */
.about-section .wp-block-columns {
  align-items: center;
}

.about-image img {
  filter: grayscale(100%) contrast(1.1) brightness(0.8);
  aspect-ratio: 4/5;
  object-fit: cover;
  transition: filter 0.6s ease;
  box-shadow: 0 60px 120px rgba(0, 0, 0, 0.8);
}

.about-image img:hover {
  filter: grayscale(0%) contrast(1) brightness(1);
}

.about-badge {
  margin-top: -40px;
  margin-left: -30px;
  box-shadow: 0 40px 120px rgba(0, 0, 0, 1);
  position: relative;
  z-index: 10;
  width: fit-content;
}

.about-badge p {
  font-family: var(--font-body) !important;
}

.about-feature-card {
  transition: var(--transition-premium);
}

.about-feature-card:hover {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

/* Block paragraph/heading font overrides */
.hero-label {
  font-family: var(--font-ui) !important;
  background: rgba(0, 0, 0, 0.5) !important;
  display: block !important;
  padding: 10px 20px !important;
  width: fit-content !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
}

.hero-heading,
.about-heading,
h1.hero-heading,
h1.wp-block-heading.hero-heading {
  font-family: var(--font-hero, var(--font-display)) !important;
}

.hero-desc {
  font-family: var(--font-body) !important;
}

/* Newsletter card */
.newsletter-card .wp-block-heading {
  font-family: var(--font-display) !important;
}

/* Global block spacing reset */
.wp-block-group.alignfull>.wp-block-group {
  padding-left: 32px;
  padding-right: 32px;
}

/* Ensure cover block videos play and are properly stacked */
.wp-block-cover__video-background {
  object-fit: cover !important;
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
}

@media (max-width: 768px) {

  /* Make header compact on mobile */
  header.site-header {
    padding: 10px 0 !important;
  }

  .about-badge {
    margin-top: 0;
    margin-left: 0;
  }

  .about-section .wp-block-columns {
    flex-direction: column !important;
  }

  .hero-cover {
    padding-top: 2.5rem !important;
  }

  /* Legacy fallback support */
  .product-content-col .wp-block-buttons,
  .models-section .wp-block-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    align-items: stretch !important;
  }
}

/* Block paragraph/heading font overrides */
.hero-label {
  font-family: var(--font-ui) !important;
  background: rgba(0, 0, 0, 0.5) !important;
  display: block !important;
  padding: 10px 20px !important;
  width: fit-content !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
}

.hero-heading,
.about-heading,
h1.hero-heading,
h1.wp-block-heading.hero-heading {
  font-family: var(--font-hero, var(--font-display)) !important;
}

.hero-desc {
  font-family: var(--font-body) !important;
}

/* Newsletter card */
.newsletter-card .wp-block-heading {
  font-family: var(--font-display) !important;
}

/* Global block spacing reset */
.wp-block-group.alignfull>.wp-block-group {
  padding-left: 32px;
  padding-right: 32px;
}

/* Ensure cover block videos play and are properly stacked */
.wp-block-cover__video-background {
  object-fit: cover !important;
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
}

/* ═══════════════════════════════════════
   HERO BUTTON OVERRIDES (DETACHED BLOCKS FIX)
   ═══════════════════════════════════════ */
.wp-block-buttons.is-content-justification-center {
  justify-content: center !important;
  display: flex !important;
  width: 100%;
  gap: 24px;
  flex-wrap: wrap;
}

/* Ensure centering works even if layout-flex fails */
div.wp-block-buttons[class*="content-justification-center"] {
  justify-content: center !important;
  text-align: center;
}

/* Remove glow from primary */
.hero-btn-primary .wp-block-button__link,
.hero-btn-primary a {
  box-shadow: none !important;
  background-color: #D77C49 !important;
  color: #fff !important;
  border-radius: 0 !important;
  /* Ensure padding matches new design if needed */
  padding: 22px 52px !important;
}

/* Ensure secondary style matches */
.hero-btn-secondary .wp-block-button__link,
.hero-btn-secondary a {
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 22px 52px !important;
}

/* ═══════════════════════════════════════
   OFF-ROAD SUNSET BUTTON STYLING (Soul of Nature/Outdoors)
   ═══════════════════════════════════════ */
:root {
  /* Earthy amber to vibrant sunset orange to rugged rust/terra-cotta */
  --btn-gradient-offroad: linear-gradient(135deg, #d97706 0%, #D77C49 45%, #9a3412 100%);
  --btn-gradient-offroad-hover: linear-gradient(135deg, #f59e0b 0%, #f97316 45%, #7c2d12 100%);
  --btn-shadow-offroad: 0 8px 24px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --btn-shadow-offroad-hover: 0 16px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.btn-orange,
.nav-cta,
.mobile-menu-cta,
.hero-btn-primary .wp-block-button__link,
.hero-btn-primary a,
.wp-block-button__link.has-brand-orange-background-color,
.btn-buy,
.btn-primary,
button[type="submit"],
input[type="submit"],
.button,
.woocommerce-button,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button:not(.is-link) {
  background: var(--btn-gradient-offroad) !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  box-shadow: var(--btn-shadow-offroad) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 4px !important;
  /* Slightly rounded for a rugged natural feel */
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  transform: translateZ(0);
  /* Hardware acceleration */
}

/* Ensure mobile text color contrasts against background properly */
.btn-orange i,
.btn-orange svg,
.nav-cta i,
.nav-cta svg,
.mobile-menu-cta i,
.mobile-menu-cta svg,
.btn-buy i,
.btn-buy svg,
.button i,
.button svg {
  color: #fff !important;
  stroke: #fff !important;
}

.btn-orange:hover,
.nav-cta:hover,
.mobile-menu-cta:hover,
.hero-btn-primary .wp-block-button__link:hover,
.hero-btn-primary a:hover,
.wp-block-button__link.has-brand-orange-background-color:hover,
.btn-buy:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.button:hover,
.woocommerce-button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.wc-block-components-button:not(.is-link):hover {
  background: var(--btn-gradient-offroad-hover) !important;
  color: #fff !important;
  box-shadow: var(--btn-shadow-offroad-hover) !important;
  transform: translateY(-2px) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.btn-orange:active,
.nav-cta:active,
.mobile-menu-cta:active,
.hero-btn-primary .wp-block-button__link:active,
.hero-btn-primary a:active,
.btn-buy:active,
.btn-primary:active,
button[type="submit"]:active,
input[type="submit"]:active,
.button:active,
.woocommerce-button:active,
.single_add_to_cart_button:active,
.checkout-button:active,
.wc-block-components-button:not(.is-link):active {
  transform: translateY(1px) scale(0.98) !important;
  box-shadow: 0 2px 8px rgba(154, 52, 18, 0.3) !important;
}

/* Hide the old expanding flat background pseudo-element to let the gradient take over */
.btn-orange::before,
.nav-cta::before,
.mobile-menu-cta::before {
  display: none !important;
}

/* ═══════════════════════════════════════
   PAGE BOTTOM SEPARATOR
   ═══════════════════════════════════════ */
.page-bottom-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 600px !important;
  margin: 100px auto 60px !important;
  padding: 0 20px !important;
  gap: 15px !important;
  opacity: 0.6 !important;
}

.page-bottom-separator .separator-line {
  flex-grow: 1 !important;
  height: 1px !important;
  background: var(--color-orange, #D77C49) !important;
}

.page-bottom-separator .left-line {
  background: linear-gradient(90deg, transparent, rgba(215, 124, 73, 0.6)) !important;
}

.page-bottom-separator .right-line {
  background: linear-gradient(-90deg, transparent, rgba(215, 124, 73, 0.6)) !important;
}

.page-bottom-separator .separator-dot {
  width: 6px !important;
  height: 6px !important;
  background-color: var(--color-orange, #D77C49) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 10px rgba(215, 124, 73, 1) !important;
}

/* ═══════════════════════════════════════
   FIX HERO CUTOFF ON MOBILE DUE TO FIXED HEADER
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
  .hero-cover {
    min-height: 100svh !important;
  }

  .hero-cover .wp-block-cover__inner-container {
    padding-top: 120px !important;
    padding-bottom: 80px !important;
  }
}

/* ═══════════════════════════════════════
   PREMIUM CUSTOM SCROLLBAR (INDUSTRIAL THEME)
   ═══════════════════════════════════════ */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #1C1917 !important;
}

::-webkit-scrollbar-thumb {
  background: #D77C49 !important;
  border: 3px solid #1C1917 !important;
  border-radius: 10px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #FFFFFF !important;
}

/* Firefox support */
* {
  scrollbar-width: thin;
  scrollbar-color: #D77C49 #1C1917;
}

/* ═══════════════════════════════════════
   HERO WORDING LEFT ALIGNMENT & SOLID TEXT (PREVENT VIDEO COVERAGE)
   ═══════════════════════════════════════ */
.hero-heading {
  -webkit-text-stroke: none !important;
  color: #ffffff !important;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.7) !important;
}

.hero-cover .wp-block-cover__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding-left: clamp(1.5rem, 5vw, 5rem) !important;
  padding-right: 1.5rem !important;
  padding-bottom: clamp(3rem, 6vh, 6rem) !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.hero-content-group {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 620px !important;
  width: 100% !important;
  text-align: left !important;
}

.hero-content-group .hero-heading {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  margin-bottom: 20px !important;
  line-height: 0.92 !important;
}

.hero-content-group .hero-desc {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 520px !important;
  margin-bottom: 36px !important;
}

.hero-content-group .hero-buttons-wrapper {
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ═══════════════════════════════════════
   MODEL SHOWCASE FLUID MEDIA & SCREEN FIT
   ═══════════════════════════════════════ */
.model-showcase-row {
  min-height: 100vh !important;
  align-items: stretch !important;
}

.model-media-col {
  display: flex !important;
  flex: 1 1 50% !important;
  min-height: 480px !important;
  position: relative !important;
}

.model-cover-wrap {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}

.model-fluid-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.model-showcase-row:hover .model-fluid-media {
  transform: scale(1.03) !important;
}

/* Modern Product Description Card Formatting */
.product-description-redesign {
  position: relative;
  transition: all 0.3s ease;
}

.product-description-redesign p {
  margin-bottom: 12px;
}

.product-description-redesign p:last-child {
  margin-bottom: 0;
}

/* ═══════════════════════════════════════
   OFF-ROAD LINEUP TEXT COLUMNS RESPONSIVE PADDING
   ═══════════════════════════════════════ */
.models-section-fleet .wp-block-column.is-vertically-aligned-center {
  padding: clamp(40px, 5vw, 80px) clamp(24px, 4vw, 64px) !important;
}

/* Newsletter Section Visual Separation */
.newsletter-section {
  background: radial-gradient(circle at 50% 40%, #592916 0%, #2D140A 60%, #150804 100%) !important;
  border-top: 1px solid rgba(215, 124, 73, 0.1) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Off-Road Lineup "Know More" Button Contrast Boost */
.models-section-fleet .btn-orange {
  background: #0F0E0D !important;
  color: #fff !important;
  border: 1px solid rgba(215, 124, 73, 0.3) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  transition: background 0.4s ease, border-color 0.4s ease, color 0.4s ease !important;
}

.models-section-fleet .btn-orange:hover {
  background: #DCBCA3 !important;
  border-color: #DCBCA3 !important;
  color: #0F0E0D !important;
}

.models-section-fleet .btn-orange::after {
  content: none !important;
}

.models-section-fleet .btn-orange i,
.models-section-fleet .btn-orange svg {
  color: #fff !important;
  stroke: #fff !important;
  transition: color 0.4s ease, stroke 0.4s ease !important;
}

.models-section-fleet .btn-orange:hover i,
.models-section-fleet .btn-orange:hover svg {
  color: #0F0E0D !important;
  stroke: #0F0E0D !important;
}

/* ═══════════════════════════════════════
   WOOCOMMERCE LOOP CARD BUTTON HOVER OVERRIDES
   ═══════════════════════════════════════ */
.woocommerce ul.products li.product:hover .button:hover,
li.product:hover .button:hover,
.woocommerce ul.products li.product .button:hover,
li.product .button:hover,
.wc-block-grid__product:hover .wp-block-button__link:hover,
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .wc-block-components-product-button:hover,
.wc-block-components-product .wp-block-button__link:hover,
.wc-block-components-product-button:hover,
.woocommerce ul.products li.product:hover .added_to_cart:hover,
li.product:hover .added_to_cart:hover,
.woocommerce ul.products li.product .added_to_cart:hover,
li.product .added_to_cart:hover,
.button-view-product:hover,
.button.button-view-product:hover {
  background: #DCBCA3 !important;
  color: #0F0E0D !important;
  border-color: #DCBCA3 !important;
  transform: none !important;
  box-shadow: 0 10px 20px rgba(220, 188, 163, 0.3) !important;
}

/* WooCommerce Loop Button Hover Child Icons Color */
.woocommerce ul.products li.product:hover .button:hover i,
.woocommerce ul.products li.product:hover .button:hover svg,
li.product:hover .button:hover i,
li.product:hover .button:hover svg,
.woocommerce ul.products li.product .button:hover i,
.woocommerce ul.products li.product .button:hover svg,
li.product .button:hover i,
li.product .button:hover svg,
.wc-block-grid__product:hover .wp-block-button__link:hover i,
.wc-block-grid__product:hover .wp-block-button__link:hover svg,
.wc-block-grid__product .wp-block-button__link:hover i,
.wc-block-grid__product .wp-block-button__link:hover svg,
.wc-block-grid__product .wc-block-components-product-button:hover i,
.wc-block-grid__product .wc-block-components-product-button:hover svg,
.wc-block-components-product .wp-block-button__link:hover i,
.wc-block-components-product .wp-block-button__link:hover svg {
  color: #0F0E0D !important;
  stroke: #0F0E0D !important;
}

/* ═══════════════════════════════════════
   HIDE INACTIVE PHOTOSWIPE & BELOW-FOOTER DEBRIS
   ═══════════════════════════════════════ */
.pswp:not(.pswp--open),
body>.pswp:not(.pswp--open),
.pswp__item:not(.pswp--open .pswp__item) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.pswp.pswp--open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ═══════════════════════════════════════
   PERMANENTLY HIDE ALL SLIDER DOTS & PAGINATION CIRCLES GLOBALLY
   ═══════════════════════════════════════ */
.flex-control-nav,
ol.flex-control-nav,
ol.flex-control-paging,
.woocommerce-product-gallery .flex-control-nav,
.swiper-pagination,
.owl-dots,
.slick-dots,
.carousel-indicators,
.tlt-gallery-dots {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* ═══════════════════════════════════════
   CLEAN, COMPACT WOOCOMMERCE NOTICES (CHECKOUT & CART)
   ═══════════════════════════════════════ */
.woocommerce-message:nth-child(n+2),
.woocommerce-notice:nth-child(n+2),
.woocommerce-NoticeGroup .woocommerce-message:nth-child(n+2),
ul.woocommerce-error li:nth-child(n+2),
.woocommerce-NoticeGroup:nth-child(n+2) {
  display: none !important;
}

/* Notice wrapper containers: completely transparent with zero extra height */
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.wc-block-checkout__notice-group,
.wc-block-components-notices {
  grid-column: 1 / -1 !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  order: -999 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* The actual single notification banner */
.woocommerce-message,
.woocommerce-notice,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 20px 0 !important;
  padding: 10px 18px !important;
  min-height: 46px !important;
  height: auto !important;
  background: #0F0E0D !important;
  border: 1px solid rgba(215, 124, 73, 0.3) !important;
  border-left: 4px solid #EF4444 !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  color: #FFFFFF !important;
  position: relative !important;
}

.woocommerce-message {
  border-left-color: #2E7D32 !important;
}

.woocommerce-info {
  border-left-color: #D77C49 !important;
}

/* 1. Icon on Left */
.wc-block-components-notice-banner__icon,
.woocommerce-error .wc-block-components-notice-banner__icon {
  order: 1 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 2. Text in Middle */
.wc-block-components-notice-banner__content,
.woocommerce-error li,
.woocommerce-message,
.woocommerce-info {
  order: 2 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  line-height: 1.4 !important;
}

.woocommerce-error .button,
.woocommerce-message .button,
.woocommerce-info .button,
.wc-block-components-notice-banner__link {
  margin-left: auto !important;
  background: #D77C49 !important;
  color: #FFFFFF !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-weight: 800 !important;
  font-size: 0.75rem !important;
  padding: 6px 16px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-decoration: none !important;
}

/* 3. Dismiss Button on Far Right (Vertically Centered) */
.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss-button,
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss-button,
.woocommerce-NoticeGroup .wc-block-components-notice-banner__dismiss-button,
.woocommerce-NoticeGroup button.notice-dismiss,
.woocommerce-error .wc-block-components-notice-banner__dismiss-button,
.woocommerce-message .wc-block-components-notice-banner__dismiss-button,
.woocommerce-info .wc-block-components-notice-banner__dismiss-button,
.wc-block-components-notice-banner button[aria-label*="Dismiss" i],
.wc-block-components-notice-banner button[aria-label*="Close" i] {
  order: 99 !important;
  position: static !important;
  float: none !important;
  margin: 0 0 0 auto !important;
  align-self: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-width: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  padding: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  opacity: 0.75 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  line-height: 1 !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss-button:hover,
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss-button:hover,
.woocommerce-NoticeGroup .wc-block-components-notice-banner__dismiss-button:hover,
.wc-block-components-notice-banner button[aria-label*="Dismiss" i]:hover,
.wc-block-components-notice-banner button[aria-label*="Close" i]:hover {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: scale(1.15) !important;
}

/* Guaranteed pure white crisp cross icon via SVG mask */
.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss-button::after,
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss-button::after,
.woocommerce-NoticeGroup .wc-block-components-notice-banner__dismiss-button::after,
.wc-block-components-notice-banner button[aria-label*="Dismiss" i]::after,
.wc-block-components-notice-banner button[aria-label*="Close" i]::after {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  background-color: #FFFFFF !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") no-repeat center / contain !important;
  pointer-events: none !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss-button svg,
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss-button svg,
.woocommerce-NoticeGroup .wc-block-components-notice-banner__dismiss-button svg,
.wc-block-components-notice-banner button[aria-label*="Dismiss" i] svg,
.wc-block-components-notice-banner button[aria-label*="Close" i] svg {
  display: none !important;
}

.wc-block-components-notice-banner__icon,
.wc-block-components-notice-banner__icon svg,
.wc-block-components-notice-banner svg:not(.wc-block-components-notice-banner__dismiss-button svg),
.woocommerce-error svg,
.woocommerce-message svg,
.woocommerce-info svg,
.woocommerce-NoticeGroup svg {
  max-width: 24px !important;
  max-height: 24px !important;
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
  margin-right: 12px !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout,
body.woocommerce-page,
.woocommerce-checkout-main {
  background: var(--color-warm-brown, #38281F) !important;
  background-color: var(--color-warm-brown, #38281F) !important;
}

.woocommerce-checkout form.checkout,
.wc-block-checkout,
.wp-block-woocommerce-checkout {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-items: flex-start !important;
}

.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-checkout__form,
.woocommerce-checkout form.wc-block-checkout__form,
.woocommerce-checkout .wc-block-components-checkout-step:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  align-self: flex-start !important;
}

/* ═══════════════════════════════════════
   MODEL DETAIL ("KNOW MORE") MOBILE & TABLET RESPONSIVE FIXES
   ═══════════════════════════════════════ */
@media (max-width: 768px) {

  /* Subtle 12px left/right breathing padding for text block & FLEET OVERVIEW back link */
  .model-hero-grid .reveal-left,
  .reveal-left,
  .model-hero-grid .reveal-up,
  .section-premium .back-link,
  .section-premium .reveal-up {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* Prevent overflow on model hero grid */
  .model-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
  }

  /* Center back link on mobile */
  .tlt-product-back-nav,
  .section-premium .back-link,
  .model-hero-grid .back-link,
  .reveal-up:has(.back-link),
  .single-product-article .reveal-up:has(.back-link),
  .single-product-pattern-wrap .reveal-up:has(.back-link) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  .tlt-product-back-nav .back-link,
  .single-product-article .back-link {
    margin: 0 auto !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .reveal-up {
    text-align: center !important;
  }

  /* Center model hero text content on mobile */
  .model-hero-grid .reveal-left,
  .model-hero-details,
  .model-hero-grid .reveal-left>div {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  .product-hero-header-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
  }

  /* Subtitle letter spacing, font & wrap fix (Centered for model detail pages) */
  .product-hero-badge,
  .model-hero-grid .reveal-left span,
  .model-hero-grid span,
  .section-premium:not(.models-section-header) span {
    letter-spacing: 1.5px !important;
    word-break: normal !important;
    white-space: normal !important;
    font-size: clamp(0.68rem, 2.4vw, 0.8rem) !important;
    line-height: 1.35 !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    padding-left: 0 !important;
  }

  /* Main Title scaling & centered alignment for mobile model detail pages */
  .product-hero-title,
  .model-hero-grid .reveal-left h1,
  .model-hero-grid h1,
  .section-premium:not(.models-section-header) h1 {
    font-size: clamp(2.5rem, 11vw, 4.2rem) !important;
    letter-spacing: -1.5px !important;
    line-height: 0.95 !important;
    word-break: break-word !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    width: 100% !important;
  }

  /* Rating pill centered */
  .product-rating-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    align-self: center !important;
    text-align: center !important;
    display: inline-flex !important;
  }

  /* Description container centered */
  .product-description-redesign {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  .product-description-inner,
  .product-description-redesign > div {
    border-left: none !important;
    border-top: 1px solid rgba(220,188,163,0.35) !important;
    border-bottom: 1px solid rgba(220,188,163,0.35) !important;
    border-radius: 8px !important;
    text-align: center !important;
    padding: 16px 18px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .product-description-redesign * {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Paragraph text scaling & centered alignment for model detail pages */
  .model-hero-grid .reveal-left p,
  .model-hero-grid p,
  .section-premium:not(.models-section-header) p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    max-width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* CTA Button row centered */
  .tlt-button-row {
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    display: flex !important;
  }

  .tlt-button-row a,
  .tlt-button-row .tlt-acquire-btn {
    width: 100% !important;
    max-width: 340px !important;
    justify-content: center !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* Models Showcase Section Header (FLEET PROTOCOL & OUR MODELS) Centered Alignment */
  .models-section-header,
  .models-section-header * {
    box-sizing: border-box !important;
  }

  .models-section-header {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: clamp(48px, 8vw, 80px) !important;
    padding-bottom: clamp(48px, 8vw, 80px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .models-section-header .wp-block-group {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .models-section-header p,
  .models-section-header h2,
  .models-section-header h3,
  .models-section-header span {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  .models-section-header p:first-child,
  .models-section-header .has-text-align-center:first-child {
    letter-spacing: clamp(3px, 1.2vw, 6px) !important;
    font-size: clamp(0.7rem, 2.5vw, 0.8rem) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: var(--color-sand, #DCBCA3) !important;
    margin-bottom: 16px !important;
    text-align: center !important;
    width: 100% !important;
  }

  .models-section-header h2 {
    font-size: clamp(2.2rem, 8vw, 6rem) !important;
    line-height: 0.9 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
    text-align: center !important;
    width: 100% !important;
  }

  .models-section-header p:last-child {
    font-size: clamp(0.9rem, 2.5vw, 1.15rem) !important;
    line-height: 1.6 !important;
    color: #E7E5E4 !important;
    max-width: 750px !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Button row wrapping on mobile */
  .tlt-button-row {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px !important;
  }

  .tlt-button-row .btn,
  .tlt-button-row a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 16px 20px !important;
    box-sizing: border-box !important;
    letter-spacing: 2px !important;
  }

  /* Specs grid scaling */
  .spec-card-v2 {
    padding: 36px 20px !important;
  }

  /* Section padding on mobile */
  .section-premium {
    padding-top: 110px !important;
    padding-bottom: 60px !important;
  }
}

/* ═══════════════════════════════════════
   PREMIUM LUXURY CART OVERHAUL (MATCHING TLT DESIGN SPEC)
   ═══════════════════════════════════════ */

/* 1. Base Table & Header */
.wc-block-cart-items,
table.wc-block-cart-items,
table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 16px !important;
  background: transparent !important;
  border: none !important;
  margin-bottom: 24px !important;
}

.wc-block-cart-items__header,
.wc-block-cart-items thead th,
table.shop_table thead th {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #a8a29e !important;
  padding: 14px 20px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.wc-block-cart-items__header-total,
th.product-subtotal,
th.wc-block-cart-items__header-total {
  text-align: right !important;
}

/* 2. Outer Row Card (Desktop Table Row) */
.wc-block-cart-items__row,
tr.wc-block-cart-items__row,
tr.cart_item {
  background: rgba(22, 19, 17, 0.95) !important;
  transition: all 0.25s ease !important;
}

.wc-block-cart-items__row:hover,
tr.wc-block-cart-items__row:hover,
tr.cart_item:hover {
  background: rgba(28, 24, 21, 0.98) !important;
}

.wc-block-cart-items__row td,
tr.wc-block-cart-items__row td,
tr.cart_item td {
  background: rgba(22, 19, 17, 0.95) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 20px 20px !important;
  vertical-align: middle !important;
  box-shadow: none !important;
}

.wc-block-cart-items__row td:first-child,
tr.wc-block-cart-items__row td:first-child,
tr.cart_item td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top-left-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  width: 90px !important;
}

.wc-block-cart-items__row td:last-child,
tr.wc-block-cart-items__row td:last-child,
tr.cart_item td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top-right-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
}

.wc-block-cart-items__row:hover td,
tr.wc-block-cart-items__row:hover td,
tr.cart_item:hover td {
  border-color: rgba(215, 124, 73, 0.3) !important;
}

/* 3. Product Image Styling */
.wc-block-cart-item__image,
td.wc-block-cart-item__image {
  width: 90px !important;
  padding-right: 0 !important;
  vertical-align: top !important;
}

.wc-block-cart-item__image img,
.wc-block-cart-item__image a img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(0, 0, 0, 0.4) !important;
  display: block !important;
}

/* 4. Product Info Cell Styling */
.wc-block-cart-items__row td.wc-block-cart-item__product,
.wc-block-cart-item__product,
td.wc-block-cart-item__product {
  padding: 20px 24px !important;
  background: transparent !important;
  vertical-align: top !important;
}

.wc-block-cart-item__wrap,
.wc-block-cart-item__product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  width: 100% !important;
  text-align: left !important;
}

/* Product Title */
.wc-block-cart-item__product .wc-block-components-product-name,
.wc-block-components-product-name,
.wc-block-cart-item__product a,
.wc-block-components-product-name a {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.wc-block-cart-item__product .wc-block-components-product-name a:hover,
.wc-block-components-product-name:hover {
  color: var(--color-orange, #D77C49) !important;
}

/* Product Unit Prices (Regular Strikethrough + Discounted Sale Price) */
.wc-block-cart-item__product .wc-block-cart-item__prices,
.wc-block-cart-item__prices,
.wc-block-cart-item__product .wc-block-components-product-price {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
}

/* Strikethrough Regular Price */
.wc-block-cart-item__prices del,
.wc-block-components-product-price__regular,
del.wc-block-components-product-price__regular {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #a8a29e !important;
  text-decoration: line-through !important;
  opacity: 0.65 !important;
  display: inline-block !important;
}

/* Discounted Sale Price */
.wc-block-cart-item__prices ins,
.wc-block-components-product-price__value,
ins.wc-block-components-product-price__value,
.wc-block-components-product-price__value.is-discounted {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: var(--color-orange, #D77C49) !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* Product Metadata Description & Highlight Styling */
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description p,
.wc-block-cart-item__short-description,
.wc-block-cart-item__product .wc-block-cart-item__short-description,
.wc-block-components-product-details__short-description {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  color: #a8a29e !important;
  max-width: 520px !important;
  margin: 4px 0 10px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.wc-block-components-product-metadata__description p strong,
.wc-block-components-product-metadata p strong {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

/* 5. Controls Row: Quantity Selector + Remove Link Side-by-Side */
.wc-block-cart-item__quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 6px !important;
  padding-top: 0 !important;
  border: none !important;
  border-top: none !important;
  width: auto !important;
}

/* Clean Quantity Selector Container */
.wc-block-components-quantity-selector,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  background: #0d0d0d !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 8px !important;
  padding: 2px 6px !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.wc-block-components-quantity-selector__button--minus {
  order: 1 !important;
}

.wc-block-components-quantity-selector__input {
  order: 2 !important;
}

.wc-block-components-quantity-selector__button--plus {
  order: 3 !important;
}

.wc-block-components-quantity-selector__button,
button.wc-block-components-quantity-selector__button,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #FFFFFF !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  transition: all 0.2s ease !important;
  border-radius: 4px !important;
  padding: 0 !important;
}

.wc-block-components-quantity-selector__button:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--color-orange, #D77C49) !important;
}

.wc-block-components-quantity-selector__input,
input.wc-block-components-quantity-selector__input,
.wc-block-cart-item__quantity input.wc-block-components-quantity-selector__input {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  width: 36px !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove Item Button */
.wc-block-cart-item__remove-link,
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #f87171 !important;
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  line-height: 1 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.wc-block-cart-item__remove-link svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
  vertical-align: middle !important;
}

.wc-block-cart-item__remove-link:hover,
.remove:hover {
  background: rgba(239, 68, 68, 0.25) !important;
  color: #FFFFFF !important;
  border-color: #ef4444 !important;
  transform: translateY(-1px) !important;
}

/* 6. Total Price Column Cell + Sale Badge Pill */
.wc-block-cart-item__total,
td.wc-block-cart-item__total,
.wc-block-cart-items .wc-block-cart-item__total {
  display: table-cell !important;
  text-align: right !important;
  vertical-align: top !important;
  white-space: nowrap !important;
  padding: 20px 24px !important;
  width: 180px !important;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
  width: 100% !important;
}

.wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart-item__total .wc-block-components-product-price-value,
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  color: var(--color-orange, #D77C49) !important;
  text-align: right !important;
}

/* Sale Savings Pill Badge */
.wc-block-components-product-badge,
.wc-block-components-sale-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 10px !important;
  background: rgba(215, 124, 73, 0.15) !important;
  border: 1px solid rgba(215, 124, 73, 0.35) !important;
  border-radius: 20px !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--color-orange, #D77C49) !important;
  margin-top: 4px !important;
  line-height: 1 !important;
}

/* Hide loader spinner circle */
.wc-block-components-spinner {
  display: none !important;
}

/* ═══════════════════════════════════════
   WORLD-CLASS PREMIUM SINGLE-COLUMN VERTICAL MOBILE CARD (≤ 768px)
   ═══════════════════════════════════════ */
@media (max-width: 768px) {

  .wc-block-cart-items,
  table.wc-block-cart-items,
  table.shop_table {
    display: block !important;
    width: 100% !important;
  }

  .wc-block-cart-items thead,
  table.shop_table thead {
    display: none !important;
  }

  .wc-block-cart-items tbody,
  table.shop_table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
  }

  /* Main Outer Card Container: Single Column, Centered Alignment, Minimal Padding */
  .wc-block-cart-items__row,
  tr.wc-block-cart-items__row,
  tr.cart_item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px 20px !important;
    gap: 12px !important;
    background: rgba(22, 19, 17, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* 1. Product Image: Perfectly Centered at Top with minimal gap */
  .wc-block-cart-items__row td.wc-block-cart-item__image,
  td.wc-block-cart-item__image,
  .wc-block-cart-items tbody tr td.wc-block-cart-item__image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 0 4px 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
  }

  .wc-block-cart-item__image a,
  .wc-block-cart-item__image img,
  .wc-block-cart-item__image a img {
    display: block !important;
    margin: 0 auto !important;
    width: 120px !important;
    height: 120px !important;
    max-width: 120px !important;
    max-height: 120px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(0, 0, 0, 0.3) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
  }

  /* 2. Product Info Cell: Perfectly Centered Below Image with Minimal Gaps */
  .wc-block-cart-items__row td.wc-block-cart-item__product,
  td.wc-block-cart-item__product,
  .wc-block-cart-items tbody tr td.wc-block-cart-item__product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  .wc-block-cart-item__wrap,
  .wc-block-cart-item__product-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
    width: 100% !important;
  }

  /* Product Name (Centered below image, tight gap) */
  .wc-block-components-product-name,
  .wc-block-cart-item__product a,
  .wc-block-components-product-name a {
    font-family: 'Outfit', 'Inter', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Product Price (Centered directly below title, minimal 2px gap) */
  .wc-block-cart-item__prices,
  .wc-block-cart-item__product .wc-block-cart-item__prices {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    font-family: 'Outfit', 'Inter', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 900 !important;
    color: var(--color-orange, #D77C49) !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
  }

  /* Product Metadata (Centered below price) */
  .wc-block-components-product-metadata,
  .wc-block-components-product-metadata__description,
  .wc-block-components-product-metadata__description p {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
    color: #a8a29e !important;
    text-align: center !important;
    max-width: 320px !important;
    margin: 4px auto 0 auto !important;
    padding: 0 !important;
  }

  /* 3. Controls Wrapper: Quantity Selector top, Remove Button below */
  .wc-block-cart-item__quantity {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 8px !important;
    padding-top: 0 !important;
    border: none !important;
  }

  /* Quantity Selector (Centered, Fixed 140px width) */
  .wc-block-components-quantity-selector,
  .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 140px !important;
    height: 40px !important;
    background: #0d0d0d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    padding: 2px 6px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  /* Remove Button (Centered below Quantity Selector, Fixed 140px width) */
  .wc-block-cart-item__remove-link,
  .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
  .remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 140px !important;
    height: 36px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    font-family: 'Outfit', 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: #f87171 !important;
    background: rgba(239, 68, 68, 0.08) !important;
    border: 1px solid rgba(239, 68, 68, 0.25) !important;
    border-radius: 8px !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Hide redundant bottom total cell on mobile */
  .wc-block-cart-items__row td.wc-block-cart-item__total,
  td.wc-block-cart-item__total {
    display: none !important;
  }
}


/* ═══════════════════════════════════════
   AMAZON/FLIPKART STYLE CLEAN SIDEBAR ORDER SUMMARY
   ═══════════════════════════════════════ */

/* Target only sidebar tables and items */
.wc-block-cart__sidebar .wc-block-cart-items,
.wc-block-cart__sidebar table.wc-block-cart-items,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar .wc-block-cart-items,
.wc-block-components-order-summary {
  width: 100% !important;
  display: block !important;
  border-collapse: collapse !important;
  margin-bottom: 16px !important;
}

.wc-block-cart__sidebar .wc-block-cart-items thead,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar thead {
  display: none !important;
}

.wc-block-cart__sidebar .wc-block-cart-items tbody,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

/* Sidebar Item Row Card — Clean 1-Line Flex Row (Amazon/Apple/Shopify Style) */
.wc-block-components-order-summary-item,
div.wc-block-components-order-summary-item,
.wc-block-cart__sidebar .wc-block-cart-items__row,
.wc-block-components-sidebar-layout .wc-block-cart__sidebar .wc-block-cart-items__row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  padding: 16px 20px !important;
  padding-right: 20px !important;
  /* Neutralizes woocommerce.css padding-right: 120px */
  gap: 16px !important;
  margin-bottom: 12px !important;
  background: rgba(22, 19, 17, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: auto !important;
}

/* Hide thumbnail image & quantity badge in sidebar order summary */
.wc-block-components-order-summary-item__image,
.wc-block-cart__sidebar .wc-block-cart-item__image,
.wc-block-cart__sidebar .wc-block-cart-item__quantity {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  flex: 0 0 0 !important;
}

/* Hide unit prices & long description paragraphs inside Order Summary item to force 1 clean line */
.wc-block-components-order-summary-item .wc-block-cart-item__prices,
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description,
.wc-block-cart__sidebar .wc-block-components-product-metadata,
.wc-block-cart__sidebar .wc-block-components-product-metadata__description {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Sidebar Product Name Description Cell — Single Line Wrapper with 0.5rem Left Margin */
.wc-block-cart__sidebar td.wc-block-cart-item__product,
.wc-block-components-order-summary-item__description,
div.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 0 0 0.5rem !important;
  border: none !important;
  background: transparent !important;
}

/* Product Title Styling in Sidebar (FORCE 1 SINGLE HORIZONTAL LINE + 0.5rem Left Margin) */
html body .wc-block-components-order-summary-item__title,
html body div.wc-block-components-order-summary-item__title,
html body .wc-block-cart__sidebar .wc-block-components-product-name,
html body .wc-block-cart__sidebar .wc-block-components-product-name a,
html body .wc-block-components-order-summary-item .wc-block-components-product-name,
html body .wc-block-components-product-name,
html body h3.wc-block-components-product-name,
.wc-block-components-product-name,
h3.wc-block-components-product-name {
  white-space: nowrap !important;
  word-break: normal !important;
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  margin: 0 0 0 0.5rem !important;
  padding: 0 !important;
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
}

/* Sidebar Subtotal Price — Neutralize position: absolute from woocommerce.css */
.wc-block-cart__sidebar td.wc-block-cart-item__total,
.wc-block-components-order-summary-item__price,
div.wc-block-components-order-summary-item__price,
.wc-block-components-order-summary-item__total-price,
div.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__total-price .price,
.wc-block-components-order-summary-item__total-price .wc-block-components-product-price {
  position: static !important;
  right: auto !important;
  top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  color: var(--color-orange, #D77C49) !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* ═══════════════════════════════════════
   COUPON SECTION HIGH-END OBSIDIAN REDESIGN
   ═══════════════════════════════════════ */
.wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.wp-block-woocommerce-checkout__sidebar .wc-block-components-totals-coupon,
.wc-block-components-totals-coupon,
.wc-block-components-panel.wc-block-components-totals-coupon {
  margin: 18px 0 !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* "Add coupons" Accordion Button */
.wc-block-components-totals-coupon__button,
button.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
  font-family: var(--font-ui, 'Outfit', 'Inter', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: var(--color-orange, #D77C49) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-components-panel__button-icon,
.wc-block-components-totals-coupon__button svg,
.wc-block-components-panel__button svg {
  color: var(--color-orange, #D77C49) !important;
  fill: currentColor !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
}

.wc-block-components-totals-coupon__content {
  margin-top: 14px !important;
  padding: 16px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
}

/* Coupon Form Layout (Input + Apply Button) */
.wc-block-components-totals-coupon__form,
.wc-block-components-totals-coupon-form {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  margin-top: 14px !important;
  align-items: center !important;
}

/* Coupon Text Input */
.wc-block-components-totals-coupon__form input[type="text"],
.wc-block-components-totals-coupon__input input,
.wc-block-components-text-input input,
.wc-block-components-totals-coupon-form input {
  flex: 1 1 auto !important;
  background: rgba(13, 13, 13, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 6px !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  padding: 10px 14px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-totals-coupon__form input[type="text"]:focus,
.wc-block-components-totals-coupon__input input:focus {
  border-color: var(--color-orange, #D77C49) !important;
  box-shadow: 0 0 12px rgba(215, 124, 73, 0.2) !important;
}

/* Coupon Submit/Apply Button */
.wc-block-components-totals-coupon__submit-button,
.wc-block-components-totals-coupon__form button[type="submit"],
.wc-block-components-totals-coupon-form button {
  flex: 0 0 auto !important;
  background: var(--color-orange, #D77C49) !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  line-height: 1.2 !important;
}

.wc-block-components-totals-coupon__submit-button:hover,
.wc-block-components-totals-coupon__form button[type="submit"]:hover {
  background: #e08b58 !important;
  transform: translateY(-1px) !important;
}

/* ═══════════════════════════════════════
   ORDER CONFIRMATION ("THANK YOU") PAGE FIXES
   ═══════════════════════════════════════ */
body.woocommerce-order-received {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.woocommerce-order-received main,
/* Order Received / Confirmation Page Top Padding Boost */
.woocommerce-order,
.wc-block-order-confirmation,
.wp-block-woocommerce-order-confirmation,
.woocommerce-order-received main,
.woocommerce-order-received #main-content,
body.woocommerce-order-received .wp-site-blocks>main {
  padding-top: clamp(60px, 8vw, 90px) !important;
  padding-left: clamp(20px, 4vw, 60px) !important;
  padding-right: clamp(20px, 4vw, 60px) !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  max-width: 1600px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {

  body.woocommerce-order-received main,
  .woocommerce-order,
  .wc-block-order-confirmation,
  .wp-block-woocommerce-order-confirmation {
    padding-top: 50px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Global reset for main container bottom padding */
main,
#main-content,
.wp-site-blocks>main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce-order-received h1,
.woocommerce-order h1,
.woocommerce-order-received .entry-title {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: clamp(2rem, 6vw, 3.5rem) !important;
  font-weight: 900 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  letter-spacing: -1px !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
  padding-top: 0 !important;
}

/* "Thank you. Your order has been received." message styling */
.woocommerce-thankyou-order-received,
p.woocommerce-notice--success,
p.woocommerce-thankyou-order-received {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--color-orange, #D77C49) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  padding: 16px 20px !important;
  background: rgba(215, 124, 73, 0.1) !important;
  border-left: 4px solid var(--color-orange, #D77C49) !important;
  border-radius: 4px !important;
  display: block !important;
}

/* Order Details Overview Bar */
ul.woocommerce-order-overview {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 20px !important;
  border-radius: 8px !important;
  margin-bottom: 40px !important;
  list-style: none !important;
}

ul.woocommerce-order-overview li {
  flex: 1 1 180px !important;
  border-right: none !important;
  color: #a8a29e !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

ul.woocommerce-order-overview li strong {
  color: #FFFFFF !important;
  font-size: 1.05rem !important;
  margin-top: 6px !important;
  display: block !important;
}

/* Order details table styling */
.woocommerce-table--order-details {
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  color: #FFFFFF !important;
  margin-bottom: 48px !important;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  border-color: rgba(255, 255, 255, 0.08) !important;
  padding: 16px 20px !important;
}

/* ═══════════════════════════════════════
   BILLING ADDRESS SECTION & SPACING FIXES
   ═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   BILLING & SHIPPING ADDRESS OBSIDIAN CARD ALIGNMENT
   ═══════════════════════════════════════ */
/* ═══════════════════════════════════════
   BILLING & SHIPPING ADDRESS OBSIDIAN CARD ALIGNMENT
   ═══════════════════════════════════════ */
.wp-block-woocommerce-order-confirmation-billing-address,
.wp-block-woocommerce-order-confirmation-shipping-address,
.wc-block-order-confirmation-billing-address,
.wc-block-order-confirmation-shipping-address,
.woocommerce-customer-details,
.woocommerce-columns--addresses,
.wp-block-woocommerce-order-confirmation-billing-address.alignwide,
.wp-block-woocommerce-order-confirmation-shipping-address.alignwide,
.wc-block-order-confirmation-billing-address.alignwide {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 24px 28px !important;
  /* Added 24px top & 28px left/right padding */
  display: block !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Section Headings */
.wc-block-order-confirmation-billing-address h2,
.wc-block-order-confirmation-billing-address h3,
.wc-block-order-confirmation-shipping-address h2,
.wc-block-order-confirmation-shipping-address h3,
.wc-block-order-confirmation-billing-address__title,
.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-column__title,
.wp-block-woocommerce-order-confirmation-billing-address h2,
.wp-block-woocommerce-order-confirmation-billing-address h3 {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: #FFFFFF !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  display: block !important;
}

/* Address Text Container — 24px Top & Left Padding */
.wp-block-woocommerce-order-confirmation-billing-address address,
.wp-block-woocommerce-order-confirmation-shipping-address address,
.wc-block-order-confirmation-billing-address address,
.wc-block-order-confirmation-shipping-address address,
.woocommerce-customer-details address,
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address,
.wc-block-components-address-card,
.wc-block-order-confirmation-address,
.wc-block-order-confirmation__address,
address {
  margin: 0 0 16px 0 !important;
  padding: 20px 24px !important;
  /* Added top & left padding */
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #e7e5e4 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  font-style: normal !important;
  text-align: left !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Delivery & Shipment confirmation text spacing */
.woocommerce-order>p,
.woocommerce-customer-details+p,
.wc-block-order-confirmation+p,
p.woocommerce-notice {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  color: #a8a29e !important;
  margin-top: 36px !important;
  margin-bottom: 24px !important;
  padding-bottom: 0 !important;
  display: block !important;
}

/* Bottom "Continue Shopping" Button Styling */
.tlt-thankyou-back-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 24px !important;
  margin-bottom: 54px !important;
  width: 100% !important;
  clear: both !important;
}

.tlt-thankyou-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background: var(--color-orange, #D77C49) !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 6px 24px rgba(215, 124, 73, 0.3) !important;
  cursor: pointer !important;
}

.tlt-thankyou-back-btn:hover {
  background: #e08b58 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(215, 124, 73, 0.5) !important;
}



/* ═══════════════════════════════════════
   HEADER NAV HOVER ANIMATED UNDERLINE (TEXT STAYS FIXED)
   ═══════════════════════════════════════ */
.nav-link {
  position: relative !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  padding-bottom: 6px !important;
  transition: color 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
}

.nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 0% !important;
  height: 2px !important;
  background-color: var(--color-orange, #D77C49) !important;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 8px rgba(215, 124, 73, 0.4) !important;
}

.nav-link:hover::after,
.nav-link:focus::after {
  width: 100% !important;
}

.nav-link:hover {
  color: #FFFFFF !important;
}

/* Disable old text swap transforms */
.hover-text-swap:hover .default-text,
.hover-text-swap:hover .hover-text {
  transform: none !important;
}

/* ═══════════════════════════════════════
   PERMANENTLY HIDE ALL SEPARATORS, HRs, BARS & DOT DEBRIS
   ═══════════════════════════════════════ */
hr,
.wp-block-separator,
.is-style-dots,
.wp-block-separator.is-style-dots,
.wc-block-components-checkout-step__separator,
#awx-express-checkout-button-separator,
.wc-block-cart__empty-cart__title::before,
.wc-block-cart__empty-cart__title::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Footer Link Width Fix — restrict underline/hover border to exact text width */
.footer-col a,
.tlt-footer-link {
  display: inline-block !important;
  width: fit-content !important;
  max-width: max-content !important;
  border-bottom: none !important;
}

/* Model Hero Right Column — Centered alignment */
.model-hero-grid {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1300px !important;
  justify-content: center !important;
}

.model-hero-grid .reveal-right {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.model-hero-grid .reveal-right img {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

#specs {
  max-width: 1300px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tlt-fleet-gallery-grid {
  justify-content: center !important;
}

/* Legal Pages Bottom Spacing — Balanced 60px gap */
.terms-page-main,
.privacy-page-main {
  padding-bottom: 60px !important;
  min-height: auto !important;
}

.terms-container,
.privacy-container {
  padding-bottom: 30px !important;
  margin-bottom: 0 !important;
}

.terms-content-body,
.privacy-content-body {
  margin-bottom: 30px !important;
  padding-bottom: 0 !important;
}

.terms-section:last-child,
.privacy-section:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Blog & Lab Pages Bottom Spacing — Balanced 60px gap */
.tlt-blog-main-wrapper,
.blog-page-main,
.tlt-blog-container,
body.blog main,
body.page-template-page-blog main {
  padding-bottom: 60px !important;
}

.tlt-blog-grid,
.tlt-blog-posts-grid,
.wp-block-post-template {
  margin-bottom: 30px !important;
  padding-bottom: 0 !important;
}

/* ═══════════════════════════════════════
   HOMEPAGE & MODEL SHOWCASE SPECS (CLEAN MODERN TECH DASHBOARD)
   ═══════════════════════════════════════ */
.spec-row-el {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 28px 48px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  margin-top: 24px !important;
  margin-bottom: 40px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  width: 100% !important;
  max-width: 600px !important;
  background: transparent !important;
}

.spec-item-el {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 100px !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
}

.spec-top-label {
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  color: var(--color-sand, #DCBCA3) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
  display: block !important;
  opacity: 0.9 !important;
}

.spec-value-group {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.spec-num {
  color: #ffffff !important;
  font-family: var(--font-display, 'Special Gothic Expanded One', sans-serif) !important;
  font-size: clamp(2.4rem, 3.8vw, 3.2rem) !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -1px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

.spec-unit {
  color: rgba(255, 255, 255, 0.6) !important;
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

@media (max-width: 768px) {
  .spec-row-el {
    gap: 20px 28px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    margin-bottom: 32px !important;
  }
  .spec-item-el {
    min-width: 85px !important;
  }
  .spec-top-label {
    font-size: 0.65rem !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 6px !important;
  }
  .spec-num {
    font-size: clamp(2rem, 6vw, 2.5rem) !important;
  }
  .spec-unit {
    font-size: 0.72rem !important;
  }
}

/* Single Product Page Theme Scheme */
.single-product-article,
article.single-product-article {
  background: var(--color-warm-brown, #38281F) !important;
}

.single-product-article .tlt-acquire-btn,
.single-product-article .btn-orange {
  background: var(--tlt-btn-bg, #000000) !important;
  color: var(--tlt-btn-txt, #FFFFFF) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.single-product-article .btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #FFFFFF !important;
  background: transparent !important;
}

/* FAQ Page Division & Footer Separation */
.faq-page-main {
  padding-top: 140px !important;
  padding-bottom: 120px !important;
}

.faq-container {
  padding-bottom: 60px !important;
}

.faq-accordion-group {
  margin-bottom: 60px !important;
}

.faq-bottom-cta {
  margin-top: 80px !important;
  margin-bottom: 40px !important;
  padding: 60px 30px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 4px !important;
}

/* ═══════════════════════════════════════
   HERO SCROLL DOWN ARROW INDICATOR
   ═══════════════════════════════════════ */
.hero-cover,
.wp-block-cover.hero-cover {
  overflow: visible !important;
  position: relative !important;
  z-index: 40 !important;
}

.hero-cover video,
.hero-cover .wp-block-cover__video-background,
.hero-cover .wp-block-cover__image-background,
.hero-cover .wp-block-cover__background {
  border-radius: 0 !important;
}

.hero-scroll-indicator {
  position: absolute !important;
  bottom: -23px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 100 !important;
  text-decoration: none !important;
  color: #FFFFFF !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  animation: heroScrollFloat 2.2s infinite ease-in-out !important;
}

.hero-scroll-circle {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(15, 14, 13, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

.hero-scroll-circle svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
  transition: transform 0.3s ease, color 0.3s ease !important;
}

.hero-scroll-indicator:hover {
  animation-play-state: paused !important;
}

.hero-scroll-indicator:hover .hero-scroll-circle {
  background: var(--color-orange, #D77C49) !important;
  border-color: var(--color-orange, #D77C49) !important;
  transform: scale(1.12) translateY(2px) !important;
  box-shadow: 0 0 25px rgba(215, 124, 73, 0.7), 0 8px 30px rgba(0, 0, 0, 0.6) !important;
}

.hero-scroll-indicator:hover .hero-scroll-circle svg {
  transform: translateY(2px) !important;
}

@keyframes heroScrollFloat {
  0%, 100% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, 7px);
  }
}

/* ═══════════════════════════════════════
   FOOTER BACK TO TOP ARROW INDICATOR
   ═══════════════════════════════════════ */
.site-footer-group,
.site-footer {
  overflow: visible !important;
  position: relative !important;
}

.tlt-back-to-top {
  position: absolute !important;
  top: -23px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 999 !important;
  text-decoration: none !important;
  color: #FFFFFF !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  animation: footerScrollFloat 2.2s infinite ease-in-out !important;
}

.tlt-back-to-top-circle {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(15, 14, 13, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

.tlt-back-to-top-circle svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
  transition: transform 0.3s ease, color 0.3s ease !important;
}

.tlt-back-to-top:hover {
  animation-play-state: paused !important;
}

.tlt-back-to-top:hover .tlt-back-to-top-circle {
  background: var(--color-orange, #D77C49) !important;
  border-color: var(--color-orange, #D77C49) !important;
  transform: scale(1.12) translateY(-2px) !important;
  box-shadow: 0 0 25px rgba(215, 124, 73, 0.7), 0 8px 30px rgba(0, 0, 0, 0.6) !important;
}

.tlt-back-to-top:hover .tlt-back-to-top-circle svg {
  transform: translateY(-2px) !important;
}

@keyframes footerScrollFloat {
  0%, 100% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, -7px);
  }
}

/* ══════════════════════════════════════════════════════════
   ROCK-SOLID BUTTON ALIGNMENT & RESPONSIVE FIT
   ══════════════════════════════════════════════════════════ */
.wp-block-buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.wp-block-buttons .wp-block-button {
  flex: 1 1 0 !important;
  display: flex !important;
  margin: 0 !important;
}

.wp-block-buttons .wp-block-button a,
.wp-block-buttons .cta-button-el,
.cta-button-el.btn-orange,
.cta-button-el.btn-outline,
.btn-orange,
.btn-outline {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 50px !important;
}

@media (max-width: 768px) {
  .wp-block-buttons {
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .wp-block-buttons .wp-block-button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
  
  .wp-block-buttons .wp-block-button a,
  .wp-block-buttons .cta-button-el,
  .cta-button-el.btn-orange,
  .cta-button-el.btn-outline {
    padding: 14px 10px !important;
    font-size: clamp(0.72rem, 3vw, 0.82rem) !important;
    letter-spacing: 1px !important;
    min-height: 48px !important;
    white-space: nowrap !important;
  }
}

/* ══════════════════════════════════════════════════════════
   FLEET SHOWCASE INTRO SCROLL DOWN BUTTON
   ══════════════════════════════════════════════════════════ */
.fleet-scroll-down-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--color-sand, #DCBCA3) !important;
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 12px 28px !important;
  border: 1px solid rgba(220, 188, 163, 0.35) !important;
  border-radius: 9999px !important;
  background: rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.fleet-scroll-down-btn:hover {
  background: var(--color-orange, #D77C49) !important;
  border-color: var(--color-orange, #D77C49) !important;
  color: #FFFFFF !important;
  transform: translateY(3px) !important;
  box-shadow: 0 8px 25px rgba(215, 124, 73, 0.4) !important;
}

.fleet-scroll-down-btn svg {
  animation: fleetBounce 2s infinite ease-in-out;
}

@keyframes fleetBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

/* ══════════════════════════════════════════════════════════
   ORGANIZED PRODUCT SPECIFICATIONS TABLE (WEBSITE PALETTE & PERFECT ALIGNMENT)
   ══════════════════════════════════════════════════════════ */
.tlt-specs-section {
  width: 100% !important;
  box-sizing: border-box !important;
}

.tlt-specs-panel {
  background: rgba(22, 16, 12, 0.78) !important;
  border: 1px solid rgba(220, 188, 163, 0.18) !important;
  border-radius: 14px !important;
  padding: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 52px) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(220, 188, 163, 0.1) !important;
  box-sizing: border-box !important;
  position: relative !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.tlt-specs-grid-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 320px) 1fr !important;
  gap: clamp(44px, 5vw, 76px) !important;
  align-items: start !important;
}

/* Left Column: Kicker, Heading, Description & Order Button */
.tlt-specs-info-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.tlt-specs-kicker {
  color: var(--color-orange, #D77C49) !important;
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.tlt-specs-heading {
  color: var(--color-sand, #DCBCA3) !important;
  font-family: var(--font-display, 'Stack Sans Notch', sans-serif) !important;
  font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  word-break: normal !important;
  max-width: 100% !important;
}

.tlt-specs-desc {
  color: var(--color-stone, #E7E5E4) !important;
  font-family: var(--font-body, 'Stack Sans Text', sans-serif) !important;
  font-size: clamp(0.86rem, 0.95vw, 0.94rem) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  opacity: 0.92 !important;
}

.tlt-specs-action-wrap {
  margin-top: 6px !important;
  width: 100% !important;
  overflow: visible !important;
}

/* ORDER NOW Button - Industrial Square (Matching Site Design System) */
.tlt-specs-order-btn,
a.tlt-specs-order-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background: var(--color-orange, #D77C49) !important;
  color: #FFFFFF !important;
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  padding: 15px 32px !important;
  border-radius: 0px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-bottom: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4), 0 0 16px rgba(215, 124, 73, 0.3) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  transform: translateZ(0) !important;
}

.tlt-specs-order-btn:hover,
a.tlt-specs-order-btn:hover {
  background: #E08754 !important;
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(215, 124, 73, 0.55), 0 4px 18px rgba(0, 0, 0, 0.4) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.tlt-specs-order-btn::after,
.tlt-specs-order-btn::before,
a.tlt-specs-order-btn::after,
a.tlt-specs-order-btn::before {
  display: none !important;
  content: none !important;
}

/* Right Column: 2 Parallel Specification Sub-Columns with Generous Room for Long Values */
.tlt-specs-table-container {
  width: 100% !important;
  min-width: 0 !important;
}

.tlt-specs-table-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.18fr) !important;
  gap: clamp(20px, 3vw, 40px) !important;
  align-items: start !important;
}

.tlt-specs-subcol {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

/* Table Row with Horizontal Divider in Website Sand Palette */
.tlt-spec-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 13px 4px !important;
  border-bottom: 1px solid rgba(220, 188, 163, 0.14) !important;
  gap: 12px !important;
  min-width: 0 !important;
  transition: background 0.2s ease, padding 0.2s ease !important;
}

.tlt-spec-row:hover {
  background: rgba(220, 188, 163, 0.05) !important;
  border-radius: 4px !important;
}

.tlt-spec-label {
  color: var(--color-sand, #DCBCA3) !important;
  font-family: var(--font-ui, 'Stack Sans Notch', sans-serif) !important;
  font-size: clamp(0.68rem, 0.78vw, 0.75rem) !important;
  font-weight: 700 !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  opacity: 0.88 !important;
}

.tlt-spec-value {
  color: #FFFFFF !important;
  font-family: var(--font-display, 'Stack Sans Notch', sans-serif) !important;
  font-size: clamp(0.78rem, 0.88vw, 0.88rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  text-align: right !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.25 !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}

/* Responsive Scaling: Tighten and Harmonize Gaps Across Viewports */
@media (max-width: 1180px) {
  .tlt-specs-section,
  #specs {
    margin-top: 40px !important;
    margin-bottom: 30px !important;
  }

  .tlt-specs-grid-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .tlt-specs-info-col {
    max-width: 100% !important;
    border-bottom: 1px solid rgba(220, 188, 163, 0.14) !important;
    padding-bottom: 20px !important;
    gap: 14px !important;
  }

  .tlt-specs-heading {
    font-size: clamp(1.4rem, 2vw, 1.8rem) !important;
  }

  .tlt-specs-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 768px) {
  .single-product-article,
  article.single-product-article {
    padding-top: 100px !important;
    padding-bottom: 40px !important;
  }

  .single-product-article .reveal-up:has(.back-link),
  .single-product-pattern-wrap .reveal-up:has(.back-link) {
    margin-bottom: 20px !important;
  }

  .model-hero-grid {
    gap: 20px !important;
    margin-bottom: 24px !important;
  }

  .model-hero-grid .reveal-right {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .model-hero-grid .reveal-right img {
    width: 100% !important;
    max-height: 420px !important;
    object-fit: cover !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .tlt-specs-section,
  #specs {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

  .tlt-specs-panel {
    padding: 20px 14px !important;
    border-radius: 10px !important;
  }

  .tlt-specs-grid-layout {
    gap: 16px !important;
  }

  .tlt-specs-info-col {
    gap: 12px !important;
    padding-bottom: 16px !important;
  }

  .tlt-specs-kicker:empty,
  .tlt-specs-heading:empty,
  .tlt-specs-desc:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .tlt-specs-heading {
    font-size: 1.35rem !important;
    margin: 0 !important;
  }

  .tlt-specs-desc {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  .tlt-specs-action-wrap {
    margin-top: 4px !important;
  }

  .tlt-specs-table-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .tlt-spec-row {
    padding: 11px 2px !important;
  }

  .tlt-spec-label {
    font-size: 0.7rem !important;
    letter-spacing: 0.8px !important;
  }

  .tlt-spec-value {
    font-size: 0.82rem !important;
  }

  .tlt-specs-order-btn,
  a.tlt-specs-order-btn {
    width: 100% !important;
    padding: 13px 20px !important;
    justify-content: center !important;
  }

  .reveal-up:has(.tlt-fleet-gallery-grid),
  div:has(> .tlt-fleet-gallery-grid) {
    margin-top: 36px !important;
  }

  .tlt-fleet-gallery-grid {
    gap: 12px !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ══════════════════════════════════════════════════════════
   LIGHTBOX GALLERY KEYBOARD & TOUCH ENHANCEMENTS
   ══════════════════════════════════════════════════════════ */
#tlt-lightbox-modal {
  transition: opacity 0.25s ease !important;
}

#tlt-lightbox-modal button {
  text-decoration: none !important;
  border-bottom: none !important;
  outline: none !important;
  user-select: none !important;
}

#tlt-lightbox-modal button:focus-visible {
  box-shadow: 0 0 0 3px var(--color-orange, #D77C49) !important;
}

#tlt-lightbox-img {
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}




/* ══════════════════════════════════════════════════════════
   PRODUCT PAGE — BLUEPRINT SPEC DIAGRAM
   Replaces the old text-only SPECIFICATIONS panel in the
   Marlin/Grizzly product descriptions: one annotated product
   photo with leader-line callouts instead of three separate
   places (stat circles, spec list, comparison table) repeating
   the same Top Speed / Range / Weight numbers.
   ══════════════════════════════════════════════════════════ */
.tlt-bp-wrap {
  --tlt-bp-bg-sunken: #241B15;
  --tlt-bp-sand: #DCBCA3;
  --tlt-bp-value: #E7E5E4;
  --tlt-bp-muted: #9C9089;
  --tlt-bp-rule: rgba(255,255,255,.09);
  --tlt-bp-rule-strong: rgba(255,255,255,.16);
  box-sizing: border-box;
}
.tlt-bp-wrap *{ box-sizing: border-box; }
.tlt-bp-head{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--tlt-bp-rule-strong);
}
.tlt-bp-head .tlt-bp-dot-mark{ width:11px; height:11px; background:var(--tlt-bp-accent); flex-shrink:0; border-radius:2px; }
.tlt-bp-head .tlt-bp-name{ font-family: Arial, Helvetica, sans-serif; font-weight:700; font-size:1.5rem; color:#fff; }
.tlt-bp-head .tlt-bp-sub{ font-size:1rem; color:var(--tlt-bp-muted); margin-left:auto; }

.tlt-bp-diagram{
  position:relative; width:100%; aspect-ratio:2.3/1;
  background:var(--tlt-bp-bg-sunken); border:1px solid var(--tlt-bp-rule-strong);
}
.tlt-bp-photo{ position:absolute; left:28%; top:3%; width:44%; height:94%; }
.tlt-bp-photo img{ width:100%; height:100%; object-fit:contain; display:block; }
.tlt-bp-diagram svg{ position:absolute; inset:0; width:100%; height:100%; }
.tlt-bp-diagram .tlt-bp-leader{ fill:none; stroke:var(--tlt-bp-accent); opacity:.6; stroke-width:.28; stroke-linejoin:round; }
.tlt-bp-diagram .tlt-bp-tick{ stroke:var(--tlt-bp-accent); stroke-width:.6; }
.tlt-bp-dotmark{
  position:absolute; width:8px; height:8px; border-radius:50%;
  background:var(--tlt-bp-accent); box-shadow:0 0 0 4px rgba(255,255,255,0.12);
  transform:translate(-50%,-50%);
}
.tlt-bp-label{ position:absolute; width:22%; transform:translateY(-50%); line-height:1.2; }
.tlt-bp-label.tlt-bp-left{ left:1%; text-align:right; }
.tlt-bp-label.tlt-bp-right{ left:77%; text-align:left; }
.tlt-bp-label .tlt-bp-num{ font-family: Consolas, 'Courier New', monospace; font-size:.82rem; color:var(--tlt-bp-accent); letter-spacing:.05em; }
.tlt-bp-label .tlt-bp-k{ font-family: Arial, Helvetica, sans-serif; font-size:1.05rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--tlt-bp-value); }
.tlt-bp-label .tlt-bp-v{ font-size:1rem; color:var(--tlt-bp-muted); margin-top:2px; }

.tlt-bp-stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--tlt-bp-rule-strong); border-top:none; background:var(--tlt-bp-bg-sunken);
}
.tlt-bp-stats .tlt-bp-stat{ text-align:center; border-left:1px solid var(--tlt-bp-rule); padding:20px 12px; }
.tlt-bp-stats .tlt-bp-stat:first-child{ border-left:none; }
.tlt-bp-stats .tlt-bp-val{ font-family: Arial, Helvetica, sans-serif; font-weight:700; font-size:2.4rem; color:#fff; }
.tlt-bp-stats .tlt-bp-val small{ font-family: Arial, Helvetica, sans-serif; font-size:.38em; color:var(--tlt-bp-sand); font-weight:700; margin-left:5px; }
.tlt-bp-stats .tlt-bp-lbl{ font-family: Arial, Helvetica, sans-serif; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tlt-bp-muted); margin-top:8px; }

.tlt-bp-stage{ position:absolute; inset:0; }

@media (max-width:820px){
  .tlt-bp-diagram{
    aspect-ratio:auto; min-height:0; height:auto; padding:0 0 4px;
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:0;
  }
  /* photo full width, dots sit on it and carry the label numbers */
  .tlt-bp-stage{ position:relative; inset:auto; width:100%; grid-column:1 / -1; aspect-ratio:3 / 2; counter-reset:tlt-bp; }
  .tlt-bp-photo{ left:0; top:0; width:100%; height:100%; transform:none; }
  .tlt-bp-diagram svg{ display:none; }
  .tlt-bp-dotmark{
    display:flex; align-items:center; justify-content:center;
    left:calc(var(--lx) * 1%) !important; top:calc(var(--ly) * 1%) !important;
    width:17px; height:17px; counter-increment:tlt-bp;
    box-shadow:0 0 0 2px rgba(255,255,255,.28), 0 1px 4px rgba(0,0,0,.55);
  }
  .tlt-bp-dotmark::after{
    content:counter(tlt-bp); font:700 10px/1 Arial, Helvetica, sans-serif; color:#fff;
  }
  /* legend: two columns, numbered */
  .tlt-bp-label{
    position:static; transform:none; width:auto; display:block;
    padding:11px 14px; border-top:1px solid var(--tlt-bp-rule); text-align:left !important;
  }
  .tlt-bp-label:nth-of-type(odd){ border-left:1px solid var(--tlt-bp-rule); }
  .tlt-bp-label, .tlt-bp-label *{ text-align:left !important; }
  .tlt-bp-label .tlt-bp-num{ font-size:.72rem; }
  .tlt-bp-label .tlt-bp-k{ font-size:.82rem; line-height:1.15; }
  .tlt-bp-label .tlt-bp-v{ font-size:.78rem; line-height:1.3; margin-top:2px; }
  .tlt-bp-stats{ grid-template-columns:repeat(3,1fr); }
  .tlt-bp-stats .tlt-bp-stat{ border-left:1px solid var(--tlt-bp-rule); border-top:none; padding:16px 6px; }
  .tlt-bp-stats .tlt-bp-stat:first-child{ border-left:none; }
  .tlt-bp-stats .tlt-bp-val{ font-size:1.7rem; }
  .tlt-bp-stats .tlt-bp-lbl{ font-size:.66rem; letter-spacing:.06em; }
}

/* Mobile: the "TLTBOARD MODELS / Choose the machine built for you" band is dead space under the hero.
   Collapse it but keep #models as the scroll target for the hero button. */
@media (max-width:820px){
  #models{ padding:0 !important; margin:0 !important; min-height:0 !important; height:0 !important; overflow:hidden !important; border:0 !important; }
  #models > *{ display:none !important; }
}
