/* 
Theme Name: Walt Gear
Theme URI: https://waltgear.co.za
Author: Li-Anne
Author URI: https://waltgear.co.za
Description: Walt Gear — Committed to Quality. Loyal to Nature. Custom WordPress theme for the Walt Gear outdoor gear brand.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Proprietary
Text Domain: waltgear
*/



/* ========================================
   HOMEPAGE STYLES
   ======================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --cream: #F5F0E8;
    --cream-dark: #EDE6D6;
    --black: #1A1A18;
    --warm-stone: #C8BFA8;
    --stone: #8A8272;
    --forest: #2D4A2D;
    --forest-mid: #3D6B3D;
    --sage: #7A9E7A;
    --white: #FFFFFF;
    --accent: #2D4A2D;
    --border: rgba(26,26,24,0.12);
    --font-head: 'Montserrat', sans-serif;
    --font-body: 'Roboto', sans-serif;
    --radius: 10px;
    --transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  html { scroll-behavior: smooth; overflow-x: hidden; }

  body {
    font-family: var(--font-body);
    background: var(--cream);
    color: var(--black);
    font-weight: 300;
    line-height: 1.6;
  }

  /* ── NAV ── */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 3rem;
    height: 68px;
    background: rgba(245,240,232,0.95);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    transition: background var(--transition);
  }

  .nav-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
  }

  /* SVG Walt logo with pine tree in the W */
  .walt-logo-svg {
    height: 28px;
    width: auto;
  }

  .nav-links {
    display: flex;
    gap: 2.5rem;
    list-style: none;
  }

  .nav-links a {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    opacity: 0.65;
    transition: opacity var(--transition);
  }

  .nav-links a:hover { opacity: 1; }

  .nav-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }

  /* Hidden on desktop, shown via media query on mobile */
  .nav-hamburger { display: none; }
  .mobile-nav-drawer { display: none; }

  .nav-cart {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }

  .cart-count {
    background: var(--forest);
    color: white;
    font-size: 0.6rem;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
  }

  /* ── HERO ── */
  .hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
  }

  /* Clean dark bg — video/image will replace this */
  .hero-bg {
    position: absolute;
    inset: 0;
    background: #1C2A1C;
    z-index: 0;
  }

  /* Placeholder colour block for hero video */
  .hero-video-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #263B26 0%, #1A2A1A 50%, #0F1A10 100%);
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 2rem 3rem;
  }

  .hero-video-placeholder::after {
   
    font-family: var(--font-head);
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.18);
  }

  /* Subtle dark gradient overlay so text stays readable over future video */
  .hero-overlay {
    position: absolute;
    inset: 0; 
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 50%, rgba(0,0,0,0.1) 100%);
    z-index: 2;
  }

  .hero-content {
    position: relative;
    z-index: 3;
    max-width: 760px;
    padding: 0 2rem;
    animation: fadeUp 1.1s ease both;
  }

  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(32px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .hero-eyebrow {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.68rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--sage);
    margin-bottom: 1.4rem;
  }

  .hero h1 {
    font-family: var(--font-head);
    font-weight: 900;
    font-size: clamp(2.8rem, 7vw, 5.5rem);
    line-height: 1.0;
    color: var(--white);
    letter-spacing: -0.01em;
    margin-bottom: 1.4rem;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .hero h1 em {
    font-style: italic;
    color: var(--sage);
  }

  .hero-sub {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 1rem;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 2.8rem;
  }

  .btn-primary {
    display: inline-block;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--white);
    background: var(--forest);
    border: none;
    padding: 1rem 2.6rem;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    transition: background var(--transition), transform 0.2s;
  }

  .btn-primary:hover {
    background: var(--forest-mid);
    transform: translateY(-2px);
  }

  .btn-outline {
    display: inline-block;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--black);
    background: transparent;
    border: 1.5px solid var(--black);
    padding: 0.9rem 2.4rem;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition);
  }

  .btn-outline:hover {
    background: var(--black);
    color: var(--cream);
  }

  .btn-outline-light {
    display: inline-block;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--white);
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.5);
    padding: 0.9rem 2.4rem;
    border-radius: var(--radius);
    cursor: pointer;
    text-decoration: none;
    transition: all var(--transition);
  }

  .btn-outline-light:hover {
    background: rgba(255,255,255,0.1);
    border-color: white;
  }

  .hero-scroll {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.4;
    animation: bounceDown 2s ease infinite;
  }

  @keyframes bounceDown {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(6px); }
  }

  .hero-scroll span {
    font-family: var(--font-head);
    font-size: 0.58rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: white;
  }

  .hero-scroll svg { stroke: white; }

  /* ── SECTIONS COMMON ── */
  section { width: 100%; }

  .section-label {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.65rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 0.9rem;
  }

  .section-title {
    font-family: var(--font-head);
    font-weight: 800;
    -webkit-font-smoothing: antialiased;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--black);
  }

  .section-title-light { color: var(--white); }

  /* ── REVEAL ANIMATION ── */
  .reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.65s ease, transform 0.65s ease;
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: 0.08s; }
  .reveal-delay-2 { transition-delay: 0.16s; }
  .reveal-delay-3 { transition-delay: 0.24s; }
  .reveal-delay-4 { transition-delay: 0.32s; }

  /* On mobile, skip the reveal animation entirely — just show everything */
  @media (max-width: 680px) {
    .reveal { opacity: 1; transform: none; transition: none; }
  }

  /* ── FEATURED PRODUCTS CAROUSEL ── */
  .products-section {
    padding: 6rem 0 6rem;
    background: var(--cream);
  }

  .products-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 1300px;
    margin: 0 auto 2rem;
    padding: 0 3rem;
  }

  /* Scroll-snap carousel — no JS required to move, works natively on touch */
  .carousel-outer {
    position: relative;
  }

  .products-track-wrap {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    padding: 0.5rem 3rem 1.5rem;
    scroll-padding-left: 3rem;
    cursor: grab;
  }

  .products-track-wrap::-webkit-scrollbar { display: none; }
  .products-track-wrap.grabbing { cursor: grabbing; }

  .products-track {
    display: flex;
    gap: 1.25rem;
    /* Width just needs to be auto — flexbox handles it */
    width: max-content;
  }

  .product-card {
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    /* Desktop: 4 visible at once */
    width: calc((min(100vw, 1360px) - 6rem - 3 * 1.25rem) / 4);
    min-width: 220px;
    max-width: 320px;
    scroll-snap-align: start;
    flex-shrink: 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,0,0,0.08);
  }

  .product-img {
    width: 100%;
    aspect-ratio: 3/4;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding-bottom: 1rem;
    flex-shrink: 0;
  }

  /* Coloured placeholders */
  .product-img.tone-1 { background: #C2B8A4; }
  .product-img.tone-2 { background: #B0BEA8; }
  .product-img.tone-3 { background: #C0B2A0; }
  .product-img.tone-4 { background: #A8B6B6; }
  .product-img.tone-5 { background: #BDB0A0; }
  .product-img.tone-6 { background: #B8C0AA; }
  .product-img.tone-7 { background: #C4B4A8; }
  .product-img.tone-8 { background: #AABAB8; }
  .product-img.tone-9 { background: #C0BAA8; }

  .product-img-label {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.56rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    text-align: center;
  }

  .product-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--forest);
    color: white;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.56rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.28rem 0.65rem;
    border-radius: 4px;
  }

  .product-badge.coming-soon-badge {
    background: var(--stone);
  }

  .product-info {
    padding: 1.1rem 1.25rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .product-name {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.03em;
    color: var(--black);
    margin-bottom: 0.3rem;
  }

  .product-desc {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.78rem;
    color: var(--stone);
    line-height: 1.45;
    flex: 1;
    margin-bottom: 0;
  }

  .product-footer {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 1rem;
  }

  .product-price {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--black);
  }

  .add-cart-btn {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.6rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--forest);
    background: rgba(45,74,45,0.12);
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s;
  }

  .add-cart-btn:hover {
    background: rgba(45,74,45,0.22);
  }

  /* Waitlist button */
  .waitlist-btn {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.58rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--stone);
    background: rgba(138,130,114,0.1);
    border: 1.5px solid rgba(138,130,114,0.3);
    padding: 0.72rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
    transition: all 0.2s;
  }

  .waitlist-btn:hover {
    background: rgba(45,74,45,0.1);
    border-color: var(--forest);
    color: var(--forest);
  }

  /* Carousel arrows */
  .carousel-btn {
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--white);
    border: 1.5px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    transition: all 0.2s;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  }

  .carousel-btn:hover {
    border-color: var(--forest);
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
  }

  .carousel-btn:disabled {
    opacity: 0.25;
    cursor: default;
    box-shadow: none;
  }

  .carousel-btn svg {
    width: 18px;
    height: 18px;
    stroke: var(--black);
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .carousel-btn-prev { left: 0.5rem; }
  .carousel-btn-next { right: 0.5rem; }

  /* Dot indicators */
  .carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .carousel-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--border);
    cursor: pointer;
    transition: all 0.25s;
    border: none;
    padding: 0;
  }

  .carousel-dot.active {
    background: var(--forest);
    width: 18px;
    border-radius: 3px;
  }

  /* ── WAITLIST MODAL ── */
  .modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26,26,24,0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
  }

  .modal-overlay.open {
    opacity: 1;
    pointer-events: all;
  }

  .modal-box {
    background: var(--white);
    border-radius: 14px;
    padding: 2.5rem 2rem;
    max-width: 440px;
    width: 100%;
    position: relative;
    transform: translateY(20px);
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
  }

  .modal-overlay.open .modal-box {
    transform: translateY(0);
  }

  .modal-close {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--stone);
    font-size: 1.4rem;
    line-height: 1;
    padding: 0.4rem;
    transition: color 0.2s;
  }

  .modal-close:hover { color: var(--black); }

  .modal-eyebrow {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.62rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 0.5rem;
  }

  .modal-title {
    font-family: var(--font-head);
    font-weight: 900;
    font-size: 1.5rem;
    color: var(--black);
    line-height: 1.15;
    margin-bottom: 0.4rem;
    letter-spacing: -0.01em;
  }

  .modal-product-name {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.82rem;
    color: var(--forest);
    margin-bottom: 1.1rem;
  }

  .modal-body {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.84rem;
    color: var(--stone);
    line-height: 1.65;
    margin-bottom: 1.5rem;
  }

  .modal-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .modal-input {
    width: 100%;
    padding: 0.85rem 1rem;
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 1rem;/* prevent iOS zoom */
    color: var(--black);
    background: var(--cream);
    border: 1.5px solid var(--border);
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s;
    appearance: none;
    -webkit-appearance: none;
  }

  .modal-input:focus {
    border-color: var(--forest);
  }

  .modal-submit {
    width: 100%;
    padding: 1rem;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    background: var(--forest);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
  }

  .modal-submit:hover { background: var(--forest-mid); }

  .modal-success {
    display: none;
    text-align: center;
    padding-top: 1rem;
  }

  .modal-success-icon {
    width: 48px;
    height: 48px;
    background: #EDF3ED;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
  }

  .modal-success-icon svg {
    width: 22px;
    height: 22px;
    stroke: var(--forest);
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .modal-success-title {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--black);
    margin-bottom: 0.5rem;
  }

  .modal-success-note {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.82rem;
    color: var(--stone);
    line-height: 1.6;
  }

  /* ── BUNDLES ── */
  .bundles-section {
    padding: 6rem 3rem;
    background: var(--black);
  }

  .bundles-inner {
    max-width: 1300px;
    margin: 0 auto;
  }

  .bundles-header { margin-bottom: 3rem; }

  .bundles-sub {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.4);
    margin-top: 0.7rem;
    max-width: 420px;
  }

  .bundles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
  }

  .bundle-card {
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
    transition: border-color var(--transition), transform 0.3s;
    display: flex;
    flex-direction: column;
  }

  .bundle-card:hover {
    border-color: rgba(255,255,255,0.28);
    transform: translateY(-4px);
  }

  .bundle-img {
    aspect-ratio: 4/3;
    display: flex;
    align-items: flex-end;
    padding: 1.2rem;
    position: relative;
  }

  /* Coloured placeholders — dark muted tones for bundle images */
  .bundle-img.b1 { background: #2A3D28; }
  .bundle-img.b2 { background: #1E2E20; }
  .bundle-img.b3 { background: #2E2A1E; }
  .bundle-img.b4 { background: #1C2830; }

  .bundle-img::after {
    content: 'Image';
    font-family: var(--font-head);
    font-size: 0.52rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.15);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .bundle-item-count {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.6rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    position: relative;
    z-index: 1;
  }

  .bundle-info {
    padding: 1.1rem 1.2rem 1.3rem;
    background: rgba(255,255,255,0.035);
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .bundle-name {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1rem;
    color: var(--white);
    margin-bottom: 0.3rem;
  }

  .bundle-items {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.75rem;
    color: rgba(255,255,255,0.38);
    line-height: 1.5;
    margin-bottom: 1rem;
    flex: 1;
  }

  .bundle-footer {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }

  .bundle-price-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
  }

  .bundle-price {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 1rem;
    color: var(--sage);
  }

  .bundle-was {
    font-family: var(--font-head);
    font-weight: 400;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.25);
    text-decoration: line-through;
  }

  .bundle-save {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--forest);
    background: var(--sage);
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
  }

  .bundle-cta {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.6rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    background: rgba(255,255,255,0.08);
    border: none;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s;
  }

  .bundle-cta:hover {
    background: rgba(255,255,255,0.14);
  }

  /* ── BRAND VALUES ── */
  .values-section {
    padding: 6rem 3rem;
    background: var(--cream-dark);
  }

  .values-inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
  }

  .values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    margin-top: 3.5rem;
  }

  .value-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .value-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--forest);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .value-icon svg {
    width: 22px;
    height: 22px;
    stroke: var(--white);
    fill: none;
    stroke-width: 1.8;
  }

  .value-title {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--black);
  }

  .value-text {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.85rem;
    color: var(--stone);
    line-height: 1.65;
    text-align: center;
  }

  /* ── STORY BLOCK ── */
  .story-section {
    position: relative;
    height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
  }

  /* Placeholder for full-width story image/video */
  .story-bg {
    position: absolute;
    inset: 0;
    background: #1A2C1A;
    z-index: 0;
  }

  .story-bg::before {
    
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--font-head);
    font-size: 0.54rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.12);
    white-space: nowrap;
  }

  .story-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.42);
    z-index: 1;
  }

  .story-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
    padding: 0 2rem;
  }

  .story-quote {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: clamp(1.6rem, 3.5vw, 2.8rem);
    line-height: 1.15;
    color: var(--white);
    letter-spacing: -0.01em;
    margin-bottom: 2.2rem;
  }

  .story-quote span { color: var(--sage); }

  /* ── CONSERVATION ── */
  .conservation-section {
    padding: 6rem 3rem;
    background: var(--cream);
  }

  .conservation-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
  }

  .conservation-img-block { position: relative; }

  .conservation-img-main {
    width: 100%;
    aspect-ratio: 4/3;
    background: #B0C4B0;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }

  .conservation-img-main::after {
    content: 'Conservation Image';
    font-family: var(--font-head);
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
  }

  .conservation-img-inset {
    position: absolute;
    bottom: -1.5rem;
    right: -1.5rem;
    width: 45%;
    aspect-ratio: 1;
    background: #98B098;
    border-radius: var(--radius);
    border: 4px solid var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .conservation-img-inset::after {
    content: 'Field Image';
    font-family: var(--font-head);
    font-size: 0.54rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
  }

  .conservation-badges {
    display: flex;
    gap: 0.75rem;
    margin: 1.5rem 0 2rem;
    flex-wrap: wrap;
  }

  .conservation-badge {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    border: 1.5px solid var(--forest);
    padding: 0.35rem 0.9rem;
    border-radius: 20px;
  }

  .conservation-text {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.95rem;
    color: var(--stone);
    line-height: 1.8;
    margin-bottom: 1.5rem;
  }

  /* ── REVIEWS ── */
  .reviews-section {
    padding: 6rem 3rem;
    background: var(--black);
  }

  .reviews-header {
    text-align: center;
    margin-bottom: 3.5rem;
  }

  .reviews-grid {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.5rem 3rem 1.5rem;
    margin: 0 -3rem;
  }
  .reviews-grid::-webkit-scrollbar { display: none; }
  .review-card {
    flex: 0 0 calc((min(100vw, 1100px) - 6rem - 2 * 1.5rem) / 3);
    min-width: 280px;
    scroll-snap-align: start;
  }

  .review-card {
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius);
    padding: 1.8rem;
  }

  .review-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 1rem;
  }

  .review-stars span {
    color: var(--sage);
    font-size: 0.85rem;
  }

  .review-text {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.68);
    line-height: 1.7;
    margin-bottom: 1.3rem;
    font-style: italic;
  }

  .review-author {
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }

  .review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--forest);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.65rem;
    color: var(--sage);
    flex-shrink: 0;
  }

  .review-name {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.85);
    letter-spacing: 0.04em;
  }

  .review-tag {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.7rem;
    color: rgba(255,255,255,0.32);
  }

  /* ── FOOTER ── */
  footer {
    background: #111110;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 4rem 3rem 2.5rem;
  }

  .footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
    margin-bottom: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3.5rem;
  }

  .footer-brand-name {
    display: block;
    margin-bottom: 0.75rem;
  }

  .footer-tagline {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.35);
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }

  .footer-social {
    display: flex;
    gap: 1rem;
  }

  .footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    transition: border-color var(--transition);
  }

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

  .footer-social svg {
    width: 16px;
    height: 16px;
    stroke: rgba(255,255,255,0.5);
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .footer-col-title {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 1.2rem;
  }

  .footer-col ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }

  .footer-col ul li a {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: color var(--transition);
  }

  .footer-col ul li a:hover { color: rgba(255,255,255,0.9); }

  .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1300px;
    margin: 0 auto;
    padding-top: 0;
  }

  .footer-copy {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.25);
  }

  .footer-currency {
    display: flex;
    gap: 1rem;
    align-items: center;
  }

  .footer-currency span {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.28);
    cursor: pointer;
    transition: color var(--transition);
  }

  .footer-currency span:hover { color: rgba(255,255,255,0.7); }
  .footer-currency span.active { color: var(--white); font-weight: 700; border-bottom: 1.5px solid rgba(255,255,255,0.6); padding-bottom: 1px; }
  /* ── RESPONSIVE — TABLET ── */
  @media (max-width: 1024px) {
    nav { padding: 0 1.5rem; }

    .product-card {
      width: calc((100vw - 3rem - 1.25rem) / 2.15);
    }

    .bundles-grid { grid-template-columns: repeat(2, 1fr); }
    .values-grid  { grid-template-columns: repeat(2, 1fr); }
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }

    .conservation-inner { gap: 3rem; }
  }

  /* ── RESPONSIVE — MOBILE ── */
  @media (max-width: 680px) {
    /* Nav: compact but keep all links visible */
    nav { padding: 0 0.75rem; height: 52px; gap: 0.5rem; }
    .walt-logo-svg { height: 18px; }
    .nav-links { gap: 0.75rem; }
    .nav-links a { font-size: 0.58rem; letter-spacing: 0.07em; }
    .nav-right { gap: 0.5rem; }
    .nav-cart { font-size: 0.58rem; letter-spacing: 0.06em; }
    .cart-count { width: 15px; height: 15px; font-size: 0.52rem; }
    /* Hide hamburger — links fit fine when compact */
    .nav-hamburger { display: none; }
    .mobile-nav-drawer { display: none !important; }

    /* Page */
    .page-wrap { padding-top: 52px; }

    /* Hero */
    .hero { height: 88svh; min-height: 500px; }
    .hero-content { padding: 0 1.25rem; }
    .hero-content h1 { font-size: clamp(1.9rem, 8.5vw, 3rem); }

    /* Products carousel */
    .products-section { padding: 3rem 0; }
    .products-header { padding: 0 1.25rem; margin: 0 0 1.25rem; }
    .products-track-wrap { padding: 0.5rem 1.25rem 1.5rem; scroll-padding-left: 1.25rem; }
    .product-card { width: calc(100vw - 2.5rem - 20px); max-width: none; min-width: 0; }
    .carousel-btn { display: none; }

    /* Bundles */
    .bundles-section { padding: 3.5rem 1.25rem; }
    .bundles-grid { grid-template-columns: 1fr; gap: 1rem; }

    /* Values */
    .values-section { padding: 3.5rem 1.25rem; }
    .values-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    .value-item { padding: 1.25rem 1rem; }
    .value-title { font-size: 0.78rem; }
    .value-text { font-size: 0.8rem; }

    /* Story */
    .story-section { height: 380px; }
    .story-quote { font-size: clamp(1.3rem, 6vw, 2rem); }

    /* Conservation */
    .conservation-section { padding: 3.5rem 1.25rem; }
    .conservation-inner { grid-template-columns: 1fr; gap: 2rem; }
    /* conservation-img-inset: keep visible on mobile as stacked layout */
    .conservation-img-block { margin-bottom: 1.5rem; }
    .conservation-img-inset {
      position: static;
      width: 60%;
      margin: 1rem auto 0;
      border: 3px solid var(--cream-dark);
    }

    /* Reviews */
    .reviews-section { padding: 3.5rem 1.25rem; }
    .reviews-grid { padding: 0.5rem 1.25rem 1.5rem; margin: 0 -1.25rem; }
    .review-card { flex: 0 0 calc(100vw - 2.5rem - 20px); min-width: 0; }
    .reviews-header { flex-direction: column; gap: 1rem; align-items: flex-start; }

    /* Footer */
    footer { padding: 3rem 1.25rem 2rem; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .footer-bottom { flex-direction: column; gap: 1rem; align-items: flex-start; }
    .footer-currency { flex-wrap: wrap; }

    /* Modal */
    .modal-box { padding: 1.75rem 1.25rem; }
    .modal-title { font-size: 1.25rem; }

    /* Ensure bold font weights render properly on mobile */
    h1, h2, .section-title, .product-name, .bundle-name, .value-title, .hero h1 {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    .section-title { font-weight: 800 !important; }
    .hero h1 { font-weight: 900 !important; }
  }
  /* Hero sub break — hidden desktop, visible mobile */
  .hero-sub-br { display: none; }
  @media (max-width: 680px) {
    .hero-sub-br { display: inline; }
  }


/* ========================================
   KOSI-HOOD STYLES
   ======================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F0E8;--cream-dark:#EDE6D6;--black:#1A1A18;
  --stone:#8A8272;--forest:#2D4A2D;--forest-mid:#3D6B3D;
  --sage:#7A9E7A;--white:#FFFFFF;--border:rgba(26,26,24,0.12);
  --font-head:'Montserrat',sans-serif;--font-body:'Roboto',sans-serif;
  --radius:8px;--tr:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--black);font-weight:300;line-height:1.6}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:rgba(245,240,232,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{text-decoration:none;display:flex;align-items:center}
.walt-logo-svg{height:26px;width:auto}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;opacity:.6;transition:opacity var(--tr)}
.nav-links a:hover{opacity:1}
.nav-breadcrumb{font-family:var(--font-head);font-size:.65rem;letter-spacing:.1em;color:var(--stone);display:flex;align-items:center;gap:.5rem}
.nav-breadcrumb a{color:var(--stone);text-decoration:none}
.nav-breadcrumb a:hover{color:var(--black)}

/* LAYOUT */
.page-wrap{padding-top:68px}
.product-main{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 68px);max-width:1400px;margin:0 auto}

/* GALLERY */
.gallery-col{position:sticky;top:68px;height:calc(100vh - 68px);display:flex;flex-direction:column;padding:2rem;background:var(--cream)}
.gallery-main{flex:1;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#C2BCAE;margin-bottom:.75rem}
.gallery-main-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.gallery-color-block{width:100%;height:100%;transition:background .4s ease}
.gallery-color-block.c-olive{background:#7A8B5A}.gallery-color-block.c-seafoam{background:#8CC9B0}
.gallery-overlay-text{position:absolute;font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);text-align:center;pointer-events:none}
.gallery-badge-spf{position:absolute;top:1.2rem;right:1.2rem;background:var(--forest);color:white;font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .8rem;border-radius:4px}
.gallery-thumbs{display:flex;gap:.5rem}
.thumb{flex:1;aspect-ratio:1;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:border-color var(--tr),transform .2s;overflow:hidden}
.thumb:hover{transform:translateY(-2px)}.thumb.active{border-color:var(--forest)}
.thumb-block{width:100%;height:100%}
.thumb-block.c-olive{background:#7A8B5A}.thumb-block.c-seafoam{background:#8CC9B0}

/* INFO */
.info-col{padding:3rem 3rem 3rem 2.5rem;overflow-y:auto;border-left:1px solid var(--border)}
.product-eyebrow{font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--forest);margin-bottom:.6rem}
.product-title{font-family:var(--font-head);font-weight:900;font-size:2.4rem;line-height:1.05;letter-spacing:-.01em;color:var(--black);margin-bottom:.4rem}
.product-subtitle{font-family:var(--font-body);font-weight:300;font-size:.92rem;color:var(--stone);margin-bottom:1.2rem}
.feature-badges{display:flex;gap:.6rem;flex-wrap:nowrap;margin-bottom:1.4rem}
.feature-badge{display:flex;align-items:center;gap:.45rem;background:rgba(74,107,74,.07);border:1px solid rgba(74,107,74,.18);border-radius:20px;padding:.35rem .7rem;font-family:var(--font-head);font-weight:700;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);white-space:nowrap}
.feature-badge svg{width:14px;height:14px;stroke:var(--forest);flex-shrink:0}
.product-rating{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem}
.stars{color:var(--forest);font-size:.85rem;letter-spacing:1px}
.rating-count{font-family:var(--font-head);font-weight:600;font-size:.7rem;color:var(--stone);letter-spacing:.06em;border-bottom:1px solid var(--stone);padding-bottom:1px;cursor:pointer}
.product-price-row{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border)}
.product-price{font-family:var(--font-head);font-weight:800;font-size:1.9rem;color:var(--black)}
.bnpl-note{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone);border:1px solid var(--border);border-radius:4px;padding:.25rem .7rem}
.bnpl-note strong{font-weight:600;color:var(--black)}

