/*!
Theme Name: Salana
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: salana
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Salana is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

:root{
    --navy:#192A48;
    --navy-deep:#101B30;
    --ivory:#F4F1E9;
    --ivory-line:#DDD6C4;
    --ink:#191813;
    --glacier:#2E8BC6;
    --glacier-deep:#1F6694;
    --terracotta:#C32C21;
    --terracotta-deep:#962017;
    --gold:#A8823C;
    --gold-deep:#86692E;
    --stone:#827A68;
    --white:#FFFFFF;
    --display:'Cormorant Garamond', serif;
    --body:'Inter', sans-serif;
    --mono:'IBM Plex Mono', monospace;
    --max:1240px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--body);
    color:var(--ink);
    background:var(--ivory);
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  h1,h2,h3{font-family:var(--display);margin:0;font-weight:400;letter-spacing:0.01em;line-height:1.12;}
  h1{font-size:clamp(46px,6vw,88px);}
  h2{font-size:clamp(34px,4vw,54px);}
  h3{font-size:clamp(20px,2.2vw,26px);}
  p{margin:0;line-height:1.65;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--terracotta);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{content:"";width:18px;height:1px;background:var(--terracotta);display:inline-block;}
  .eyebrow.light{color:var(--glacier);}
  .eyebrow.light::before{background:var(--glacier);}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;
    padding:16px 28px;border-radius:1px;border:1px solid transparent;
    transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, gap .25s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--gold);color:var(--white);}
  .btn-primary:hover{background:var(--gold-deep); transform:translateY(-1px);}
  .btn-link{
    padding:6px 0;border:none;background:none;gap:10px;
    border-bottom:1px solid rgba(255,255,255,.4);border-radius:0;
  }
  .btn-link::after{content:"→";transition:transform .25s ease;}
  .btn-link:hover{border-color:#fff;gap:14px;}
  .btn-link-dark{color:var(--ink);border-bottom:1px solid var(--ink);}
  .btn-link-dark:hover{gap:14px;}
  .btn-outline{border-color:rgba(255,255,255,.5);color:var(--white);}
  .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08); transform:translateY(-1px);}
  .btn-outline-dark{border-color:var(--ink);color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink);color:var(--ivory);}
  .btn-ghost{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);border-bottom:1px solid var(--ivory-line);padding:4px 0;}
  .btn-ghost:hover{color:var(--ink);border-color:var(--ink);}
  .btn:disabled{opacity:.4;cursor:not-allowed;}

  /* ---------- Ridge divider (signature element) ---------- */
  .ridge{display:block;width:100%;height:46px;}
  .ridge path{fill:currentColor;}
  .ridge--to-navy{color:var(--navy); margin-bottom:-1px;}
  .ridge--to-ivory{color:var(--ivory); margin-bottom:-1px;}
  .ridge--to-deep{color:var(--navy-deep); margin-bottom:-1px;}

  /* ---------- Nav ---------- */
  .nav{
    position:sticky;top:0;z-index:60;
    background:var(--navy);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{height:44px;width:44px;border-radius:50%;object-fit:cover;}
  .brand-word{font-family:var(--display);font-style:italic;font-size:18px;color:var(--white);letter-spacing:0.02em;font-weight:300;}
  .nav-links ul{display:flex;align-items:center;gap:32px;}
  .nav-links a{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.68); padding:6px 0; border-bottom:1px solid transparent;
    transition:color .2s ease, border-color .2s ease;
  }
  .nav-links a:hover, .nav-links a.active{color:#fff;border-color:var(--terracotta);}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .cart-btn{
    position:relative;display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#fff;
    font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  }
  .cart-btn svg{width:20px;height:20px;}
  .cart-count{
    position:absolute;top:-8px;right:-10px;min-width:17px;height:17px;border-radius:50%;
    background:var(--terracotta);color:#fff;font-size:10px;font-family:var(--mono);
    display:flex;align-items:center;justify-content:center;padding:0 3px;
    transition:transform .25s ease;
  }
  .cart-count.bump{transform:scale(1.35);}
  .hamburger{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:6px;}
  .hamburger span{width:22px;height:2px;background:#fff;display:block;}

  /* ---------- Hero ---------- */
  .hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
  .hero-photo{position:absolute;inset:0;z-index:0;}
  .hero-clip{position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity 1.8s ease-in-out;}
  .hero-clip.active{opacity:1;}
  .hero-clip video,.hero-clip img{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:heroZoom 22s ease-in-out infinite alternate;}
  @keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.06);}}
  @media(prefers-reduced-motion:reduce){.hero-clip video,.hero-clip img{animation:none;}}
  /* Gradient: slightly dark veil top for depth, heavier dark at bottom for text */
  .hero::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(to bottom,
      rgba(16,27,48,.32) 0%,
      rgba(16,27,48,.18) 38%,
      rgba(16,27,48,.62) 68%,
      rgba(16,27,48,.90) 100%
    );
  }
  .hero .wrap{padding-top:96px;padding-bottom:96px;position:relative;z-index:3;}
  .hero .eyebrow{text-shadow:0 1px 8px rgba(12,22,40,.6);}
  .hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:end;}
  .hero h1{
    font-size:clamp(48px,6.2vw,88px);
    line-height:1.05;
    color:#fff;
    max-width:14ch;
    font-weight:400;
    letter-spacing:0.01em;
    text-shadow:0 2px 32px rgba(12,22,40,.65), 0 1px 6px rgba(12,22,40,.5);
  }
  .hero h1 em{
    font-style:italic;
    color:#b8d8f0;
    font-weight:300;
    text-shadow:0 2px 32px rgba(12,22,40,.8), 0 1px 6px rgba(12,22,40,.6);
  }
  .hero-sub{font-size:17px;color:rgba(255,255,255,.95);max-width:42ch;margin-top:24px;line-height:1.65;text-shadow:0 1px 12px rgba(12,22,40,.55);}
  .hero-ctas{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap;}
  .hero-card{
    border:1px solid rgba(255,255,255,.18);
    padding:26px;border-radius:2px;
    background:rgba(14,24,42,.72);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  .hero-card .eyebrow{margin-bottom:14px;color:rgba(255,255,255,.6);letter-spacing:.1em;}
  .hero-card-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--mono);font-size:13px;}
  .hero-card-row:last-child{border-bottom:none;}
  .hero-card-row span:first-child{color:rgba(255,255,255,.52);}
  .hero-card-row span:last-child{color:#fff;font-weight:500;}

  /* ---------- Credential marquee ---------- */
  .marquee-wrap{background:var(--navy-deep);overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
  .marquee{display:flex;width:max-content;animation:scroll 32s linear infinite;}
  .marquee-track{display:flex;align-items:center;gap:0;}
  .marquee span{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
    color:rgba(255,255,255,.6); padding:16px 28px; white-space:nowrap;
  }
  .marquee span.dot{color:var(--terracotta);padding:16px 0;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- Section generic ---------- */
  section{padding:128px 0;}
  .section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:64px;padding-bottom:28px;border-bottom:1px solid var(--ivory-line);}
  .section-head h2{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:0.01em;}
  .section-head p{color:var(--stone);max-width:46ch;}
  .process .section-head{border-color:rgba(255,255,255,.14);}

  /* ---------- Photo frames (standby photography, swap before launch) ---------- */
  .photo-frame{position:relative;overflow:hidden;background:var(--ivory-line);}
  .photo-frame img{width:100%;height:100%;object-fit:cover;display:block;}
  .photo-cap{
    position:absolute;bottom:0;left:0;right:0;padding:10px 14px;
    background:linear-gradient(to top, rgba(16,27,48,.78), transparent);
    font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#fff;
  }
  .duotone{position:relative;}
  .duotone img,.duotone video{display:block;}
  .duotone::after{content:"";position:absolute;inset:0;}
  .duotone.tone-navy::after{background:linear-gradient(165deg, rgba(16,27,48,.62), rgba(31,102,148,.32));}
  .duotone.tone-terracotta::after{background:linear-gradient(165deg, rgba(150,32,23,.5), rgba(195,44,33,.22));}

  /* ---------- Heritage (spec-sheet section) ---------- */
  .heritage{background:var(--ivory);}
  .heritage-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}
  .heritage h2{font-size:clamp(36px,4vw,52px);margin-bottom:22px;font-weight:400;}
  .heritage p.lead{font-size:16.5px;color:#3a362e;max-width:50ch;line-height:1.7;}
  .heritage p.body-2{margin-top:18px;color:var(--stone);max-width:52ch;}
  .specsheet{border:1px solid var(--ivory-line);background:#fff;}
  .specsheet-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--ivory-line);}
  .specsheet-head .eyebrow{margin:0;}
  .specsheet-id{font-family:var(--mono);font-size:11px;color:var(--stone);}
  .specrow{display:flex;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--ivory-line);font-family:var(--mono);font-size:13px;}
  .specrow:last-child{border-bottom:none;}
  .specrow span:first-child{color:var(--stone);}
  .specrow span:last-child{color:var(--ink);font-weight:500;}

  /* ---------- Process ---------- */
  .process{background:var(--navy);color:#fff;}
  .process .section-head p{color:rgba(255,255,255,.55);}
  .process .section-head h2{color:#fff;}
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:1px;}
  .step{padding:24px 22px 28px;background:var(--navy);display:flex;flex-direction:column;}
  .step-photo{width:100%;aspect-ratio:4/3;overflow:hidden;margin-bottom:20px;flex-shrink:0;}
  .step-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .step-index{font-family:var(--mono);font-size:11.5px;color:var(--terracotta);letter-spacing:.06em;margin-bottom:2px;}
  .step h3{font-size:22px;margin:10px 0 10px;color:#fff;font-weight:400;letter-spacing:0.01em;}
  .step p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;}

  /* ---------- Capabilities ---------- */
  .capabilities{background:var(--ivory);}
  .cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ivory-line);border:1px solid var(--ivory-line);}
  .cap-card{background:var(--ivory);padding:34px;}
  .cap-card .eyebrow{margin-bottom:18px;}
  .cap-card h3{font-size:24px;margin-bottom:14px;font-weight:400;letter-spacing:0.01em;}
  .cap-card-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--ivory-line);font-family:var(--mono);font-size:12.5px;}
  .cap-card-row:last-child{border-bottom:none;}
  .cap-card-row span:first-child{color:var(--stone);}
  .cap-foot{margin-top:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--ivory-line);padding-top:36px;}
  .cap-foot p{max-width:48ch;color:var(--stone);}

  /* ---------- Contact / wholesale form ---------- */
  .contact{
    br{
      display: none;
    }
  }
  .contact{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden;}
  .contact-photo{position:absolute;inset:0;z-index:0;opacity:.22;}
  .contact-photo img{width:100%;height:100%;object-fit:cover;}
  .contact::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, var(--navy-deep) 40%, transparent);z-index:1;}
  .contact .wrap{position:relative;z-index:2;}
  .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;}
  .contact h2{color:#fff;font-size:clamp(28px,3.4vw,42px);margin-bottom:18px;}
  .contact p.lead{color:rgba(255,255,255,.6);max-width:40ch;}
  .contact-detail{margin-top:34px;border-top:1px solid rgba(255,255,255,.14);padding-top:24px;}
  .contact-detail div{display:flex;justify-content:space-between;padding:9px 0;font-family:var(--mono);font-size:13px;border-bottom:1px solid rgba(255,255,255,.08);}
  .contact-detail span:first-child{color:rgba(255,255,255,.5);}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .form-grid .full{grid-column:1/-1;}
  .field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;}
  .field input,.field select,.field textarea{
    width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.18);color:#fff;
    padding:13px 14px;font-family:var(--body);font-size:14px;border-radius:2px;
  }
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.32);}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--glacier);outline-offset:1px;border-color:var(--glacier);}
  .field textarea{resize:vertical;min-height:90px;}
  .form-msg{font-family:var(--mono);font-size:13px;color:var(--glacier);margin-top:16px;min-height:18px;}

  /* ---------- Footer ---------- */
  footer{background:var(--navy);color:rgba(255,255,255,.65);padding:64px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .foot-brand img{height:38px;width:38px;border-radius:50%;}
  .foot-brand span{font-family:var(--display);font-style:italic;font-size:21px;color:#fff;}
  footer p{font-size:13.5px;max-width:32ch;}
  footer h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px;font-weight:400;}
  footer ul li{margin-bottom:10px;font-size:13.5px;}
  footer ul li a:hover{color:#fff;}
  .news-row{display:flex;gap:0;margin-top:14px;border:1px solid rgba(255,255,255,.2);}
  .news-row input{flex:1;background:transparent;border:none;padding:12px 14px;color:#fff;font-size:13px;font-family:var(--body);}
  .news-row input::placeholder{color:rgba(255,255,255,.35);}
  .news-row button{background:var(--terracotta);border:none;color:#fff;padding:0 18px;font-family:var(--mono);font-size:12px;text-transform:uppercase;}
  .foot-bottom{display:flex;justify-content:space-between;padding-top:24px;font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:10px;}

  /* ============ MARKET PAGE ============ */
  .market-hero{background:var(--navy);color:#fff;padding:80px 0 64px;position:relative;overflow:hidden;}
  .market-photo{position:absolute;inset:0;z-index:0;opacity:.32;}
  .market-photo img{width:100%;height:100%;object-fit:cover;}
  .market-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(16,27,48,.4), var(--navy) 92%);z-index:1;}
  .market-hero .wrap{position:relative;z-index:2;}
  .market-hero h1{font-size:clamp(42px,5vw,70px);max-width:16ch;font-weight:400;letter-spacing:0.01em;}
  .market-hero p{color:rgba(255,255,255,.65);max-width:48ch;margin-top:18px;font-size:16px;}
  .market-note{display:flex;gap:10px;align-items:flex-start;margin-top:28px;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.5);max-width:50ch;border-left:2px solid var(--terracotta);padding-left:14px;}

  .market-bar{
    position:sticky;top:84px;z-index:40;background:var(--ivory);border-bottom:1px solid var(--ivory-line);
    padding:18px 0;
  }
  .market-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .filters{display:flex;gap:8px;flex-wrap:wrap;}
  .filter-btn{
    font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;
    padding:9px 16px;border:1px solid var(--ivory-line);background:#fff;color:var(--stone);border-radius:20px;
    transition:all .2s ease;
  }
  .filter-btn.active,.filter-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--ivory);}
  .result-count{font-family:var(--mono);font-size:12px;color:var(--stone);}

  .market-grid{background:var(--ivory);padding-top:56px;}
  .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ivory-line);border:1px solid var(--ivory-line);}
  .product-card{background:var(--ivory);display:flex;flex-direction:column;}
  .swatch{
    aspect-ratio:1/1;position:relative;overflow:hidden;background:var(--ivory-line);
  }
  .swatch img{width:100%;height:100%;object-fit:cover;display:block;}
  .swatch::before{content:"";position:absolute;inset:0;opacity:.4;}
  .swatch::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px rgba(0,0,0,.18);}
  .swatch-glacier::before{background:linear-gradient(150deg,#3f84a8,#1F6694);}
  .swatch-terracotta::before{background:linear-gradient(150deg,#c0573c,#962017);}
  .swatch-ivory::before{background:linear-gradient(150deg,#d9cdae,#b6a37c);}
  .swatch-charcoal::before{background:linear-gradient(150deg,#54504a,#27241f);}
  .swatch-stone::before{background:linear-gradient(150deg,#a59c87,#73695a);}
  .swatch-navy::before{background:linear-gradient(150deg,#26426c,#101B30);}
  .swatch-tag{
    position:absolute;bottom:10px;left:10px;background:rgba(255,255,255,.92);
    font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;color:var(--ink);
    z-index:2;
  }

  /* ---------- Care instructions ---------- */
  .care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ivory-line);border:1px solid var(--ivory-line);}
  .care-card{background:#fff;padding:32px 28px;}
  .care-icon{width:40px;height:40px;color:var(--navy);margin-bottom:20px;}
  .care-card h3{font-size:20px;font-weight:400;margin-bottom:10px;letter-spacing:0.01em;}
  .care-card p{font-size:13.5px;color:var(--stone);}
  @media(max-width:980px){.care-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.care-grid{grid-template-columns:1fr;}}

  /* ---------- Fiber library ---------- */
  .fiber-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ivory-line);border:1px solid var(--ivory-line);}
  .fiber-card{background:var(--ivory);}
  .fiber-photo{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--ivory-line);}
  .fiber-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .fiber-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(165deg, rgba(16,27,48,.55), rgba(31,102,148,.28));}
  .fiber-micron{
    position:absolute;top:12px;right:12px;background:rgba(255,255,255,.92);
    font-family:var(--mono);font-size:10.5px;padding:4px 9px;color:var(--ink);letter-spacing:.04em;
  }
  .fiber-body{padding:24px 26px 28px;}
  .fiber-body h3{font-size:22px;font-weight:400;margin-bottom:10px;letter-spacing:0.01em;}
  .fiber-body p{font-size:13.5px;color:var(--stone);}

  /* ---------- FAQ ---------- */
  .faq{background:var(--ivory);}
  .faq-list{border-top:1px solid var(--ivory-line);}
  .faq-item{border-bottom:1px solid var(--ivory-line);}
  .faq-q{
    width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
    background:none;border:none;text-align:left;padding:26px 0;cursor:pointer;
  }
  .faq-q h3{font-size:22px;font-weight:400;letter-spacing:0.01em;}
  .faq-q span{font-family:var(--mono);font-size:18px;color:var(--terracotta);flex:none;transition:transform .3s ease;}
  .faq-item.open .faq-q span{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-item.open .faq-a{max-height:240px;}
  .faq-a p{padding-bottom:26px;color:var(--stone);max-width:68ch;font-size:14.5px;}
  .product-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .product-cat{font-family:var(--mono);font-size:11px;color:var(--stone);text-transform:uppercase;letter-spacing:.08em;}
  .product-name{font-family:var(--display);font-size:24px;font-weight:400;letter-spacing:0.01em;}
  .product-spec{font-family:var(--mono);font-size:11.5px;color:var(--stone);}
  .product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:14px;}
  .product-price{font-family:var(--mono);font-size:15px;color:var(--ink);}
  .add-btn{
    font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;
    border:1px solid var(--ink);padding:9px 14px;background:transparent;color:var(--ink);
    transition:all .2s ease;
  }
  .add-btn:hover{background:var(--ink);color:var(--ivory);}
  .add-btn.added{background:var(--gold);border-color:var(--gold);color:#fff;}

  /* ---------- Cart drawer ---------- */
  .overlay{
    position:fixed;inset:0;background:rgba(16,27,48,.5);opacity:0;pointer-events:none;
    transition:opacity .3s ease; z-index:80;
  }
  .overlay.open{opacity:1;pointer-events:auto;}
  .cart-drawer{
    position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:var(--ivory);
    z-index:90;transform:translateX(100%);transition:transform .35s ease;
    display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.2);
  }
  .cart-drawer.open{transform:translateX(0);}
  .cart-head{display:flex;justify-content:space-between;align-items:center;padding:24px 24px;border-bottom:1px solid var(--ivory-line);background:var(--navy);}
  .cart-head h3{color:#fff;font-size:22px;font-weight:400;}
  .cart-close{background:none;border:none;color:#fff;font-size:22px;line-height:1;padding:4px;}
  .cart-body{flex:1;overflow-y:auto;padding:8px 24px;}
  .cart-empty{padding:60px 0;text-align:center;color:var(--stone);font-family:var(--mono);font-size:13px;}
  .cart-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--ivory-line);}
  .cart-item .swatch{width:64px;height:64px;flex:none;}
  .cart-item-info{flex:1;display:flex;flex-direction:column;gap:6px;}
  .cart-item-top{display:flex;justify-content:space-between;gap:10px;}
  .cart-item-name{font-family:var(--display);font-size:19px;font-weight:400;}
  .cart-item-remove{font-family:var(--mono);font-size:10.5px;color:var(--stone);text-transform:uppercase;background:none;border:none;text-decoration:underline;}
  .qty-row{display:flex;align-items:center;gap:0;border:1px solid var(--ivory-line);width:fit-content;}
  .qty-row button{width:26px;height:26px;background:#fff;border:none;font-family:var(--mono);font-size:13px;}
  .qty-row span{width:30px;text-align:center;font-family:var(--mono);font-size:13px;}
  .cart-item-price{font-family:var(--mono);font-size:13px;}
  .cart-foot{border-top:1px solid var(--ivory-line);padding:20px 24px 26px;background:#fff;}
  .cart-sub{display:flex;justify-content:space-between;font-family:var(--mono);font-size:14px;margin-bottom:6px;}
  .cart-sub-note{font-size:11.5px;color:var(--stone);font-family:var(--mono);margin-bottom:16px;}
  .cart-foot .btn{width:100%;}

  .checkout-form{display:none;flex-direction:column;gap:14px;margin-top:18px;}
  .checkout-form.open{display:flex;}
  .checkout-form .field label{color:var(--stone);}
  .checkout-form .field input{background:#fff;border:1px solid var(--ivory-line);color:var(--ink);}
  .delivery-options{display:flex;gap:10px;}
  .delivery-opt{flex:1;border:1px solid var(--ivory-line);padding:10px;text-align:center;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;cursor:pointer;}
  .delivery-opt.selected{border-color:var(--ink);background:var(--ink);color:#fff;}
  .cart-confirm{display:none;text-align:center;padding:30px 6px;}
  .cart-confirm.open{display:block;}
  .cart-confirm svg{width:36px;height:36px;color:var(--terracotta);margin:0 auto 16px;}
  .cart-confirm h4{font-size:19px;margin-bottom:10px;}
  .cart-confirm p{color:var(--stone);font-size:13.5px;}

  /* ---------- Reveal animation ---------- */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- Page switching ---------- */
  .page.active{display:block;}

  /* ---------- Responsive ---------- */
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .heritage-grid{grid-template-columns:1fr;}
    .section-head{grid-template-columns:1fr;}
    .steps{grid-template-columns:repeat(2,1fr);}
    .step{padding:20px 18px 24px;}
    .cap-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .form-grid{grid-template-columns:1fr;}
    .product-grid{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:680px){
    .nav-links{display:none;}
    .hamburger{display:flex;}
    .nav.menu-open .nav-links{
      display:flex;position:absolute;top:84px;left:0;right:0;background:var(--navy);
      flex-direction:column;padding:20px 32px;gap:18px;border-top:1px solid rgba(255,255,255,.1);
    }
    .steps{grid-template-columns:1fr;}
    .step{padding:18px 16px 22px;}
    .product-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;gap:32px;}
    .market-bar{position:static;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
    html{scroll-behavior:auto;}
  }

      /* ============================================
   LOADING STATES
   ============================================ */

/* Filter loading spinner */
.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #e0d6cc;
    border-top-color: #8a7a6a;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    margin-left: 8px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Product grid loading state */
.product-grid.loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.product-grid {
    transition: opacity 0.3s ease;
}

/* Add to cart button loading state */
.add-to-cart-btn.loading {
    position: relative;
    color: transparent !important;
}

.add-to-cart-btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

/* Cart loading state */
.cart-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    color: #999;
    gap: 12px;
}

.cart-spinner {
    display: inline-block;
    width: 32px;
    height: 32px;
    border: 3px solid #e0d6cc;
    border-top-color: #8a7a6a;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

/* Cart item loading state */
.cart-item.updating {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* Quantity button loading state */
.qty-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Cart count animation */
.cart-count {
    transition: transform 0.2s ease, color 0.2s ease;
    display: inline-block;
}

/* Notification styles */
.cart-notification {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: #1a7a4a;
    color: #fff;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 500;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 9999;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    pointer-events: none;
}

.cart-notification.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
h4.cart-item-title {
    font-family: var(--display);
    margin: 0;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.12;
    margin-bottom: 10px;
}