/*!
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:'Inter', serif;
    --body:'Inter', sans-serif;
    --mono:'Inter', 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:#fefdf9;
    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:60px;width:120px; object-fit:contain; object-position:left;}
  .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;flex-wrap:wrap;}
  .nav-links a{
    font-family:var(--mono);font-size:14px;text-transform:uppercase;
    color:#162a48; padding:6px 0; border-bottom:1px solid transparent;
    transition:color .2s ease, border-color .2s ease;
  }
  .nav-links a:hover, .nav-links a.active{opacity:0.8;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:#162a48;
    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{
      background-color:#fff;
      padding:0;
      padding-top:30px;
      padding-bottom:30px;
      
  }
  .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;border-radius:8px;overflow:hidden;}
  .wrap-full{
      position:relative;
          max-width: var(--max);
    margin: 0 auto;
    border-radius:8px;overflow:hidden;
  }
  .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,32px);
    line-height:1.05;
    color:#fff;
    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;
}
@media(max-width:680px){
	ul#main-mobile-menu {
    flex-direction: column;
}
}