/* ============================================================
   AK TIMBERS — Brand Stylesheet
   Design language: "Ridge & Grain"
   Twin-peak ridgeline (from the mark) + growth-ring / grade-stamp
   motifs pulled from the timber trade itself.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,500&family=Work+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  /* ---- Core palette, pulled from the AK Timbers mark ---- */
  --forest-950:#141f11;   /* deepest shadow green */
  --forest-900:#1c2b18;   /* page-dark background */
  --forest-800:#243a1f;   /* panel dark */
  --forest-700:#2f4a2b;   /* primary brand green (mark, dark facet) */
  --forest-600:#3d5e35;   /* mid green */
  --forest-500:#4c7040;   /* mark light facet */
  --forest-400:#6b8c5c;   /* soft accent */
  --forest-300:#9db78d;   /* pale accent, on dark only */

  --bark-950:#231810;     /* espresso brown, deep bg */
  --bark-800:#402c1c;     /* walnut */
  --bark-700:#6b4423;     /* sawn bark brown (mark bg wood) */
  --bark-500:#8a5a30;     /* mid bark */

  --amber-600:#a8652c;    /* heartwood */
  --amber-500:#c9873f;    /* cut-wood amber — CTA accent */
  --amber-400:#dba361;    /* pale amber */

  --cream-50:#faf6ea;     /* lightest section bg */
  --cream-100:#f3ead2;    /* parchment (mark wordmark) */
  --cream-200:#ead9b4;    /* deeper parchment */

  --ink-900:#20180f;      /* warm near-black, body text on light */
  --ink-700:#3a3226;

  --line: rgba(32,24,15,.12);
  --line-dark: rgba(243,234,210,.16);

  /* ---- Type ---- */
  --font-display:'Fraunces', 'Georgia', serif;
  --font-body:'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:'JetBrains Mono', 'SFMono-Regular', monospace;

  --radius-sm: 3px;
  --radius-md: 6px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  color: var(--ink-900);
  background: var(--cream-50);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,.display-font{
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--forest-900);
  letter-spacing: -0.01em;
}

.eyebrow{
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--amber-600);
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}
.eyebrow::before{
  content:"";
  width: 26px;
  height: 2px;
  background: var(--amber-500);
  display:inline-block;
}
.on-dark .eyebrow{ color: var(--amber-400); }
.on-dark .eyebrow::before{ background: var(--amber-400); }

a{ color: var(--forest-700); text-decoration:none; }
a:hover{ color: var(--amber-600); }