.selector-label{font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--black);margin-bottom:.75rem;display:flex;gap:.5rem;align-items:center}
.selector-label em{font-style:normal;font-weight:400;color:var(--stone);letter-spacing:0;text-transform:none;font-size:.78rem}
.colour-swatches{display:flex;gap:.6rem;margin-bottom:1.5rem}
.swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;border:2px solid transparent;outline:2px solid transparent;outline-offset:2px;transition:all .2s}
.swatch:hover{outline-color:var(--stone)}.swatch.active{outline-color:var(--forest);border-color:white}
.swatch.s-olive{background:#7A8B5A}.swatch.s-seafoam{background:#8CC9B0}

/* SIZE GRID — wraps neatly, min-width so XL/2XL/3XL etc fit */
.size-grid{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}
.size-btn{font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.04em;color:var(--black);background:none;border:1.5px solid var(--border);min-width:48px;height:48px;padding:0 .6rem;border-radius:var(--radius);cursor:pointer;transition:all .2s}
.size-btn:hover{border-color:var(--forest);color:var(--forest)}
.size-btn.active{background:var(--forest);color:white;border-color:var(--forest)}
.size-btn.sold-out{opacity:.35;cursor:not-allowed;text-decoration:line-through}

/* SIZE + CUSTOMISE EXPANDERS — share the same underline-link style */
.expander-link{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);cursor:pointer;background:none;border:none;border-bottom:1.5px solid var(--forest);padding-bottom:1px;margin-bottom:0}

/* EXPANDER PANELS — shared panel style */
.expander-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:none;animation:slideDown .3s ease}
.expander-panel.open{display:block}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* Row between the two expander links */
.size-actions{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.8rem}
.size-actions .divider{color:var(--border);font-size:.9rem}

/* FIT FINDER INTERNALS */
.ff-title{font-family:var(--font-head);font-weight:800;font-size:.9rem;letter-spacing:.04em;color:var(--black);margin-bottom:.3rem}
.ff-subtitle{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone);margin-bottom:1.2rem;line-height:1.5}
.ff-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}
.ff-field label{font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:.35rem}
.ff-field input,.ff-field select{width:100%;padding:.55rem .75rem;font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--black);background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--tr);appearance:none;-webkit-appearance:none}
.ff-field input:focus,.ff-field select:focus{border-color:var(--forest)}
.ff-hint{font-family:var(--font-body);font-weight:300;font-size:.68rem;color:var(--stone);margin-top:.3rem;font-style:italic}
.ff-btn{width:100%;padding:.7rem;font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;background:var(--forest);color:white;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--tr);margin-top:.5rem}
.ff-btn:hover{background:var(--forest-mid)}
.ff-result{display:none;margin-top:1rem;background:#EDF3ED;border:1px solid rgba(45,74,45,.2);border-radius:var(--radius);padding:.9rem 1rem}
.ff-result.show{display:block}
.ff-result-size{font-family:var(--font-head);font-weight:800;font-size:1rem;color:var(--forest);margin-bottom:.2rem}
.ff-result-note{font-family:var(--font-body);font-weight:300;font-size:.8rem;color:var(--forest)}

/* CUSTOMISE MY GEAR PANEL INTERNALS */
.cg-intro{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:var(--stone);line-height:1.65;margin-bottom:1.25rem}

/* Upload area — mobile-first: tap to browse + drag on desktop */
.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:1.4rem 1.2rem;text-align:center;cursor:pointer;transition:border-color var(--tr),background var(--tr);margin-bottom:1.25rem;position:relative;background:var(--cream-dark)}
.upload-zone:hover,.upload-zone.drag-over{border-color:var(--forest);background:#EDF3ED}
.upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:16px/* prevents iOS zoom */}
.upload-zone-inner{display:flex;align-items:center;gap:1rem;justify-content:center}
.upload-btn-icon{width:40px;height:40px;background:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--tr)}
.upload-zone:hover .upload-btn-icon,.upload-zone.drag-over .upload-btn-icon{background:var(--forest-mid)}
.upload-btn-icon svg{width:20px;height:20px;stroke:white;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.upload-text-wrap{text-align:left}
.upload-label{font-family:var(--font-head);font-weight:700;font-size:.78rem;letter-spacing:.04em;color:var(--black);display:block;margin-bottom:.2rem}
.upload-sub{font-family:var(--font-body);font-weight:300;font-size:.7rem;color:var(--stone)}
.upload-filename{font-family:var(--font-head);font-weight:600;font-size:.72rem;color:var(--forest);margin-top:.6rem;text-align:center;display:none}

.colour-picker-label{font-family:var(--font-head);font-weight:700;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--black);margin-bottom:.65rem;display:block}
.print-colours{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}
.print-colour{width:30px;height:30px;border-radius:50%;cursor:pointer;border:2px solid transparent;outline:2px solid transparent;outline-offset:2px;transition:all .2s}
.print-colour:hover{outline-color:var(--stone)}.print-colour.active{outline-color:var(--forest);border-color:white}
.print-colour.pc-white{background:#FFF;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.print-colour.pc-black{background:#1A1A18}.print-colour.pc-forest{background:#2D4A2D}
.print-colour.pc-cream{background:#F5F0E8;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.print-colour.pc-navy{background:#1A2A3A}.print-colour.pc-sand{background:#C8B88A}

.print-cost-note{font-family:var(--font-body);font-weight:300;font-size:.8rem;color:var(--stone);margin-bottom:1.1rem;line-height:1.55}
.print-cost-note strong{color:var(--black);font-weight:600}

.print-checkbox-row{display:flex;align-items:flex-start;gap:.75rem;background:var(--cream-dark);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:1.1rem}
.print-checkbox-row input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--forest);cursor:pointer}
.print-checkbox-row label{font-family:var(--font-body);font-weight:300;font-size:.8rem;color:var(--stone);cursor:pointer;line-height:1.5}
.print-checkbox-row label strong{color:var(--black);font-weight:600}

.btn-add-print{width:100%;padding:.85rem;font-family:var(--font-head);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(45,74,45,.12);color:var(--forest);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s;opacity:.45;pointer-events:none}
.btn-add-print.active{opacity:1;pointer-events:all}.btn-add-print.active:hover{background:rgba(45,74,45,.22)}
.btn-add-print.confirmed{opacity:1;pointer-events:all;background:var(--forest);color:white;font-size:.66rem;letter-spacing:.12em}

/* USE CASES */
.use-cases{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:2rem}
.use-pill{display:flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-weight:600;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);background:#EDF3ED;border:1px solid rgba(45,74,45,.2);padding:.35rem .7rem;border-radius:20px;white-space:nowrap}
.use-pill svg{width:13px;height:13px;stroke:var(--forest);fill:none;stroke-width:2}

/* CTA */
.cta-stack{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.8rem}
.btn-atc{width:100%;padding:1.05rem;font-family:var(--font-head);font-weight:700;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;background:var(--forest);color:white;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--tr),transform .2s}
.btn-atc:hover{background:var(--forest-mid);transform:translateY(-1px)}
.btn-buynow{width:100%;padding:1.05rem;font-family:var(--font-head);font-weight:700;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;background:var(--black);color:white;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--tr)}
.btn-buynow:hover{background:#333}

/* TRUST */
.trust-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.trust-item{display:flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.trust-item svg{width:15px;height:15px;stroke:var(--forest);fill:none;stroke-width:1.8;flex-shrink:0}

/* ACCORDION */
.accordion{border-top:1px solid var(--border)}
.accordion-item{border-bottom:1px solid var(--border)}
.accordion-trigger{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;font-family:var(--font-head);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--black);text-align:left}
.accordion-icon{width:18px;height:18px;position:relative;flex-shrink:0}
.accordion-icon::before,.accordion-icon::after{content:'';position:absolute;background:var(--black);border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.accordion-icon::before{width:14px;height:1.5px;top:50%;left:50%;transform:translate(-50%,-50%)}
.accordion-icon::after{width:1.5px;height:14px;top:50%;left:50%;transform:translate(-50%,-50%)}
.accordion-item.open .accordion-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .3s}
.accordion-item.open .accordion-body{max-height:800px;padding-bottom:1.2rem}
.accordion-body p,.accordion-body li{font-family:var(--font-body);font-weight:300;font-size:.88rem;color:var(--stone);line-height:1.8}
.accordion-body ul{padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}
.spec-row{display:flex;flex-direction:column}
.spec-key{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);margin-bottom:.1rem}
.spec-val{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:var(--stone)}

/* FIELD USE */
.section-label{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);margin-bottom:.8rem}
.section-label-light{color:rgba(255,255,255,.3)}
.section-title{font-family:var(--font-head);font-weight:800;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.1;letter-spacing:-.01em;color:var(--black)}
.section-title-light{color:var(--white)}
/* ── FIELD USE CAROUSEL ── */
.field-use-section{background:var(--black);padding:4rem 0}
.field-use-inner{max-width:100%;padding:0 3rem}
.field-use-track-wrap{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:2rem 3rem 1.5rem;
  margin:0 -3rem;
  cursor:grab;
}
.field-use-track-wrap::-webkit-scrollbar{display:none}
.field-use-track-wrap.grabbing{cursor:grabbing}
.field-use-track{
  display:flex;
  gap:1rem;
  width:max-content;
}
.field-card{
  width:180px;
  min-height:180px;
  flex-shrink:0;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:1.25rem 1rem;
  display:flex;
  flex-direction:column;
  transition:border-color .3s,transform .3s;
  background:rgba(255,255,255,.03);
}
.field-card:hover{border-color:rgba(255,255,255,.25);transform:translateY(-3px)}
.field-icon{margin-bottom:.5rem}
.field-icon svg{width:24px;height:24px;stroke:var(--sage);fill:none;stroke-width:1.6}
.field-name{font-family:var(--font-head);font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:white;margin-bottom:.3rem}
.field-desc{font-family:var(--font-body);font-weight:300;font-size:.72rem;color:rgba(255,255,255,.42);line-height:1.5;flex:1}

/* ── REVIEWS CAROUSEL ── */
.reviews-track-wrap{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0.5rem 0 1.5rem;
  margin:0;
  cursor:grab;
}
.reviews-track-wrap::-webkit-scrollbar{display:none}
.reviews-track-wrap.grabbing{cursor:grabbing}
.reviews-track{
  display:flex;
  gap:1.25rem;
  width:max-content;
}
/* Desktop: 2 cards visible */
.review-card{
  width:calc((min(1200px,100vw) - 6rem - 1.25rem) / 2);
  min-width:280px;
  flex-shrink:0;
  scroll-snap-align:start;
}


/* REVIEWS */
.reviews-section{background:var(--cream);padding:4rem 3rem}
.reviews-inner{max-width:1200px;margin:0 auto}
.reviews-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.overall-score{text-align:right}
.score-big{font-family:var(--font-head);font-weight:900;font-size:3rem;color:var(--black);line-height:1}
.score-stars{color:var(--forest);font-size:1rem;letter-spacing:2px;margin:.2rem 0}
.score-count{font-family:var(--font-body);font-weight:300;font-size:.8rem;color:var(--stone)}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:1.6rem}
.review-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}
.review-stars-sm{color:var(--forest);font-size:.75rem}
.review-date{font-family:var(--font-body);font-weight:300;font-size:.72rem;color:var(--stone)}
.review-text{font-family:var(--font-body);font-weight:300;font-size:.88rem;color:#4A4840;line-height:1.75;font-style:italic;margin-bottom:1rem}
.review-author-row{display:flex;align-items:center;gap:.7rem}
.review-av{width:32px;height:32px;border-radius:50%;background:var(--forest);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:.6rem;color:var(--sage)}
.review-who{font-family:var(--font-head);font-weight:700;font-size:.75rem;color:var(--black)}
.review-activity{font-family:var(--font-body);font-weight:300;font-size:.68rem;color:var(--stone)}
.review-verified{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin-left:auto}

/* FOOTER */
footer{background:#111110;border-top:1px solid rgba(255,255,255,.06);padding:3rem;text-align:center}
.footer-logo-wrap{margin-bottom:.75rem}
.footer-tagline{font-family:var(--font-body);font-weight:300;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25)}
.footer-links-row{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}
.footer-links-row a{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);text-decoration:none;transition:color var(--tr)}
.footer-links-row a:hover{color:rgba(255,255,255,.7)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}

/* ── RESPONSIVE ── */

/* Tablet: keep two columns but tighter */
@media (max-width: 1024px) {
  nav { padding: 0 1.5rem; }
  .info-col { padding: 2rem 1.5rem 2rem 1.5rem; }
  .gallery-col { padding: 1.5rem; }
  .field-use-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile: single column, gallery above info */
@media (max-width: 720px) {
  /* NAV — hide breadcrumb (too long), compact nav */
  nav {
    padding: 0 1rem;
    height: 52px;
  }
  .walt-logo-svg { height: 18px; }
  .nav-breadcrumb { display: none; }
  .nav-links { gap: 0.8rem; }
  .nav-links a { font-size: 0.58rem; letter-spacing: 0.07em; }
  .page-wrap { padding-top: 52px; }

  /* Product main: stack gallery above info, single column */
  .product-main {
    grid-template-columns: 1fr;
    min-height: unset;
  }

  /* Gallery: no longer sticky, natural height */
  .gallery-col {
    position: static;
    height: auto;
    padding: 1rem;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }

  /* Gallery image: shorter aspect on mobile */
  .gallery-main {
    aspect-ratio: 4/3;
    flex: unset;
    margin-bottom: 0.75rem;
    border-radius: 10px;
  }

  /* Thumbnails: smaller */
  .gallery-thumbs { gap: 0.5rem; }
  .thumb { border-radius: 6px; }

  /* Info column: full width, comfortable padding */
  .info-col {
    padding: 1.5rem 1.25rem 2.5rem;
    border-left: none;
    overflow-y: visible;
  }

  /* Product title smaller on mobile */
  .product-title { font-size: 1.9rem; }

  /* Price row: stack on small screens */
  .product-price-row { flex-wrap: wrap; gap: 0.6rem; }
  .product-price { font-size: 1.5rem; }

  /* Fit finder rows: single column on mobile */
  .ff-row { grid-template-columns: 1fr; }

  /* Size actions: stack if needed */
  .size-actions { flex-wrap: wrap; gap: 0.75rem; }
  .size-actions .divider { display: none; }

  /* Trust row: 2 columns */
  .trust-row { gap: 0.6rem 0.75rem; }
  .trust-item { font-size: 0.58rem; }
  .use-cases { grid-template-columns: repeat(4, 1fr); gap: .4rem; }
  .use-pill { font-size: .52rem; padding: .3rem .5rem; }

  /* Field use: 2 columns on mobile */
  .field-use-section { padding: 3rem 1.25rem; }
  .field-use-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 2rem; }
  .field-card { padding: 1rem 0.8rem; }
  .field-name { font-size: 0.7rem; }
  .field-desc { font-size: 0.72rem; }

  /* Reviews: single column */
  .reviews-section { padding: 3rem 1.25rem; }
  .reviews-header-row { flex-direction: column; gap: 0.75rem; align-items: flex-start; }
  .overall-score { text-align: left; }
  .reviews-grid { grid-template-columns: 1fr; }

  /* Footer: tighter */
  footer { padding: 2.5rem 1.25rem 2rem; }
  .footer-links-row { gap: 1rem; }

  /* Section headings: scale down */
  .section-title { font-size: clamp(1.4rem, 6vw, 2rem); }

  /* Reveal: skip animation entirely on mobile */
  .reveal { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 720px) {
  .field-use-section { padding: 3rem 0; }
  .field-use-inner { padding: 0 1.25rem; }
  .field-use-track-wrap { padding: 1.5rem 1.25rem 1.5rem; margin: 0 -1.25rem; }
  .field-card { width: 150px; height: 150px; }
  .field-desc { font-size: .68rem; }
  .reviews-section { padding: 3rem 1.25rem; }
  .reviews-track-wrap { margin: 0 -1.25rem; padding: 0.5rem 1.25rem 1.5rem; }
  .review-card { width: calc(100vw - 2.5rem - 20px); min-width: 0; }
  .reviews-header-row { flex-direction: column; gap: 0.75rem; }
  .overall-score { text-align: left; }
}


/* ========================================
   OTTER-30 STYLES
   ======================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F0E8;--cream-dark:#EDE6D6;--black:#1A1A18;
  --stone:#8A8272;--forest:#2D4A2D;--forest-mid:#3D6B3D;
  --sage:#7A9E7A;--ocean:#1A2E1A;--white:#FFFFFF;
  --border:rgba(26,26,24,0.12);
  --font-head:'Montserrat',sans-serif;--font-body:'Roboto',sans-serif;
  --radius:8px;--tr:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--black);font-weight:300;line-height:1.6}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:rgba(245,240,232,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{text-decoration:none;display:flex;align-items:center;flex-shrink:0}
.walt-logo-svg{height:26px;width:auto}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;opacity:.6;transition:opacity var(--tr)}
.nav-links a:hover{opacity:1}
.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.nav-cart{display:flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-weight:700;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;background:var(--forest);color:var(--white);border:none;padding:.55rem 1.1rem;border-radius:4px;cursor:pointer;transition:background var(--tr)}
.nav-cart:hover{background:var(--forest-mid)}
.nav-cart svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-mobile-toggle svg{width:22px;height:22px;stroke:var(--black);fill:none;stroke-width:2;stroke-linecap:round}

/* LAYOUT */
.page-wrap{padding-top:68px}
.product-main{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 68px);max-width:1400px;margin:0 auto}