::selection{ background: var(--amber-500); color:#fff; }

.container-xl{ max-width: 1240px; }

/* ============================================================
   NAVBAR
   ============================================================ */
.ak-navbar{
  background: var(--cream-50);
  border-bottom: 1px solid var(--line);
  padding-top: .85rem;
  padding-bottom: .85rem;
  transition: box-shadow .2s ease;
}
.ak-navbar.is-scrolled{ box-shadow: 0 6px 24px rgba(20,15,8,.08); }

.ak-brand{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.ak-brand img{ height: 46px; width:auto; }
.ak-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.ak-brand-text strong{
  font-family: var(--font-display);
  font-size: 1.18rem;
  font-weight: 700;
  color: var(--forest-900);
  letter-spacing:.01em;
}
.ak-brand-text span{
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing:.2em;
  color: var(--amber-600);
  text-transform:uppercase;
}

.ak-navbar .nav-link{
  font-family: var(--font-body);
  font-weight: 500;
  font-size: .93rem;
  color: var(--ink-700);
  padding: .5rem 1rem !important;
  position:relative;
}
.ak-navbar .nav-link.active,
.ak-navbar .nav-link:hover{ color: var(--forest-800); }
.ak-navbar .nav-link.active::after{
  content:"";
  position:absolute;
  left:1rem; right:1rem; bottom:.15rem;
  height:2px;
  background: var(--amber-500);
}

.btn{
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .88rem;
  letter-spacing:.02em;
  border-radius: var(--radius-sm);
  padding: .68rem 1.5rem;
  border-width: 1.5px;
}
.btn-timber{
  background: var(--forest-800);
  border-color: var(--forest-800);
  color: var(--cream-100);
}
.btn-timber:hover{
  background: var(--forest-700);
  border-color: var(--forest-700);
  color: #fff;
}
.btn-amber{
  background: var(--amber-500);
  border-color: var(--amber-500);
  color: #241505;
}
.btn-amber:hover{
  background: var(--amber-400);
  border-color: var(--amber-400);
  color: #241505;
}
.btn-outline-cream{
  background: transparent;
  border-color: rgba(243,234,210,.5);
  color: var(--cream-100);
}
.btn-outline-cream:hover{
  background: rgba(243,234,210,.12);
  border-color: var(--cream-100);
  color: var(--cream-100);
}
.btn-outline-forest{
  background: transparent;
  border-color: var(--forest-700);
  color: var(--forest-800);
}
.btn-outline-forest:hover{
  background: var(--forest-800);
  border-color: var(--forest-800);
  color: var(--cream-100);
}
.btn-sm-icon{ display:inline-flex; align-items:center; gap:.5rem; }

/* ============================================================
   TEXTURES — wood grain, bark, ridge
   ============================================================ */
.tex-wood-dark{
  background-color: var(--bark-950);
  background-image:
    repeating-linear-gradient(90deg, rgba(0,0,0,.16) 0 2px, transparent 2px 5px),
    linear-gradient(180deg, var(--bark-800) 0%, var(--bark-950) 60%, #180f09 100%);
}
.tex-forest-dark{
  background-color: var(--forest-950);
  background-image:
    radial-gradient(ellipse at 20% -10%, rgba(76,112,64,.35), transparent 55%),
    radial-gradient(ellipse at 100% 110%, rgba(107,68,35,.28), transparent 55%),
    linear-gradient(180deg, var(--forest-900) 0%, var(--forest-950) 100%);
}
.tex-plank{
  background-color: var(--cream-50);
  background-image:
    repeating-linear-gradient(90deg, rgba(32,24,15,.05) 0 1px, transparent 1px 220px);
}

/* Ridge divider — twin-peak silhouette echoing the mark */
.ridge-divider{
  width:100%;
  height:64px;
  display:block;
  line-height:0;
}
.ridge-divider svg{ width:100%; height:100%; display:block; }
.ridge-flip{ transform: scaleY(-1); }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  color: var(--cream-100);
  overflow:hidden;
  padding-top: 7.5rem;
  padding-bottom: 6.5rem;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 900px 500px at 85% 15%, rgba(76,112,64,.35), transparent 60%),
    radial-gradient(ellipse 700px 500px at 10% 100%, rgba(107,68,35,.4), transparent 60%);
  pointer-events:none;
}
.hero .container{ position:relative; z-index:2; }

.hero-kicker{
  font-family: var(--font-mono);
  font-size:.8rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color: var(--amber-400);
}
.hero h1{
  color: var(--cream-100);
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: 1.04;
  font-weight: 600;
}
.hero h1 em{
  font-style: italic;
  font-weight: 500;
  color: var(--amber-400);
}
.hero-lead{
  color: rgba(243,234,210,.82);
  font-size: 1.15rem;
  max-width: 42ch;
}

.stat-row{
  border-top: 1px solid var(--line-dark);
  margin-top: 3.25rem;
  padding-top: 1.75rem;
}
.stat-item .num {
    font-family: var(--font-display);
    /*font-size: 2.1rem;*/
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--cream-100);
    line-height: 1;
}
.stat-item .lbl{
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color: var(--forest-300);
  margin-top:.4rem;
  display:block;
}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{ padding: 5.5rem 0; }
.section-sm{ padding: 3.25rem 0; }
.on-dark{ color: var(--cream-100); }
.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4{ color: var(--cream-100); }
.on-dark p{ color: rgba(243,234,210,.78); }
.section-head{ max-width: 640px; }
.section-head h2{
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  margin-top:.6rem;
}