/* GALLERY */
.gallery-col{position:sticky;top:68px;height:calc(100vh - 68px);display:flex;flex-direction:column;padding:2rem;background:var(--cream)}
.gallery-main{flex:1;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:.75rem;min-height:200px}
.gallery-color-block{width:100%;height:100%;transition:background .4s ease}
.gallery-color-block.c-olive{background:#5C6E3F}
.gallery-color-block.c-grey{background:#6B7280}
.gallery-overlay-text{position:absolute;font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);text-align:center;pointer-events:none}
.gallery-badge-ipx{position:absolute;top:1rem;right:1rem;background:var(--forest);color:white;font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .8rem;border-radius:4px;z-index:2}
.gallery-badge-sa{position:absolute;top:1rem;left:1rem;background:rgba(26,26,24,.55);color:white;font-family:var(--font-head);font-weight:700;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:4px;backdrop-filter:blur(4px);z-index:2}
.gallery-thumbs{display:flex;gap:.5rem;flex-shrink:0;height:64px}
.thumb{flex:1;height:100%;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:border-color var(--tr),transform .2s;overflow:hidden}
.thumb:hover{transform:translateY(-2px)}.thumb.active{border-color:var(--forest)}
.thumb-block{width:100%;height:100%}
.thumb-block.c-olive{background:#5C6E3F}
.thumb-block.c-grey{background:#6B7280}

/* INFO COL */
.info-col{padding:3rem 3rem 3rem 2.5rem;overflow-y:auto;border-left:1px solid var(--border);overflow-x:hidden}
.product-eyebrow{font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--forest);margin-bottom:.6rem}
.product-title{font-family:var(--font-head);font-weight:900;font-size:2.4rem;line-height:1.05;letter-spacing:-.01em;color:var(--black);margin-bottom:.4rem}
.product-subtitle{font-family:var(--font-body);font-weight:300;font-size:.92rem;color:var(--stone);margin-bottom:1.2rem;line-height:1.7}

/* FEATURE BADGES */
.feature-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.feature-badge{display:flex;align-items:center;gap:.4rem;background:rgba(74,107,74,.07);border:1px solid rgba(74,107,74,.18);border-radius:20px;padding:.3rem .65rem;font-family:var(--font-head);font-weight:700;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);white-space:nowrap}
.feature-badge svg{width:13px;height:13px;stroke:var(--forest);fill:none;flex-shrink:0}
.badge-africa{background:rgba(139,69,19,.07);border-color:rgba(139,69,19,.2);color:#7A3B0A}
.badge-africa svg{stroke:#7A3B0A}

/* RATING */
.product-rating{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem}
.stars{color:var(--forest);font-size:.85rem;letter-spacing:1px}
.rating-count{font-family:var(--font-head);font-weight:600;font-size:.7rem;color:var(--stone);letter-spacing:.06em;border-bottom:1px solid var(--stone);padding-bottom:1px;cursor:pointer}

/* PRICE */
.product-price-row{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border)}
.product-price{font-family:var(--font-head);font-weight:400;font-size:1.8rem;color:var(--black)}
.bnpl-note{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone)}

/* COLOUR SELECTOR */
.selector-label{font-family:var(--font-head);font-weight:700;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);margin-bottom:.7rem}
.selector-label em{font-style:normal;color:var(--stone);font-weight:400}
.colour-swatches{display:flex;gap:.6rem;margin-bottom:1.8rem}
.swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all var(--tr);position:relative}
.swatch.active{border-color:var(--forest)}
.swatch.active::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--forest)}
.swatch.s-olive{background:#5C6E3F}
.swatch.s-grey{background:#6B7280}

/* ATC */
.btn-atc{width:100%;padding:1.1rem;background:var(--forest);color:var(--white);font-family:var(--font-head);font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--tr),transform .15s;margin-bottom:.75rem}
.btn-atc:hover{background:var(--forest-mid);transform:translateY(-1px)}
.btn-wishlist{width:100%;padding:.9rem;background:transparent;color:var(--forest);font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border:1.5px solid var(--forest);border-radius:var(--radius);cursor:pointer;transition:all var(--tr);margin-bottom:1.8rem}
.btn-wishlist:hover{background:rgba(45,74,45,.06)}

/* TRUST ROW */
.trust-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.trust-item{display:flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.trust-item svg{width:15px;height:15px;stroke:var(--forest);fill:none;stroke-width:1.8;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}

/* ACCORDION */
.accordion{border-top:1px solid var(--border)}
.accordion-item{border-bottom:1px solid var(--border)}
.accordion-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;background:none;border:none;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--black);text-align:left}
.accordion-icon{width:18px;height:18px;position:relative;flex-shrink:0}
.accordion-icon::before,.accordion-icon::after{content:'';position:absolute;background:var(--forest);border-radius:2px;transition:transform var(--tr),opacity var(--tr)}
.accordion-icon::before{width:12px;height:1.5px;top:50%;left:50%;transform:translate(-50%,-50%)}
.accordion-icon::after{width:1.5px;height:12px;top:50%;left:50%;transform:translate(-50%,-50%)}
.accordion-item.open .accordion-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.accordion-body{display:none;padding:0 0 1.4rem}
.accordion-item.open .accordion-body{display:block}
.accordion-body p{font-family:var(--font-body);font-weight:300;font-size:.88rem;color:var(--stone);line-height:1.8;margin-bottom:.75rem}
.accordion-body p:last-child{margin-bottom:0}
.accordion-body ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.accordion-body ul li{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--stone);padding-left:1rem;position:relative;line-height:1.6}
.accordion-body ul li::before{content:'—';position:absolute;left:0;color:var(--sage);font-weight:400}
.accordion-body strong{color:var(--black);font-weight:600}

/* SPEC GRID */
.spec-grid{display:flex;flex-direction:column;gap:0}
.spec-row{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}
.spec-row:last-child{border-bottom:none}
.spec-key{font-family:var(--font-head);font-weight:700;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.spec-val{font-family:var(--font-body);font-weight:400;font-size:.85rem;color:var(--black)}

/* MATERIAL CALLOUT */
.material-callout{background:var(--ocean);border-radius:var(--radius);padding:1.25rem;margin-bottom:.75rem}
.material-callout:last-of-type{margin-bottom:0}
.material-name{font-family:var(--font-head);font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:.3rem}
.material-origin{font-family:var(--font-head);font-weight:600;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.6rem}
.material-desc{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.75}
.material-specs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
.material-spec-tag{font-family:var(--font-head);font-weight:600;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);background:rgba(122,158,122,.12);border:1px solid rgba(122,158,122,.2);border-radius:3px;padding:.2rem .5rem}

/* IPX EXPLAINER SECTION */
.ipx-section{background:var(--black);padding:5rem 3rem}
.ipx-inner{max-width:1100px;margin:0 auto}
.ipx-header{margin-bottom:3rem}
.section-label-light{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35);display:block;margin-bottom:.6rem}
.ipx-title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.02em;color:var(--white);margin-bottom:.75rem}
.ipx-sub{font-family:var(--font-body);font-weight:300;font-size:.92rem;color:rgba(255,255,255,.45);line-height:1.75;max-width:540px}
.ipx-table{width:100%;border-collapse:collapse;margin-bottom:3rem}
.ipx-table th{font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
.ipx-table th:not(:first-child){text-align:center}
.ipx-table td{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:rgba(255,255,255,.55);padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}
.ipx-table td:first-child{color:rgba(255,255,255,.4);font-size:.75rem;font-family:var(--font-head);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ipx-table td:not(:first-child){text-align:center}
.ipx-table tr.otter-row td{color:var(--white);background:rgba(122,158,122,.08)}
.ipx-table tr.otter-row td:first-child{color:var(--sage)}
.check{color:var(--sage);font-size:1rem}
.cross{color:rgba(255,255,255,.2);font-size:.9rem}
.partial{color:rgba(255,200,100,.6);font-size:.9rem}
.ipx-callout{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ipx-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:1.5rem}
.ipx-stat-val{font-family:var(--font-head);font-weight:900;font-size:1.6rem;color:var(--sage);line-height:1;margin-bottom:.3rem}
.ipx-stat-label{font-family:var(--font-head);font-weight:600;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.5rem}
.ipx-stat-desc{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:rgba(255,255,255,.4);line-height:1.6}

/* MOLLE SECTION */
.molle-section{padding:5rem 3rem;background:var(--cream-dark)}
.molle-inner{max-width:720px;margin:0 auto}
.molle-text{}
.section-label{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:.6rem}
.molle-title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.08;letter-spacing:-.02em;color:var(--black);margin-bottom:1rem}
.molle-body{font-family:var(--font-body);font-weight:300;font-size:.9rem;color:var(--stone);line-height:1.8;margin-bottom:1rem}
.molle-body strong{color:var(--black);font-weight:600}
.molle-tagline{font-family:var(--font-head);font-weight:800;font-size:1rem;color:var(--forest);letter-spacing:-.01em;margin-top:1.5rem}
.molle-points{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}
.molle-point{display:flex;gap:.85rem;align-items:flex-start}
.molle-point-dot{width:6px;height:6px;background:var(--sage);border-radius:50%;flex-shrink:0;margin-top:.45rem}
.molle-point-text{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--stone);line-height:1.65}
.molle-point-text strong{color:var(--black);font-weight:600}

/* FIELD USE SECTION */
.field-use-section{background:var(--ocean);padding:5rem 0}
.field-use-inner{max-width:1200px;margin:0 auto;padding:0 3rem}
.section-title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.08;letter-spacing:-.02em;color:#2e2925;margin-bottom:2rem;-webkit-font-smoothing:antialiased}
.field-use-track-wrap{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -3rem;padding:0 3rem 1.5rem;cursor:grab}
.field-use-track-wrap::-webkit-scrollbar{display:none}
.field-use-track-wrap.grabbing{cursor:grabbing}
.field-use-track{display:flex;gap:1.25rem;width:max-content}
.field-card{width:260px;flex-shrink:0;scroll-snap-align:start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.75rem}
.field-icon{width:44px;height:44px;background:rgba(122,158,122,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.field-icon svg{width:22px;height:22px;stroke:var(--sage);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.field-name{font-family:var(--font-head);font-weight:800;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:.5rem}
.field-desc{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.7}

/* ORIGIN SECTION */
.origin-section{padding:5rem 3rem;background:var(--cream)}
.origin-inner{max-width:800px;margin:0 auto;text-align:center}
.origin-title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.4rem,2vw,1.8rem);letter-spacing:-.01em;color:var(--black);margin-bottom:1rem}
.origin-body{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--stone);line-height:1.85;margin-bottom:.75rem}
.origin-body strong{color:var(--black);font-weight:600}

/* REVIEWS */
.reviews-section{padding:4rem 0;background:var(--cream-dark);border-top:1px solid var(--border)}
.reviews-inner{max-width:1200px;margin:0 auto;padding:0 3rem}
.reviews-track-wrap{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -3rem;padding:0 3rem 1.5rem;cursor:grab;margin-top:2rem}
.reviews-track-wrap::-webkit-scrollbar{display:none}
.reviews-track-wrap.grabbing{cursor:grabbing}
.reviews-track{display:flex;gap:1.25rem;width:max-content}
.review-card{width:340px;flex-shrink:0;scroll-snap-align:start;background:var(--white);border-radius:var(--radius);padding:1.75rem;border:1px solid var(--border)}
.review-stars{color:var(--forest);font-size:.8rem;letter-spacing:2px;margin-bottom:.75rem}
.review-text{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--stone);line-height:1.75;margin-bottom:1rem;font-style:italic}
.review-author{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--black)}
.review-location{font-family:var(--font-head);font-weight:400;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin-top:.2rem}

/* FOOTER */
footer{background:var(--black);padding:4rem 3rem 2rem;color:var(--white)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand-text{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.35);line-height:1.75;margin-top:1rem;max-width:240px}
.footer-col-title{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem}
.footer-col a{display:block;font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.5);text-decoration:none;margin-bottom:.5rem;transition:color var(--tr)}
.footer-col a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-legal{font-family:var(--font-head);font-weight:400;font-size:.6rem;letter-spacing:.08em;color:rgba(255,255,255,.2)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
@media(max-width:720px){
  .reveal{opacity:1;transform:none;transition:none}
}

/* MOBILE DRAWER */
.mobile-drawer{display:none;position:fixed;inset:0;background:var(--cream);z-index:200;flex-direction:column;padding:5rem 2rem 2rem;transform:translateX(100%);transition:transform .35s cubic-bezier(0.4,0,0.2,1)}
.mobile-drawer.open{transform:none}
.drawer-close{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;cursor:pointer;padding:.5rem}
.drawer-close svg{width:22px;height:22px;stroke:var(--black);fill:none;stroke-width:2;stroke-linecap:round}
.drawer-link{font-family:var(--font-head);font-weight:700;font-size:1.4rem;letter-spacing:-.01em;color:var(--black);text-decoration:none;display:block;margin-bottom:1.5rem;transition:color var(--tr)}
.drawer-link:hover{color:var(--forest)}

/* RESPONSIVE */
@media(max-width:1024px){
  .ipx-callout{grid-template-columns:1fr 1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:720px){
  nav{padding:0 1.25rem}
  .nav-links{display:none}
  .nav-mobile-toggle{display:block}
  .nav-cart{display:none}
  .mobile-drawer{display:flex}
  .page-wrap{overflow-x:hidden}
  .product-main{grid-template-columns:1fr;min-height:unset;overflow-x:hidden}
  .gallery-col{position:static;height:auto;padding:1rem;border-right:none;border-bottom:1px solid var(--border)}
  .gallery-main{height:70vw;max-height:360px;min-height:180px}
  .gallery-thumbs{height:52px}
  .info-col{padding:1.5rem 1.25rem;border-left:none}
  .ipx-section{padding:3rem 1.25rem;overflow-x:hidden}
  .molle-section{padding:3rem 1.25rem}
  .field-use-section{padding:3rem 0}
  .field-use-inner{padding:0 1.25rem}
  .field-use-track-wrap{margin:0 -1.25rem;padding:0 1.25rem 1.5rem}
  .origin-section{padding:3rem 1.25rem}
  .reviews-section{padding:3rem 0}
  .reviews-inner{padding:0 1.25rem}
  .reviews-track-wrap{margin:0 -1.25rem;padding:0 1.25rem 1.5rem}
  .review-card{width:85vw}
  .ipx-callout{grid-template-columns:1fr}
  .ipx-table{font-size:.72rem}
  .ipx-table th,.ipx-table td{padding:.6rem .5rem}
  footer{padding:3rem 1.25rem 1.5rem;overflow-x:hidden}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem}
  .trust-row{grid-template-columns:repeat(2,1fr); display: inline-flex;}
  .feature-badges{flex-wrap:wrap}
  .molle-points{gap:.6rem}
}


/* ========================================
   ABOUT STYLES
   ======================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F0E8;--cream-dark:#EDE6D6;--black:#1A1A18;
  --stone:#8A8272;--forest:#2D4A2D;--forest-mid:#3D6B3D;
  --sage:#7A9E7A;--white:#FFFFFF;--border:rgba(26,26,24,0.12);
  --font-head:'Montserrat',sans-serif;--font-body:'Roboto',sans-serif;
  --radius:8px;--tr:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--black);font-weight:300;line-height:1.6}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:rgba(245,240,232,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)} 
.nav-logo{text-decoration:none;display:flex;align-items:center}
.walt-logo-svg{height:26px;width:auto}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;opacity:.6;transition:opacity var(--tr)}
.nav-links a:hover{opacity:1}
.nav-links a.active{opacity:1}
.nav-right{display:flex;align-items:center;gap:1.5rem}
.nav-cart{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);text-decoration:none;display:flex;align-items:center;gap:.4rem}
.cart-count{background:var(--forest);color:white;font-size:.6rem;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700}
.page-wrap{padding-top:68px}

/* HERO */
.about-hero{
  min-height:80vh;
  background:#1C2A1C;
  display:flex;align-items:flex-end;
  padding:5rem 3rem 5rem;
  position:relative;
  overflow:hidden;
}
.hero-bg-block{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#1C2A1C 0%,#2D4A2D 50%,#1A1A18 100%);
  z-index:0;
}
.hero-img-placeholder{
  position:absolute;inset:0;
  background:#243324;
  display:flex;align-items:center;justify-content:center;
  z-index:0;
}
.hero-img-placeholder span{
  font-family:var(--font-head);font-weight:700;font-size:.58rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.12);
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 60%);z-index:1}
.about-hero-content{position:relative;z-index:2;max-width:900px}
.about-hero-eyebrow{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--sage);margin-bottom:1.2rem;
}
.about-hero-title{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:1.02;letter-spacing:-.02em;color:var(--white);
  margin-bottom:1.5rem;
  -webkit-font-smoothing:antialiased;
}
.about-hero-title em{font-style:italic;color:var(--sage)}
.about-hero-sub{
  font-family:var(--font-body);font-weight:300;font-size:1.05rem;
  color:rgba(255,255,255,.65);line-height:1.7;max-width:600px;
}

/* ORIGIN STORY */
.origin-section{padding:7rem 3rem;background:var(--cream)}
.origin-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.origin-text .label{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-bottom:1rem;
}
.origin-text h2{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2rem,3.5vw,3rem);line-height:1.08;
  letter-spacing:-.02em;color:var(--black);margin-bottom:1.5rem;
  -webkit-font-smoothing:antialiased;
}
.origin-text h2 em{font-style:italic;color:var(--forest)}
.origin-text p{
  font-family:var(--font-body);font-weight:300;font-size:.95rem;
  color:var(--stone);line-height:1.8;margin-bottom:1.2rem;
}
.origin-text p strong{color:var(--black);font-weight:600}
.origin-img-stack{position:relative}
.origin-img-main{
  width:100%;aspect-ratio:3/4;background:#B8C4B0;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
     background-image:url('');
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}
.origin-img-main::after{
  content:'Founders — Roelof & Vaughn';
  font-family:var(--font-head);font-size:.54rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);
}
.origin-img-inset{
  position:absolute;bottom:0;left:-2rem;
  width:55%;aspect-ratio:4/3;background:#C8B88A;
  border-radius:10px;border:4px solid var(--cream);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.origin-img-inset::after{
  content:'First Product — Otter 30';
  font-family:var(--font-head);font-size:.5rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);
  text-align:center;padding:0 1rem;
}

/* FOUNDERS */
.founders-section{background:var(--black);padding:7rem 3rem}
.founders-inner{max-width:1200px;margin:0 auto}
.founders-label{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem;
}
.founders-heading{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.08;letter-spacing:-.02em;
  color:var(--white);margin-bottom:4rem;
  -webkit-font-smoothing:antialiased;
}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.founder-card{}
.founder-img{
  width:100%;aspect-ratio:3/4;background:#3A4A3A;border-radius:10px;
  display:flex;align-items:flex-end;padding:1.5rem;
  position:relative;overflow:hidden;margin-bottom:1.5rem;
     background-image:url('');
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}
.founder-img-2{
  width:100%;aspect-ratio:3/4;background:#3A4A3A;border-radius:10px;
  display:flex;align-items:flex-end;padding:1.5rem;
  position:relative;overflow:hidden;margin-bottom:1.5rem;
     background-image:url('');
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
} 

.founder-img::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%);
}

.founder-img-2::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%);
}

.founder-img-label{
  font-family:var(--font-head);font-weight:700;font-size:.54rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.25);
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
.founder-name{
  font-family:var(--font-head);font-weight:800;font-size:1.4rem;
  letter-spacing:-.01em;color:var(--white);margin-bottom:.3rem;
  -webkit-font-smoothing:antialiased;
}
.founder-role{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:.9rem;
}
.founder-bio{
  font-family:var(--font-body);font-weight:300;font-size:.9rem;
  color:rgba(255,255,255,.5);line-height:1.75;
}

/* WHAT WE BELIEVE */
.beliefs-section{background:var(--cream-dark);padding:7rem 3rem}
.beliefs-inner{max-width:1200px;margin:0 auto}
.beliefs-header{margin-bottom:4rem}
.beliefs-header .label{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-bottom:1rem;
}
.beliefs-header h2{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.08;letter-spacing:-.02em;color:var(--black);
  -webkit-font-smoothing:antialiased;
}
/* BELIEFS CAROUSEL */
.beliefs-carousel-outer{position:relative}
.beliefs-track-wrap{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:.5rem 3rem 1.5rem;
  scroll-padding-left:3rem;
  margin:0 -3rem;
  cursor:grab;
}
.beliefs-track-wrap::-webkit-scrollbar{display:none}
.beliefs-track-wrap.grabbing{cursor:grabbing}
.beliefs-track{
  display:flex;
  gap:1.25rem;
  width:max-content;
}
.belief-item{
  background:var(--white);border-radius:var(--radius);padding:2rem;
  border:1px solid var(--border);
  width:calc((min(100vw,1200px) - 6rem - 2*1.25rem)/3);
  min-width:260px;max-width:380px;
  scroll-snap-align:start;
  flex-shrink:0;
}
.belief-number{
  font-family:var(--font-head);font-weight:900;font-size:2.5rem;
  color:var(--cream-dark);line-height:1;margin-bottom:1rem;
  -webkit-font-smoothing:antialiased;
}
.belief-title{
  font-family:var(--font-head);font-weight:800;font-size:.9rem;
  letter-spacing:.04em;color:var(--black);margin-bottom:.6rem;
  -webkit-font-smoothing:antialiased;
}
.belief-text{
  font-family:var(--font-body);font-weight:300;font-size:.88rem;
  color:var(--stone);line-height:1.75;
}
/* Dot indicators */
.beliefs-dots{display:flex;justify-content:center;gap:.5rem;padding-top:.5rem}
.beliefs-dot{width:6px;height:6px;border-radius:50%;background:rgba(26,26,24,.15);
  cursor:pointer;border:none;padding:0;transition:all .25s}
.beliefs-dot.active{background:var(--forest);width:18px;border-radius:3px}

/* THE GEAR */
.gear-section{background:var(--black);padding:7rem 3rem;position:relative;overflow:hidden}
.gear-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#1C2A1C 0%,#111110 100%);
}
.gear-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.gear-label{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem;
}
.gear-heading{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.02em;
  color:var(--white);max-width:700px;margin-bottom:1.5rem;
  -webkit-font-smoothing:antialiased;
}
.gear-heading em{font-style:italic;color:var(--sage)}
.gear-sub{
  font-family:var(--font-body);font-weight:300;font-size:1rem;
  color:rgba(255,255,255,.5);line-height:1.75;max-width:580px;margin-bottom:3.5rem;
}
.gear-specs{display:flex;gap:3rem;flex-wrap:wrap;margin-bottom:3.5rem}
.gear-spec{}
.gear-spec-val{
  font-family:var(--font-head);font-weight:900;font-size:2.2rem;
  color:var(--sage);line-height:1;margin-bottom:.2rem;
  -webkit-font-smoothing:antialiased;
}
.gear-spec-label{
  font-family:var(--font-head);font-weight:600;font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);
}
.gear-cta{
  display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--white);
  background:var(--forest);border:none;padding:1rem 2.5rem;
  border-radius:var(--radius);cursor:pointer;text-decoration:none;
  transition:background var(--tr);
}
.gear-cta:hover{background:var(--forest-mid)}

/* MADE IN SA */
.made-section{background:var(--cream);padding:7rem 3rem}
.made-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.made-img{
  width:100%;aspect-ratio:4/3;background:#B0BEA8;border-radius:12px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
    background-image:url('/wp-content/uploads/2026/07/8B0A1055-2-scaled.jpg');
    background-repeat:no-repeat;
    background-position:center;
    background-size:100%;
}
.made-img::after{
  
  font-family:var(--font-head);font-size:.54rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);
}
.made-text .label{
  font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-bottom:1rem;
}
.made-text h2{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.02em;
  color:var(--black);margin-bottom:1.2rem;
  -webkit-font-smoothing:antialiased;
}
.made-text p{
  font-family:var(--font-body);font-weight:300;font-size:.95rem;
  color:var(--stone);line-height:1.8;margin-bottom:1rem;
}
.made-text p strong{color:var(--black);font-weight:600}
.flag-row{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}

.flag-icon{
    width:32px;
    height:22px;
    overflow:hidden;
    border-radius:3px;
    border:1px solid rgba(0,0,0,.08);
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.flag-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
 
/* QUOTE DIVIDER */
.quote-section{background:var(--forest);padding:5rem 3rem;text-align:center}
.quote-text{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(1.6rem,3.5vw,2.8rem);line-height:1.2;
  letter-spacing:-.01em;color:var(--white);max-width:800px;margin:0 auto 1rem;
  -webkit-font-smoothing:antialiased;
}
.quote-attr{
  font-family:var(--font-body);font-weight:300;font-size:.82rem;
  color:rgba(255,255,255,.45);letter-spacing:.1em;
}

/* FOOTER */
footer{background:#111110;border-top:1px solid rgba(255,255,255,.06);padding:4rem 3rem 2.5rem}
.footer-inner{max-width:1300px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-brand svg{margin-bottom:.75rem}
.footer-tagline-text{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:rgba(255,255,255,.3);line-height:1.6;margin-top:.5rem;max-width:220px}
.footer-col-title{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:1.2rem}
.footer-col a{display:block;font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.45);text-decoration:none;margin-bottom:.6rem;transition:color var(--tr)}
.footer-col a:hover{color:rgba(255,255,255,.8)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-copy{font-family:var(--font-body);font-weight:300;font-size:.75rem;color:rgba(255,255,255,.2)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}

/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:0 1.5rem}
  .origin-inner,.made-inner{gap:4rem}
  .founders-grid{gap:2rem}
}
@media(max-width:720px){
  nav{padding:0 1rem;height:52px}
  .walt-logo-svg{height:18px}
  .nav-links{gap:.8rem}
  .nav-links a{font-size:.58rem;letter-spacing:.07em}
  .nav-right{gap:.6rem}
  .nav-cart{font-size:.58rem}
  .page-wrap{padding-top:52px}
  .about-hero{padding:3rem 1.25rem 4rem;min-height:70vh}
  .about-hero-title{font-size:clamp(2rem,9vw,3rem)}
  .about-hero-sub{font-size:.9rem}
  .origin-section,.founders-section,.beliefs-section,.gear-section,.made-section{padding:4rem 1.25rem}
  .origin-inner,.made-inner{grid-template-columns:1fr;gap:3rem}
  .origin-img-inset{position:static;width:60%;margin:1rem auto 0;border:3px solid var(--cream-dark)}
  .origin-img-stack{padding-bottom:0}
  .founders-grid{grid-template-columns:1fr;gap:2.5rem}
  .beliefs-track-wrap{padding:.5rem 1.25rem 1.5rem;scroll-padding-left:1.25rem;margin:0 -1.25rem}
  .belief-item{width:calc(100vw - 2.5rem - 20px);max-width:none;min-width:0}
  .gear-specs{gap:2rem}
  .gear-spec-val{font-size:1.8rem}
  .quote-section{padding:4rem 1.25rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .reveal{opacity:1;transform:none;transition:none}
}


/* ========================================
   CONSERVATION STYLES
   ======================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F0E8;--cream-dark:#EDE6D6;--black:#1A1A18;
  --stone:#8A8272;--forest:#2D4A2D;--forest-mid:#3D6B3D;
  --sage:#7A9E7A;--white:#FFFFFF;--border:rgba(26,26,24,0.12);
  --ocean:#1A3A4A;--ocean-mid:#1E4A5C;
  --font-head:'Montserrat',sans-serif;--font-body:'Roboto',sans-serif;
  --radius:8px;--tr:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--black);font-weight:300;line-height:1.6}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:rgba(245,240,232,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{text-decoration:none;display:flex;align-items:center}
.walt-logo-svg{height:26px;width:auto}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--black);text-decoration:none;opacity:.6;transition:opacity var(--tr)}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-right{display:flex;align-items:center;gap:1.5rem}
.nav-cart{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);text-decoration:none;display:flex;align-items:center;gap:.4rem}
.cart-count{background:var(--forest);color:white;font-size:.6rem;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700}
.page-wrap{padding-top:68px}

/* HERO */
.cons-hero{
  min-height:85vh;display:flex;align-items:flex-end;
  padding:5rem 3rem;position:relative;overflow:hidden;
  background:#0D1F2D;
}
.cons-hero-bg{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(160deg,#0D1F2D 0%,#1A3A4A 40%,#0A1A0A 100%);
}
.cons-hero-placeholder{
  position:absolute;inset:0;z-index:0;
  display:flex;align-items:center;justify-content:center;
}
.cons-hero-placeholder span{font-family:var(--font-head);font-weight:700;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.1)}
.cons-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.15) 60%)}
.cons-hero-content{position:relative;z-index:2;max-width:860px}
.cons-hero-eyebrow{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);margin-bottom:1.2rem}
.cons-hero-title{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;
  letter-spacing:-.02em;color:var(--white);margin-bottom:1.4rem;
  -webkit-font-smoothing:antialiased;
}
.cons-hero-title em{font-style:italic;color:var(--sage)}
.cons-hero-sub{font-family:var(--font-body);font-weight:300;font-size:1.05rem;color:rgba(255,255,255,.6);line-height:1.75;max-width:620px}

/* BELIEF STATEMENT */
.belief-statement{background:var(--forest);padding:5rem 3rem;text-align:center}
.belief-inner{max-width:900px;margin:0 auto}
.belief-quote{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(1.5rem,3.5vw,2.6rem);line-height:1.25;
  letter-spacing:-.01em;color:var(--white);margin-bottom:1.2rem;
  -webkit-font-smoothing:antialiased;
}
.belief-quote em{font-style:italic;color:var(--sage)}
.belief-body{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:rgba(255,255,255,.55);line-height:1.75}

/* SECTION SHARED */
.section-label-light{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1rem;display:block}
.section-label-dark{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-bottom:1rem;display:block}
.section-h2{font-family:var(--font-head);font-weight:900;font-size:clamp(2rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}

/* GARRICK SECTION */
.garrick-section{background:var(--ocean);padding:7rem 3rem}
.garrick-inner{max-width:1200px;margin:0 auto}
.garrick-intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:5rem}
.garrick-img{
  width:100%;aspect-ratio:3/2;background:#1E3A4A;border-radius:12px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;
}
.garrick-img::after{
  content:'Garrick / Leervis — KZN Coast';
  font-family:var(--font-head);font-size:.54rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);
}
.garrick-badge-placeholder{
  position:absolute;top:1.2rem;left:1.2rem;
  background:rgba(0,0,0,.4);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);
  padding:.6rem 1rem;
}
.garrick-badge-placeholder span{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.garrick-text .section-label-light{display:block;margin-bottom:1rem}
.garrick-text h2{color:var(--white);margin-bottom:.5rem}
.garrick-text .stat-callout{
  font-family:var(--font-head);font-weight:900;font-size:3rem;
  color:var(--sage);line-height:1;margin:.75rem 0 .3rem;
  -webkit-font-smoothing:antialiased;
}
.garrick-text .stat-label{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.5rem}
.garrick-text p{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:1rem}
.garrick-text p strong{color:var(--white);font-weight:600}

/* HOW IT WORKS */
.how-it-works{background:rgba(0,0,0,.25);border-radius:12px;padding:2.5rem;margin-bottom:2rem}
.hiw-title{font-family:var(--font-head);font-weight:800;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:1.5rem;-webkit-font-smoothing:antialiased}
.hiw-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}
.hiw-step{display:flex;gap:1rem;align-items:flex-start}
.hiw-num{
  width:28px;height:28px;background:var(--sage);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-family:var(--font-head);font-weight:800;font-size:.65rem;color:var(--forest);
}
.hiw-text{font-family:var(--font-body);font-weight:300;font-size:.9rem;color:rgba(255,255,255,.65);line-height:1.6;padding-top:.25rem}
.hiw-text strong{color:var(--white);font-weight:600}

.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.reward-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.25rem}
.reward-icon-svg{width:28px;height:28px;color:var(--sage);margin-bottom:.65rem}
.reward-icon-svg svg{width:100%;height:100%;stroke:var(--sage)}
.reward-title{font-family:var(--font-head);font-weight:700;font-size:.75rem;letter-spacing:.06em;color:var(--sage);margin-bottom:.3rem;-webkit-font-smoothing:antialiased}
.reward-desc{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.55}

.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}
.btn-guardian{
  display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;padding:1rem 2.5rem;
  border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:all var(--tr);border:none;
}
.btn-guardian-fill{background:var(--sage);color:var(--forest)}
.btn-guardian-fill:hover{background:#8BB88B}
.btn-guardian-outline{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.25)}
.btn-guardian-outline:hover{background:rgba(255,255,255,.06);color:white}

/* DIVIDER */


/* DUSKY SECTION */


/* LEADERBOARD TEASER */
.leaderboard-section{background:var(--cream-dark);padding:6rem 0}
.leaderboard-inner{max-width:1100px;margin:0 auto;text-align:center;padding:0 3rem}
.leaderboard-eyebrow{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--forest);margin-bottom:1rem}
.leaderboard-heading{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.02em;
  color:var(--black);margin-bottom:1.2rem;-webkit-font-smoothing:antialiased;
}
.leaderboard-sub{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--stone);line-height:1.75;max-width:620px;margin:0 auto 3rem}
.leaderboard-table{background:var(--white);border-radius:12px;border:1px solid var(--border);overflow:hidden;margin-bottom:2rem}
.lb-header{display:grid;grid-template-columns:48px 1fr 1fr 1fr;background:var(--black);padding:.9rem 1.5rem;gap:1rem}
.lb-header span{font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.lb-row{display:grid;grid-template-columns:48px 1fr 1fr 1fr;padding:.9rem 1.5rem;gap:1rem;border-bottom:1px solid var(--border);align-items:center}
.lb-row:last-child{border-bottom:none}
.lb-rank{font-family:var(--font-head);font-weight:800;font-size:1rem;color:var(--stone);-webkit-font-smoothing:antialiased}
.lb-rank.gold{color:#C8A830}.lb-rank.silver{color:#A0A0A0}.lb-rank.bronze{color:#B87840}
.lb-name{font-family:var(--font-head);font-weight:700;font-size:.85rem;color:var(--black);-webkit-font-smoothing:antialiased}
.lb-region{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone)}
.lb-releases{font-family:var(--font-head);font-weight:700;font-size:.85rem;color:var(--forest);-webkit-font-smoothing:antialiased}
.lb-note{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone);font-style:italic}

/* FOOTER */
footer{background:#111110;border-top:1px solid rgba(255,255,255,.06);padding:4rem 3rem 2.5rem}
.footer-inner{max-width:1300px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-tagline-text{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:rgba(255,255,255,.3);line-height:1.6;margin-top:.5rem;max-width:220px}
.footer-col-title{font-family:var(--font-head);font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:1.2rem}
.footer-col a{display:block;font-family:var(--font-body);font-weight:300;font-size:.82rem;color:rgba(255,255,255,.45);text-decoration:none;margin-bottom:.6rem;transition:color var(--tr)}
.footer-col a:hover{color:rgba(255,255,255,.8)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-copy{font-family:var(--font-body);font-weight:300;font-size:.75rem;color:rgba(255,255,255,.2)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}

/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:0 1.5rem}
  .garrick-intro,.dusky-intro{gap:3rem}
  .rewards-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  nav{padding:0 1rem;height:52px}
  .walt-logo-svg{height:18px}
  .nav-links{gap:.8rem}
  .nav-links a{font-size:.58rem;letter-spacing:.07em}
  .page-wrap{padding-top:52px}
  .cons-hero{padding:3rem 1.25rem 4rem;min-height:70vh}
  .cons-hero-title{font-size:clamp(2rem,9vw,3rem)}
  .belief-statement{padding:4rem 1.25rem}
  .garrick-section,.dusky-section{padding:4rem 1.25rem}
  .garrick-intro,.dusky-intro{grid-template-columns:1fr;gap:2.5rem}
  .dusky-text{order:0}
  .rewards-grid{grid-template-columns:1fr;gap:.75rem}
  .leaderboard-section{padding:4rem 1.25rem}
  .lb-header,.lb-row{grid-template-columns:40px 1fr 1fr;padding:.75rem 1rem}
  .lb-header span:last-child,.lb-region{display:block;}
  footer{padding:3rem 1.25rem 2rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .reveal{opacity:1;transform:none;transition:none}
}

/* GUARDIANS SIDE-BY-SIDE */
.guardians-section{background:var(--cream);padding:6rem 3rem}
.guardians-inner{max-width:1400px;margin:0 auto}
.guardians-header{  max-width:760px;

    margin:0 auto 3.5rem;

    text-align:center;}
.guardians-intro-text{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--stone);line-height:1.7;max-width:560px;margin-top:.5rem}
.guardians-track-wrap{
  overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:.5rem 0 1.5rem;cursor:grab;
}
.guardians-track-wrap::-webkit-scrollbar{display:none}
.guardians-track-wrap.grabbing{cursor:grabbing}
.guardians-panels{
  display:flex;gap:2rem;width:max-content;align-items:stretch;
}
.guardian-panel{
  width:calc(50vw - 4rem);min-width:300px;max-width:500px;
  flex-shrink:0;scroll-snap-align:start;
}
.guardian-panel{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column}
.panel-garrick{}
.panel-dusky{}
.guardian-panel-img{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;

    background-image:url('/wp-content/uploads/2025/10/DuskyGuardiansLogo.png');
    background-repeat:no-repeat;
    background-position:center;
    background-size:85%;
}
.panel-garrick .guardian-panel-img{
    background-image: url('/wp-content/uploads/2025/10/GarrickGuardiansLogo-1.png');
    background-size: contain;
    background-repeat: no-repeat;}
.guardian-img-placeholder{font-family:var(--font-head);font-size:.54rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.22);text-align:center;padding:0 1rem}
.panel-dusky .guardian-img-placeholder{color:rgba(255,255,255,.22)}
.guardian-badge-tag{position:absolute;top:1rem;left:1rem;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.4rem .8rem}
.guardian-badge-tag span{font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;}
.dusky-tag span{color:#A8C8A8}
.guardian-panel-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.guardian-initiative-label{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:.5rem}
.guardian-panel-title{font-family:var(--font-head);font-weight:900;font-size:1.3rem;letter-spacing:-.01em;color:var(--black);margin-bottom:.4rem;-webkit-font-smoothing:antialiased}
.guardian-stat{font-family:var(--font-head);font-weight:900;font-size:2.2rem;color:var(--forest);line-height:1;margin:.4rem 0 .15rem;-webkit-font-smoothing:antialiased}
.guardian-stat-label{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);margin-bottom:1rem}
.guardian-body-text{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--stone);line-height:1.75;margin-bottom:.75rem}
.guardian-body-text strong{color:var(--black);font-weight:600}
.guardian-body-grow{flex:1}
.guardian-panel-footer{margin-top:auto;padding-top:.5rem}
.guardian-location{display:flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:0 0 .75rem}
.guardian-location svg{width:14px;height:14px;flex-shrink:0;stroke:var(--forest)}
.guardian-panel-link{font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);text-decoration:none;border-bottom:1.5px solid var(--forest);padding-bottom:1px;display:inline-block}

/* GUARDIAN DETAIL SECTIONS */
.guardian-detail-section{padding:5rem 3rem}
.guardian-detail-inner{max-width:1000px;margin:0 auto}

/* UNIFIED HOW IT WORKS CAROUSEL */
.guardian-how-section{padding:5rem 0;background:var(--ocean)}
.guardian-how-inner{max-width:1200px;margin:0 auto;padding:0 3rem}
.guardian-how-header{margin-bottom:2.5rem}
.guardian-how-title{font-family:var(--font-head);font-weight:900;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.08;letter-spacing:-.02em;color:var(--white);-webkit-font-smoothing:antialiased;margin-bottom:.4rem}
.guardian-how-sub{font-family:var(--font-body);font-weight:300;font-size:.88rem;color:rgba(255,255,255,.45);line-height:1.65}
.guardian-how-track-wrap{
  overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:.5rem 0 1.25rem;margin:0 -3rem 0 0;cursor:grab;
  scroll-padding-left:0;
}
.guardian-how-track-wrap::-webkit-scrollbar{display:none}
.guardian-how-track-wrap.grabbing{cursor:grabbing}
.guardian-how-track{display:flex;gap:2rem;width:max-content}
.guardian-how-panel{
  width:calc(50vw - 5rem);min-width:300px;max-width:520px;
  flex-shrink:0;scroll-snap-align:start;
  background:rgba(0,0,0,.25);border-radius:12px;padding:2rem;
  border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;
}
.ghp-species-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sage);background:rgba(122,158,122,.12);border:1px solid rgba(122,158,122,.25);
  border-radius:20px;padding:.3rem .75rem;margin-bottom:1rem;width:fit-content;
}
.ghp-title{font-family:var(--font-head);font-weight:900;font-size:1.15rem;letter-spacing:-.01em;color:var(--white);margin-bottom:.25rem;-webkit-font-smoothing:antialiased}
.ghp-size-rule{font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.08em;color:var(--sage);margin-bottom:1.5rem}
.ghp-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;flex:1}
.ghp-step{display:flex;gap:.85rem;align-items:flex-start}
.ghp-num{width:26px;height:26px;background:var(--sage);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-head);font-weight:800;font-size:.62rem;color:var(--forest)}
.ghp-text{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:rgba(255,255,255,.65);line-height:1.6;padding-top:.18rem}
.ghp-text strong{color:var(--white);font-weight:600}
.ghp-hashtag{font-family:var(--font-head);font-weight:700;font-size:.75rem;letter-spacing:.04em;color:var(--sage);background:rgba(122,158,122,.1);border:1px solid rgba(122,158,122,.2);border-radius:6px;padding:.5rem .9rem;margin-bottom:1.25rem;display:inline-block}
.ghp-rewards{border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem;margin-top:auto}
.ghp-rewards-title{font-family:var(--font-head);font-weight:700;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.75rem}
.ghp-reward-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}
.ghp-reward-val{font-family:var(--font-head);font-weight:800;font-size:.9rem;color:var(--sage)}
.ghp-reward-desc{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:rgba(255,255,255,.45)}
/* Dots */
.guardian-how-dots{display:flex;justify-content:center;gap:.5rem;padding-top:1rem}
.guardian-how-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);border:none;padding:0;cursor:pointer;transition:all .25s}
.guardian-how-dot.active{background:var(--sage);width:18px;border-radius:3px}
/* CTA row after how section */
.guardian-how-cta-row{display:flex;gap:1rem;flex-wrap:wrap;padding:0 3rem;max-width:1200px;margin:2rem auto 0}