.lede{
  font-size: 1.08rem;
  color: var(--ink-700);
}

/* Grade-stamp badge — lifted from real lumber-grading stamps */
.grade-stamp{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-family: var(--font-mono);
  border: 1.5px solid currentColor;
  border-radius: 50%;
  width: 84px; height:84px;
  text-align:center;
  line-height:1.1;
  transform: rotate(-6deg);
  flex-shrink:0;
}
.grade-stamp .g-top{ font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; opacity:.85;}
.grade-stamp .g-mid{ font-size:1.05rem; font-weight:700; }
.grade-stamp .g-bot{ font-size:.52rem; letter-spacing:.06em; text-transform:uppercase; opacity:.85; }

/* Panel card */
.ak-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 2rem;
  height:100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ak-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(28,43,24,.1);
  border-color: rgba(76,112,64,.4);
}
.ak-card .idx{
  font-family: var(--font-mono);
  font-size:.72rem;
  color: var(--amber-600);
  letter-spacing:.1em;
}
.ak-card h3{ font-size:1.25rem; margin: .6rem 0 .6rem; }
.ak-card p{ color: var(--ink-700); font-size:.95rem; margin-bottom:0; }

.icon-tile{
  width:52px; height:52px;
  border-radius: var(--radius-sm);
  background: var(--forest-800);
  color: var(--cream-100);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.icon-tile svg{ width:24px; height:24px; }

/* Product card */
.product-card{
  border:1px solid var(--line);
  border-radius: var(--radius-md);
  overflow:hidden;
  background:#fff;
  height:100%;
  display:flex;
  flex-direction:column;
}
.product-swatch{
  /*height: 190px;*/
  position:relative;
  overflow:hidden;
}
.product-swatch .grain{
  position:absolute; inset:0;
}
.product-body{ padding: 1.5rem; flex:1; display:flex; flex-direction:column; }
.product-body .cat{
  font-family: var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: var(--amber-600);
}
.product-body h3{ font-size:1.15rem; margin:.35rem 0 .6rem; }
.spec-list{
  list-style:none; padding:0; margin: 1rem 0 0;
  font-family: var(--font-mono);
  font-size:.78rem;
  color: var(--ink-700);
  border-top:1px dashed var(--line);
  padding-top:.85rem;
}
.spec-list li{ display:flex; justify-content:space-between; padding:.22rem 0; }
.spec-list li span:first-child{ color:#8a7d63; }

/* Wood swatch gradients — species palette (CSS only, no external images) */
.grain-1{ background: repeating-linear-gradient(100deg,#8a5a30 0 6px,#6b4423 6px 9px,#a8652c 9px 15px,#6b4423 15px 20px); }
.grain-2{ background: repeating-linear-gradient(95deg,#402c1c 0 5px,#6b4423 5px 10px,#231810 10px 13px,#6b4423 13px 19px); }
.grain-3{ background: repeating-linear-gradient(105deg,#c9873f 0 7px,#a8652c 7px 11px,#dba361 11px 16px,#a8652c 16px 22px); }
.grain-4{ background: repeating-linear-gradient(98deg,#3d5e35 0 6px,#2f4a2b 6px 10px,#4c7040 10px 14px,#243a1f 14px 20px); }
.grain-5{ background: repeating-linear-gradient(102deg,#6b4423 0 8px,#8a5a30 8px 12px,#402c1c 12px 15px,#8a5a30 15px 23px); }
.grain-6{ background: repeating-linear-gradient(97deg,#ead9b4 0 6px,#c9873f 6px 9px,#f3ead2 9px 15px,#c9873f 15px 19px); }

/* Timeline / growth-ring */
.ring-track{
  position:relative;
  padding-left: 2.5rem;
  border-left: 2px solid var(--line-dark);
}
.ring-item{ position:relative; padding-bottom: 2.75rem; }
.ring-item:last-child{ padding-bottom:0; }
.ring-item::before{
  content:"";
  position:absolute;
  left: -2.62rem; top:.2rem;
  width: 14px; height:14px;
  border-radius:50%;
  background: var(--amber-500);
  border: 3px solid var(--forest-900);
}
.ring-year{
  font-family: var(--font-mono);
  color: var(--amber-400);
  font-size:.85rem;
  letter-spacing:.08em;
}

/* Process step */
.step-num{
  font-family: var(--font-display);
  font-size: 2.6rem;
  color: rgba(47,74,43,.18);
  font-weight:700;
  line-height:1;
}

/* Quote / testimonial */
.quote-block{
  border-left: 3px solid var(--amber-500);
  padding-left: 1.75rem;
}
.quote-block p{
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-style: italic;
  color: var(--cream-100);
  line-height:1.5;
}
.quote-attr{
  font-family: var(--font-mono);
  font-size:.78rem;
  color: var(--forest-300);
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-top:1rem;
}

/* Forms */
.form-control, .form-select{
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--line);
  padding: .72rem .9rem;
  font-size:.95rem;
}
.form-control:focus, .form-select:focus{
  border-color: var(--forest-600);
  box-shadow: 0 0 0 .2rem rgba(76,112,64,.15);
}
.form-label{
  font-family: var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color: var(--ink-700);
  margin-bottom:.4rem;
}

/* Accordion (FAQ / specs) */
.accordion-item{ border: 1px solid var(--line); border-radius: var(--radius-sm) !important; margin-bottom: .75rem; overflow:hidden; }
.accordion-button{ font-family: var(--font-body); font-weight:600; font-size:.98rem; color: var(--forest-900); }
.accordion-button:not(.collapsed){ background: var(--cream-100); color: var(--forest-900); box-shadow:none; }
.accordion-button:focus{ box-shadow:none; border-color: var(--line); }

/* Map block */
.map-frame{
  border-radius: var(--radius-md);
  overflow:hidden;
  border: 1px solid var(--line);
}

/* Footer */
.ak-footer{
  background: var(--forest-950);
  color: rgba(243,234,210,.72);
  padding-top: 4.5rem;
}
.ak-footer h5{
  font-family: var(--font-mono);
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--cream-100);
  margin-bottom: 1.15rem;
}
.ak-footer a{ color: rgba(243,234,210,.72); }
.ak-footer a:hover{ color: var(--amber-400); }
.ak-footer .foot-bottom{
  border-top:1px solid var(--line-dark);
  margin-top: 3rem;
  padding: 1.4rem 0;
  font-size:.82rem;
  color: rgba(243,234,210,.5);
}
.social-dot{
  width:38px; height:38px;
  border:1px solid var(--line-dark);
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--cream-100);
}
.social-dot:hover{ background: var(--amber-500); border-color: var(--amber-500); color:#241505; }

/* Page header (interior pages) */
.page-header{
  padding-top: 8.5rem;
  padding-bottom: 3.5rem;
  color: var(--cream-100);
  position:relative;
}
.page-header .crumb{
  font-family: var(--font-mono);
  font-size:.78rem;
  color: var(--forest-300);
  letter-spacing:.05em;
}
.page-header .crumb a{ color: var(--forest-300); }
.page-header .crumb a:hover{ color: var(--amber-400); }
.page-header h1{
  color: var(--cream-100);
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  margin-top:.5rem;
}

/* Filter pills (products page) */
.filter-pill{
  font-family: var(--font-mono);
  font-size:.78rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  border:1.5px solid var(--line);
  border-radius: 999px;
  padding:.5rem 1.15rem;
  color: var(--ink-700);
  background:#fff;
  cursor:pointer;
  transition:.2s ease;
}
.filter-pill:hover{ border-color: var(--forest-600); }
.filter-pill.active{
  background: var(--forest-800);
  border-color: var(--forest-800);
  color: var(--cream-100);
}

/* ============================================================
   SINGLE PRODUCT DETAIL PAGE
   ============================================================ */
.pd-main-frame{
  border-radius: 10px;
  overflow:hidden;
  border: 1px solid var(--line);
  position:relative;
}
.pd-main-visual{
  height: 420px;
  width:100%;
}
.pd-stamp-float{
  position:absolute;
  top: 1.1rem;
  right: 1.1rem;
  background: rgba(250,246,234,.92);
  backdrop-filter: blur(2px);
  border-radius: 50%;
}
.pd-gallery{
  display:flex;
  gap:.7rem;
  margin-top:.9rem;
}
.gallery-thumb {
    width: 138px;
    /*height: 76px;*/
    border-radius: 6px;
    border: 2px solid transparent;
    cursor: pointer;
    overflow: hidden;
    padding: 0;
    flex-shrink: 0;
    opacity: .75;
    transition: .2s ease;
}
.gallery-thumb .grain{ width:100%; height:100%; }
.gallery-thumb:hover{ opacity:1; }
.gallery-thumb.active{ border-color: var(--amber-500); opacity:1; }

.pd-cat-badge{
  font-family: var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--forest-800);
  background: var(--cream-100);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .3rem .8rem;
  display:inline-block;
}

.pd-buy-box{
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.75rem;
  background: #fff;
}
.pd-price-row{ display:flex; align-items:baseline; gap:.6rem; }
.pd-price{
  font-family: var(--font-display);
  font-size: 2.3rem;
  font-weight: 600;
  color: var(--forest-900);
  line-height:1;
}
.pd-price-unit{
  font-family: var(--font-mono);
  font-size:.82rem;
  color:#8a7d63;
}
.pd-coverage-note{
  font-family: var(--font-mono);
  font-size:.78rem;
  color:#8a7d63;
  margin-top:.35rem;
}

.pd-quick-specs{
  list-style:none; padding:0; margin: 1.4rem 0 0;
  font-family: var(--font-mono);
  font-size:.82rem;
  border-top:1px dashed var(--line);
}
.pd-quick-specs li{
  display:flex; justify-content:space-between;
  padding:.55rem 0;
  border-bottom:1px dashed var(--line);
}
.pd-quick-specs li span:first-child{ color:#8a7d63; }
.pd-quick-specs li span:last-child{ font-weight:600; color: var(--ink-900); text-align:right; }

.spec-table{ width:100%; font-size:.92rem; }
.spec-table tr{ border-bottom: 1px solid var(--line); }
.spec-table td{ padding: .75rem .5rem; vertical-align:top; }
.spec-table td:first-child{
  font-family: var(--font-mono);
  font-size:.76rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8a7d63;
  width: 38%;
}

/* Related products slider */
.related-track{
  display:flex;
  gap: 1.25rem;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  padding: .25rem .25rem 1rem;
  margin: 0 -.25rem;
  scrollbar-width:none;
}
.related-track::-webkit-scrollbar{ display:none; }
.related-item{
  flex: 0 0 auto;
  width: 270px;
  scroll-snap-align:start;
}
.slider-arrow{
  width: 42px; height:42px;
  border-radius:50%;
  border: 1.5px solid var(--line);
  background:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--forest-800);
  flex-shrink:0;
  cursor:pointer;
}
.slider-arrow:hover{ background: var(--forest-800); border-color: var(--forest-800); color: var(--cream-100); }

@media (max-width: 767.98px){
  .pd-main-visual{ height: 280px; }
}

/* ============================================================
   MY ACCOUNT — Login / Register
   ============================================================ */
.acct-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}
.acct-link svg{ flex-shrink:0; }

.acct-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 2rem;
  /*height:100%;*/
}
.acct-panel h2{ font-size:1.3rem; margin-bottom:1.5rem; }

.pw-field{ position:relative; }
.pw-field .form-control{ padding-right: 3.1rem; }
.pw-toggle{
  position:absolute;
  right:.45rem; top:50%;
  transform:translateY(-50%);
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  background: var(--cream-100);
  border:1px solid var(--line);
  border-radius:4px;
  color: var(--ink-700);
  cursor:pointer;
}
.pw-toggle:hover{ background: var(--cream-200); }
.pw-toggle .icon-eye-off{ display:none; }
.pw-toggle.is-visible .icon-eye{ display:none; }
.pw-toggle.is-visible .icon-eye-off{ display:block; }

.acct-return-notice{
  background: var(--forest-800);
  color: var(--cream-100);
  border:none;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size:.85rem;
  letter-spacing:.02em;
}

.acct-dashboard{ max-width: 620px; margin: 0 auto; }
.acct-row-list{
  list-style:none; padding:0; margin: 1.5rem 0 0;
  font-family: var(--font-mono);
  font-size:.85rem;
  border-top:1px dashed var(--line);
}
.acct-row-list li{
  display:flex; justify-content:space-between;
  padding:.7rem 0;
  border-bottom:1px dashed var(--line);
}
.acct-row-list li span:first-child{ color:#8a7d63; }
.acct-row-list li span:last-child{ font-weight:600; color: var(--ink-900); }

.acct-avatar{
  width:64px; height:64px;
  border-radius:50%;
  background: var(--forest-800);
  color: var(--cream-100);
  font-family: var(--font-display);
  font-size:1.5rem;
  font-weight:600;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}

/* Navbar account dropdown */
.ak-navbar .dropdown-menu{
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .5rem;
  box-shadow: 0 14px 32px rgba(20,15,8,.14);
  margin-top: .65rem !important;
  min-width: 12rem;
}
.ak-navbar .dropdown-item{
  font-family: var(--font-body);
  font-size: .9rem;
  border-radius: 5px;
  padding: .55rem .8rem;
  color: var(--ink-700);
}
.ak-navbar .dropdown-item:hover,
.ak-navbar .dropdown-item:focus{
  background: var(--cream-100);
  color: var(--forest-800);
}
.ak-navbar .dropdown-divider{ border-color: var(--line); margin: .4rem 0; }

/* ============================================================
   QUOTE HISTORY — status badges, table, stepper
   ============================================================ */
.status-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family: var(--font-mono);
  font-size:.7rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.32rem .7rem;
  border-radius:999px;
  white-space:nowrap;
}
.status-badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
.status-pending{ background: rgba(201,135,63,.14); color: var(--amber-600); }
.status-quoted{ background: rgba(76,112,64,.16); color: var(--forest-700); }
.status-accepted{ background: rgba(47,74,43,.14); color: var(--forest-900); }
.status-closed{ background: rgba(138,125,99,.16); color:#6b5f47; }

.quote-table{ width:100%; border-collapse: separate; border-spacing: 0 .6rem; }
.quote-table thead th{
  font-family: var(--font-mono);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a7d63;
  font-weight:600;
  padding: 0 1.1rem .6rem;
  text-align:left;
  border:none;
  white-space:nowrap;
}
.quote-table tbody tr td{
  background:#fff;
  padding: 1.05rem 1.1rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.quote-table tbody tr td:first-child{ border-left:1px solid var(--line); border-top-left-radius:8px; border-bottom-left-radius:8px; }
.quote-table tbody tr td:last-child{ border-right:1px solid var(--line); border-top-right-radius:8px; border-bottom-right-radius:8px; text-align:right; }
.quote-id{ font-family: var(--font-mono); font-weight:600; color: var(--forest-900); }
.quote-meta{ font-family: var(--font-mono); font-size:.78rem; color:#8a7d63; }

.qh-empty{
  border: 1px dashed var(--line);
  border-radius: 10px;
  padding: 3.5rem 2rem;
  text-align:center;
  background:#fff;
}

/* Status stepper (quote detail) */
.status-stepper{
  display:flex;
  align-items:flex-start;
  list-style:none;
  padding:0;
  margin: 0 0 2.5rem;
}
.status-step{ flex:1; text-align:center; position:relative; padding-top:2px; }
.status-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:16px;
  left:56%;
  width:88%;
  height:2px;
  background: var(--line);
}
.status-step.is-complete:not(:last-child)::after{ background: var(--forest-600); }
.status-dot{
  width:32px; height:32px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto .65rem;
  position:relative; z-index:1;
  color:#8a7d63;
}
.status-step.is-complete .status-dot{ background: var(--forest-700); border-color: var(--forest-700); color:#fff; }
.status-step.is-current .status-dot{ background: var(--amber-500); border-color: var(--amber-500); color:#241505; }
.status-step-label{
  font-family: var(--font-mono);
  font-size:.7rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#8a7d63;
}
.status-step.is-complete .status-step-label,
.status-step.is-current .status-step-label{ color: var(--ink-900); font-weight:600; }

.qd-panel{
  border: 1px solid var(--line);
  border-radius: 10px;
  background:#fff;
  padding: 1.75rem;
}
.qd-panel + .qd-panel{ margin-top: 1.5rem; }
.qd-price-total{
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight:600;
  color: var(--forest-900);
}

/* Recent quotes mini-list (account dashboard) */
.recent-quote-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding: .9rem 0;
  border-bottom: 1px dashed var(--line);
  flex-wrap:wrap;
}
.recent-quote-row:last-child{ border-bottom:none; }

/* ============================================================
   QUOTE CART — "add multiple products, no pricing" flow
   ============================================================ */
.cart-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background: var(--amber-500);
  color:#241505;
  font-family: var(--font-mono);
  font-size:.68rem;
  font-weight:700;
  line-height:18px;
  margin-left:.4rem;
}
.acct-link .cart-badge{ margin-left:.35rem; }

.cart-table{ width:100%; border-collapse: separate; border-spacing: 0 .6rem; }
.cart-table thead th{
  font-family: var(--font-mono);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a7d63;
  font-weight:600;
  padding: 0 1.1rem .6rem;
  text-align:left;
  border:none;
  white-space:nowrap;
}
.cart-table tbody tr td{
  background:#fff;
  padding: 1rem 1.1rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.cart-table tbody tr td:first-child{ border-left:1px solid var(--line); border-top-left-radius:8px; border-bottom-left-radius:8px; }
.cart-table tbody tr td:last-child{ border-right:1px solid var(--line); border-top-right-radius:8px; border-bottom-right-radius:8px; text-align:right; }

.cart-qty-input{
  width:72px;
  padding:.4rem .5rem;
  border:1.5px solid var(--line);
  border-radius:5px;
  font-family: var(--font-mono);
  font-size:.9rem;
  text-align:center;
}
.cart-qty-input:focus{ border-color: var(--forest-600); outline:none; }

.cart-remove-link{
  font-family: var(--font-mono);
  font-size:.75rem;
  letter-spacing:.03em;
  color:#a8652c;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
}
.cart-remove-link:hover{ color:#8a5a30; }

/* Utility text colors */
.text-forest{ color: var(--forest-700) !important; }
.text-amber{ color: var(--amber-600) !important; }
.text-cream{ color: var(--cream-100) !important; }
.bg-forest-900{ background: var(--forest-900) !important; }
.bg-cream-100{ background: var(--cream-100) !important; }

/* Back to top */
.back-to-top{
  position:fixed; right:1.5rem; bottom:1.5rem;
  width:46px; height:46px;
  border-radius:50%;
  background: var(--forest-800);
  color: var(--cream-100);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transform: translateY(10px);
  transition:.25s ease;
  z-index: 999;
  border:none;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:none; }
.back-to-top:hover{ background: var(--amber-500); color:#241505; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .ak-card, .back-to-top{ transition:none; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible, .btn:focus-visible, .filter-pill:focus-visible{
  outline: 2px solid var(--amber-500);
  outline-offset: 2px;
}

@media (max-width: 991.98px){
  .hero{ padding-top: 6rem; }
  .page-header{ padding-top: 6.5rem; }
  .section{ padding: 3.75rem 0; }
}