@media(max-width:720px){
  .guardians-section{padding:4rem 1.25rem}
  .guardians-panels{grid-template-columns:1fr;gap:1.5rem}
  .guardian-detail-section{padding:3.5rem 1.25rem}
}

/* HOW-IT-WORKS STEP CAROUSEL */
.hiw-steps-wrap{
  overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:.5rem 0 1.25rem;margin:0 0 1.5rem;cursor:grab;
}
.hiw-steps-wrap::-webkit-scrollbar{display:none}
.hiw-steps-wrap.grabbing{cursor:grabbing}
.hiw-steps-track{display:flex;gap:1rem;width:max-content}
.hiw-step-card{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:1.25rem 1.1rem;
  width:220px;flex-shrink:0;scroll-snap-align:start;
  display:flex;flex-direction:column;gap:.65rem;
}

/* LEADERBOARD mobile padding */
@media(max-width:720px){
  .leaderboard-inner{padding:0 1.25rem}
  .guardians-track-wrap{padding:.5rem 1.25rem 1.5rem;margin:0 -1.25rem}
  .guardian-panel{width:calc(85vw);min-width:0;max-width:none}
  .hiw-step-card{width:72vw}
  .guardian-how-section{padding:3.5rem 0}
  .guardian-how-inner{padding:0 1.25rem}
  .guardian-how-track-wrap{padding:.5rem 0 1.25rem;margin:0 -1.25rem 0 0;scroll-padding-left:0}
  .guardian-how-panel{width:calc(88vw);min-width:0;max-width:none}
  .guardian-how-cta-row{padding:0 1.25rem}
}


/* ========================================
   CHECKOUT STYLES
   ======================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F5F0E8;--cream-dark:#EDE6D6;--black:#1A1A18;
  --stone:#8A8272;--forest:#2D4A2D;--forest-mid:#3D6B3D;
  --sage:#7A9E7A;--white:#FFFFFF;--border:rgba(26,26,24,0.12);
  --red:#C0392B;
  --font-head:'Montserrat',sans-serif;--font-body:'Roboto',sans-serif;
  --radius:8px;--tr:0.3s cubic-bezier(0.4,0,0.2,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--cream);color:var(--black);font-weight:300;line-height:1.6}

/* NAV — minimal on checkout */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:60px;background:var(--white);border-bottom:1px solid var(--border)}
.nav-logo{text-decoration:none;display:flex;align-items:center}
.walt-logo-svg{height:22px;width:auto}
.nav-secure{font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);display:flex;align-items:center;gap:.45rem}
.nav-secure svg{width:14px;height:14px;stroke:var(--forest);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-back{font-family:var(--font-head);font-weight:600;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);text-decoration:none;display:flex;align-items:center;gap:.35rem;transition:color var(--tr)}
.nav-back:hover{color:var(--black)}
.nav-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.page-wrap{padding-top:60px;min-height:100vh}

/* UPSELL MODAL OVERLAY */
.upsell-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(26,26,24,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
  opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.upsell-overlay.show{opacity:1;pointer-events:all}
.upsell-modal{
  background:var(--white);border-radius:14px;width:100%;max-width:560px;
  overflow:hidden;transform:translateY(20px) scale(.97);
  transition:transform .35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.upsell-overlay.show .upsell-modal{transform:translateY(0) scale(1)}
.upsell-header{padding:1.6rem 1.75rem 0}
.upsell-eyebrow{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--forest);margin-bottom:.4rem}
.upsell-title{font-family:var(--font-head);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;color:var(--black);margin-bottom:.3rem;-webkit-font-smoothing:antialiased}
.upsell-sub{font-family:var(--font-body);font-weight:300;font-size:.82rem;color:var(--stone);line-height:1.5}
.upsell-products{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.75rem}
.upsell-item{
  display:flex;align-items:center;gap:1rem;
  border:1.5px solid var(--border);border-radius:var(--radius);
  padding:.85rem 1rem;cursor:pointer;transition:all .2s;
  position:relative;
}
.upsell-item:hover{border-color:var(--forest);background:#F8FAF8}
.upsell-item.selected{border-color:var(--forest);background:#EDF3ED}
.upsell-item-check{
  width:22px;height:22px;border-radius:50%;
  border:2px solid var(--border);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.upsell-item.selected .upsell-item-check{background:var(--forest);border-color:var(--forest)}
.upsell-item-check svg{width:11px;height:11px;stroke:white;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s}
.upsell-item.selected .upsell-item-check svg{opacity:1}
.upsell-item-img{
  width:52px;height:52px;border-radius:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-size:.42rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);
}
.upsell-item-img.t1{background:#C2BCAE}
.upsell-item-img.t2{background:#B0BEA8}
.upsell-item-img.t3{background:#A8B6B6}
.upsell-item-info{flex:1}
.upsell-item-name{font-family:var(--font-head);font-weight:700;font-size:.82rem;color:var(--black);-webkit-font-smoothing:antialiased}
.upsell-item-desc{font-family:var(--font-body);font-weight:300;font-size:.72rem;color:var(--stone)}
.upsell-item-price{font-family:var(--font-head);font-weight:700;font-size:.88rem;color:var(--black);flex-shrink:0;-webkit-font-smoothing:antialiased}
.upsell-actions{padding:0 1.75rem 1.6rem;display:flex;flex-direction:column;gap:.6rem}
.btn-upsell-add{
  width:100%;padding:.9rem;font-family:var(--font-head);font-weight:700;font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;background:var(--forest);color:white;
  border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--tr);
}
.btn-upsell-add:hover{background:var(--forest-mid)}
.btn-upsell-add:disabled{opacity:.4;cursor:not-allowed;background:var(--forest)}
.btn-upsell-skip{
  width:100%;padding:.65rem;font-family:var(--font-head);font-weight:600;font-size:.65rem;
  letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--stone);
  border:none;cursor:pointer;transition:color var(--tr);
}
.btn-upsell-skip:hover{color:var(--black)}

/* CHECKOUT LAYOUT */
.checkout-wrap{
  display:grid;grid-template-columns:1fr 420px;
  min-height:calc(100vh - 60px);
  max-width:1200px;margin:0 auto;
  padding:0;
}
.checkout-left{
  padding:3rem 3.5rem 3rem 2rem;
  border-right:1px solid var(--border);
}
.checkout-right{
  padding:3rem 2rem 3rem 2.5rem;
  background:var(--cream-dark);
}

/* PROGRESS STEPS */
.progress-steps{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap}
.step{font-family:var(--font-head);font-weight:600;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:.4rem}
.step-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:800;flex-shrink:0}
.step.done .step-num{background:var(--forest);color:white}
.step.done .step-label{color:var(--forest)}
.step.active .step-num{background:var(--black);color:white}
.step.active .step-label{color:var(--black)}
.step.future .step-num{background:var(--border);color:var(--stone)}
.step.future .step-label{color:var(--stone)}
.step-divider{width:24px;height:1px;background:var(--border);flex-shrink:0}

/* SECTION BLOCKS */
.checkout-section{margin-bottom:2rem}
.checkout-section-title{
  font-family:var(--font-head);font-weight:800;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--black);
  margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);
  -webkit-font-smoothing:antialiased;
}

/* EXPRESS PAY */
.express-pay{margin-bottom:2rem}
.express-label{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);text-align:center;margin-bottom:.85rem;display:block}
.express-btns{display:flex;gap:.75rem}
.btn-apple-pay{
  flex:1;background:var(--black);color:white;
  border:none;border-radius:var(--radius);padding:.85rem;
  font-family:var(--font-head);font-weight:700;font-size:.78rem;
  letter-spacing:.06em;cursor:pointer;transition:background var(--tr);
  display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.btn-apple-pay:hover{background:#333}
.btn-apple-pay svg{width:16px;height:16px;fill:white}
.btn-payfast-express{
  flex:1;background:var(--white);color:var(--black);
  border:1.5px solid var(--border);border-radius:var(--radius);padding:.85rem;
  font-family:var(--font-head);font-weight:700;font-size:.7rem;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all var(--tr);
}
.btn-payfast-express:hover{border-color:var(--black)}
.divider-or{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0}
.divider-or::before,.divider-or::after{content:'';flex:1;height:1px;background:var(--border)}
.divider-or span{font-family:var(--font-head);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}

/* FORM */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}
.form-row.single{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-label{font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.form-input{
  padding:.7rem .9rem;font-family:var(--font-body);font-weight:300;font-size:.92rem;
  color:var(--black);background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--radius);outline:none;transition:border-color var(--tr);
  -webkit-appearance:none;
}
.form-input:focus{border-color:var(--forest)}
.form-input::placeholder{color:var(--stone);opacity:.6}
.form-input.error{border-color:var(--red)}
.form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A8272' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.form-hint{font-family:var(--font-body);font-weight:300;font-size:.7rem;color:var(--stone);font-style:italic}

/* SHIPPING OPTIONS */
.shipping-options{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}
.shipping-option{
  display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius);
  cursor:pointer;transition:all .2s;
}
.shipping-option:hover{border-color:var(--forest)}
.shipping-option.selected{border-color:var(--forest);background:#F2F7F2}
.shipping-option-left{display:flex;align-items:center;gap:.75rem}
.shipping-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.shipping-option.selected .shipping-radio{border-color:var(--forest);background:var(--forest)}
.shipping-radio-dot{width:7px;height:7px;background:white;border-radius:50%;opacity:0;transition:opacity .2s}
.shipping-option.selected .shipping-radio-dot{opacity:1}
.shipping-info{}
.shipping-name{font-family:var(--font-head);font-weight:700;font-size:.8rem;color:var(--black);-webkit-font-smoothing:antialiased}
.shipping-eta{font-family:var(--font-body);font-weight:300;font-size:.72rem;color:var(--stone)}
.shipping-price{font-family:var(--font-head);font-weight:700;font-size:.85rem;color:var(--black);-webkit-font-smoothing:antialiased}

/* COUPON */
.coupon-row{display:flex;gap:.6rem;margin-bottom:1.5rem}
.coupon-input{flex:1}
.btn-apply-coupon{
  padding:.7rem 1.25rem;font-family:var(--font-head);font-weight:700;
  font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;
  background:none;border:1.5px solid var(--border);border-radius:var(--radius);
  color:var(--black);cursor:pointer;white-space:nowrap;transition:all .2s;
}
.btn-apply-coupon:hover{border-color:var(--black)}

/* GUARDIAN DISCOUNT */
.guardian-discount{
  background:#EDF3ED;border:1px solid rgba(45,74,45,.2);border-radius:var(--radius);
  padding:.9rem 1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;
}
.guardian-discount-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(45,74,45,.12);border-radius:50%;flex-shrink:0}
.guardian-discount-icon svg{width:16px;height:16px;stroke:var(--forest);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guardian-discount-text{font-family:var(--font-body);font-weight:300;font-size:.8rem;color:var(--forest);line-height:1.5}
.guardian-discount-text strong{font-weight:700}

/* PLACE ORDER */
.btn-place-order{
  width:100%;padding:1.1rem;font-family:var(--font-head);font-weight:700;
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  background:var(--forest);color:white;border:none;border-radius:var(--radius);
  cursor:pointer;transition:background var(--tr);margin-bottom:.75rem;
}
.btn-place-order:hover{background:var(--forest-mid)}
.security-note{display:flex;align-items:center;justify-content:center;gap:.4rem;
  font-family:var(--font-head);font-weight:600;font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--stone);}
.security-note svg{width:12px;height:12px;stroke:var(--stone);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ORDER SUMMARY (right) */
.order-summary-title{
  font-family:var(--font-head);font-weight:800;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--black);
  margin-bottom:1.5rem;-webkit-font-smoothing:antialiased;
}
.order-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.order-item-img{
  width:60px;height:60px;border-radius:8px;flex-shrink:0;position:relative;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.order-item-img::after{
  content:'Img';font-family:var(--font-head);font-size:.42rem;font-weight:700;
  letter-spacing:.1em;color:rgba(255,255,255,.35);
}
.order-item-img.c1{background:#C2BCAE}
.order-qty-badge{
  position:absolute;top:-4px;right:-4px;background:var(--stone);color:white;
  font-family:var(--font-head);font-weight:700;font-size:.55rem;
  width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.order-item-details{flex:1}
.order-item-name{font-family:var(--font-head);font-weight:700;font-size:.82rem;color:var(--black);-webkit-font-smoothing:antialiased}
.order-item-variant{font-family:var(--font-body);font-weight:300;font-size:.72rem;color:var(--stone)}
.order-item-price{font-family:var(--font-head);font-weight:700;font-size:.88rem;color:var(--black);flex-shrink:0;-webkit-font-smoothing:antialiased}
.order-divider{height:1px;background:var(--border);margin:1.25rem 0}
.order-line{display:flex;justify-content:space-between;margin-bottom:.6rem}
.order-line-label{font-family:var(--font-body);font-weight:300;font-size:.85rem;color:var(--stone)}
.order-line-val{font-family:var(--font-head);font-weight:600;font-size:.85rem;color:var(--black);-webkit-font-smoothing:antialiased}
.order-line-val.green{color:var(--forest)}
.order-line-val.strike{text-decoration:line-through;color:var(--stone);font-weight:300}
.order-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;padding-top:1rem;border-top:1.5px solid var(--black)}
.order-total-label{font-family:var(--font-head);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--black);-webkit-font-smoothing:antialiased}
.order-total-val{font-family:var(--font-head);font-weight:900;font-size:1.5rem;color:var(--black);-webkit-font-smoothing:antialiased}
.order-total-note{font-family:var(--font-body);font-weight:300;font-size:.7rem;color:var(--stone);text-align:right}
.bnpl-checkout{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  padding:.85rem;margin-top:1rem;text-align:center;
}
.bnpl-checkout p{font-family:var(--font-body);font-weight:300;font-size:.78rem;color:var(--stone)}
.bnpl-checkout strong{color:var(--black);font-weight:600}

/* RESPONSIVE */
@media(max-width:900px){
  .checkout-wrap{grid-template-columns:1fr;min-height:auto}
  .checkout-left{padding:2rem 1.25rem;border-right:none;border-bottom:1px solid var(--border)}
  .checkout-right{padding:2rem 1.25rem}
  .express-btns{flex-direction:column}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  nav{padding:0 1rem;height:52px}
  .walt-logo-svg{height:18px}
  .nav-secure span{display:none}
  .page-wrap{padding-top:52px}
  .progress-steps{gap:.3rem}
  .step-label{display:none}
  .upsell-header{padding:1.25rem 1.25rem 0}
  .upsell-products{padding:.9rem 1.25rem}
  .upsell-actions{padding:0 1.25rem 1.25rem}
}



/* ================================
   WALT GEAR — CLEAN CART CSS
================================ */

.woocommerce-cart .page-wrap {
  padding-top: 90px !important;
  display: block !important;
  text-align: left !important;
}

.woocommerce-cart .page-wrap > div {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 3rem 2rem !important;
}

.woocommerce-cart h1,
.woocommerce-cart .entry-title {
  text-align: center;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  margin: 0 0 35px;
  font-weight: 900;
}

.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 55px;
  align-items: start;
}

.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table {
  width: 100% !important;
  border: 0 !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid #e5e1da !important;
  padding: 26px 14px !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #171717;
  font-weight: 900;
}

.woocommerce-cart .product-remove {
  width: 42px;
}

.woocommerce-cart a.remove {
  color: #171717 !important;
  font-size: 32px !important;
  font-weight: 300;
  text-decoration: none;
}

.woocommerce-cart a.remove:hover {
  background: transparent !important;
  color: #244228 !important;
}

.woocommerce-cart .product-thumbnail {
  width: 130px;
}

.woocommerce-cart .product-thumbnail img {
  width: 115px;
  height: 115px;
  object-fit: cover;
  border-radius: 6px;
}

.woocommerce-cart .product-name {
  min-width: 250px;
}

.woocommerce-cart .product-name a {
  color: #171717;
  text-decoration: none;
  font-size: 19px;
  line-height: 1.45;
  font-weight: 900;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
  white-space: nowrap;
  font-size: 20px;
  font-weight: 900;
  color: #171717;
}

.woocommerce-cart .quantity input.qty {
  width: 88px;
  height: 48px;
  border: 1px solid #d8d8d8;
  border-radius: 5px;
  text-align: center;
  font-size: 17px;
  font-weight: 800;
}

.woocommerce-cart .actions {
  padding-top: 28px !important;
}

.woocommerce-cart .coupon {
  display: flex !important;
  gap: 14px;
  margin-bottom: 18px;
}

.woocommerce-cart .coupon input.input-text {
  width: 280px !important;
  height: 52px;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 0 18px;
}

.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-cart a.button {
  background: #244228 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 5px !important;
  height: 52px;
  min-height: 52px;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.woocommerce-cart .cart-collaterals {
  background: #e9dfcf;
  padding: 30px 30px !important;
  position: sticky;
  top: 110px;
}

.woocommerce-cart .cart_totals {
  width: 100% !important;
  float: none !important;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 5px;
  font-weight: 400;
  color: #8d8576;
  margin: 0 0 40px;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.13) !important;
  font-size: 15px;
}

.woocommerce-cart .cart_totals table th {
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-weight: 700;
}

.woocommerce-cart .cart_totals table td {
  text-align: right;
}

.woocommerce-cart .order-total th,
.woocommerce-cart .order-total td {
  font-size: 22px !important;
  text-transform: uppercase;
  padding-top: 30px !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 30px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  height: 58px;
}

.woocommerce-cart .page-wrap a[style*="Back to Home"] {
  display: none !important;
}

/* Mobile */
@media (max-width: 1050px) {
  .woocommerce-cart .woocommerce {
    display: block !important;
  }

  .woocommerce-cart .cart-collaterals {
    position: static;
    margin-top: 35px !important;
  }
}

@media (max-width: 768px) {
  .woocommerce-cart .page-wrap > div {
    padding: 2rem 1rem !important;
  }

  .woocommerce-cart .coupon {
    display: block !important;
  }

  .woocommerce-cart .coupon input.input-text,
  .woocommerce-cart .coupon button {
    width: 100% !important;
    margin-bottom: 12px;
  }
}

/* Fix WooCommerce cart grid placement */
.woocommerce-cart .woocommerce-notices-wrapper {
  grid-column: 1 / -1 !important;
}

.woocommerce-cart form.woocommerce-cart-form {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.woocommerce-cart .cart-collaterals {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

/* Fix WooCommerce update cart functionality */
.woocommerce-cart button[name="update_cart"] {
  pointer-events: auto !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}


/* ================================
   WALT GEAR — CLEAN CHECKOUT
================================ */

.woocommerce-checkout .page-wrap {
  padding-top: 90px !important;
  display: block !important;
  text-align: left !important;
}

.woocommerce-checkout .page-wrap > div {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 3rem 2rem !important;
}

.woocommerce-checkout h1,
.woocommerce-checkout .entry-title {
  text-align: center;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  margin: 0 0 45px;
  font-weight: 900;
}

.woocommerce-checkout .woocommerce {
  max-width: 1320px;
  margin: 0 auto;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 70px;
  align-items: start;
}

.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
}

.woocommerce-checkout #order_review {
  grid-column: 2;
  grid-row: 2;
}

/* Coupon */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin-bottom: 35px;
  border: 1px solid #e5e1da;
  padding: 20px 24px;
}

.woocommerce-checkout .woocommerce-info {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Form fields */
.woocommerce-checkout .form-row,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 22px !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 48% !important;
}

.woocommerce-checkout .form-row-first {
  float: left !important;
}

.woocommerce-checkout .form-row-last {
  float: right !important;
}

.woocommerce-checkout .form-row-wide {
  clear: both;
}

.woocommerce-checkout h3 {
  font-size: 22px;
  font-weight: 900;
  margin: 0 0 28px;
}

.woocommerce-checkout label {
  display: block !important;
  margin-bottom: 10px !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #171717;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  height: 58px !important;
  border: 1px solid #ddd !important;
  border-radius: 5px !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  background: #fff !important;
  color: #171717 !important;
}

.woocommerce-checkout textarea {
  height: 140px !important;
  padding-top: 18px !important;
}

/* Select2 */
.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .select2-selection__rendered {
  line-height: 58px !important;
}

.woocommerce-checkout .select2-selection__arrow {
  height: 58px !important;
}

/* Checkboxes */
.woocommerce-checkout label.checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

/* Order summary */
.woocommerce-checkout #order_review_heading {
  background: #e9dfcf;
  padding: 52px 46px 0;
  margin: 0 !important;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 5px;
  font-weight: 400;
  color: #8d8576;
}

.woocommerce-checkout #order_review {
  background: #e9dfcf;
  padding: 28px 46px 52px;
  position: sticky;
  top: 110px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  border: none !important;
  width: 100%;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,.13) !important;
  padding: 18px 0 !important;
  font-size: 15px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th {
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-weight: 800;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  text-align: right;
}

.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td {
  font-size: 22px !important;
  text-transform: uppercase;
  padding-top: 30px !important;
}

.woocommerce-checkout #payment {
  background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: none !important;
  padding: 25px 0 !important;
}

.woocommerce-checkout #place_order {
  width: 100%;
  height: 58px;
  background: #244228 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 5px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900 !important;
}

/* Mobile */
@media (max-width: 1050px) {
  .woocommerce-checkout form.checkout {
    display: block !important;
  }

  .woocommerce-checkout #order_review {
    position: static;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    margin-top: 35px !important;
  }
}

@media (max-width: 768px) {
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}

/* Pull order box up directly under heading */
.woocommerce-checkout #order_review_heading {
  margin-bottom: 0 !important;
}

.woocommerce-checkout #order_review {
  margin-top: 0 !important;
  transform: translateY(-1px);
}

/* Remove big gap caused by grid rows */
.woocommerce-checkout form.checkout {
  grid-template-rows: auto auto !important;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  align-self: start !important;
}

/* Make left form slightly narrower like client reference */
.woocommerce-checkout #customer_details {
  max-width: 680px;
}

/* Put first and last name next to each other on desktop */
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field {
  width: 48% !important;
  float: left !important;
}

.woocommerce-checkout #billing_last_name_field {
  float: right !important;
}

/* FORCE ORDER SUMMARY TO SIT HIGHER */
.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 46px 46px 18px !important;
}

.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  margin-top: 92px !important;
  padding-top: 10px !important;
}

.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.woocommerce-checkout form.checkout {
  align-items: start !important;
}

/* Make cart text and count white */
.nav-cart,
.nav-cart:link,
.nav-cart:visited,
.nav-cart:hover,
.nav-cart span,
.nav-cart .count {
    color: #fff !important;
}


/* ================================
   WALT GEAR — SHOP PAGE FIX
================================ */

.woocommerce-shop .page-wrap,
.post-type-archive-product .page-wrap {
  padding-top: 100px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.woocommerce-shop ul.products,
.post-type-archive-product ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-shop ul.products li.product,
.post-type-archive-product ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  background: #fff;
}

.woocommerce-shop ul.products li.product img,
.post-type-archive-product ul.products li.product img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  border-radius: 8px;
  margin: 0 0 18px !important;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
  font-weight: 900;
  line-height: 1.3;
  color: #171717;
  padding: 0 !important;
  margin: 0 0 12px !important;
}

.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price {
  font-size: 24px !important;
  font-weight: 900;
  color: #171717 !important;
  margin-bottom: 16px !important;
}

.woocommerce-shop ul.products li.product .button,
.post-type-archive-product ul.products li.product .button {
  width: 100%;
  height: 54px;
  background: #244228 !important;
  color: #fff !important;
  border-radius: 5px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Remove ugly blue link underline */
.woocommerce-shop ul.products li.product a,
.post-type-archive-product ul.products li.product a {
  color: #171717;
  text-decoration: none !important;
}

/* Mobile */
@media (max-width: 980px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: 1fr;
  }

  .woocommerce-shop ul.products li.product img,
  .post-type-archive-product ul.products li.product img {
    height: 340px !important;
  }
}

.woocommerce-breadcrumb{
display: none;}

/* Shop: 4 products per row */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 26px !important;
}

.woocommerce-shop ul.products li.product img,
.post-type-archive-product ul.products li.product img {
  height: 300px !important;
}

.woocommerce-shop ul.products li.product .button,
.post-type-archive-product ul.products li.product .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: calc(100% - 32px) !important;
  margin: 18px 16px 20px !important;
  height: 52px !important;
  line-height: 1 !important;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shop ul.products li.product .price,
.post-type-archive-product ul.products li.product .price {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 800px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 520px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce-result-count{
display: none;}

.woocommerce-ordering{
display:none;}

/* =========================================================
   WALT GEAR - SINGLE PRODUCT REVIEWS
========================================================= */

.single-product .product-reviews-section {
    width: 100%;
    margin: 0;
    padding: 6rem 3rem;

    background: var(--cream-dark, #EDE6D6);
    border-top: 1px solid var(--border);
}

.single-product .product-reviews-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Header */

.single-product .product-reviews-header {
    max-width: 680px;
    margin: 0 auto 3.5rem;
    text-align: center;
}

.single-product .product-reviews-eyebrow {
    display: block;
    margin-bottom: 0.8rem;

    font-family: var(--font-head);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;

    color: var(--forest);
}

.single-product .product-reviews-heading {
    margin: 0 0 1rem;

    font-family: var(--font-head);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.025em;

    color: var(--black);
    -webkit-font-smoothing: antialiased;
}

.single-product .product-reviews-intro {
    max-width: 520px;
    margin: 0 auto;

    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 300;
    line-height: 1.7;

    color: var(--stone);
}

/* WooCommerce review wrapper */

.single-product .product-reviews-section #reviews {
    width: 100%;
}

.single-product .product-reviews-section #comments {
    width: 100%;
}

/* Hide WooCommerce's duplicate heading */
.single-product .product-reviews-section #comments > h2 {
    display: none;
}

/* Review list */

.single-product .product-reviews-section ol.commentlist {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;

    margin: 0 0 4rem !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product .product-reviews-section ol.commentlist > li.review {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product .product-reviews-section .comment_container {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.8rem;

    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 10px;
}

/* Remove WooCommerce list numbering */
.single-product .product-reviews-section ol.commentlist > li::marker {
    content: "";
}

/* Avatar */

.single-product .product-reviews-section img.avatar {
    width: 46px !important;
    height: 46px !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    float: none !important;

    border: none !important;
    border-radius: 50%;
    object-fit: cover;
    background: var(--forest);
}

/* Comment body */

.single-product .product-reviews-section .comment-text {
    display: flex;
    flex-direction: column;
    flex: 1;

    margin: 0 !important;
    padding: 0 !important;

    border: none !important;
}

/* Star rating */

.single-product .product-reviews-section .star-rating {
    margin: 0 0 1rem !important;
    float: none !important;
    color: var(--sage);
}

.single-product .product-reviews-section .star-rating::before {
    color: rgba(45, 74, 45, 0.2);
}

.single-product .product-reviews-section .star-rating span::before {
    color: var(--sage);
}

/* Review text */

.single-product .product-reviews-section .description {
    flex: 1;
}

.single-product .product-reviews-section .description p {
    margin: 0 0 1.3rem !important;

    font-family: var(--font-body);
    font-size: 0.9rem !important;
    font-weight: 300;
    font-style: italic;
    line-height: 1.75;

    color: var(--stone);
}

/* Reviewer details */

.single-product .product-reviews-section .meta {
    order: 3;
    margin: auto 0 0 !important;
    padding-top: 1rem;

    border-top: 1px solid var(--border);

    font-family: var(--font-body);
    font-size: 0.75rem !important;
    line-height: 1.5;

    color: var(--stone);
}

.single-product .product-reviews-section .woocommerce-review__author {
    display: block;

    font-family: var(--font-head);
    font-size: 0.76rem;
    font-weight: 800;
    font-style: normal;
    letter-spacing: 0.04em;

    color: var(--black);
}

.single-product .product-reviews-section .woocommerce-review__dash {
    display: none;
}

.single-product .product-reviews-section .woocommerce-review__published-date {
    display: block;
    margin-top: 0.15rem;

    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 300;

    color: var(--stone);
}

/* Verified owner label */

.single-product .product-reviews-section .woocommerce-review__verified {
    display: inline-block;
    margin-top: 0.35rem;

    font-family: var(--font-head);
    font-size: 0.56rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--forest);
}

/* Store replies */

.single-product .product-reviews-section .children {
    grid-column: 1 / -1;
    margin: 1rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product .product-reviews-section .children li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product .product-reviews-section .children .comment_container {
    min-height: auto;
    padding: 1rem 1.1rem;

    background: rgba(45, 74, 45, 0.07);
    border: 1px solid rgba(45, 74, 45, 0.14);
    border-radius: 7px;
}

.single-product .product-reviews-section .children img.avatar {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 0.7rem !important;
}

.single-product .product-reviews-section .children .description p {
    margin-bottom: 0.7rem !important;
    font-size: 0.8rem !important;
    font-style: normal;
}

.single-product .product-reviews-section .children .meta {
    padding-top: 0.7rem;
}

/* Review form card */

.single-product .product-reviews-section #review_form_wrapper {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 2rem;

    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 10px;
}

.single-product .product-reviews-section .comment-reply-title {
    display: block;
    margin: 0 0 1.5rem !important;

    font-family: var(--font-head);
    font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
    font-weight: 900 !important;
    line-height: 1.15;

    color: var(--black);
}

.single-product .product-reviews-section .comment-form {
    margin: 0;
}

.single-product .product-reviews-section .comment-form p {
    margin-bottom: 1.2rem;
}

.single-product .product-reviews-section .comment-form label {
    display: block;
    margin-bottom: 0.55rem !important;

    font-family: var(--font-head);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: var(--black);
}

.single-product .product-reviews-section textarea,
.single-product .product-reviews-section input[type="text"],
.single-product .product-reviews-section input[type="email"] {
    width: 100%;
    padding: 1rem;

    font-family: var(--font-body);
    font-size: 1rem;

    color: var(--black);
    background: var(--cream);

    border: 1px solid var(--border);
    border-radius: 7px;
    outline: none;
}

.single-product .product-reviews-section textarea {
    min-height: 160px;
    resize: vertical;
}

.single-product .product-reviews-section textarea:focus,
.single-product .product-reviews-section input[type="text"]:focus,
.single-product .product-reviews-section input[type="email"]:focus {
    border-color: var(--forest);
}

/* Submit review button */

.single-product .product-reviews-section .form-submit {
    margin-bottom: 0 !important;
}

.single-product .product-reviews-section #submit {
    min-height: 54px;
    padding: 0 2rem !important;

    font-family: var(--font-head);
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: var(--white) !important;
    background: var(--forest) !important;

    border: none !important;
    border-radius: 7px !important;
    cursor: pointer;
}

.single-product .product-reviews-section #submit:hover {
    background: var(--forest-mid) !important;
}


/* Rating selector */

.single-product .product-reviews-section .comment-form-rating {
    margin-bottom: 1.5rem;
}

.single-product .product-reviews-section .comment-form-rating .stars {
    margin: 0 !important;
}

.single-product .product-reviews-section .comment-form-rating .stars span {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.single-product .product-reviews-section .comment-form-rating .stars a {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;

    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    color: var(--sage) !important;
}

.single-product .product-reviews-section .comment-form-rating .stars a::before {
    content: "★" !important;
    position: static !important;

    width: auto !important;
    height: auto !important;

    font-family: Arial, sans-serif !important;
    font-size: 1.65rem !important;
    line-height: 1 !important;

    color: rgba(45, 74, 45, 0.25);
}

.single-product .product-reviews-section .comment-form-rating .stars:hover a::before,
.single-product .product-reviews-section .comment-form-rating .stars.selected a::before {
    color: var(--sage);
}

.single-product .product-reviews-section .woocommerce-noreviews {
    max-width: 760px;
    margin: 0 auto 1.5rem !important;
    padding: 1rem 1.2rem;

    font-family: var(--font-body);
    font-size: 0.9rem;
    text-align: center;

    color: var(--stone);
    background: rgba(255, 255, 255, 0.55);

    border: 1px solid var(--border);
    border-radius: 7px;
}

@media screen and (max-width: 900px) {

    .single-product .product-reviews-section ol.commentlist {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 680px) {

    .single-product .product-reviews-section {
        padding: 4rem 1.25rem;
    }

    .single-product .product-reviews-header {
        margin-bottom: 2.5rem;
    }

    .single-product .product-reviews-heading {
        font-size: 2.2rem;
    }

    .single-product .product-reviews-section ol.commentlist {
        display: flex;
        overflow-x: auto;
        gap: 1rem;

        margin-right: -1.25rem !important;
        padding-right: 1.25rem !important;
        padding-bottom: 1rem !important;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .single-product .product-reviews-section ol.commentlist::-webkit-scrollbar {
        display: none;
    }

    .single-product .product-reviews-section ol.commentlist > li.review {
        flex: 0 0 86%;
        scroll-snap-align: start;
    }

    .single-product .product-reviews-section .comment_container {
        padding: 1.4rem;
    }

    .single-product .product-reviews-section #review_form_wrapper {
        padding: 1.4rem;
    }

    .single-product .product-reviews-section .comment-reply-title {
        font-size: 1.65rem !important;
    }
}



/* ================================
   WALT GEAR - MOBILE HEADER FIX
================================ */

@media (max-width: 820px) {
  nav#main-nav {
    height: 58px;
    padding: 0 1rem;
  }

  nav#main-nav .walt-logo-svg {
    height: 20px;
    max-width: 170px;
  }

  nav#main-nav .nav-links {
    display: none !important;
  }

  nav#main-nav .nav-cart {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.58rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

  nav#main-nav .nav-hamburger {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
  }

  nav#main-nav .nav-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--black);
    border-radius: 999px;
  }

  .mobile-nav-drawer {
    display: flex !important;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: var(--cream);
    flex-direction: column;
    padding: 5rem 2rem 2rem;
    transform: translateX(100%);
    transition: transform 0.35s ease;
  }

  .mobile-nav-drawer.open {
    transform: translateX(0);
  }

  .drawer-close {
    position: absolute;
    top: 1.2rem;
    right: 1.5rem;
    background: none;
    border: none;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    color: var(--black);
  }

  .drawer-link {
    font-family: var(--font-head);
    font-weight: 800;
    font-size: 1.45rem;
    color: var(--black);
    text-decoration: none;
    margin-bottom: 1.4rem;
  }

  .drawer-link:hover {
    color: var(--forest);
  } 

  .page-wrap {
    padding-top: 58px;
  }
}

/* ================================
   WALT GEAR - MOBILE FOOTER FIX
================================ */

@media (max-width: 820px) {
  footer {
    padding: 3rem 1.25rem 2rem !important;
    text-align: left;
    overflow-x: hidden;
  }

  footer .footer-inner,
  footer .footer-top,
  footer .footer-bottom {
    max-width: 100%;
    width: 100%;
  }

  footer .footer-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    margin-bottom: 2rem !important;
    padding-bottom: 2rem !important;
  }

  footer .footer-brand,
  footer .footer-col {
    width: 100%;
  }

  footer .footer-col-title {
    margin-bottom: 0.8rem;
  }

  footer .footer-col a,
  footer .footer-col ul li a {
    display: block;
    font-size: 0.9rem;
    line-height: 1.7;
    margin-bottom: 0.4rem;
  }

  footer .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.8rem !important;
  }

  footer .footer-copy,
  footer .footer-legal {
    font-size: 0.72rem;
    line-height: 1.6;
  }

  footer svg {
    max-width: 180px;
    height: auto;
  }
}


/* ================================
   WALT GEAR - MOBILE CART FIX
================================ */

@media (max-width: 820px) {
  .woocommerce-cart .page-wrap {
    padding-top: 70px !important;
  }

  .woocommerce-cart .page-wrap > div {
    padding: 2rem 1rem !important;
  }

  .woocommerce-cart h1,
  .woocommerce-cart .entry-title {
    font-size: 2.4rem !important;
    margin-bottom: 1.5rem !important;
  }

  .woocommerce-cart .woocommerce {
    display: block !important;
  }

  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table thead {
    display: none !important;
  }

  .woocommerce-cart table.shop_table tr.cart_item {
    background: #fff; 
    border: 1px solid #e5e1da;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .woocommerce-cart table.shop_table td {
    border: none !important;
    padding: 0.5rem 0 !important;
    text-align: center !important;
  }

  .woocommerce-cart .product-remove {
    text-align: right !important;
  }

  .woocommerce-cart .product-thumbnail img {
    width: 100% !important;
    max-width: 160px !important;
    height: auto !important;
    border-radius: 8px;
  }

  .woocommerce-cart .product-name {
    min-width: 0 !important;
  }

  .woocommerce-cart .product-name a {
    font-size: 1.05rem !important;
  }

  .woocommerce-cart .product-price,
  .woocommerce-cart .product-subtotal {
    font-size: 1rem !important;
  }

  .woocommerce-cart .quantity input.qty {
    width: 80px !important;
    height: 44px !important;
  }

  .woocommerce-cart .actions,
  .woocommerce-cart .coupon {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart .coupon input.input-text {
    width: 100% !important;
    margin-bottom: 0.75rem !important;
  }

  .woocommerce-cart .button,
  .woocommerce-cart button.button,
  .woocommerce-cart input.button,
  .woocommerce-cart a.button {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 0.75rem !important;
  }

  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals {
    width: 100% !important;
    float: none !important;
    margin-top: 2rem !important;
  }

  .woocommerce-cart .cart_totals {
    background: #fff;
    border: 1px solid #e5e1da;
    border-radius: 10px;
	text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 0.25rem;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .woocommerce-cart .product-quantity::before {
    content: "Quantity";
    display: block;
    font-family: var(--font-head);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 0.35rem;
  }

  .woocommerce-cart .product-subtotal::before {
    content: "Subtotal";
    display: block;
    font-family: var(--font-head);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 0.25rem;
  }

  .woocommerce-cart .product-price,
  .woocommerce-cart .product-subtotal {
    margin-top: 1rem;
  }

  .woocommerce-cart .cart_totals h2 {
    font-size: 1.4rem !important;
    margin-bottom: 1rem !important;
  }

  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals tbody,
  .woocommerce-cart .cart_totals tr,
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals th {
    padding-bottom: 0.2rem !important;
    color: var(--stone);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .woocommerce-cart .cart_totals td {
    padding-bottom: 1rem !important;
    font-size: 1.1rem;
    font-weight: 800;
  }

  .woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 1rem !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    min-height: 58px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.18em !important;
    text-decoration: none !important;
  }
}



/* ================================
   WALT GEAR - PREMIUM MOBILE CART CARD
================================ */

@media (max-width: 820px) {
  .woocommerce-cart table.shop_table tr.cart_item {
    position: relative;
    padding: 1.25rem !important;
    background: #F8F5EF !important;
    border: 1px solid rgba(26,26,24,0.12) !important;
    box-shadow: 0 10px 30px rgba(26,26,24,0.04);
  }

.woocommerce-shop .page-wrap, .post-type-archive-product .page-wrap {
    padding-top: 100px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    background-color: #2f492d;
}

  .woocommerce-cart .product-remove {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: auto !important;
    padding: 0 !important;
  }

  .woocommerce-cart a.remove {
    width: 34px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(26,26,24,0.15);
    border-radius: 50%;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    background: #fff !important;
  }

  .woocommerce-cart .product-thumbnail {
    margin-bottom: 1.2rem;
  }

  .woocommerce-cart .product-thumbnail img {
    width: 120px !important;
    height: 120px !important;
    object-fit: cover;
    border-radius: 10px;
  }

  .woocommerce-cart .product-name {
    margin-bottom: 1.4rem;
  }

  .woocommerce-cart .product-name a {
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
  }

  .woocommerce-cart .product-price,
  .woocommerce-cart .product-quantity,
  .woocommerce-cart .product-subtotal {
    /*background: #fff;*/
    border: 1px solid rgba(26,26,24,0.08);
    border-radius: 8px;
    padding: 0.85rem !important;
    margin-top: 0.75rem !important;
  }

  .woocommerce-cart .product-price::before,
  .woocommerce-cart .product-quantity::before,
  .woocommerce-cart .product-subtotal::before {
    font-size: 0.58rem;
    color: var(--forest);
    font-weight: 800;
    margin-bottom: 0.35rem;
  }

  .woocommerce-cart .quantity input.qty {
    width: 70px !important;
    height: 40px !important;
    border-radius: 6px;
    background: #F5F0E8;
  }

  .woocommerce-cart .product-subtotal {
    background: var(--forest);
    border-color: var(--forest);
    color: #fff !important;
  }

  .woocommerce-cart .product-subtotal::before {
    color: rgba(255,255,255,0.65);
  }

  .woocommerce-cart .product-subtotal .amount,
  .woocommerce-cart .product-subtotal bdi {
    color: #fff !important;
  }
}


/* ================================
   WALT GEAR - MOBILE CHECKOUT FIX
================================ */

@media (max-width: 820px) {
  .woocommerce-checkout .page-wrap {
    padding-top: 70px !important;
  }

  .woocommerce-checkout .checkout-wrap,
  .woocommerce-checkout .woocommerce-checkout {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-checkout .checkout-left,
  .woocommerce-checkout .checkout-right,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem !important;
    border: none !important;
  }

  .woocommerce-checkout .form-row,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
    display: block !important;
    width: 100% !important;
    float: none !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
  } 

  .woocommerce-checkout #order_review {
    background: #F8F5EF !important;
    border: 1px solid rgba(26,26,24,0.12) !important;
    border-radius: 12px !important;
    margin-top: 2rem !important;
  }

  .woocommerce-checkout table.shop_table,
  .woocommerce-checkout table.shop_table tbody,
  .woocommerce-checkout table.shop_table tr,
  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td {
    width: 100% !important;
  }

  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td {
    padding: 0.85rem 0 !important;
    border-color: rgba(26,26,24,0.10) !important;
  }

  .woocommerce-checkout #payment {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 1rem !important;
    margin-top: 1.5rem !important;
  }

  .woocommerce-checkout #place_order,
  .woocommerce-checkout button.button,
  .woocommerce-checkout .button {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 8px !important;
    background: var(--forest) !important;
    color: #fff !important;
    font-family: var(--font-head) !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
  }
}


/* ================================
   WALT GEAR - MOBILE CHECKOUT SHIPPING FIX
================================ */

@media (max-width: 820px) {
  .woocommerce-checkout .woocommerce-shipping-totals,
  .woocommerce-checkout .woocommerce-shipping-totals th,
  .woocommerce-checkout .woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .woocommerce-checkout .woocommerce-shipping-totals th {
    padding: 1rem 0 0.75rem !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.16em !important;
    color: var(--stone) !important;
  }

  .woocommerce-checkout .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .woocommerce-checkout .woocommerce-shipping-methods li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
    margin-bottom: 0.75rem !important;
    background: #fff !important;
    border: 1px solid rgba(26,26,24,0.12) !important;
    border-radius: 10px !important;
    text-align: left !important;
  }

  .woocommerce-checkout .woocommerce-shipping-methods input[type="radio"] {
    margin-top: 0.25rem !important;
    flex: 0 0 auto !important;
  }

  .woocommerce-checkout .woocommerce-shipping-methods label {
    display: block !important;
    width: 100% !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
    text-align: left !important;
    word-break: normal !important;
  }
}


/* ================================
   WALT GEAR - CHECKOUT SHIPPING DESKTOP FIX
================================ */

.woocommerce-checkout .woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-shipping-totals td {
  vertical-align: top !important;
  text-align: left !important;
}

.woocommerce-checkout .woocommerce-shipping-methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-shipping-methods li {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin-bottom: 0.7rem !important;
  text-align: left !important;
}

.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.woocommerce-checkout .woocommerce-shipping-methods label {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  text-align: left !important;
  line-height: 1.4 !important;
  letter-spacing: 0.05em !important;
}


/* ===================================
   GUARDIANS - CENTER DESKTOP
=================================== */

.guardians-track-wrap{
    display:flex;
    justify-content:center;
    width:100%;
}

.guardians-panels{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:2rem;
    width:100%;
    max-width:1320px;
    margin:0 auto;
}

@media (max-width:900px){

    .guardians-track-wrap{
        justify-content:flex-start;
        overflow-x:auto;
    }

    .guardians-panels{
        width:max-content;
        margin:0;
    }

}

.guardians-section{
    width:100%;
    display:flex;
    justify-content:center;
}

.guardians-inner{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 2rem;
}

.guardians-header{
    max-width:800px;
    margin:0 auto 4rem;
    text-align:center;
}

.guardians-header .section-label-dark{
    display:block;
    margin-bottom:1rem;
}

.guardians-intro-text{
    max-width:650px;
    margin:0 auto;
}

@media (max-width:768px){

    .guardians-inner{
        padding:0 1.25rem;
    }

    .guardians-header{
        margin-bottom:2rem;
        text-align:center;
    }

    .guardians-panels{
        grid-template-columns:1fr;
        gap:1.5rem;
        display: block;
    }

    .guardian-panel{
        width:100%;
        max-width:500px;
        margin:0 auto;
    }
}


@media screen and (max-width: 767px) {

    .guardians-inner {
        width: calc(100% - 32px) !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .guardians-header {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 32px !important;
        text-align: center !important;
    }

    .guardians-header .section-h2,
    .guardians-header .section-label-dark,
    .guardians-intro-text {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .guardians-track-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .guardians-panels {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        transform: none !important;
        display: block;
    }

    .guardian-panel {
        width: 100% !important;
        max-width: 500px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        transform: none !important;
    }
}

/* Keep the real WooCommerce fields active but visually hidden */
.single-product form.variations_form table.variations {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.size-btn.active,
.size-btn.selected {
	background: var(--green, #294d2d);
	border-color: var(--green, #294d2d);
	color: #fff;
}

.size-btn.disabled,
.size-btn:disabled {
	opacity: .35;
	cursor: not-allowed;
	text-decoration: line-through;
}

.swatch {
	border: 0;
	cursor: pointer;
}

.swatch.active {
	outline: 3px double var(--green, #294d2d);
	outline-offset: 4px;
}

.swatch.disabled,
.swatch:disabled {
	opacity: .3;
	cursor: not-allowed;
}


/* =========================================================
   WALT PRODUCT CART - CUSTOMISATION ABOVE CART BUTTONS
========================================================= */

.single-product .cta-stack,
.single-product .cta-stack form.cart,
.single-product .cta-stack form.variations_form,
.single-product .cta-stack .single_variation_wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
}

/*
 * The logo upload fields, quantity and Add to Cart button
 * are all inside this WooCommerce wrapper.
 */
.single-product .cta-stack .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    column-gap: 14px !important;
    row-gap: 18px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;

    clear: both !important;
    float: none !important;
    position: static !important;
}

/*
 * Force every customisation field onto its own full-width row.
 * Excludes WooCommerce quantity, button and hidden inputs.
 */
.single-product .cta-stack .woocommerce-variation-add-to-cart
> :not(.quantity):not(.single_add_to_cart_button):not(input[type="hidden"]) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Keep hidden WooCommerce variation values hidden */
.single-product .cta-stack .woocommerce-variation-add-to-cart
> input[type="hidden"] {
    display: none !important;
}

/* Quantity sits underneath the customisation information */
.single-product .cta-stack .quantity {
    flex: 0 0 110px !important;
    width: 110px !important;
    min-width: 110px !important;
    margin: 0 !important;
    float: none !important;
    order: 50;
}

.single-product .cta-stack .quantity .qty {
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 12px !important;

    border: 1px solid #d8d8d8 !important;
    border-radius: 7px !important;
    background: #fff !important;

    text-align: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* Add to Cart beside quantity, but below customisation */
.single-product .cta-stack .single_add_to_cart_button {
    flex: 0 1 280px !important;
    width: auto !important;
    min-width: 240px !important;
    height: 64px !important;
    min-height: 64px !important;

    margin: 0 !important;
    padding: 0 32px !important;
    float: none !important;
    order: 51;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1.2 !important;
    white-space: nowrap !important;
    
    
}


@media screen and (max-width: 767px) {

    .single-product .cta-stack .woocommerce-variation-add-to-cart {
        column-gap: 10px !important;
        row-gap: 16px !important;
        margin-top: 20px !important;
    }

    .single-product .cta-stack .quantity {
        flex: 0 0 82px !important;
        width: 82px !important;
        min-width: 82px !important;
    }

    .single-product .cta-stack .single_add_to_cart_button {
        flex: 1 1 calc(100% - 92px) !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0 14px !important;
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
    }
}


/* =========================================================
   SINGLE PRODUCT GALLERY FIX
========================================================= */

.single-product .gallery-main-inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.single-product .wg-gallery-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Stop thumbnail backgrounds from repeating or showing odd strips */
.single-product .thumb-block {
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Keep the thumbnail row neat */
.single-product .gallery-thumbs {
    display: flex;
    gap: 0.75rem;
    width: 100%;
  height: 90px;
}

.single-product .gallery-thumbs .thumb {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 90px;
    aspect-ratio: auto;
}

@media screen and (max-width: 720px) {

    .single-product .gallery-main {
        width: 100%;
        height: auto !important;
        aspect-ratio: 4 / 3;
    }

    .single-product .wg-gallery-img {
        object-fit: contain;
        object-position: center;
    }

    .single-product .gallery-thumbs .thumb {
        height: 76px;
    }
}



/* =========================================================
   WALT GEAR - CUSTOM LOGO UPLOAD
========================================================= */

.single-product .wc-logo-upload-wrap {
    position: relative;
    width: 100%;
    margin: 1.75rem 0 1.5rem !important;
    padding: 1.6rem !important;

    background: var(--cream-dark, #EDE6D6);
    border: 1px solid rgba(45, 74, 45, 0.18);
    border-left: 5px solid var(--forest, #2D4A2D);
    border-radius: 10px;
}

/* Small brand label */
.single-product .wc-logo-upload-wrap::before {
    content: "MAKE IT YOURS";
    display: block;
    margin-bottom: 0.55rem;

    font-family: var(--font-head);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
}

/* Heading */
.single-product .wc-logo-upload-heading {
    margin: 0 0 1rem !important;

    font-family: var(--font-head);
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.35;
    color: var(--black);
}

/* Upload area */
.single-product .wc-logo-upload-control {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;

    width: 100%;
    padding: 1rem;

   
    border: 1px dashed rgba(45, 74, 45, 0.35);
    border-radius: 8px;
}

/* Branded upload button */
.single-product .wc-logo-upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 1.25rem;

    font-family: var(--font-head);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;

    color: #fff;
    background: var(--forest, #2D4A2D);
    border-radius: 6px;
    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.2s ease;
}

.single-product .wc-logo-upload-button:hover {
    background: var(--forest-mid, #3D6B3D);
    transform: translateY(-1px);
}

/* Native input remains available but cleaner */
.single-product .wc-logo-file-input {
    flex: 1 1 240px;
    min-width: 0;

    font-family: var(--font-body);
    font-size: 0.82rem;
    color: var(--stone);
}

/* Hide the browser's extra choose-file button */
.single-product .wc-logo-file-input::file-selector-button {
    display: none;
}

/* Help text */
.single-product .wc-logo-upload-help {
    margin: 0.9rem 0 0 !important;

    font-family: var(--font-body);
    font-size: 0.82rem !important;
    line-height: 1.6;
    color: var(--stone);
}

/* Colour section */
.single-product #wc-logo-colour-section {
    margin-top: 1rem !important;
    padding-top: 1rem;
    border-top: 1px solid rgba(45, 74, 45, 0.15);
}

.single-product #wc-logo-colour-section label {
    margin-bottom: 0.5rem !important;

    font-family: var(--font-head);
    font-size: 0.65rem;
    font-weight: 800 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
}

.single-product #wc_logo_colour {
    width: 100%;
    max-width: 320px;
    min-height: 48px;
    padding: 0 0.9rem !important;

    font-family: var(--font-body);
    font-size: 0.9rem;

    background: #fff;
    border: 1px solid rgba(26, 26, 24, 0.15);
    border-radius: 7px;
}

@media screen and (max-width: 767px) {

    .single-product .wc-logo-upload-wrap {
        padding: 1.25rem !important;
    }

    .single-product .wc-logo-upload-control {
        display: block;
        padding: 0.85rem;
    }

    .single-product .wc-logo-upload-button {
        width: 100%;
        margin-bottom: 0.7rem;
    }

    .single-product .wc-logo-file-input {
        display: block;
        width: 100%;
        font-size: 0.75rem;
    }

    .single-product #wc_logo_colour {
        max-width: 100%;
    }
}



/* =========================================================
   SINGLE PRODUCT REVIEWS - LAYOUT CORRECTION
========================================================= */

/* Remove WooCommerce's desktop columns and floats */
.single-product .product-reviews-section #reviews,
.single-product .product-reviews-section #comments,
.single-product .product-reviews-section #review_form_wrapper,
.single-product .product-reviews-section #review_form {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    position: static !important;
}

/* Main customer reviews only */
.single-product .product-reviews-section #comments > ol.commentlist {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;

    width: 100% !important;
    margin: 0 0 56px !important;
    padding: 0 !important;
    list-style: none !important;

    align-items: start !important;
}

/* Each main review */
.single-product .product-reviews-section #comments > ol.commentlist > li.review {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    list-style: none !important;
}

/* Main white review card */
.single-product .product-reviews-section
#comments > ol.commentlist > li.review > .comment_container {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    padding: 28px !important;
    margin: 0 !important;

    background: #fff !important;
    border: 1px solid rgba(26, 26, 24, 0.12) !important;
    border-radius: 10px !important;
}

/* Do not force text to stretch to a massive equal height */
.single-product .product-reviews-section .comment-text,
.single-product .product-reviews-section .description {
    height: auto !important;
    min-height: 0 !important;
    flex: initial !important;
}

/* Main review author area */
.single-product .product-reviews-section
#comments > ol.commentlist > li.review > .comment_container .meta {
    margin-top: 24px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(26, 26, 24, 0.12) !important;
}

/* =========================================================
   STORE REPLIES - NESTED INSIDE CUSTOMER REVIEW
========================================================= */

.single-product .product-reviews-section
#comments > ol.commentlist > li.review > .children {
    display: block !important;
    width: 100% !important;

    margin: 16px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
    grid-column: auto !important;
}

.single-product .product-reviews-section
#comments > ol.commentlist > li.review > .children > li {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    float: none !important;

    list-style: none !important;
}

.single-product .product-reviews-section
#comments > ol.commentlist > li.review > .children .comment_container {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 12px !important;

    width: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 16px !important;

    background: rgba(45, 74, 45, 0.06) !important;
    border: 1px solid rgba(45, 74, 45, 0.14) !important;
    border-radius: 8px !important;
}

.single-product .product-reviews-section
.children .comment_container img.avatar {
    grid-column: 1 !important;
    width: 36px !important;
    height: 36px !important;

    margin: 0 !important;
    float: none !important;
}

.single-product .product-reviews-section
.children .comment_container .comment-text {
    grid-column: 2 !important;
    margin: 0 !important;
}

.single-product .product-reviews-section
.children .description p {
    margin: 0 0 10px !important;
    font-size: 0.82rem !important;
    line-height: 1.65 !important;
    font-style: normal !important;
}

.single-product .product-reviews-section
.children .meta {
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(45, 74, 45, 0.12) !important;
}

/* =========================================================
   REVIEW FORM - BELOW ALL REVIEWS
========================================================= */

.single-product .product-reviews-section #review_form_wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;

    margin: 0 auto !important;
    padding: 32px !important;

    clear: both !important;
    float: none !important;

    background: rgba(255, 255, 255, 0.82) !important;
    border: 1px solid rgba(26, 26, 24, 0.12) !important;
    border-radius: 10px !important;
}

.single-product .product-reviews-section #review_form {
    display: block !important;
}

.single-product .product-reviews-section #respond {
    width: 100% !important;
    margin: 0 !important;
    position: static !important;
}

.single-product .product-reviews-section .comment-reply-title {
    margin: 0 0 24px !important;
    font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
    text-align: left !important;
}

.single-product .product-reviews-section .comment-form-rating,
.single-product .product-reviews-section .comment-form-comment,
.single-product .product-reviews-section .form-submit {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

@media screen and (max-width: 980px) {

    .single-product .product-reviews-section
    #comments > ol.commentlist {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 680px) {

    .single-product .product-reviews-section {
        padding: 4rem 1.25rem !important;
    }

    .single-product .product-reviews-section
    #comments > ol.commentlist {
        display: flex !important;
        grid-template-columns: none !important;

        gap: 16px !important;
        overflow-x: auto !important;

        margin-right: -1.25rem !important;
        padding-right: 1.25rem !important;
        padding-bottom: 16px !important;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .single-product .product-reviews-section
    #comments > ol.commentlist::-webkit-scrollbar {
        display: none;
    }

    .single-product .product-reviews-section
    #comments > ol.commentlist > li.review {
        flex: 0 0 88% !important;
        scroll-snap-align: start;
    }

    .single-product .product-reviews-section
    #comments > ol.commentlist > li.review > .comment_container {
        padding: 22px !important;
    }

    .single-product .product-reviews-section #review_form_wrapper {
        padding: 22px !important;
    }
}


.shipping-calculator-button{
color:#243c0f;
}

/* Remove bullets from WooCommerce shipping methods */
#shipping_method,
#shipping_method li,
.woocommerce-shipping-methods,
.woocommerce-shipping-methods li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

#shipping_method li::marker,
.woocommerce-shipping-methods li::marker {
    content: "" !important;
}


/* Mobile Shop Page */
@media (max-width: 768px) {

    /* Center all product information */
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        text-align: center;
    }

    /* Center the rating stars */
    .woocommerce ul.products li.product .star-rating {
        margin: 0.75rem auto;
    }

    /* Center the price */
    .woocommerce ul.products li.product .price {
        justify-content: center;
        text-align: center;
    }

    /* Center the button */
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .add_to_cart_button {
        display: inline-block;
        margin: 1rem auto 0;
    }
}


/* =========================================================
   WALT GEAR PRODUCT GALLERY
========================================================= */

.gallery-main {
    width: 100%;
}

/* Main image area */
.gallery-main-inner {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 18px;
    background: #c7c2b6;
}

#wg-gallery-img,
.wg-gallery-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Thumbnail row wrapper */
.gallery-thumbs-wrap {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 46px;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 18px;
}

/* This is the actual scroll area */
.gallery-thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: auto !important;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.gallery-thumbs::-webkit-scrollbar {
    display: none;
}

/* Keep every thumbnail at a fixed size */
.gallery-thumbs .thumb {
    display: block;
    flex: 0 0 110px !important;
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    height: 90px !important;

    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #eee9df;
    cursor: pointer;
    scroll-snap-align: start;
}

.gallery-thumbs .thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.gallery-thumbs .thumb.active {
    border-color: #294f2d;
}

/* Individual thumbnails */
.gallery-thumbs .thumb {
    display: block;
    flex: 0 0 88px;
    width: 88px;
    min-width: 88px;
    height: 88px;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #eee9df;
    cursor: pointer;
    scroll-snap-align: start;
}

.gallery-thumbs .thumb.active {
    border-color: #294f2d;
}

.gallery-thumbs .thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Gallery arrows */
.gallery-arrow {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #294f2d;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.gallery-arrow:hover {
    opacity: 0.85;
}

/* Tablet and mobile */
@media (max-width: 768px) {

    .gallery-main-inner {
        aspect-ratio: 4 / 5;
        border-radius: 0 0 18px 18px;
    }

    .gallery-thumbs-wrap {
        display: block;
        margin-top: 16px;
    }

   

    .gallery-thumbs {
        gap: 10px;
        padding: 4px 8px;
    }

    .gallery-thumbs .thumb {
    flex: 0 0 90px !important;
    width: 90px !important;
    min-width: 90px !important;
    height: 90px !important;
}
}

/* Small phones */
@media (max-width: 480px) {

    .gallery-main-inner {
        aspect-ratio: 4 / 5;
    }

    .gallery-thumbs .thumb {
    flex: 0 0 90px !important;
    width: 90px !important;
    min-width: 90px !important;
    height: 90px !important;
}
}

@media (max-width: 768px) {

    .gallery-thumbs-wrap {
        display: block;
        overflow: hidden;
        height:120px;
    }

    .gallery-arrow {
        display: none;
    }

    .gallery-thumbs {
        width: 100%;
        padding: 4px 8px;
        overflow-x: auto !important;
    }

    .gallery-thumbs .thumb {
        flex: 0 0 82px !important;
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
        height: 82px !important;
    }
}
 

@media (max-width: 768px) {

    .gallery-main-inner {
        aspect-ratio: 4 / 5;
        height: auto !important;
        background: #c7c2b6;
    }

    #wg-gallery-img,
    .wg-gallery-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .gallery-thumbs-wrap {
        width: 100%;
        overflow: hidden;
    }

  
  
 .gallery-thumbs {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        width: 100%;
        padding: 14px 16px;
        overflow-x: auto !important;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
    }

    .gallery-thumbs .thumb {
        flex: 0 0 92px !important;
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        height: 92px !important;
        scroll-snap-align: start;
    }

    .gallery-thumbs .thumb img {
        object-fit: cover !important;
    }
}

@media (max-width: 768px) {

    .product-main {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .gallery-col {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .info-col {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }
}


@media (max-width: 768px) {

    .gallery-thumbs-wrap {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        align-items: center;
        gap: 8px;
        width: 100%;
        padding: 0 8px;
    }

    .gallery-arrow {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
    }

}
    /*ten rating while retaining the rating width */
.product-reviews-section .star-rating span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    color: transparent;
    white-space: nowrap;
}

/* Filled stars */
.product-reviews-section .star-rating span::before {
    content: "★★★★★";
    position: absolute;
    top: 0;
    left: 0;
    color: #78956f;
    white-space: nowrap;
}

/* Hide the visible rating wording */
.product-reviews-section .star-rating strong {
    color: transparent;
}



/*===============SHOP INNER===============*/

.shop-inner{
margin-bottom:50px;
}


/* =========================================================
   LEADERBOARD - MOBILE
========================================================= */

@media (max-width: 767px) {

    .leaderboard-table {
        overflow: hidden;
        border-radius: 18px;
    }

    .lb-header,
    .lb-row {
        display: grid;
        grid-template-columns: 24px 110px 90px 70px;
        gap: 8px;
        align-items: center;
        padding: 16px 12px;
    }

    /* Header */
    .lb-header span {
        font-size: 9px;
        letter-spacing: .15em;
        text-transform: uppercase;
    }

    /* Rank */
    .lb-rank {
        font-size: 12px;
        font-weight: 700;
    }

    /* Guardian */
    .lb-name {
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
    }

    /* Region */
    .lb-region {
        font-size: 10px;
        line-height: 1.2;
        color: #8d8578;
    }

    /* Releases */
    .lb-releases {
        font-size: 11px;
        font-weight: 700;
        color: #31533a;
        white-space: nowrap;
        text-align: right;
    }

    .lb-row {
        min-height: 72px;
    }
}

@media (max-width:767px){

    .leaderboard-table{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .lb-header,
    .lb-row{
        min-width:350px;
    }

}


/* =========================================================
   EMPTY CART - MOBILE
========================================================= */

@media (max-width: 767px) {

    .woocommerce-cart .cart-empty,
    .woocommerce-cart .return-to-shop {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Space above the heading */
    .woocommerce-cart .entry-content {
        padding: 50px 24px 70px;
    }

    /* CART heading */
    .woocommerce-cart h1,
    .woocommerce-cart .entry-title {
        margin: 25px 0 35px;
        font-size: clamp(48px, 12vw, 68px);
        line-height: .95;
    }

    /* Empty cart message */
    .woocommerce-cart .cart-empty {
        margin-bottom: 35px;
        font-size: 1.25rem;
        text-align: center;
    }

    /* Return to shop button */
    .woocommerce-cart .return-to-shop {
        margin-top: 0;
    }

    .woocommerce-cart .return-to-shop .button {
        width: 100%;
        min-height: 62px;
        border-radius: 14px;
        font-size: 1rem;
        letter-spacing: .18em;
    }

}


/* =========================================================
   LEADERBOARD TABS
========================================================= */

.leaderboard-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 300px));
    justify-content: center;
    gap: 18px;
    margin: 42px auto 55px;
}

.leaderboard-tab {
    min-height: 76px;
    padding: 18px 28px;
    border: 2px solid rgba(31, 61, 76, 0.4);
    border-radius: 14px;
    background: transparent;
    color: #1f3d4c;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.2;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.leaderboard-tab:hover {
    transform: translateY(-2px);
}

.leaderboard-tab.active {
    border-color: #86a77f;
    background: #86a77f;
    color: #24482b;
}

.leaderboard-panel {
    display: none;
}

.leaderboard-panel.active {
    display: block;
}

/* Mobile */
@media (max-width: 767px) {

    .leaderboard-tabs {
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 10px;
        margin: 30px auto 38px;
    }

    .leaderboard-tab {
        min-height: 62px;
        padding: 14px 10px;
        border-radius: 10px;
        font-size: 10px;
        letter-spacing: 0.1em;
    }
}

/* =========================================================
   FIT FINDER
========================================================= */

#ff-panel[hidden] {
    display: none !important;
}

#ff-panel {
    margin-top: 18px;
    padding: 24px;
    border: 1px solid rgba(28, 28, 26, 0.12);
    border-radius: 12px;
    background: #f7f4ec;
}

#ff-panel .ff-title {
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: 800;
}

#ff-panel .ff-subtitle {
    margin: 0 0 20px;
    color: #837d70;
    font-size: 14px;
    line-height: 1.6;
}

#ff-panel .ff-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

#ff-panel .ff-field label {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#ff-panel input,
#ff-panel select {
    width: 100%;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid rgba(28, 28, 26, 0.14);
    border-radius: 6px;
    background: #fff;
    color: #1c1c1a;
    font: inherit;
}

#ff-panel .ff-btn {
    width: 100%;
    min-height: 52px;
    margin-top: 8px;
    border: 0;
    border-radius: 6px;
    background: #284f31;
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
}

#ff-panel .ff-result {
    display: none;
    margin-top: 18px;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
}

#ff-panel .ff-result.visible {
    display: block;
}

@media (max-width: 767px) {
    #ff-panel {
        padding: 20px 16px;
    }

    #ff-panel .ff-row {
        grid-template-columns: 1fr;
    }
}

#ff-panel[hidden] {
    display: none !important;
}

.lb-header,
.lb-row{
    display:grid;
    grid-template-columns:70px 1fr 160px;
    align-items:center;
}


/* =========================================================
   WALT GEAR MAIN GALLERY ARROWS
   Keep this at the bottom of style.css
========================================================= */

#wg-gallery-prev,
#wg-gallery-next {
    position: absolute !important;
    top: 50% !important;
    z-index: 999 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;

    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background-color: var(--forest, #2D4A2D) !important;
    background-image: none !important;

    color: #ffffff !important;

    font-family: Arial, sans-serif !important;
    font-size: 0 !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    text-indent: 0 !important;
    text-transform: none !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    cursor: pointer !important;

    transform: translateY(-50%) !important;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.22) !important;

    opacity: 1 !important;
    visibility: visible !important;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease !important;
}

#wg-gallery-prev {
    left: 22px !important;
    right: auto !important;
}

#wg-gallery-next {
    right: 22px !important;
    left: auto !important;
}

/* Hide the HTML arrow character */
#wg-gallery-prev span,
#wg-gallery-next span {
    display: none !important;
}

/* Draw clean arrows with CSS */
#wg-gallery-prev::before,
#wg-gallery-next::before {
    content: "" !important;

    display: block !important;

    width: 11px !important;
    height: 11px !important;

    border-top: 3px solid #ffffff !important;
    border-right: 3px solid #ffffff !important;

    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
}

#wg-gallery-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg) !important;
}

#wg-gallery-next::before {
    transform: translate(-65%, -50%) rotate(45deg) !important;
}

#wg-gallery-prev:hover,
#wg-gallery-next:hover {
    background-color: var(--forest-mid, #3D6B3D) !important;
    transform: translateY(-50%) scale(1.07) !important;
}

#wg-gallery-prev:focus,
#wg-gallery-next:focus,
#wg-gallery-prev:active,
#wg-gallery-next:active {
    background-color: var(--forest, #2D4A2D) !important;
    color: #ffffff !important;
    outline: none !important;
}

#wg-gallery-prev:focus-visible,
#wg-gallery-next:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.9) !important;
    outline-offset: 3px !important;
}

/* The arrows position themselves inside this container */
.gallery-main-inner {
    position: relative !important;
}

@media (max-width: 768px) {

    #wg-gallery-prev,
    #wg-gallery-next {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }

    #wg-gallery-prev {
        left: 12px !important;
    }

    #wg-gallery-next {
        right: 12px !important;
    }

    #wg-gallery-prev::before,
    #wg-gallery-next::before {
        width: 9px !important;
        height: 9px !important;

        border-top-width: 2px !important;
        border-right-width: 2px !important;
    }
}


/* =========================================================
   WALT GEAR - CHECKOUT LOGIN + COUPON CARDS
========================================================= */

/* Outer olive card */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    width: 100%;
    margin: 0 0 18px !important;
    padding: 16px !important;

    /*background: var(--forest, #2D4A2D) !important;*/
    border: none !important;
    border-radius: 12px !important;

    /*box-shadow: 0 12px 30px rgba(26, 26, 24, 0.06);*/
}

/* Remove the old WooCommerce white coupon wrapper */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    border: none !important;
}

/* Inner beige notice */
.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info,

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info {
    position: relative;

    min-height: 74px;
    margin: 0 !important;
    padding: 20px 24px 20px 64px !important;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    background: var(--cream-dark, #EDE6D6) !important;
    border: none !important;
    border-radius: 9px !important;

    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.5;

    color: var(--stone, #8A8272) !important;
}

/* Remove WooCommerce's default icon */
.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info::before,

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info::before {
    display: none !important;
}

/* Branded round icon */
.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info::after,

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info::after {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    border-radius: 50%;
    background: rgba(45, 74, 45, 0.12);

    font-family: var(--font-head);
    font-size: 0.74rem;
    font-weight: 900;
    color: var(--forest, #2D4A2D);
}

.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info::after {
    content: "→";
}

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info::after {
    content: "%";
}

/* Links */
.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info a,

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info a {
    display: inline-block;
    margin-left: 6px;

    font-family: var(--font-head);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--forest, #2D4A2D) !important;
    text-decoration: none !important;

    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}

.woocommerce-checkout
.woocommerce-form-login-toggle
.woocommerce-info a:hover,

.woocommerce-checkout
.woocommerce-form-coupon-toggle
.woocommerce-info a:hover {
    color: var(--forest-mid, #3D6B3D) !important;
}

/* =========================================================
   WALT GEAR - CHECKOUT ACCOUNT CREATION
========================================================= */

/* Outer account section - olive green */
.woocommerce-checkout .woocommerce-account-fields {
    position: relative;
    margin: 2.5rem 0;
    padding: 2rem;

    background: var(--forest, #2D4A2D);
    border: none;
    border-radius: 12px;
    box-shadow: 0 14px 35px rgba(26, 26, 24, 0.08);
}

/* Main heading */
.woocommerce-checkout .woocommerce-account-fields::before {
    content: "CREATE YOUR WALT GEAR ACCOUNT";
    display: block;
    margin-bottom: 0.45rem;

    font-family: var(--font-head);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;

    color: #fff;
}

/* Supporting text */
.woocommerce-checkout .woocommerce-account-fields::after {
    content: "Track orders, save your details and checkout faster next time.";
    display: block;
    margin-top: 1rem;

    font-family: var(--font-body);
    font-size: 0.86rem;
    font-weight: 300;
    line-height: 1.6;

    color: rgba(255, 255, 255, 0.68);
}

/* Inner form block - beige */
.woocommerce-checkout .woocommerce-account-fields .create-account {
    margin: 1.5rem 0 0 !important;
    padding: 1.6rem !important;

    background: var(--cream-dark, #EDE6D6) !important;
    border: none !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

/* Remove heading/text previously applied to inner block */
.woocommerce-checkout .woocommerce-account-fields .create-account::before,
.woocommerce-checkout .woocommerce-account-fields .create-account::after {
    content: none !important;
    display: none !important;
}

/* Field rows */
.woocommerce-checkout .woocommerce-account-fields .form-row {
    margin: 0 0 1.25rem !important;
}

.woocommerce-checkout .woocommerce-account-fields .form-row:last-child {
    margin-bottom: 0 !important;
}

/* Labels */
.woocommerce-checkout .woocommerce-account-fields label {
    display: block !important;
    margin-bottom: 0.6rem !important;

    font-family: var(--font-head);
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase;

    color: var(--black, #1A1A18) !important;
}

/* Inputs */
.woocommerce-checkout .woocommerce-account-fields input.input-text,
.woocommerce-checkout .woocommerce-account-fields input[type="text"],
.woocommerce-checkout .woocommerce-account-fields input[type="password"] {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 16px !important;

    font-family: var(--font-body);
    font-size: 1rem !important;

    color: var(--black, #1A1A18) !important;
    background: #fff !important;

    border: 1px solid rgba(26, 26, 24, 0.14) !important;
    border-radius: 7px !important;
    outline: none !important;

    box-shadow: none !important;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.woocommerce-checkout .woocommerce-account-fields input:focus {
    border-color: var(--forest, #2D4A2D) !important;
    box-shadow: 0 0 0 3px rgba(45, 74, 45, 0.1) !important;
}

.woocommerce-checkout .woocommerce-account-fields input::placeholder {
    color: #9a9386 !important;
    opacity: 1;
}



/* Coral Mint swatch */

.colour-swatches .swatch[data-colour="coral-mint"] {

    background-color: #a5c2bd !important;

}


/* =========================================================
   WALT GEAR - MY ACCOUNT
========================================================= */

.nav-account {
    display: inline-flex;
    align-items: center;
    color: #2e2925;
    font-family: "Montserrat", sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

.nav-account:hover {
    opacity: 0.65;
}

/* =========================================================
   HEADER - MY ACCOUNT
========================================================= */

.nav-account {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 0 1.15rem;

    border: 1px solid rgba(46, 41, 37, 0.16);
    border-radius: 6px;

    color: #2e2925;
    background: transparent;

    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none !important;

    white-space: nowrap;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.nav-account:hover {
    color: #ffffff;
    background-color: #2d4a2d;
    border-color: #2d4a2d;
}

.nav-account:focus,
.nav-account:focus-visible {
    outline: 2px solid #2d4a2d;
    outline-offset: 3px;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}


/* =========================================================
   WALT GEAR - MY ACCOUNT
========================================================= */

body.woocommerce-account {
    background: #f7f3ec;
}

body.woocommerce-account .woocommerce {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 140px 0 90px;
}

/* Account page heading */
body.woocommerce-account .entry-title {
    margin: 0 0 2rem;

    color: #2e2925;

    font-family: "Montserrat", sans-serif;
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}

/* Normal WooCommerce two-column layout */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 25%;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 70%;
}

/* Navigation */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;

    list-style: none;

    border: 1px solid rgba(46, 41, 37, 0.12);
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::before {
    display: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 1rem 1.2rem;

    border-bottom: 1px solid rgba(46, 41, 37, 0.08);

    color: #2e2925;

    font-family: "Montserrat", sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
    border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    color: #ffffff;
    background: #2d4a2d;
}

/* Main content */
body.woocommerce-account .woocommerce-MyAccount-content {
    min-height: 320px;
    padding: 2rem 2.25rem;

    border: 1px solid rgba(46, 41, 37, 0.1);
    border-radius: 12px;

    background: #ffffff;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
    margin: 0 0 1rem;

    color: #5f5a54;

    font-family: "Roboto", sans-serif;
    font-size: 1rem;
    line-height: 1.75;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
    color: #5c6e3f;
    font-weight: 700;
}

/* Clear floated columns */
body.woocommerce-account .woocommerce::after {
    display: table;
    clear: both;
    content: "";
}

/* Mobile */
@media (max-width: 768px) {

    body.woocommerce-account .woocommerce {
        width: calc(100% - 24px);
        padding: 105px 0 60px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 1.25rem;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.5rem;
    }
}


/* =========================================================
   MY ACCOUNT - FINAL LAYOUT FIX
========================================================= */

body.woocommerce-account .woocommerce {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    /* Push everything below the fixed header */
    padding-top: 170px !important;
    padding-bottom: 80px;
}

/* Keep the two columns aligned at the top */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    margin-top: 0 !important;
}

/* Left menu */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 26%;
}

/* Right content */
body.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 70%;

    min-height: 0;
    padding: 2rem 2.25rem;
    margin: 0;

    background: #ffffff;
    border: 1px solid rgba(46, 41, 37, 0.10);
    border-radius: 12px;
    box-shadow: none;
}

/* Prevent the content from sitting too low */
body.woocommerce-account .woocommerce-MyAccount-content > *:first-child {
    margin-top: 0 !important;
}

/* Heading spacing */
body.woocommerce-account .entry-title,
body.woocommerce-account .woocommerce > h1 {
    margin: 0 0 2.25rem;
}

/* Clear floats properly */
body.woocommerce-account .woocommerce::after {
    display: table;
    clear: both;
    content: "";
}

@media (max-width: 768px) {

    body.woocommerce-account .woocommerce {
        width: calc(100% - 24px);
        padding-top: 120px !important;
        padding-bottom: 60px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 1.25rem !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.5rem;
    }
}

body.woocommerce-account .woocommerce-MyAccount-content {
    min-height: 320px;
}


/* =========================================================
   MY ACCOUNT - CLEAN FINAL LAYOUT
========================================================= */

body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 2rem;

    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 170px 0 80px !important;

    align-items: start;
}

/* Remove old WooCommerce floats */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* =========================================================
   LEFT ACCOUNT MENU
========================================================= */

body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: relative;
    top: 0;

    border: 1px solid rgba(46, 41, 37, 0.12);
    border-radius: 12px;
    overflow: hidden;

    background: #ffffff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
    border-bottom: 1px solid rgba(46, 41, 37, 0.09);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::before,
body.woocommerce-account .woocommerce-MyAccount-navigation li::marker {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block !important;

    padding: 1.15rem 1.25rem !important;

    color: #2e2925 !important;
    background: #ffffff !important;

    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    color: #ffffff !important;
    background: #2d4a2d !important;
}

/* =========================================================
   RIGHT CONTENT BLOCK
========================================================= */

body.woocommerce-account .woocommerce-MyAccount-content {
    min-width: 0;
    padding: 2rem;

    background: #ffffff;
    border: 1px solid rgba(46, 41, 37, 0.1);
    border-radius: 12px;
}

/* =========================================================
   ORDERS TABLE
========================================================= */

body.woocommerce-account table.shop_table {
    display: table !important;

    width: 100% !important;
    margin: 1.5rem 0 0 !important;

    table-layout: auto;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    border: none !important;
}

body.woocommerce-account table.shop_table thead {
    display: table-header-group !important;
}

body.woocommerce-account table.shop_table tbody {
    display: table-row-group !important;
}

body.woocommerce-account table.shop_table tr {
    display: table-row !important;
}

body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td {
    display: table-cell !important;

    padding: 1rem 0.85rem !important;

    vertical-align: middle;
    text-align: left;
    white-space: normal;

    border-bottom: 1px solid rgba(46, 41, 37, 0.1) !important;
}

body.woocommerce-account table.shop_table th {
    color: #2e2925;

    font-family: "Montserrat", sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.woocommerce-account table.shop_table td {
    color: #5f5a54;

    font-family: "Roboto", sans-serif;
    font-size: 0.92rem;
    line-height: 1.5;
}

body.woocommerce-account table.shop_table td a {
    color: #5c6e3f;
    font-weight: 700;
    text-decoration: none;
}

/* Give useful widths to the columns */
body.woocommerce-account
table.shop_table
.woocommerce-orders-table__header-order-number {
    width: 13%;
}

body.woocommerce-account
table.shop_table
.woocommerce-orders-table__header-order-date {
    width: 18%;
}

body.woocommerce-account
table.shop_table
.woocommerce-orders-table__header-order-status {
    width: 15%;
}

body.woocommerce-account
table.shop_table
.woocommerce-orders-table__header-order-total {
    width: 27%;
}

body.woocommerce-account
table.shop_table
.woocommerce-orders-table__header-order-actions {
    width: 17%;
}

/* Order action buttons */
body.woocommerce-account
.woocommerce-orders-table__cell-order-actions
.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    margin: 0.2rem 0.2rem 0.2rem 0 !important;
    padding: 0.65rem 0.9rem !important;

    border: none !important;
    border-radius: 6px !important;

    color: #ffffff !important;
    background: #2d4a2d !important;

    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
}

/* Confirm email notice */
body.woocommerce-account .woocommerce-info {
    margin: 0 0 1.5rem !important;
    padding: 1.25rem 1.5rem !important;

    border: none !important;
    border-left: 4px solid #5c6e3f !important;

    color: #2e2925;
    background: #f5f0e8;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 800px) {

    body.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 1.25rem;

        width: calc(100% - 24px);
        padding: 115px 0 60px !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.25rem;
    }

    body.woocommerce-account table.shop_table,
    body.woocommerce-account table.shop_table tbody,
    body.woocommerce-account table.shop_table tr,
    body.woocommerce-account table.shop_table td {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-account table.shop_table thead {
        display: none !important;
    }

    body.woocommerce-account table.shop_table tr {
        margin-bottom: 1rem;
        padding: 1rem;

        border: 1px solid rgba(46, 41, 37, 0.1);
        border-radius: 10px;
    }

    body.woocommerce-account table.shop_table td {
        display: flex !important;
        justify-content: space-between;
        gap: 1rem;

        padding: 0.6rem 0 !important;
        border-bottom: 1px solid rgba(46, 41, 37, 0.08) !important;
    }

    body.woocommerce-account table.shop_table td:last-child {
        border-bottom: none !important;
    }

    body.woocommerce-account table.shop_table td::before {
        font-family: "Montserrat", sans-serif;
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
    }
}


/* =========================================================
   MY ACCOUNT - POSITION AND NAVIGATION FIX
========================================================= */

/* Keep the account layout directly below the header */
body.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 2rem !important;
    align-items: start !important;

    width: min(1240px, calc(100% - 48px)) !important;
    margin: 0 auto !important;

    padding-top: 0px !important;
    padding-bottom: 80px !important;
}

/* Stop the left menu from being clipped */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    display: block !important;
    position: static !important;

    width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    float: none !important;

    background: #ffffff;
    border: 1px solid rgba(46, 41, 37, 0.12);
    border-radius: 12px;
}

/* Show the full navigation list */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    list-style: none !important;
}

/* Show every account menu item */
body.woocommerce-account .woocommerce-MyAccount-navigation li {
    display: block !important;
    visibility: visible !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    list-style: none !important;

    border-bottom: 1px solid rgba(46, 41, 37, 0.09);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::before,
body.woocommerce-account .woocommerce-MyAccount-navigation li::marker {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block !important;

    width: 100% !important;
    padding: 1.1rem 1.25rem !important;

    color: #2e2925 !important;
    background: #ffffff !important;

    font-family: "Montserrat", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    color: #ffffff !important;
    background: #2d4a2d !important;
}

/* Right account content */
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 2.25rem !important;

    background: #ffffff;
    border: 1px solid rgba(46, 41, 37, 0.11);
    border-radius: 12px;
}

/* Remove excessive spacing inside the content */
body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
    margin-top: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
    margin-bottom: 0 !important;
}

.nicepage-container .u-section-2 .u-text-1 {
    margin: 100px 0 0!important;
}