/* ==========================================================================
   AASTHA NUTRI FOODS — SITE HEADER
   Design language: stone-milled minimalism.
   The logo mark is a radiating grindstone / sunburst — the header borrows
   that geometry as its one recurring motif (the rotating ring on the mark,
   the fanned corner bracket on mega-menu panels, the radial hover ping on
   the cart icon) rather than reaching for generic underline hovers.
   ========================================================================== */

:root {
    /* ---- Color: pulled from the two supplied logo marks + two flour-adjacent
     accents, one per product line, so the categories read as distinct
     without leaving the palette ---- */
    --aa-brown-900: #3E2414;
    /* deepest roast — text on cream */
    --aa-brown-700: #6B3A1F;
    /* primary brand brown, from logo mark */
    --aa-brown-500: #8B5A38;
    /* mid brown, hovers */
    --aa-stone: #EFE7D8;
    /* stone-ground flour beige — bg */
    --aa-ivory: #FAF6EE;
    /* lighter panel bg */
    --aa-sprout-700: #55643C;
    /* muted sprout green — Sprouted Flour accent */
    --aa-sprout-100: #E7EBDB;
    --aa-line: #DED1B8;
    /* hairline rule, milled-grain beige */
    --aa-charcoal: #241B14;
    /* body text */
    --aa-white: #FFFFFF;

    --aa-font-display: 'Fraunces', 'Georgia', serif;
    --aa-font-ui: 'Sora', 'Segoe UI', sans-serif;

    --aa-header-h: 96px;
    --aa-header-h-scrolled: 68px;
    --aa-bar-h: 38px;
    --aa-ease: cubic-bezier(.22, .61, .36, 1);
    --aa-slide-duration: 7000ms; 
}


/* ---- Reset scoped to header only ---- */
#aastha-header,
#aastha-header * {
    box-sizing: border-box;
}

#aastha-header {
    font-family: var(--aa-font-ui);
    color: var(--aa-charcoal);
    position: sticky;
    top: 0;
    z-index: 999;
    width: 100%;
    background: var(--aa-ivory);
}

#aastha-header a {
    text-decoration: none;
    color: inherit;
}

#aastha-header ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#aastha-header button {
    font-family: inherit;
    background: none;
    border: 0;
    cursor: pointer;
}

/* ==========================================================================
   1. UTILITY BAR — thin brown strip, serif italic for warmth, dismissible
   ========================================================================== */
.aa-bar {
    height: var(--aa-bar-h);
    background: var(--aa-brown-700);
    color: var(--aa-stone);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12.5px;
    letter-spacing: .03em;
    overflow: hidden;
    transition: max-height .4s var(--aa-ease), opacity .3s ease, padding .4s var(--aa-ease);
}

.aa-bar.is-closed {
    max-height: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.aa-bar__track {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--aa-font-display);
    font-style: italic;
}

.aa-bar__track svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

.aa-bar__close {
    position: absolute;
    right: 18px;
    color: var(--aa-stone);
    opacity: .7;
    font-size: 16px;
    line-height: 1;
    padding: 4px;
}

.aa-bar__close:hover {
    opacity: 1;
}

/* ==========================================================================
   2. MAIN HEADER ROW
   ========================================================================== */
.aa-main {
    height: var(--aa-header-h);
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 0 clamp(20px, 4vw, 56px);
    transition: height .35s var(--aa-ease), box-shadow .35s ease, background .35s ease;
    border-bottom: 1px solid transparent;
    justify-content: space-between;
}

#aastha-header.is-scrolled .aa-main {
    height: var(--aa-header-h-scrolled);
    background: var(--aa-ivory);
    border-bottom-color: var(--aa-line);
    box-shadow: 0 8px 24px -18px rgba(62, 36, 20, .45);
}

/* ---- Mobile trigger ---- */
.aa-burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
}

.aa-burger span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--aa-brown-900);
    transition: transform .3s var(--aa-ease), opacity .3s var(--aa-ease);
}

.aa-burger.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.aa-burger.is-active span:nth-child(2) {
    opacity: 0;
}

.aa-burger.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ---- Logo ---- */
.aa-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    /* margin-right: auto; */
}

.aa-logo img {
    height: 52px;
    width: auto;
    display: block;
    transition: height .35s var(--aa-ease), transform .6s var(--aa-ease);
}

#aastha-header.is-scrolled .aa-logo img {
    height: 38px;
}

/* the signature: the sunburst mark within the PNG can't be targeted alone,
   so we give the whole mark a slow honest spin only on hover — echoes the
   grindstone without being cute about it */
.aa-logo:hover img {
    transform: rotate(8deg);
}

/* ==========================================================================
   3. PRIMARY NAV
   ========================================================================== */
.aa-nav {
    display: flex;
    align-items: center;
    height: 100%;
}

.aa-nav>ul {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 100%;
}

.aa-nav>ul>li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.aa-nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--aa-brown-900);
    position: relative;
}

.aa-nav-link::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 2px;
    height: 2px;
    background: var(--aa-brown-700);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--aa-ease);
}

.aa-nav-link:hover::after,
.aa-nav-link[aria-expanded="true"]::after {
    transform: scaleX(1);
}

.aa-nav-link .aa-caret {
    width: 9px;
    height: 9px;
    transition: transform .3s var(--aa-ease);
}

.aa-nav-link[aria-expanded="true"] .aa-caret {
    transform: rotate(180deg);
}

/* category accent dot: brown for stone-ground, sprout-green for sprouted */
.aa-nav-link .aa-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--aa-brown-700);
}

li[data-cat="sprouted"] .aa-nav-link .aa-dot {
    background: var(--aa-sprout-700);
}

/* ---- Mega menu panel ---- */
.aa-mega {
    position: absolute;
    top: calc(100% + 1px);
    left: 50%;
    transform: translate(-50%, 10px);
    width: min(640px, 86vw);
    background: var(--aa-white);
    border: 1px solid var(--aa-line);
    box-shadow: 0 24px 48px -24px rgba(62, 36, 20, .35);
    padding: 28px 28px 22px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s var(--aa-ease), transform .25s var(--aa-ease), visibility .25s;
}

li[data-cat]>.aa-mega {
    display: block;
}

li[data-cat].is-open>.aa-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.aa-mega__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 1px solid var(--aa-line);
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.aa-mega__title {
    font-family: var(--aa-font-display);
    font-size: 20px;
    font-style: italic;
    color: var(--aa-brown-900);
}

li[data-cat="sprouted"] .aa-mega__title {
    color: var(--aa-sprout-700);
}

.aa-mega__viewall {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--aa-brown-700);
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}

.aa-mega__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 22px;
}

.aa-mega__grid a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 4px;
    font-size: 13.5px;
    color: var(--aa-charcoal);
    border-radius: 3px;
    transition: color .2s ease, padding-left .2s ease;
}

.aa-mega__grid a::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--aa-line);
    flex-shrink: 0;
    transition: background .2s ease;
}

.aa-mega__grid a:hover {
    color: var(--aa-brown-700);
    padding-left: 8px;
}

.aa-mega__grid a:hover::before {
    background: var(--aa-brown-700);
}

li[data-cat="sprouted"] .aa-mega__grid a:hover {
    color: var(--aa-sprout-700);
}

li[data-cat="sprouted"] .aa-mega__grid a:hover::before {
    background: var(--aa-sprout-700);
}

.aa-mega__foot {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--aa-line);
    font-size: 12px;
    color: var(--aa-brown-500);
    font-style: italic;
    font-family: var(--aa-font-display);
}

/* ==========================================================================
   4. ACTIONS — search / account / cart
   ========================================================================== */
.aa-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.aa-icon-btn {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--aa-brown-900);
    transition: background .25s ease, transform .25s var(--aa-ease);
}

.aa-icon-btn:hover {
    background: var(--aa-stone);
    transform: translateY(-1px);
}

.aa-icon-btn svg {
    width: 20px;
    height: 20px;
}

.aa-cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    border-radius: 50%;
    background: var(--aa-sprout-700);
    color: var(--aa-ivory);
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* radial "ping" when an item is added — class toggled by JS on the
   fragments-refreshed event, matches the grindstone-ray motif */
.aa-icon-btn.aa-just-added::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid var(--aa-sprout-700);
    animation: aa-ping .6s var(--aa-ease);
}

@keyframes aa-ping {
    from {
        opacity: 1;
        transform: scale(.6);
    }

    to {
        opacity: 0;
        transform: scale(1.5);
    }
}

/* ---- Search overlay ---- */
.aa-search-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--aa-brown-700);
    padding: 0 clamp(20px, 4vw, 56px);
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s var(--aa-ease);
}

.aa-search-panel.is-open {
    max-height: 110px;
}

.aa-search-panel form {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 88px;
    border-bottom: 1px solid rgba(250, 246, 238, .25);
}

.aa-search-panel input[type="search"] {
    flex: 1;
    background: none;
    border: 0;
    outline: 0;
    font-family: var(--aa-font-display);
    font-style: italic;
    font-size: 24px;
    color: var(--aa-ivory);
}

.aa-search-panel input::placeholder {
    color: rgba(250, 246, 238, .55);
}

.aa-search-panel button[type="submit"] {
    color: var(--aa-ivory);
}

.aa-search-panel button[type="submit"] svg {
    width: 22px;
    height: 22px;
}

.aa-search-close {
    color: var(--aa-ivory);
    opacity: .75;
}

.aa-search-close:hover {
    opacity: 1;
}

/* ==========================================================================
   5. MOBILE DRAWER
   ========================================================================== */
.aa-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(36, 27, 20, .45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 998;
}

.aa-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.aa-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(340px, 84vw);
    background: var(--aa-ivory);
    transform: translateX(-100%);
    transition: transform .38s var(--aa-ease);
    z-index: 999;
    overflow-y: auto;
    padding: 24px 22px 40px;
}

.aa-drawer.is-open {
    transform: translateX(0);
}

.aa-drawer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

.aa-drawer__head img {
    height: 34px;
}

.aa-drawer ul {
    display: flex;
    flex-direction: column;
    margin: 0px;
    padding: 10px;
}
.aa-drawer>ul>li {
    border-bottom: 1px solid var(--aa-line);
}

.aa-drawer-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 2px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 14px;
    color: var(--aa-brown-900);
}

.aa-drawer-link .aa-caret {
    width: 9px;
    height: 9px;
    transition: transform .3s var(--aa-ease);
}

.aa-drawer-link[aria-expanded="true"] .aa-caret {
    transform: rotate(180deg);
}

.aa-drawer-sub {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s var(--aa-ease);
    padding-left: 10px;
}

li.is-open .aa-drawer-sub {
    max-height: 400px;
}

.aa-drawer-sub a {
    display: block;
    padding: 9px 2px;
    font-size: 13.5px;
    color: var(--aa-charcoal);
    border-top: 1px dashed var(--aa-line);
}

.aa-drawer-sub a:first-child {
    border-top: 0;
}

/* ==========================================================================
   6. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
    .aa-nav {
        display: none;
    }

    .aa-burger {
        display: flex;
    }

    .aa-main {
        gap: 16px;
    }

    .aa-logo {
        margin-right: auto;
    }
}

@media (max-width: 520px) {
    .aa-logo img {
        height: 42px;
    }

    #aastha-header.is-scrolled .aa-logo img {
        height: 32px;
    }

    .aa-actions {
        gap: 0;
    }

    .aa-search-panel input[type="search"] {
        font-size: 18px;
    }
}

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {

    #aastha-header,
    #aastha-header * {
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
    }
}

#aastha-hero, #aastha-hero *{ box-sizing:border-box; }
#aastha-hero{
  position:relative;
  width:100%;
  height: min(92vh, 780px);
  min-height: 520px;
  overflow:hidden;
  font-family: var(--aa-font-ui, 'Sora', 'Segoe UI', sans-serif);
  background: var(--aa-brown-900, #3E2414);
  isolation: isolate;
}
 
/* ==========================================================================
   SLIDES
   ========================================================================== */
.aa-hero__track{
  position:relative;
  width:100%; height:100%;
}
.aa-slide{
  position:absolute; inset:0;
  display:flex;
  align-items:center;
  opacity:0;
  visibility:hidden;
  transition: opacity 1s var(--aa-ease, cubic-bezier(.22,.61,.36,1)), visibility 1s;
  background: radial-gradient(120% 140% at 78% 20%, var(--slide-bg-2, #7A4A2A) 0%, var(--slide-bg-1, #3E2414) 62%);
}
.aa-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
}
 
/* per-slide accent tokens */
.aa-slide[data-accent="brown"]{
  --slide-bg-1: #3E2414;
  --slide-bg-2: #7A4A2A;
  --slide-accent: var(--aa-stone, #EFE7D8);
  --slide-cta-bg: var(--aa-stone, #EFE7D8);
  --slide-cta-fg: var(--aa-brown-900, #3E2414);
}
.aa-slide[data-accent="sprout"]{
  --slide-bg-1: #263019;
  --slide-bg-2: #5E7040;
  --slide-accent: var(--aa-sprout-100, #E7EBDB);
  --slide-cta-bg: var(--aa-sprout-100, #E7EBDB);
  --slide-cta-fg: #263019;
}
 
/* faint ambient sunburst behind each slide's text — slow, honest rotation,
   never fast enough to feel decorative-for-decoration's-sake */
.aa-slide__burst{
  position:absolute;
  top:50%; right:-14%;
  width: min(70vh, 900px); height: min(70vh, 900px);
  transform: translateY(-50%);
  opacity:.16;
  animation: aa-spin 140s linear infinite;
  pointer-events:none;
}
.aa-slide__burst svg{ width:100%; height:100%; display:block; }
@keyframes aa-spin{ to{ transform: translateY(-50%) rotate(360deg); } }
 
/* grain texture wash for depth without needing photography */
.aa-slide::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events:none;
}
 
/* ==========================================================================
   CONTENT
   ========================================================================== */
.aa-slide__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(24px, 6vw, 72px);
}
.aa-slide__content{
  max-width: 620px;
}
.aa-slide__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--aa-font-display, 'Fraunces', 'Georgia', serif);
  font-style: italic;
  font-size: 15px;
  color: var(--slide-accent);
  margin: 0 0 18px;
  opacity:0;
  transform: translateY(14px);
}
.aa-slide__eyebrow .aa-dot{
  width:6px; height:6px; border-radius:50%;
  background: var(--slide-accent);
  flex-shrink:0;
}
.aa-slide__title{
  font-family: var(--aa-font-display, 'Fraunces', 'Georgia', serif);
  font-weight: 500;
  font-size: clamp(34px, 5vw, 62px);
  line-height: 1.08;
  color: var(--aa-white, #FFFFFF);
  margin: 0 0 20px;
  opacity:0;
  transform: translateY(18px);
}
.aa-slide__desc{
  font-size: 16.5px;
  line-height:1.65;
  color: rgba(255,255,255,.82);
  max-width: 46ch;
  margin: 0 0 32px;
  opacity:0;
  transform: translateY(18px);
}
.aa-slide__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 15px 26px;
  background: var(--slide-cta-bg);
  color: var(--slide-cta-fg);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius: 2px;
  transition: transform .3s var(--aa-ease, cubic-bezier(.22,.61,.36,1)), box-shadow .3s var(--aa-ease, cubic-bezier(.22,.61,.36,1));
  opacity:0;
  transform: translateY(18px);
}
.aa-slide__cta svg{ width:15px; height:15px; transition: transform .3s var(--aa-ease, cubic-bezier(.22,.61,.36,1)); }
.aa-slide__cta:hover{ transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(0,0,0,.45); }
.aa-slide__cta:hover svg{ transform: translateX(4px); }
 
/* staggered reveal, only on the active slide, respects reduced motion */
.aa-slide.is-active .aa-slide__eyebrow{ animation: aa-rise .7s var(--aa-ease, cubic-bezier(.22,.61,.36,1)) .15s forwards; }
.aa-slide.is-active .aa-slide__title{    animation: aa-rise .7s var(--aa-ease, cubic-bezier(.22,.61,.36,1)) .28s forwards; }
.aa-slide.is-active .aa-slide__desc{     animation: aa-rise .7s var(--aa-ease, cubic-bezier(.22,.61,.36,1)) .42s forwards; }
.aa-slide.is-active .aa-slide__cta{      animation: aa-rise .7s var(--aa-ease, cubic-bezier(.22,.61,.36,1)) .56s forwards; }
@keyframes aa-rise{ to{ opacity:1; transform:none; } }
 
/* ==========================================================================
   CONTROLS — prev/next
   ========================================================================== */
.aa-hero__arrow{
  position:absolute;
  top:50%; transform: translateY(-50%);
  width:48px; height:48px;
  border-radius:50%;
  border:1px solid rgba(250,246,238,.35);
  background: rgba(62,36,20,.25);
  backdrop-filter: blur(6px);
  color: var(--aa-ivory, #FAF6EE);
  display:flex; align-items:center; justify-content:center;
  z-index:5;
  transition: background .25s ease, border-color .25s ease, transform .25s var(--aa-ease, cubic-bezier(.22,.61,.36,1));
}
.aa-hero__arrow:hover{ background: rgba(250,246,238,.14); border-color: rgba(250,246,238,.6); }
.aa-hero__arrow svg{ width:18px; height:18px; }
.aa-hero__arrow--prev{ left: clamp(14px, 3vw, 36px); }
.aa-hero__arrow--next{ right: clamp(14px, 3vw, 36px); }
 
/* ==========================================================================
   PROGRESS DOTS — each is a small ring that fills clockwise like a
   grindstone completing a turn, not a generic dash/bar
   ========================================================================== */
.aa-hero__dots{
  position:absolute;
  left:50%; bottom: clamp(20px, 4vh, 40px);
  transform: translateX(-50%);
  display:flex;
  gap: 18px;
  z-index:5;
}
.aa-hero__dot{
  position:relative;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
}
.aa-hero__dot::before{
  content:"";
  width:7px; height:7px;
  border-radius:50%;
  background: rgba(250,246,238,.5);
  transition: background .3s ease, transform .3s ease;
}
.aa-hero__dot svg{
  position:absolute; inset:0;
  width:100%; height:100%;
  transform: rotate(-90deg);
  opacity:0;
  transition: opacity .3s ease;
}
.aa-hero__dot circle{
  fill:none;
  stroke: var(--aa-ivory, #FAF6EE);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 94.2; /* 2*PI*15 */
  stroke-dashoffset: 94.2;
}
.aa-hero__dot.is-active::before{ background: var(--aa-ivory, #FAF6EE); transform: scale(1.15); }
.aa-hero__dot.is-active svg{ opacity:1; }
.aa-hero__dot.is-active circle{ animation: aa-fill var(--aa-slide-duration) linear forwards; }
.aa-hero__dot.is-paused.is-active circle{ animation-play-state: paused; }
@keyframes aa-fill{ from{ stroke-dashoffset:94.2; } to{ stroke-dashoffset:0; } }
 
/* ==========================================================================
   SIDE LABEL (desktop only) — small vertical category tab, echoes the
   header's category dots (brown / sprout) so the slider and header feel
   like one system
   ========================================================================== */
.aa-hero__cat-rail{
  position:absolute;
  right: clamp(70px, 8vw, 120px);
  top:0; bottom:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 26px;
  z-index:4;
}
@media (max-width: 900px){ .aa-hero__cat-rail{ display:none; } }
.aa-hero__cat-rail button{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  /* color: rgba(250,246,238,.55); */
  padding: 10px 0;
  /* border-left: 1px solid rgba(250,246,238,.25); */
  transition: color .3s ease, border-color .3s ease;
}
/* .aa-hero__cat-rail button.is-active{
  color: var(--aa-ivory, #FAF6EE);
  border-left-color: var(--aa-ivory, #FAF6EE);
} */
 
/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 640px){
  #aastha-hero{ height: min(88vh, 640px); }
  .aa-hero__arrow{ width:40px; height:40px; }
  .aa-hero__arrow svg{ width:15px; height:15px; }
  .aa-slide__desc{ font-size:15px; }
  .aa-hero__dots{ bottom:16px; }
}
 
@media (prefers-reduced-motion: reduce){
  #aastha-hero *{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  .aa-slide.is-active .aa-slide__eyebrow,
  .aa-slide.is-active .aa-slide__title,
  .aa-slide.is-active .aa-slide__desc,
  .aa-slide.is-active .aa-slide__cta{ opacity:1; transform:none; }
}
 
#aastha-hero a:focus-visible,
#aastha-hero button:focus-visible{
  outline: 2px solid var(--aa-ivory, #FAF6EE);
  outline-offset: 3px;
}



/* ==========================================================================
   AASTHA HOMEPAGE SECTIONS
   Shared primitives first, then one block per section, all scoped to
   aa-* classes so nothing collides with plugin/theme CSS.
   ========================================================================== */

/* ---- Shared layout primitives ---- */
.aa-container{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(24px, 6vw, 72px);
}
.aa-section{
  padding: clamp(56px, 8vw, 96px) 0;
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}
.aa-section *, .aa-usp *, .aa-promo *, .aa-process *, .aa-newsletter *{
  box-sizing: border-box;
}

.aa-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--aa-brown-700);
  margin: 0 0 10px;
}
.aa-eyebrow .aa-dot{
  width:6px; height:6px; border-radius:50%;
  background: currentColor;
  flex-shrink:0;
}
.aa-eyebrow--light{ color: var(--aa-stone); }

.aa-section-title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  color: var(--aa-brown-900);
  margin: 0;
}
.aa-section-title--light{ color: var(--aa-white); }

.aa-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: clamp(28px, 4vw, 44px);
}
.aa-section-head--center{
  justify-content:center;
  text-align:center;
}

.aa-link-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--aa-brown-700);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: gap .25s var(--aa-ease);
}
.aa-link-more:hover{ gap: 12px; }
.aa-link-more svg{ width:14px; height:14px; }

.aa-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 15px 26px;
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
  font-family: var(--aa-font-ui);
  font-weight:700;
  font-size:13.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:0;
  border-radius: 2px;
  cursor:pointer;
  text-decoration:none;
  transition: transform .3s var(--aa-ease), box-shadow .3s var(--aa-ease), background .25s ease;
}
.aa-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -12px rgba(62,36,20,.45);
  background: var(--aa-brown-900);
}
.aa-btn svg{ width:15px; height:15px; transition: transform .3s var(--aa-ease); }
.aa-btn:hover svg{ transform: translateX(4px); }
.aa-btn--light{
  background: var(--aa-stone);
  color: var(--aa-brown-900);
}
.aa-btn--light:hover{ background: var(--aa-white); }

/* scroll-reveal: JS adds .is-visible via IntersectionObserver */
.aa-reveal{
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s var(--aa-ease), transform .7s var(--aa-ease);
}
.aa-reveal.is-visible{
  opacity: 1;
  transform: none;
}

/* ==========================================================================
   1. USP STRIP
   ========================================================================== */
.aa-usp{
  background: var(--aa-stone);
  border-bottom: 1px solid var(--aa-line);
  font-family: var(--aa-font-ui);
  padding: 26px 0;
}
.aa-usp__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.aa-usp__item{
  display:flex;
  align-items:center;
  gap: 14px;
  justify-content:center;
}
.aa-usp__item svg{
  width: 32px; height: 32px;
  color: var(--aa-brown-700);
  flex-shrink:0;
}
.aa-usp__item strong{
  display:block;
  font-size: 13.5px;
  color: var(--aa-brown-900);
  letter-spacing:.01em;
}
.aa-usp__item span{
  display:block;
  font-size: 12px;
  color: var(--aa-brown-500);
  margin-top: 2px;
}
@media (max-width: 900px){
  .aa-usp__grid{ grid-template-columns: repeat(2, 1fr); }
  .aa-usp__item{ justify-content:flex-start; }
}
@media (max-width: 480px){
  .aa-usp__grid{ grid-template-columns: 1fr; gap: 14px; }
}

/* ==========================================================================
   2. SHOP BY CATEGORY
   ========================================================================== */
.aa-cat-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.5vw, 28px);
}
.aa-cat-card{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius: 4px;
  padding: clamp(28px, 3.5vw, 44px);
  min-height: 340px;
  text-decoration:none;
  isolation: isolate;
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease);
}
.aa-cat-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 26px 48px -24px rgba(62,36,20,.5);
}
.aa-cat-card--stone{
  background: radial-gradient(120% 140% at 80% 0%, #7A4A2A 0%, var(--aa-brown-900) 62%);
  --card-accent: var(--aa-stone);
}
.aa-cat-card--sprout{
  background: radial-gradient(120% 140% at 80% 0%, #5E7040 0%, #263019 62%);
  --card-accent: var(--aa-sprout-100);
}
.aa-cat-card__burst{
  position:absolute;
  top:-20%; right:-18%;
  width: 340px; height: 340px;
  opacity:.14;
  color: var(--card-accent);
  pointer-events:none;
  transition: transform 1.2s var(--aa-ease);
}
.aa-cat-card:hover .aa-cat-card__burst{ transform: rotate(22deg); }
.aa-cat-card__burst svg{ width:100%; height:100%; }
.aa-cat-card__body{ position:relative; z-index:1; }
.aa-cat-card__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--card-accent);
  margin: 0 0 12px;
}
.aa-cat-card__eyebrow .aa-dot{
  width:6px; height:6px; border-radius:50%;
  background: currentColor;
}
.aa-cat-card__title{
  font-family: var(--aa-font-display);
  font-weight:500;
  font-size: clamp(26px, 2.8vw, 36px);
  color: var(--aa-white);
  margin: 0 0 12px;
}
.aa-cat-card__desc{
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.8);
  max-width: 42ch;
  margin: 0 0 18px;
}
.aa-cat-card__chips{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin: 0 0 24px;
  padding: 0;
}
.aa-cat-card__chips li{
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--card-accent);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: 5px 12px;
}
.aa-cat-card__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 13px 22px;
  background: var(--card-accent);
  color: var(--aa-brown-900);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius: 2px;
  transition: gap .3s var(--aa-ease);
}
.aa-cat-card--sprout .aa-cat-card__cta{ color: #263019; }
.aa-cat-card:hover .aa-cat-card__cta{ gap: 14px; }
.aa-cat-card__cta svg{ width:14px; height:14px; }
@media (max-width: 820px){
  .aa-cat-grid{ grid-template-columns: 1fr; }
  .aa-cat-card{ min-height: 0; }
}

/* ---- popular grain tiles under the two big cards ---- */
.aa-cat-tiles{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(12px, 2vw, 22px);
  margin-top: clamp(24px, 3.5vw, 40px);
}
.aa-cat-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 12px;
  text-decoration:none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing:.02em;
  color: var(--aa-brown-900);
}
.aa-cat-tile__img{
  display:block;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow:hidden;
  border: 1px solid var(--aa-line);
  background: var(--aa-stone);
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease), border-color .3s ease;
}
.aa-cat-tile__img img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transition: transform .5s var(--aa-ease);
}
.aa-cat-tile:hover .aa-cat-tile__img{
  transform: translateY(-4px);
  border-color: var(--aa-brown-500);
  box-shadow: 0 16px 28px -18px rgba(62,36,20,.5);
}
.aa-cat-tile:hover .aa-cat-tile__img img{ transform: scale(1.07); }
@media (max-width: 820px){
  .aa-cat-tiles{ grid-template-columns: repeat(3, 1fr); }
}

/* ==========================================================================
   3 & 5. PRODUCT GRIDS
   ========================================================================== */
.aa-products-section--tinted{ background: var(--aa-stone); }

/* filter tabs */
.aa-tabs{
  display:flex;
  gap: 6px;
  background: var(--aa-ivory);
  border: 1px solid var(--aa-line);
  border-radius: 999px;
  padding: 4px;
}
.aa-products-section:not(.aa-products-section--tinted) .aa-tabs{ background: var(--aa-stone); }
.aa-tabs button{
  font-family: var(--aa-font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  background: none;
  border: 0;
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.aa-tabs button:hover{ color: var(--aa-brown-900); }
.aa-tabs button.is-active{
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
}

.aa-product-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}
@media (max-width: 1080px){ .aa-product-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px){ .aa-product-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .aa-product-grid{ grid-template-columns: 1fr; } }

.aa-product{
  position:relative;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  overflow:hidden;
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease);
}
.aa-product:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 44px -26px rgba(62,36,20,.5);
}
.aa-product.is-filtered-out{ display:none; }

.aa-product__media{
  position:relative;
  display:block;
  aspect-ratio: 600 / 680;
  overflow:hidden;
  background: var(--aa-stone);
}
.aa-product__media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transition: transform .6s var(--aa-ease);
}
.aa-product:hover .aa-product__media img{ transform: scale(1.05); }

.aa-badge{
  position:absolute;
  top: 12px; left: 12px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 2px;
  color: var(--aa-ivory);
  background: var(--aa-brown-700);
}
.aa-badge--new{ background: var(--aa-sprout-700); }
.aa-badge--sale{ background: #A33B22; }
.aa-badge--best{ background: var(--aa-brown-900); }

/* add-to-cart: overlaps the bottom edge of the image; hidden until hover
   on pointer devices, always visible on touch */
.aa-product{ display:flex; flex-direction:column; }
.aa-product__media{ order: 1; }
.aa-product__info{ order: 3; }
.aa-product__add{
  order: 2;
  position: relative;
  z-index: 2;
  margin: -22px 12px 0;
  font-family: var(--aa-font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--aa-brown-900);
  color: var(--aa-ivory);
  border: 0;
  border-radius: 2px;
  padding: 12px 0;
  cursor: pointer;
  transition: background .25s ease, opacity .3s var(--aa-ease), transform .3s var(--aa-ease);
}
@media (hover:hover){
  .aa-product__add{
    opacity: 0;
    transform: translateY(8px);
  }
  .aa-product:hover .aa-product__add,
  .aa-product__add:focus-visible{
    opacity: 1;
    transform: none;
  }
}
.aa-product__add:hover{ background: var(--aa-brown-700); }

.aa-product__info{
  padding: 16px 16px 20px;
}
.aa-product__cat{
  display:inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  margin-bottom: 6px;
}
.aa-product__cat--sprout{ color: var(--aa-sprout-700); }
.aa-product__title{
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 8px;
}
.aa-product__title a{
  color: var(--aa-brown-900);
  text-decoration: none;
  transition: color .2s ease;
}
.aa-product__title a:hover{ color: var(--aa-brown-700); }

.aa-product__rating{
  display:flex;
  align-items:center;
  gap: 6px;
  margin-bottom: 10px;
}
.aa-stars{
  font-size: 13px;
  letter-spacing: 2px;
  color: #C9922A; /* wheat-gold, warm against the brown palette */
}
.aa-rating-count{
  font-size: 12px;
  color: var(--aa-brown-500);
}

.aa-product__price{
  font-family: var(--aa-font-ui);
  font-size: 15.5px;
  margin: 0;
  display:flex;
  align-items:baseline;
  gap: 8px;
}
.aa-product__price ins{
  text-decoration: none;
  font-weight: 700;
  color: var(--aa-brown-900);
}
.aa-product__price del{
  font-size: 13px;
  color: var(--aa-brown-500);
}

/* ==========================================================================
   4. PROMO BANNER
   ========================================================================== */
.aa-promo{
  position:relative;
  overflow:hidden;
  isolation: isolate;
  background: radial-gradient(120% 140% at 78% 20%, #7A4A2A 0%, var(--aa-brown-900) 62%);
  font-family: var(--aa-font-ui);
  padding: clamp(56px, 8vw, 90px) 0;
}
.aa-promo::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events:none;
}
.aa-promo__burst{
  position:absolute;
  top:50%; right:-12%;
  width: min(60vh, 700px); height: min(60vh, 700px);
  transform: translateY(-50%);
  opacity:.14;
  color: var(--aa-stone);
  animation: aa-spin 140s linear infinite;
  pointer-events:none;
}
.aa-promo__burst svg{ width:100%; height:100%; }
.aa-promo__inner{
  position:relative;
  z-index:1;
  max-width: 560px;
}
.aa-promo__title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.1;
  color: var(--aa-white);
  margin: 0 0 16px;
}
.aa-promo__desc{
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
  margin: 0 0 28px;
}
.aa-promo__row{
  display:flex;
  align-items:center;
  gap: 16px;
  flex-wrap: wrap;
}
.aa-promo__code{
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .12em;
  color: var(--aa-stone);
  border: 1.5px dashed rgba(250,246,238,.55);
  border-radius: 2px;
  padding: 13px 22px;
  user-select: all;
}

/* ==========================================================================
   6. OUR PROCESS
   ========================================================================== */
.aa-process{
  position:relative;
  overflow:hidden;
  isolation: isolate;
  background: radial-gradient(120% 140% at 20% 0%, #5E7040 0%, #263019 60%);
  font-family: var(--aa-font-ui);
  padding: clamp(56px, 8vw, 96px) 0;
}
.aa-process::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events:none;
}
.aa-process__burst{
  position:absolute;
  bottom:-30%; left:-10%;
  width: min(55vh, 600px); height: min(55vh, 600px);
  opacity:.12;
  color: var(--aa-sprout-100);
  animation: aa-spin 140s linear infinite;
  pointer-events:none;
}
.aa-process__burst svg{ width:100%; height:100%; }
.aa-process .aa-eyebrow--light{ color: var(--aa-sprout-100); }
.aa-process__steps{
  position:relative;
  z-index:1;
  list-style:none;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 36px);
  margin: 0;
  padding: 0;
  counter-reset: step;
}
.aa-process__step{
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 4px;
  padding: clamp(24px, 2.6vw, 34px);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(2px);
}
.aa-process__num{
  display:block;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 30px;
  color: var(--aa-sprout-100);
  opacity: .75;
  margin-bottom: 14px;
}
.aa-process__step h3{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: 21px;
  color: var(--aa-white);
  margin: 0 0 10px;
}
.aa-process__step p{
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.78);
  margin: 0;
}
.aa-process__cta{
  position:relative;
  z-index:1;
  text-align:center;
  margin-top: clamp(28px, 4vw, 44px);
}
.aa-process .aa-btn--light{
  background: var(--aa-sprout-100);
  color: #263019;
}
@media (max-width: 820px){
  .aa-process__steps{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   7. TESTIMONIALS
   ========================================================================== */
.aa-testimonial-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.4vw, 28px);
}
.aa-testimonial{
  margin: 0;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: clamp(24px, 2.6vw, 34px);
  display:flex;
  flex-direction:column;
  gap: 14px;
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease);
}
.aa-testimonial:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 44px -26px rgba(62,36,20,.4);
}
.aa-testimonial p{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 16px;
  line-height: 1.65;
  color: var(--aa-brown-900);
  margin: 0;
  flex: 1;
}
.aa-testimonial footer{
  border-top: 1px dashed var(--aa-line);
  padding-top: 14px;
  display:flex;
  flex-direction:column;
  gap: 2px;
}
.aa-testimonial footer strong{
  font-size: 13.5px;
  color: var(--aa-brown-900);
}
.aa-testimonial footer span{
  font-size: 12px;
  color: var(--aa-brown-500);
}
@media (max-width: 820px){
  .aa-testimonial-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   8. NEWSLETTER
   ========================================================================== */
.aa-newsletter{
  background: var(--aa-stone);
  border-top: 1px solid var(--aa-line);
  font-family: var(--aa-font-ui);
  padding: clamp(48px, 7vw, 80px) 0;
}
.aa-newsletter__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: clamp(24px, 4vw, 48px);
  flex-wrap: wrap;
}
.aa-newsletter__desc{
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--aa-brown-500);
  max-width: 46ch;
  margin: 12px 0 0;
}
.aa-newsletter__form{
  display:flex;
  gap: 10px;
  flex: 1;
  min-width: 300px;
  max-width: 520px;
}
.aa-newsletter__form input[type="email"]{
  flex: 1;
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 0 18px;
  outline: 0;
  transition: border-color .25s ease;
}
.aa-newsletter__form input[type="email"]:focus{
  border-color: var(--aa-brown-700);
}
@media (max-width: 560px){
  .aa-newsletter__form{ flex-direction: column; min-width: 0; width: 100%; }
  .aa-newsletter__form input[type="email"]{ padding: 14px 18px; }
}

/* ---- Sections respect reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  .aa-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .aa-promo__burst, .aa-process__burst, .aa-cat-card__burst{ animation: none !important; }
}

/* ---- Focus visibility on light sections ---- */
.aa-section a:focus-visible,
.aa-section button:focus-visible,
.aa-usp a:focus-visible,
.aa-newsletter button:focus-visible,
.aa-newsletter input:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}
.aa-promo a:focus-visible,
.aa-process a:focus-visible{
  outline: 2px solid var(--aa-ivory);
  outline-offset: 3px;
}


/* ==========================================================================
   AASTHA SITE FOOTER
   Deep roast brown, one ambient sunburst, stone/ivory type. Scoped to
   #aastha-footer so it can't collide with plugin CSS.
   ========================================================================== */
#aastha-footer,
#aastha-footer *{
  box-sizing: border-box;
}
#aastha-footer{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(130% 130% at 85% 0%, #57301A 0%, var(--aa-brown-900) 58%);
  color: var(--aa-stone);
  font-family: var(--aa-font-ui);
  padding: clamp(56px, 7vw, 88px) 0 0;
}
/* same grain-texture wash as the hero/promo, keeps the system consistent */
#aastha-footer::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events:none;
}
#aastha-footer a{
  color: inherit;
  text-decoration: none;
}
#aastha-footer ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.aa-footer__burst{
  position:absolute;
  bottom:-34%; right:-12%;
  width: min(58vh, 640px); height: min(58vh, 640px);
  opacity:.1;
  color: var(--aa-stone);
  animation: aa-spin 140s linear infinite;
  pointer-events:none;
}
.aa-footer__burst svg{ width:100%; height:100%; display:block; }

/* ---- Main columns ---- */
.aa-footer__grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.3fr;
  gap: clamp(28px, 4vw, 56px);
  padding-bottom: clamp(40px, 5vw, 64px);
}

.aa-footer__logo img{
  height: 54px;
  width: auto;
  display: block;
  /* the supplied mark is brown-on-transparent — lift it to ivory on the dark bg */
  filter: brightness(0) saturate(100%) invert(93%) sepia(9%) saturate(437%) hue-rotate(357deg) brightness(102%);
}
.aa-footer__tagline{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(239,231,216,.8);
  max-width: 34ch;
  margin: 18px 0 22px;
}

.aa-footer__social{
  display: flex;
  gap: 10px;
}
.aa-footer__social a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(239,231,216,.28);
  color: var(--aa-stone);
  transition: background .25s ease, border-color .25s ease, transform .25s var(--aa-ease);
}
.aa-footer__social a:hover{
  background: rgba(239,231,216,.12);
  border-color: rgba(239,231,216,.6);
  transform: translateY(-2px);
}
.aa-footer__social svg{ width: 17px; height: 17px; }

.aa-footer__heading{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 17px;
  color: var(--aa-white);
  margin: 6px 0 18px;
}
/* small milled-grain rule under each heading */
.aa-footer__heading::after{
  content:"";
  display:block;
  width: 28px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 10px;
}

.aa-footer__col ul{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.aa-footer__col ul a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  font-size: 13.5px;
  color: rgba(239,231,216,.78);
  transition: color .2s ease, padding-left .2s ease;
}
/* same dot-slide hover the mega-menu links use */
.aa-footer__col ul a::before{
  content:"";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: rgba(239,231,216,.3);
  flex-shrink: 0;
  transition: background .2s ease;
}
.aa-footer__col ul a:hover{
  color: var(--aa-white);
  padding-left: 6px;
}
.aa-footer__col ul a:hover::before{
  background: var(--aa-stone);
}

/* ---- Contact column ---- */
.aa-footer__contact{
  gap: 14px !important;
}
.aa-footer__contact li{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(239,231,216,.78);
}
.aa-footer__contact svg{
  width: 17px; height: 17px;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--aa-brown-500);
}
.aa-footer__contact a{
  color: rgba(239,231,216,.78);
  transition: color .2s ease;
}
.aa-footer__contact a:hover{ color: var(--aa-white); }
/* contact links don't take the dot hover */
.aa-footer__contact a::before{ display: none; }

/* ---- Bottom bar ---- */
.aa-footer__bottom{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(239,231,216,.16);
  padding: 22px 0 26px;
}
.aa-footer__copy{
  font-size: 12.5px;
  color: rgba(239,231,216,.6);
  margin: 0;
}
.aa-footer__legal{
  display: flex;
  gap: 22px;
}
.aa-footer__legal a{
  font-size: 12.5px;
  color: rgba(239,231,216,.6);
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.aa-footer__legal a:hover{
  color: var(--aa-white);
  border-bottom-color: rgba(239,231,216,.5);
}
.aa-footer__pay{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.aa-footer__pay li{
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(239,231,216,.65);
  border: 1px solid rgba(239,231,216,.22);
  border-radius: 2px;
  padding: 5px 9px;
}

/* ---- Back to top ---- */
.aa-totop{
  position: fixed;
  right: clamp(16px, 3vw, 32px);
  bottom: clamp(16px, 3vw, 32px);
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 1px solid var(--aa-line);
  background: var(--aa-ivory);
  color: var(--aa-brown-900);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 900;
  box-shadow: 0 12px 28px -14px rgba(62,36,20,.55);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .3s var(--aa-ease), transform .3s var(--aa-ease), background .25s ease;
}
.aa-totop.is-visible{
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.aa-totop:hover{ background: var(--aa-stone); }
.aa-totop svg{ width: 18px; height: 18px; }

/* ---- Responsive ---- */
@media (max-width: 1080px){
  .aa-footer__grid{
    grid-template-columns: 1fr 1fr 1fr;
  }
  .aa-footer__brand{ grid-column: 1 / -1; }
}
@media (max-width: 640px){
  .aa-footer__grid{
    grid-template-columns: 1fr 1fr;
  }
  .aa-footer__col--contact{ grid-column: 1 / -1; }
  .aa-footer__bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ---- Reduced motion + focus ---- */
@media (prefers-reduced-motion: reduce){
  .aa-footer__burst{ animation: none !important; }
  #aastha-footer *, .aa-totop{ transition-duration: .001ms !important; }
}
#aastha-footer a:focus-visible,
#aastha-footer button:focus-visible,
.aa-totop:focus-visible{
  outline: 2px solid var(--aa-ivory);
  outline-offset: 3px;
}
/* ==========================================================================
   AASTHA LEGAL PAGES (Privacy Policy / Terms / Refund Policy)
   Shared .aa-legal layout: compact dark hero, sticky TOC rail on the left,
   readable long-form column on the right. Scoped to .aa-legal.
   ========================================================================== */
.aa-legal,
.aa-legal *{
  box-sizing: border-box;
}
.aa-legal{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}

/* ---- Page hero — a shorter cousin of the homepage hero ---- */
.aa-legal__hero{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(120% 140% at 78% 20%, #7A4A2A 0%, var(--aa-brown-900) 62%);
  padding: clamp(48px, 7vw, 84px) 0;
}
.aa-legal__hero::after{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events:none;
}
.aa-legal__hero-burst{
  position:absolute;
  top:50%; right:-14%;
  width: min(46vh, 480px); height: min(46vh, 480px);
  transform: translateY(-50%);
  opacity:.14;
  color: var(--aa-stone);
  animation: aa-spin 140s linear infinite;
  pointer-events:none;
}
.aa-legal__hero-burst svg{ width:100%; height:100%; display:block; }
.aa-legal__hero .aa-container{ position:relative; z-index:1; }
.aa-legal__title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(32px, 4.4vw, 54px);
  line-height: 1.08;
  color: var(--aa-white);
  margin: 0 0 12px;
}
.aa-legal__updated{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 14px;
  color: rgba(239,231,216,.75);
  margin: 0;
}

/* ---- Two-column layout: sticky TOC + content ---- */
.aa-legal__layout{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px);
}

.aa-legal__toc{
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 24px);
  align-self: start;
  border-left: 2px solid var(--aa-line);
  padding-left: 20px;
}
.aa-legal__toc h2{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  margin: 0 0 14px;
}
.aa-legal__toc ol{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  counter-reset: toc;
}
.aa-legal__toc a{
  display: block;
  padding: 6px 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--aa-brown-500);
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
.aa-legal__toc a:hover,
.aa-legal__toc a.is-current{
  color: var(--aa-brown-900);
  padding-left: 5px;
}
.aa-legal__toc a.is-current{ font-weight: 600; }

/* ---- Long-form content ---- */
.aa-legal__content{
  max-width: 720px;
  font-size: 15px;
  line-height: 1.75;
}
.aa-legal__intro{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 18px;
  line-height: 1.7;
  color: var(--aa-brown-700);
  border-bottom: 1px dashed var(--aa-line);
  padding-bottom: 26px;
  margin: 0 0 12px;
}
.aa-legal__content section{
  padding-top: 26px;
  /* anchored headings land clear of the sticky header */
  scroll-margin-top: calc(var(--aa-header-h-scrolled) + 24px);
}
.aa-legal__content h2{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(21px, 2.3vw, 26px);
  color: var(--aa-brown-900);
  margin: 0 0 14px;
}
/* milled-grain rule under each section heading, echoes the footer headings */
.aa-legal__content h2::after{
  content:"";
  display:block;
  width: 32px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 10px;
}
.aa-legal__content h3{
  font-size: 15.5px;
  font-weight: 600;
  color: var(--aa-brown-900);
  margin: 20px 0 8px;
}
.aa-legal__content p{
  margin: 0 0 14px;
  color: var(--aa-charcoal);
}
.aa-legal__content ul{
  margin: 0 0 14px;
  padding-left: 4px;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* dot bullets in brand brown, same motif as the mega-menu links */
.aa-legal__content ul li{
  position: relative;
  padding-left: 20px;
}
.aa-legal__content ul li::before{
  content:"";
  position: absolute;
  left: 4px;
  top: .62em;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--aa-brown-500);
}
.aa-legal__content a{
  color: var(--aa-brown-700);
  text-decoration: none;
  border-bottom: 1px solid var(--aa-line);
  transition: color .2s ease, border-color .2s ease;
}
.aa-legal__content a:hover{
  color: var(--aa-brown-900);
  border-bottom-color: var(--aa-brown-500);
}
.aa-legal__content strong{ color: var(--aa-brown-900); }

.aa-legal__address{
  font-style: normal;
  line-height: 1.9;
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 22px 26px;
  margin-top: 6px;
}

/* ---- Responsive ---- */
@media (max-width: 900px){
  .aa-legal__layout{
    grid-template-columns: 1fr;
  }
  .aa-legal__toc{
    position: static;
    border-left: 0;
    border: 1px solid var(--aa-line);
    border-radius: 4px;
    background: var(--aa-stone);
    padding: 20px 22px;
  }
}

/* ---- Reduced motion + focus ---- */
@media (prefers-reduced-motion: reduce){
  .aa-legal__hero-burst{ animation: none !important; }
}
.aa-legal a:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}

/* ==========================================================================
   AASTHA CONTACT PAGE
   Reuses the .aa-legal hero; below it, an info-card rail beside the
   message form. Scoped to .aa-contact.
   ========================================================================== */
.aa-contact,
.aa-contact *{
  box-sizing: border-box;
}
.aa-contact{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}
.aa-contact__hero-desc{
  font-size: 15.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
  max-width: 52ch;
  margin: 14px 0 0;
}

.aa-contact__layout{
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px);
  padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px);
  align-items: start;
}

/* ---- Info cards ---- */
.aa-contact__rail{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.aa-contact-card{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 24px 26px;
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease);
}
.aa-contact-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 38px -24px rgba(62,36,20,.45);
}
.aa-contact-card__icon{
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--aa-stone);
  color: var(--aa-brown-700);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.aa-contact-card__icon svg{ width: 19px; height: 19px; }
.aa-contact-card h2{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: 19px;
  color: var(--aa-brown-900);
  margin: 0 0 8px;
}
.aa-contact-card p{
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--aa-brown-500);
  margin: 0 0 10px;
}
.aa-contact-card__link{
  display: inline-block;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--aa-brown-700);
  text-decoration: none;
  border-bottom: 1px solid var(--aa-line);
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.aa-contact-card__link:hover{
  color: var(--aa-brown-900);
  border-bottom-color: var(--aa-brown-500);
}
.aa-contact-card__meta{
  display: block;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 12.5px;
  color: var(--aa-brown-500);
  margin-top: 8px;
}
/* accent card — sprout green, points order issues at the refund policy */
.aa-contact-card--accent{
  background: var(--aa-sprout-100);
  border-color: transparent;
}
.aa-contact-card--accent h2{ color: var(--aa-sprout-700); }
.aa-contact-card--accent p{ color: #3d4a2b; }
.aa-contact-card--accent .aa-contact-card__link{
  color: var(--aa-sprout-700);
  border-bottom-color: rgba(85,100,60,.35);
}
.aa-contact-card--accent .aa-contact-card__link:hover{
  color: #263019;
  border-bottom-color: var(--aa-sprout-700);
}

/* ---- Form ---- */
.aa-contact__form-wrap{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: clamp(26px, 3.4vw, 44px);
}
.aa-contact__form-title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.8vw, 32px);
  color: var(--aa-brown-900);
  margin: 0 0 8px;
}
.aa-contact__form-desc{
  font-size: 14px;
  color: var(--aa-brown-500);
  margin: 0 0 26px;
}

.aa-contact__form{
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.aa-field-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.aa-field{
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.aa-field label{
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
}
.aa-field__hint{
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--aa-brown-500);
}
.aa-field input,
.aa-field select,
.aa-field textarea{
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 13px 16px;
  outline: 0;
  width: 100%;
  transition: border-color .25s ease, background .25s ease;
}
.aa-field textarea{
  resize: vertical;
  min-height: 130px;
}
.aa-field select{
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B3A1F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 10px 6px;
  padding-right: 40px;
  cursor: pointer;
}
.aa-field input:focus,
.aa-field select:focus,
.aa-field textarea:focus{
  border-color: var(--aa-brown-700);
  background: var(--aa-white);
}
/* invalid state only after the user has interacted (JS adds .was-validated) */
.aa-contact__form.was-validated input:invalid,
.aa-contact__form.was-validated select:invalid,
.aa-contact__form.was-validated textarea:invalid{
  border-color: #A33B22;
}

.aa-contact__form-note{
  font-size: 12.5px;
  color: var(--aa-brown-500);
  margin: 0;
}
.aa-contact__form-note a{
  color: var(--aa-brown-700);
  text-decoration: none;
  border-bottom: 1px solid var(--aa-line);
}
.aa-contact__form-note a:hover{ border-bottom-color: var(--aa-brown-500); }

.aa-contact__form .aa-btn{ align-self: flex-start; }

.aa-contact__success{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--aa-sprout-100);
  color: var(--aa-sprout-700);
  border-radius: 2px;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
.aa-contact__success svg{
  width: 20px; height: 20px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ---- Responsive ---- */
@media (max-width: 900px){
  .aa-contact__layout{
    grid-template-columns: 1fr;
  }
  /* form first on mobile — it's what most visitors came for */
  .aa-contact__form-wrap{ order: 1; }
  .aa-contact__rail{ order: 2; }
}
@media (max-width: 560px){
  .aa-field-row{ grid-template-columns: 1fr; }
  .aa-contact__form .aa-btn{ align-self: stretch; justify-content: center; }
}

/* ---- Focus ---- */
.aa-contact a:focus-visible,
.aa-contact button:focus-visible,
.aa-contact input:focus-visible,
.aa-contact select:focus-visible,
.aa-contact textarea:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}

/* ==========================================================================
   AASTHA FAQ PAGE
   Reuses the .aa-legal hero and .aa-tabs; native <details>/<summary>
   accordions so answers work without JS. Scoped to .aa-faq.
   ========================================================================== */
.aa-faq,
.aa-faq *{
  box-sizing: border-box;
}
.aa-faq{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}
.aa-faq__hero-link{
  color: var(--aa-stone);
  text-decoration: none;
  border-bottom: 1px solid rgba(239,231,216,.5);
  transition: border-color .2s ease;
}
.aa-faq__hero-link:hover{ border-bottom-color: var(--aa-stone); }

.aa-faq__body{
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px);
}

.aa-faq__tabs{
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto clamp(32px, 5vw, 52px);
  width: fit-content;
  background: var(--aa-stone);
}

/* hidden by the filter */
.aa-faq__group.is-filtered-out{ display: none; }

.aa-faq__group{
  margin-bottom: clamp(32px, 5vw, 48px);
}
.aa-faq__group-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 22px;
  color: var(--aa-brown-900);
  margin: 0 0 18px;
}
.aa-faq__group-title .aa-dot{
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--aa-brown-700);
  flex-shrink: 0;
}

/* ---- Accordion items ---- */
.aa-faq__item{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .3s var(--aa-ease);
}
.aa-faq__item[open]{
  border-color: var(--aa-brown-500);
  box-shadow: 0 16px 32px -24px rgba(62,36,20,.45);
}
.aa-faq__item summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--aa-brown-900);
  cursor: pointer;
  list-style: none; /* hide default marker */
  transition: color .2s ease;
}
.aa-faq__item summary::-webkit-details-marker{ display: none; }
.aa-faq__item summary:hover{ color: var(--aa-brown-700); }

.aa-faq__chevron{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--aa-stone);
  color: var(--aa-brown-700);
  flex-shrink: 0;
  transition: transform .3s var(--aa-ease), background .25s ease, color .25s ease;
}
.aa-faq__chevron svg{ width: 10px; height: 10px; }
.aa-faq__item[open] .aa-faq__chevron{
  transform: rotate(180deg);
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
}

.aa-faq__answer{
  padding: 0 22px 20px;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--aa-charcoal);
}
.aa-faq__answer p{ margin: 0 0 12px; }
.aa-faq__answer p:last-child{ margin-bottom: 0; }
.aa-faq__answer a{
  color: var(--aa-brown-700);
  text-decoration: none;
  border-bottom: 1px solid var(--aa-line);
  transition: color .2s ease, border-color .2s ease;
}
.aa-faq__answer a:hover{
  color: var(--aa-brown-900);
  border-bottom-color: var(--aa-brown-500);
}
.aa-faq__answer strong{ color: var(--aa-brown-900); }

/* ---- Still-stuck CTA ---- */
.aa-faq__cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: clamp(24px, 3.4vw, 38px);
  margin-top: clamp(32px, 5vw, 48px);
}
.aa-faq__cta h2{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(21px, 2.4vw, 27px);
  color: var(--aa-brown-900);
  margin: 0 0 6px;
}
.aa-faq__cta p{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 14.5px;
  color: var(--aa-brown-500);
  margin: 0;
}

/* ---- Responsive + focus ---- */
@media (max-width: 560px){
  .aa-faq__tabs{ width: 100%; justify-content: flex-start; overflow-x: auto; }
  .aa-faq__item summary{ padding: 16px 16px; font-size: 14px; }
  .aa-faq__answer{ padding: 0 16px 18px; }
  .aa-faq__cta{ flex-direction: column; align-items: flex-start; }
}
.aa-faq a:focus-visible,
.aa-faq button:focus-visible,
.aa-faq summary:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}

/* ==========================================================================
   AASTHA OUR PROCESS / ABOUT PAGE
   Reuses the .aa-legal hero, .aa-section primitives and .aa-promo CTA.
   New pieces: story split layout, stats band with count-up, process
   timeline, values band, founder note, certification strip.
   Scoped to .aa-about.
   ========================================================================== */
.aa-about,
.aa-about *{
  box-sizing: border-box;
}
.aa-about{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}

/* ---- 2 & 6. Story / founder split layouts ---- */
.aa-about__split{
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.aa-about__split--reverse{
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
}
.aa-about__split--reverse .aa-about__split-media{ order: 2; }
.aa-about__split--reverse .aa-about__split-text{ order: 1; }

.aa-about__split-media{
  position: relative;
}
.aa-about__split-media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  border: 1px solid var(--aa-line);
}
/* floating badge on the story image — sunburst icon + est. note */
.aa-about__split-badge{
  position: absolute;
  bottom: -18px;
  right: -14px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--aa-brown-700);
  color: var(--aa-stone);
  border-radius: 4px;
  padding: 16px 20px;
  box-shadow: 0 18px 36px -18px rgba(62,36,20,.55);
  max-width: 240px;
}
.aa-about__split-badge svg{
  width: 30px; height: 30px;
  flex-shrink: 0;
}
.aa-about__split-badge span{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 13px;
  line-height: 1.5;
}

.aa-about__prose{
  margin: 18px 0 24px;
}
.aa-about__prose p{
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 14px;
}
.aa-about__prose p:last-child{ margin-bottom: 0; }
.aa-about__prose strong{ color: var(--aa-brown-900); }

.aa-about__signature{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 17px;
  color: var(--aa-brown-700);
  margin: 0;
}

/* ---- 3. Stats band ---- */
.aa-about__stats{
  background: var(--aa-stone);
  border-top: 1px solid var(--aa-line);
  border-bottom: 1px solid var(--aa-line);
  padding: clamp(36px, 5vw, 56px) 0;
}
.aa-about__stats-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 40px);
  text-align: center;
}
.aa-about__stat-num{
  display: block;
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1;
  color: var(--aa-brown-700);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
}
.aa-about__stat-label{
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: var(--aa-brown-500);
  max-width: 22ch;
  margin: 0 auto;
}

/* ---- 4. Process timeline ---- */
.aa-timeline{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 5vw, 60px);
  position: relative;
}
/* the mill line — a dashed spine down the centre gap */
.aa-timeline::before{
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  border-left: 1px dashed var(--aa-line);
}
.aa-timeline__step{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4.5vw, 64px);
  align-items: center;
}
/* alternate sides: even steps flip so text and image zigzag down the line */
.aa-timeline__step:nth-child(even) .aa-timeline__media{ order: 2; }
.aa-timeline__step:nth-child(even) .aa-timeline__body{ order: 1; text-align: right; }
.aa-timeline__step:nth-child(even) .aa-timeline__num{ margin-left: auto; }

/* node dot on the spine */
.aa-timeline__step::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 13px; height: 13px;
  border-radius: 50%;
  background: var(--aa-brown-700);
  border: 3px solid var(--aa-ivory);
  box-shadow: 0 0 0 1px var(--aa-line);
  z-index: 1;
}

.aa-timeline__media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  border: 1px solid var(--aa-line);
  transition: transform .5s var(--aa-ease), box-shadow .5s var(--aa-ease);
}
.aa-timeline__step:hover .aa-timeline__media img{
  transform: translateY(-4px);
  box-shadow: 0 24px 44px -26px rgba(62,36,20,.45);
}

.aa-timeline__num{
  display: block;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 30px;
  color: var(--aa-brown-500);
  opacity: .75;
  margin-bottom: 10px;
}
.aa-timeline__body h3{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(21px, 2.4vw, 27px);
  color: var(--aa-brown-900);
  margin: 0 0 10px;
}
.aa-timeline__body h3 em{
  font-size: .72em;
  color: var(--aa-sprout-700);
}
.aa-timeline__body p{
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--aa-charcoal);
  margin: 0;
  max-width: 48ch;
}
.aa-timeline__step:nth-child(even) .aa-timeline__body p{ margin-left: auto; }

/* ---- 5. Values band (sprout-green, mirrors homepage process section) ---- */
.aa-about__values{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(120% 140% at 20% 0%, #5E7040 0%, #263019 60%);
  padding: clamp(56px, 8vw, 96px) 0;
}
.aa-about__values::after{
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.aa-about__values-burst{
  position: absolute;
  top: -28%; right: -10%;
  width: min(55vh, 600px); height: min(55vh, 600px);
  opacity: .12;
  color: var(--aa-sprout-100);
  animation: aa-spin 140s linear infinite;
  pointer-events: none;
}
.aa-about__values-burst svg{ width: 100%; height: 100%; }
.aa-about__values .aa-eyebrow--light{ color: var(--aa-sprout-100); }
.aa-about__values-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.4vw, 28px);
}
.aa-about__value{
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 4px;
  padding: clamp(22px, 2.6vw, 32px);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(2px);
}
.aa-about__value svg{
  width: 30px; height: 30px;
  color: var(--aa-sprout-100);
  margin-bottom: 14px;
}
.aa-about__value h3{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: 18px;
  color: var(--aa-white);
  margin: 0 0 8px;
}
.aa-about__value p{
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.78);
  margin: 0;
}

/* ---- 7. Certifications strip ---- */
.aa-about__certs{
  background: var(--aa-stone);
  border-top: 1px solid var(--aa-line);
  border-bottom: 1px solid var(--aa-line);
  padding: clamp(32px, 4.5vw, 48px) 0;
}
.aa-about__certs-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 3vw, 36px);
}
.aa-about__cert{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.aa-about__cert img{
  width: 74px; height: 74px;
  border-radius: 50%;
  border: 1px solid var(--aa-line);
  display: block;
  transition: transform .35s var(--aa-ease), box-shadow .35s var(--aa-ease);
}
.aa-about__cert:hover img{
  transform: translateY(-3px);
  box-shadow: 0 14px 26px -16px rgba(62,36,20,.5);
}
.aa-about__cert span{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
}

/* ---- 8. CTA extras ---- */
.aa-about__cta-link{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 14.5px;
  color: rgba(239,231,216,.8);
  text-decoration: none;
  border-bottom: 1px solid rgba(239,231,216,.35);
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
.aa-about__cta-link:hover{
  color: var(--aa-white);
  border-bottom-color: var(--aa-stone);
}

/* ---- Responsive ---- */
@media (max-width: 900px){
  .aa-about__split,
  .aa-about__split--reverse{
    grid-template-columns: 1fr;
  }
  /* text first on mobile for both splits */
  .aa-about__split-media{ order: 2 !important; }
  .aa-about__split-text{ order: 1 !important; }
  .aa-about__split-badge{
    right: 12px;
    bottom: 12px;
  }

  .aa-timeline::before{ left: 24px; }
  .aa-timeline__step{
    grid-template-columns: 1fr;
    gap: 16px;
    padding-left: 56px;
  }
  .aa-timeline__step::before{
    left: 24px;
    top: 10px;
    transform: translateX(-50%);
  }
  .aa-timeline__step:nth-child(even) .aa-timeline__media{ order: 2; }
  .aa-timeline__step:nth-child(even) .aa-timeline__body{ order: 1; text-align: left; }
  .aa-timeline__step:nth-child(even) .aa-timeline__num{ margin-left: 0; }
  .aa-timeline__step:nth-child(even) .aa-timeline__body p{ margin-left: 0; }

  .aa-about__values-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .aa-about__stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .aa-about__certs-grid{ grid-template-columns: repeat(2, 1fr); }
  .aa-about__values-grid{ grid-template-columns: 1fr; }
}

/* ---- Reduced motion + focus ---- */
@media (prefers-reduced-motion: reduce){
  .aa-about__values-burst{ animation: none !important; }
}
.aa-about a:focus-visible,
.aa-about button:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}
.aa-about__values a:focus-visible,
.aa-about__cta a:focus-visible{
  outline: 2px solid var(--aa-ivory);
  outline-offset: 3px;
}

/* ==========================================================================
   AASTHA SHOP / PRODUCT ARCHIVE
   Styles for the woocommerce/archive-product.php + content-product.php
   overrides. Product cards reuse the homepage .aa-product component;
   this block adds the archive shell (hero variant, sidebar, toolbar,
   Woo-generated markup: ordering select, price html, star rating,
   pagination, notices). Scoped to .aa-shop.
   ========================================================================== */
.aa-shop,
.aa-shop *{
  box-sizing: border-box;
}
.aa-shop{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
}

/* ---- Hero: breadcrumb + description; green variant on sprouted cats ---- */
.aa-shop__breadcrumb{
  font-size: 12.5px;
  color: rgba(239,231,216,.65);
  margin-bottom: 16px;
}
.aa-shop__breadcrumb a{
  color: rgba(239,231,216,.85);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease;
}
.aa-shop__breadcrumb a:hover{ border-bottom-color: rgba(239,231,216,.5); }
.aa-crumb-sep{ margin: 0 8px; opacity: .5; }

.aa-shop__hero-desc,
.aa-shop__hero-desc p{
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
  max-width: 58ch;
  margin: 0;
}
.aa-shop__hero-desc{ margin-top: 14px; }
.aa-shop__hero-desc p + p{ margin-top: 10px; }

.aa-shop--sprout .aa-legal__hero{
  background: radial-gradient(120% 140% at 78% 20%, #5E7040 0%, #263019 62%);
}
.aa-shop--sprout .aa-legal__hero-burst{ color: var(--aa-sprout-100); }
.aa-shop--sprout .aa-eyebrow--light{ color: var(--aa-sprout-100); }

/* ---- Layout ---- */
.aa-shop__layout{
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(36px, 5vw, 64px) 0 clamp(56px, 8vw, 96px);
  align-items: start;
}

/* ---- Sidebar: category nav ---- */
.aa-shop__sidebar{
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 24px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.aa-shop-widget{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 22px 22px 16px;
}
.aa-shop-widget__title{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  color: var(--aa-brown-900);
  margin: 0 0 6px;
}
.aa-shop-widget__title::after{
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 8px;
}
.aa-shop-cats{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.aa-shop-cats li{
  border-top: 1px dashed var(--aa-line);
}
.aa-shop-cats li:first-child{ border-top: 0; }
.aa-shop-cats a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 2px;
  font-size: 13.5px;
  color: var(--aa-charcoal);
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease;
}
/* dot-slide hover, same motif as the mega menu / footer */
.aa-shop-cats a::before{
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--aa-line);
  flex-shrink: 0;
  transition: background .2s ease;
}
.aa-shop-cats a span{
  margin-left: auto;
  font-size: 11px;
  color: var(--aa-brown-500);
  background: var(--aa-stone);
  border-radius: 999px;
  padding: 2px 8px;
}
.aa-shop-cats a:hover{
  color: var(--aa-brown-700);
  padding-left: 6px;
}
.aa-shop-cats a:hover::before{ background: var(--aa-brown-700); }
.aa-shop-cats li.is-active a{
  color: var(--aa-brown-900);
  font-weight: 600;
}
.aa-shop-cats li.is-active a::before{ background: var(--aa-brown-700); }
.aa-shop-cats li.is-sprout a:hover{ color: var(--aa-sprout-700); }
.aa-shop-cats li.is-sprout a:hover::before,
.aa-shop-cats li.is-sprout.is-active a::before{ background: var(--aa-sprout-700); }

/* ---- Sidebar: promo card ---- */
.aa-shop-promo{
  background: radial-gradient(120% 140% at 80% 0%, #7A4A2A 0%, var(--aa-brown-900) 62%);
  border-radius: 4px;
  padding: 24px 22px;
  color: var(--aa-stone);
}
.aa-shop-promo__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 13.5px;
  margin: 0 0 8px;
}
.aa-shop-promo__eyebrow .aa-dot{
  width: 5px; height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.aa-shop-promo__title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: 20px;
  color: var(--aa-white);
  margin: 0 0 14px;
}
.aa-shop-promo__code{
  display: inline-block;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .12em;
  border: 1.5px dashed rgba(250,246,238,.55);
  border-radius: 2px;
  padding: 10px 16px;
  user-select: all;
}
.aa-shop-promo__note{
  font-size: 12px;
  color: rgba(239,231,216,.7);
  margin: 12px 0 0;
}

/* ---- Toolbar: result count + ordering ---- */
.aa-shop__toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: clamp(20px, 3vw, 28px);
}
.aa-shop .woocommerce-result-count{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--aa-brown-500);
  margin: 0;
}
.aa-shop .woocommerce-ordering{ margin: 0; }
.aa-shop .woocommerce-ordering select{
  font-family: var(--aa-font-ui);
  font-size: 13px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 10px 38px 10px 14px;
  outline: 0;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B3A1F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 10px 6px;
  transition: border-color .25s ease;
}
.aa-shop .woocommerce-ordering select:focus{ border-color: var(--aa-brown-700); }

/* ---- Product grid (Woo loop <ul>) ---- */
.aa-shop__grid{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}
/* cards are <li class="aa-product product ..."> — the homepage .aa-product
   styles apply; below are only the Woo-markup differences */
.aa-shop__grid .aa-product{ margin: 0; }

/* out-of-stock badge + dimmed image */
.aa-badge--out{ background: var(--aa-charcoal); }
.aa-shop__grid .outofstock .aa-product__media img{
  opacity: .55;
  filter: grayscale(.4);
}

/* category label is an <a> here */
.aa-product__cat{ text-decoration: none; transition: color .2s ease; }
a.aa-product__cat:hover{ color: var(--aa-brown-700); }
a.aa-product__cat--sprout:hover{ color: #3d4a2b; }

/* Woo add-to-cart button — same treatment as the homepage dummy button */
.aa-product__addwrap{
  order: 2;
  position: relative;
  z-index: 2;
  margin: -22px 12px 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}
.aa-product__addwrap .button{
  font-family: var(--aa-font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  background: var(--aa-brown-900);
  color: var(--aa-ivory);
  border: 0;
  border-radius: 2px;
  padding: 12px 10px;
  cursor: pointer;
  transition: background .25s ease, opacity .3s var(--aa-ease), transform .3s var(--aa-ease);
}
.aa-product__addwrap .button:hover{ background: var(--aa-brown-700); }
@media (hover:hover){
  .aa-product__addwrap .button{
    opacity: 0;
    transform: translateY(8px);
  }
  .aa-product:hover .aa-product__addwrap .button,
  .aa-product__addwrap .button:focus-visible{
    opacity: 1;
    transform: none;
  }
}
/* AJAX states */
.aa-product__addwrap .button.loading{ opacity: .65 !important; pointer-events: none; }
.aa-product__addwrap .button.added::after{ content: " ✓"; }
.aa-product__addwrap .added_to_cart{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: var(--aa-sprout-700);
  padding: 2px 0 6px;
}
.aa-product__addwrap .added_to_cart:hover{ color: #263019; }

/* Woo price html (<span class="price"> with del/ins) */
.aa-shop .aa-product__price,
.aa-shop .aa-product__price .price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.aa-shop .aa-product__price ins{
  text-decoration: none;
  font-weight: 700;
  color: var(--aa-brown-900);
}
.aa-shop .aa-product__price del{
  font-size: 13px;
  color: var(--aa-brown-500);
}
.aa-shop .aa-product__price .price > .woocommerce-Price-amount{
  font-weight: 700;
  color: var(--aa-brown-900);
}
.aa-shop .aa-product__price del .woocommerce-Price-amount{
  font-weight: 400;
  color: inherit;
}

/* Woo star rating — self-contained (doesn't rely on Woo's star font) */
.aa-shop .star-rating{
  position: relative;
  overflow: hidden;
  height: 1.1em;
  width: 5.9em;
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1.1;
}
.aa-shop .star-rating::before{
  content: "★★★★★";
  color: var(--aa-line);
  position: absolute;
  top: 0; left: 0;
}
.aa-shop .star-rating span{
  position: absolute;
  top: 0; left: 0;
  overflow: hidden;
  padding-top: 1.5em;
  height: 0;
}
.aa-shop .star-rating span::before{
  content: "★★★★★";
  color: #C9922A;
  position: absolute;
  top: 0; left: 0;
}

/* ---- Pagination ---- */
.aa-shop__pagination{
  margin-top: clamp(28px, 4vw, 44px);
}
.aa-shop .woocommerce-pagination ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  border: 0;
}
.aa-shop .woocommerce-pagination li{
  border: 0;
  overflow: visible;
}
.aa-shop .woocommerce-pagination .page-numbers{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--aa-brown-900);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  text-decoration: none;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.aa-shop .woocommerce-pagination a.page-numbers:hover{
  border-color: var(--aa-brown-500);
  background: var(--aa-stone);
}
.aa-shop .woocommerce-pagination .page-numbers.current{
  background: var(--aa-brown-700);
  border-color: var(--aa-brown-700);
  color: var(--aa-ivory);
}

/* ---- Notices + empty state ---- */
.aa-shop .woocommerce-info,
.aa-shop .woocommerce-message,
.aa-shop .woocommerce-error{
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-left: 3px solid var(--aa-brown-700);
  border-radius: 2px;
  color: var(--aa-charcoal);
  font-size: 14px;
  padding: 14px 18px;
  margin: 0 0 20px;
  list-style: none;
}
.aa-shop .woocommerce-message{ border-left-color: var(--aa-sprout-700); }
.aa-shop .woocommerce-error{ border-left-color: #A33B22; }

.aa-shop__empty{
  text-align: center;
  padding: clamp(32px, 6vw, 64px) 0;
}
.aa-shop__empty .woocommerce-info{
  background: none;
  border: 0;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 19px;
  color: var(--aa-brown-500);
  margin-bottom: 22px;
}

/* ---- Responsive ---- */
@media (max-width: 1080px){
  .aa-shop__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px){
  .aa-shop__layout{ grid-template-columns: 1fr; }
  .aa-shop__sidebar{
    position: static;
    flex-direction: column-reverse;
  }
  /* categories become a horizontal chip row */
  .aa-shop-widget{ padding: 16px 18px; }
  .aa-shop-widget__title{ display: none; }
  .aa-shop-cats{
    margin: 0;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .aa-shop-cats li{ border-top: 0; flex-shrink: 0; }
  .aa-shop-cats a{
    border: 1px solid var(--aa-line);
    border-radius: 999px;
    padding: 8px 14px;
    white-space: nowrap;
  }
  .aa-shop-cats a::before{ display: none; }
  .aa-shop-cats a:hover{ padding-left: 14px; }
  .aa-shop-cats li.is-active a{
    background: var(--aa-brown-700);
    border-color: var(--aa-brown-700);
    color: var(--aa-ivory);
  }
  .aa-shop-cats li.is-active a span{
    background: rgba(250,246,238,.2);
    color: var(--aa-ivory);
  }
  .aa-shop-promo{ display: none; }
}
@media (max-width: 480px){
  .aa-shop__grid{ grid-template-columns: 1fr; }
  .aa-shop__toolbar{ flex-direction: column; align-items: flex-start; }
}

/* ---- Focus ---- */
.aa-shop a:focus-visible,
.aa-shop button:focus-visible,
.aa-shop select:focus-visible{
  outline: 2px solid var(--aa-brown-700);
  outline-offset: 3px;
}
.aa-shop__hero a:focus-visible{
  outline: 2px solid var(--aa-ivory);
  outline-offset: 3px;
}

/* ==========================================================================
   AASTHA SINGLE PRODUCT PAGE
   Styles for woocommerce/single-product.php + content-single-product.php.
   The page carries .aa-shop too, so related/upsell cards reuse the shop
   card styles. This block covers the Woo-generated single markup:
   gallery, summary, quantity form, variations, meta, tabs, reviews.
   ========================================================================== */
.aa-single-page{
  padding: clamp(24px, 4vw, 44px) 0 clamp(56px, 8vw, 96px);
}

/* breadcrumb dark variant (ivory background here, not the dark hero) */
.aa-shop__breadcrumb--dark{
  color: var(--aa-brown-500);
  margin-bottom: clamp(20px, 3vw, 32px);
}
.aa-shop__breadcrumb--dark a{
  color: var(--aa-brown-700);
  border-bottom-color: transparent;
}
.aa-shop__breadcrumb--dark a:hover{ border-bottom-color: var(--aa-brown-500); }

/* ---- Top: gallery + summary ---- */
.aa-single__top{
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

/* ---- Gallery (Woo flexslider markup) ---- */
.aa-single__gallery{
  position: relative;
}
.aa-single__gallery .woocommerce-product-gallery{
  position: relative;
}
.aa-single__gallery .woocommerce-product-gallery__wrapper{
  margin: 0;
}
.aa-single__gallery .woocommerce-product-gallery__image,
.aa-single__gallery .woocommerce-product-gallery img{
  border-radius: 4px;
  overflow: hidden;
}
.aa-single__gallery img{
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--aa-line);
  background: var(--aa-stone);
}
/* thumbnails row */
.aa-single__gallery .flex-control-thumbs{
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.aa-single__gallery .flex-control-thumbs img{
  cursor: pointer;
  opacity: .55;
  transition: opacity .25s ease, border-color .25s ease;
}
.aa-single__gallery .flex-control-thumbs img:hover,
.aa-single__gallery .flex-control-thumbs img.flex-active{
  opacity: 1;
  border-color: var(--aa-brown-500);
}
/* sale flash over the gallery */
.aa-single span.onsale{
  position: absolute;
  top: 14px; left: 14px;
  z-index: 9;
  min-width: 0; min-height: 0;
  line-height: 1;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 2px;
  background: #A33B22;
  color: var(--aa-ivory);
  margin: 0;
}
/* zoom trigger button */
.aa-single__gallery .woocommerce-product-gallery__trigger{
  position: absolute;
  top: 14px; right: 14px;
  z-index: 9;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--aa-ivory);
  border: 1px solid var(--aa-line);
  text-indent: -9999px;
  transition: background .25s ease;
}
.aa-single__gallery .woocommerce-product-gallery__trigger::before{
  content: "";
  position: absolute;
  top: 12px; left: 12px;
  width: 11px; height: 11px;
  border: 1.8px solid var(--aa-brown-900);
  border-radius: 50%;
}
.aa-single__gallery .woocommerce-product-gallery__trigger::after{
  content: "";
  position: absolute;
  top: 23px; left: 24px;
  width: 6px; height: 1.8px;
  background: var(--aa-brown-900);
  transform: rotate(45deg);
}
.aa-single__gallery .woocommerce-product-gallery__trigger:hover{ background: var(--aa-stone); }

/* ---- Summary ---- */
.aa-single__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--aa-brown-700);
  text-decoration: none;
  margin-bottom: 10px;
}
.aa-single__eyebrow .aa-dot{
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.aa-single__eyebrow--sprout{ color: var(--aa-sprout-700); }
.aa-single__eyebrow:hover{ text-decoration: underline; }

.aa-single .product_title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.12;
  color: var(--aa-brown-900);
  margin: 0 0 12px;
}

/* rating row */
.aa-single .woocommerce-product-rating{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.aa-single .woocommerce-review-link{
  font-size: 12.5px;
  color: var(--aa-brown-500);
  text-decoration: none;
}
.aa-single .woocommerce-review-link:hover{ color: var(--aa-brown-700); }

/* star rating — same self-contained pattern as the shop cards */
.aa-single .star-rating{
  position: relative;
  overflow: hidden;
  height: 1.1em;
  width: 5.9em;
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 1.1;
}
.aa-single .star-rating::before{
  content: "★★★★★";
  color: var(--aa-line);
  position: absolute; top: 0; left: 0;
}
.aa-single .star-rating span{
  position: absolute; top: 0; left: 0;
  overflow: hidden;
  padding-top: 1.5em;
  height: 0;
}
.aa-single .star-rating span::before{
  content: "★★★★★";
  color: #C9922A;
  position: absolute; top: 0; left: 0;
}

/* price */
.aa-single .summary .price{
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--aa-font-ui);
  font-size: 26px;
  color: var(--aa-brown-900);
  margin: 0 0 16px;
}
.aa-single .summary .price ins{
  text-decoration: none;
  font-weight: 700;
}
.aa-single .summary .price del{
  font-size: 17px;
  color: var(--aa-brown-500);
  font-weight: 400;
}
.aa-single .summary .price > .woocommerce-Price-amount{ font-weight: 700; }

/* short description */
.aa-single .woocommerce-product-details__short-description{
  font-size: 15px;
  line-height: 1.75;
  color: var(--aa-charcoal);
  border-top: 1px dashed var(--aa-line);
  padding-top: 16px;
  margin-bottom: 8px;
}
.aa-single .woocommerce-product-details__short-description p{ margin: 0 0 10px; }

/* ---- Add to cart form ---- */
.aa-single form.cart{
  display: flex;
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 22px;
}
.aa-single form.cart .quantity{
  display: flex;
}
.aa-single form.cart input.qty{
  width: 84px;
  font-family: var(--aa-font-ui);
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 13px 8px;
  outline: 0;
  transition: border-color .25s ease;
}
.aa-single form.cart input.qty:focus{ border-color: var(--aa-brown-700); }
.aa-single form.cart .single_add_to_cart_button{
  flex: 1;
  min-width: 200px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 26px;
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  transition: transform .3s var(--aa-ease), box-shadow .3s var(--aa-ease), background .25s ease;
}
.aa-single form.cart .single_add_to_cart_button:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -12px rgba(62,36,20,.45);
  background: var(--aa-brown-900);
}
.aa-single form.cart .single_add_to_cart_button:disabled{
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* sprouted products get the green button */
.aa-single--sprout form.cart .single_add_to_cart_button{ background: var(--aa-sprout-700); }
.aa-single--sprout form.cart .single_add_to_cart_button:hover{ background: #3d4a2b; }

/* stock notes */
.aa-single .stock{
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 8px;
}
.aa-single .stock.in-stock{ color: var(--aa-sprout-700); }
.aa-single .stock.out-of-stock{ color: #A33B22; }

/* variations table (variable products) */
.aa-single table.variations{
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 6px;
}
.aa-single table.variations th,
.aa-single table.variations td{
  padding: 6px 0;
  text-align: left;
  border: 0;
}
.aa-single table.variations label{
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
}
.aa-single table.variations select{
  font-family: var(--aa-font-ui);
  font-size: 13.5px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 10px 38px 10px 14px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B3A1F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 10px 6px;
  cursor: pointer;
}
.aa-single .reset_variations{
  font-size: 12px;
  color: var(--aa-brown-500);
}
.aa-single .woocommerce-variation-price .price{ font-size: 22px; margin-bottom: 8px; }

/* ---- Meta (SKU / categories / tags) ---- */
.aa-single .product_meta{
  border-top: 1px dashed var(--aa-line);
  padding-top: 16px;
  font-size: 12.5px;
  color: var(--aa-brown-500);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.aa-single .product_meta > span{ display: block; }
.aa-single .product_meta .sku,
.aa-single .product_meta a{
  color: var(--aa-brown-700);
  text-decoration: none;
}
.aa-single .product_meta a:hover{ text-decoration: underline; }

/* ---- Trust strip ---- */
.aa-single__trust{
  list-style: none;
  margin: 20px 0 0;
  padding: 18px 20px;
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.aa-single__trust li{
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--aa-brown-900);
}
.aa-single__trust svg{
  width: 20px; height: 20px;
  color: var(--aa-brown-700);
  flex-shrink: 0;
}
.aa-single--sprout .aa-single__trust svg{ color: var(--aa-sprout-700); }

/* ---- Tabs (description / additional info / reviews) ---- */
.aa-single__after{
  margin-top: clamp(40px, 6vw, 72px);
}
.aa-single .woocommerce-tabs ul.wc-tabs,
.aa-single .woocommerce-tabs ul.tabs{
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--aa-line);
  overflow-x: auto;
}
.aa-single .woocommerce-tabs ul li{
  margin: 0;
  border: 0;
  background: none;
  flex-shrink: 0;
}
.aa-single .woocommerce-tabs ul li a{
  display: block;
  padding: 13px 20px;
  font-family: var(--aa-font-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .2s ease, border-color .2s ease;
}
.aa-single .woocommerce-tabs ul li a:hover{ color: var(--aa-brown-900); }
.aa-single .woocommerce-tabs ul li.active a{
  color: var(--aa-brown-900);
  border-bottom-color: var(--aa-brown-700);
}
.aa-single .woocommerce-Tabs-panel{
  font-size: 15px;
  line-height: 1.75;
  max-width: 820px;
}
.aa-single .woocommerce-Tabs-panel > h2:first-child{ display: none; } /* Woo repeats the tab name */
.aa-single .woocommerce-Tabs-panel p{ margin: 0 0 14px; }
.aa-single .woocommerce-Tabs-panel strong{ color: var(--aa-brown-900); }

/* additional information table */
.aa-single table.woocommerce-product-attributes{
  border-collapse: collapse;
  width: 100%;
  max-width: 560px;
}
.aa-single table.woocommerce-product-attributes th,
.aa-single table.woocommerce-product-attributes td{
  border: 0;
  border-bottom: 1px dashed var(--aa-line);
  padding: 12px 16px 12px 0;
  font-size: 14px;
  text-align: left;
  background: none;
}
.aa-single table.woocommerce-product-attributes th{
  font-weight: 700;
  color: var(--aa-brown-900);
  width: 38%;
}
.aa-single table.woocommerce-product-attributes td p{ margin: 0; color: var(--aa-charcoal); }

/* ---- Reviews ---- */
.aa-single #reviews .commentlist{
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.aa-single #reviews .commentlist li{ margin: 0; }
.aa-single #reviews .comment_container{
  display: flex;
  gap: 16px;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 18px 20px;
}
.aa-single #reviews .comment_container img.avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid var(--aa-line);
  flex-shrink: 0;
  padding: 0;
  background: var(--aa-stone);
}
.aa-single #reviews .comment-text{
  flex: 1;
  border: 0;
  margin: 0;
  padding: 0;
}
.aa-single #reviews .comment-text .meta{
  font-size: 12.5px;
  color: var(--aa-brown-500);
  margin: 6px 0 8px;
}
.aa-single #reviews .comment-text .meta strong{ color: var(--aa-brown-900); font-size: 13.5px; }
.aa-single #reviews .comment-text .description{ font-size: 14px; line-height: 1.7; }
.aa-single #reviews .comment-text .description p{ margin: 0; }

/* review form */
.aa-single #review_form_wrapper{
  max-width: 640px;
}
.aa-single #reviews .comment-reply-title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: 21px;
  color: var(--aa-brown-900);
  display: block;
  margin-bottom: 14px;
}
.aa-single #review_form p.stars a{ color: #C9922A; }
.aa-single #review_form .comment-form-rating label,
.aa-single #review_form .comment-form-comment label,
.aa-single #review_form .comment-form-author label,
.aa-single #review_form .comment-form-email label{
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
  margin-bottom: 7px;
}
.aa-single #review_form input[type="text"],
.aa-single #review_form input[type="email"],
.aa-single #review_form textarea{
  width: 100%;
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 12px 16px;
  outline: 0;
  transition: border-color .25s ease;
}
.aa-single #review_form input:focus,
.aa-single #review_form textarea:focus{ border-color: var(--aa-brown-700); }
.aa-single #review_form .form-submit input[type="submit"]{
  display: inline-flex;
  padding: 14px 26px;
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  transition: background .25s ease;
}
.aa-single #review_form .form-submit input[type="submit"]:hover{ background: var(--aa-brown-900); }

/* ---- Related / upsells ---- */
.aa-single .related,
.aa-single .upsells{
  margin-top: clamp(40px, 6vw, 72px);
}
.aa-single .related > h2,
.aa-single .upsells > h2{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(24px, 2.8vw, 34px);
  color: var(--aa-brown-900);
  margin: 0 0 22px;
}
.aa-single .related > h2::after,
.aa-single .upsells > h2::after{
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 10px;
}
/* related/upsell loops use Woo's default <ul class="products"> */
.aa-single-page ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}

/* ---- Responsive ---- */
@media (max-width: 1080px){
  .aa-single-page ul.products{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px){
  .aa-single__top{ grid-template-columns: 1fr; gap: 28px; }
  .aa-single-page ul.products{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px){
  .aa-single-page ul.products{ grid-template-columns: 1fr; }
  .aa-single form.cart .single_add_to_cart_button{ min-width: 0; width: 100%; }
  .aa-single form.cart .quantity{ width: 100%; }
  .aa-single form.cart input.qty{ width: 100%; }
}

/* ==========================================================================
   AASTHA MINI CART DRAWER
   Slides in from the right. Inner markup is Woo's own mini-cart widget
   (auto-refreshed by wc-cart-fragments on add/remove).
   ========================================================================== */
.aa-minicart-overlay{
  position: fixed;
  inset: 0;
  background: rgba(36,27,20,.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 998;
}
.aa-minicart-overlay.is-open{
  opacity: 1;
  pointer-events: auto;
}
.aa-minicart{
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(400px, 92vw);
  background: var(--aa-ivory);
  transform: translateX(100%);
  transition: transform .38s var(--aa-ease);
  z-index: 999;
  display: flex;
  flex-direction: column;
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  box-shadow: -20px 0 48px -24px rgba(62,36,20,.4);
  outline: 0;
}
.aa-minicart.is-open{ transform: translateX(0); }

.aa-minicart__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--aa-line);
  flex-shrink: 0;
}
.aa-minicart__title{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 21px;
  color: var(--aa-brown-900);
  margin: 0;
}
.aa-minicart__close{
  font-size: 22px;
  line-height: 1;
  color: var(--aa-brown-900);
  background: none;
  border: 0;
  cursor: pointer;
  padding: 6px;
  opacity: .7;
  transition: opacity .2s ease;
}
.aa-minicart__close:hover{ opacity: 1; }

.aa-minicart .widget_shopping_cart_content{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 0 24px 24px;
}

/* item list */
.aa-minicart ul.woocommerce-mini-cart{
  list-style: none;
  margin: 0;
  padding: 8px 0 0;
  flex: 1;
  overflow-y: auto;
  border: 0;
}
.aa-minicart li.woocommerce-mini-cart-item{
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 28px 14px 0;
  margin: 0;
  border-bottom: 1px dashed var(--aa-line);
}
.aa-minicart li.woocommerce-mini-cart-item img{
  width: 64px !important;
  height: 72px;
  object-fit: cover;
  border-radius: 3px;
  border: 1px solid var(--aa-line);
  background: var(--aa-stone);
  float: none;
  margin: 0;
  display: block;
  grid-column: 1;
  grid-row: 1;
}
.aa-minicart li.woocommerce-mini-cart-item > a:not(.remove){
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: center;
  gap: 14px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--aa-brown-900);
  text-decoration: none;
}
.aa-minicart li.woocommerce-mini-cart-item > a:not(.remove):hover{ color: var(--aa-brown-700); }
.aa-minicart li.woocommerce-mini-cart-item .quantity{
  grid-column: 2;
  font-size: 12.5px;
  color: var(--aa-brown-500);
  margin-top: 4px;
}
.aa-minicart li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount{
  font-weight: 700;
  color: var(--aa-brown-900);
}
/* remove × */
.aa-minicart a.remove_from_cart_button,
.aa-minicart a.remove{
  position: absolute;
  top: 14px; right: 0;
  width: 24px; height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px !important;
  line-height: 1;
  color: var(--aa-brown-500) !important;
  background: var(--aa-stone);
  border-radius: 50%;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.aa-minicart a.remove_from_cart_button:hover,
.aa-minicart a.remove:hover{
  background: #A33B22;
  color: var(--aa-ivory) !important;
}

/* subtotal + buttons pinned to the bottom */
.aa-minicart .woocommerce-mini-cart__total{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 14px;
  color: var(--aa-brown-900);
  border-top: 1px solid var(--aa-line);
  padding: 16px 0 0;
  margin: 0 0 14px;
  flex-shrink: 0;
}
.aa-minicart .woocommerce-mini-cart__total strong{
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .05em;
}
.aa-minicart .woocommerce-mini-cart__total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
}
.aa-minicart .woocommerce-mini-cart__buttons{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  flex-shrink: 0;
}
.aa-minicart .woocommerce-mini-cart__buttons .button{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px;
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  background: var(--aa-white);
  color: var(--aa-brown-900);
  border: 1px solid var(--aa-line);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.aa-minicart .woocommerce-mini-cart__buttons .button:hover{
  border-color: var(--aa-brown-500);
  background: var(--aa-stone);
}
.aa-minicart .woocommerce-mini-cart__buttons .button.checkout{
  background: var(--aa-brown-700);
  border-color: var(--aa-brown-700);
  color: var(--aa-ivory);
}
.aa-minicart .woocommerce-mini-cart__buttons .button.checkout:hover{
  background: var(--aa-brown-900);
  border-color: var(--aa-brown-900);
}
/* empty state */
.aa-minicart .woocommerce-mini-cart__empty-message{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 16px;
  color: var(--aa-brown-500);
  text-align: center;
  margin: auto 0;
  padding: 40px 0;
}

/* ==========================================================================
   AASTHA CART / CHECKOUT / ACCOUNT PAGES
   These pages keep WooCommerce's shortcode markup; this block reskins it
   via the body classes Woo adds (.woocommerce-cart / -checkout / -account).
   ========================================================================== */

/* ---- Shared shell: container, headings, buttons, notices, forms ---- */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) clamp(24px, 6vw, 72px) clamp(56px, 8vw, 96px);
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  box-sizing: border-box;
}
body.woocommerce-cart .woocommerce *,
body.woocommerce-checkout .woocommerce *,
body.woocommerce-account .woocommerce *{
  box-sizing: border-box;
}
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-account h1.entry-title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(28px, 3.6vw, 44px);
  color: var(--aa-brown-900);
  max-width: 1240px;
  margin: clamp(28px, 4vw, 48px) auto 0;
  padding: 0 clamp(24px, 6vw, 72px);
}
body.woocommerce-cart .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3{
  font-family: var(--aa-font-display);
  font-weight: 500;
  color: var(--aa-brown-900);
}
/* buttons */
body.woocommerce-cart .woocommerce .button,
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-account .woocommerce .button{
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
  border: 0;
  border-radius: 2px;
  padding: 13px 22px;
  cursor: pointer;
  text-decoration: none;
  transition: background .25s ease;
}
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-checkout .woocommerce .button:hover,
body.woocommerce-account .woocommerce .button:hover{
  background: var(--aa-brown-900);
  color: var(--aa-ivory);
}
body.woocommerce-cart .woocommerce .button:disabled{
  opacity: .5;
  cursor: not-allowed;
  color: var(--aa-ivory);
}
/* notices */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error{
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-left: 3px solid var(--aa-brown-700);
  border-radius: 2px;
  color: var(--aa-charcoal);
  font-size: 14px;
  padding: 14px 18px;
  margin-bottom: 20px;
  list-style: none;
}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message{ border-left-color: var(--aa-sprout-700); }
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error{ border-left-color: #A33B22; }
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-cart .woocommerce-error li{ margin: 4px 0; }

/* form fields (checkout + account share Woo's .form-row markup) */
body.woocommerce-checkout .form-row label,
body.woocommerce-account .form-row label{
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
  margin-bottom: 6px;
}
body.woocommerce-checkout .form-row .required,
body.woocommerce-account .form-row .required{ color: #A33B22; text-decoration: none; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-account .form-row input.input-text,
body.woocommerce-account .form-row textarea,
body.woocommerce-account .form-row select{
  width: 100%;
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 12px 16px;
  outline: 0;
  transition: border-color .25s ease;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-account .form-row input.input-text:focus,
body.woocommerce-account .form-row textarea:focus,
body.woocommerce-account .form-row select:focus{
  border-color: var(--aa-brown-700);
}
/* select2 (country/state dropdowns) */
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-account .select2-container--default .select2-selection--single{
  height: auto;
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 8px 10px;
  background: var(--aa-white);
}
.select2-dropdown{
  border-color: var(--aa-line);
  font-family: var(--aa-font-ui);
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background: var(--aa-brown-700);
}

/* ---- CART PAGE ---- */
body.woocommerce-cart table.shop_table.cart{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  background: var(--aa-white);
  margin-bottom: 28px;
}
body.woocommerce-cart table.shop_table.cart th{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  text-align: left;
  background: var(--aa-stone);
  border: 0;
  padding: 14px 16px;
}
body.woocommerce-cart table.shop_table.cart td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 16px;
  vertical-align: middle;
  font-size: 14px;
}
body.woocommerce-cart td.product-thumbnail img{
  width: 68px;
  height: 76px;
  object-fit: cover;
  border-radius: 3px;
  border: 1px solid var(--aa-line);
  background: var(--aa-stone);
  display: block;
}
body.woocommerce-cart td.product-name a{
  font-weight: 600;
  color: var(--aa-brown-900);
  text-decoration: none;
}
body.woocommerce-cart td.product-name a:hover{ color: var(--aa-brown-700); }
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  font-weight: 600;
  color: var(--aa-brown-900);
}
body.woocommerce-cart .quantity input.qty{
  width: 72px;
  font-family: var(--aa-font-ui);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 10px 6px;
  outline: 0;
}
body.woocommerce-cart .quantity input.qty:focus{ border-color: var(--aa-brown-700); }
body.woocommerce-cart td.product-remove a.remove{
  width: 26px; height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: var(--aa-brown-500) !important;
  background: var(--aa-stone);
  border-radius: 50%;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
body.woocommerce-cart td.product-remove a.remove:hover{
  background: #A33B22;
  color: var(--aa-ivory) !important;
}
/* coupon + update row */
body.woocommerce-cart td.actions{
  padding: 16px !important;
}
body.woocommerce-cart td.actions .coupon{
  display: inline-flex;
  gap: 8px;
  float: left;
}
body.woocommerce-cart td.actions .coupon input#coupon_code{
  width: 170px;
  font-family: var(--aa-font-ui);
  font-size: 13.5px;
  border: 1px dashed var(--aa-brown-500);
  border-radius: 2px;
  padding: 11px 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
  outline: 0;
  background: var(--aa-ivory);
}
body.woocommerce-cart td.actions .coupon input#coupon_code:focus{ border-color: var(--aa-brown-700); }
/* cart totals */
body.woocommerce-cart .cart_totals{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 24px 26px;
}
body.woocommerce-cart .cart_totals h2{
  font-size: 22px;
  margin: 0 0 14px;
}
body.woocommerce-cart .cart_totals table{
  width: 100%;
  border: 0;
  margin-bottom: 16px;
}
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 12px 0;
  font-size: 14px;
  text-align: left;
}
body.woocommerce-cart .cart_totals th{
  font-weight: 600;
  color: var(--aa-brown-900);
  width: 40%;
}
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
  color: var(--aa-brown-900);
}
body.woocommerce-cart .wc-proceed-to-checkout{
  padding: 0;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display: flex;
  justify-content: center;
  font-size: 14px;
  padding: 16px 24px;
  width: 100%;
}
/* empty cart */
body.woocommerce-cart .cart-empty{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 20px;
  color: var(--aa-brown-500);
  text-align: center;
  border: 0;
  background: none;
  padding: 40px 0 8px;
}
body.woocommerce-cart .return-to-shop{ text-align: center; }
/* cross-sells grid reuses the product-card grid */
body.woocommerce-cart .cross-sells > h2{
  font-size: clamp(22px, 2.6vw, 30px);
  margin: 40px 0 20px;
}
body.woocommerce-cart .cross-sells ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}

/* ---- CHECKOUT PAGE ---- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a{
  color: var(--aa-brown-700);
  font-weight: 600;
}
body.woocommerce-checkout form.checkout{
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
body.woocommerce-checkout form.checkout .col2-set{
  grid-column: 1;
  width: 100%;
  float: none;
}
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2{
  width: 100%;
  float: none;
  margin-bottom: 24px;
}
body.woocommerce-checkout form.checkout h3{
  font-size: 21px;
  margin: 0 0 16px;
}
body.woocommerce-checkout form.checkout h3::after{
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 8px;
}
body.woocommerce-checkout form.checkout .form-row{
  margin-bottom: 14px;
}
/* order review card — sticky on desktop */
body.woocommerce-checkout #order_review_heading{
  grid-column: 2;
  font-size: 21px;
  margin: 0;
}
body.woocommerce-checkout #order_review{
  grid-column: 2;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 22px 24px;
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 20px);
}
body.woocommerce-checkout #order_review table.shop_table{
  width: 100%;
  border: 0;
  margin-bottom: 18px;
}
body.woocommerce-checkout #order_review th,
body.woocommerce-checkout #order_review td{
  border: 0;
  border-bottom: 1px dashed var(--aa-line);
  padding: 11px 0;
  font-size: 14px;
  text-align: left;
}
body.woocommerce-checkout #order_review tfoot th{ color: var(--aa-brown-900); }
body.woocommerce-checkout #order_review .order-total td,
body.woocommerce-checkout #order_review .order-total th{
  border-bottom: 0;
  padding-top: 14px;
}
body.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
  color: var(--aa-brown-900);
}
/* payment methods */
body.woocommerce-checkout #payment{
  background: none;
  border-radius: 0;
}
body.woocommerce-checkout #payment ul.payment_methods{
  list-style: none;
  margin: 0 0 18px;
  padding: 0 0 18px;
  border-bottom: 1px dashed var(--aa-line);
}
body.woocommerce-checkout #payment ul.payment_methods li{
  padding: 10px 0;
  font-size: 14px;
}
body.woocommerce-checkout #payment ul.payment_methods label{
  font-weight: 600;
  color: var(--aa-brown-900);
  cursor: pointer;
}
body.woocommerce-checkout #payment input[type="radio"],
body.woocommerce-checkout #payment input[type="checkbox"]{
  accent-color: var(--aa-brown-700);
  margin-right: 8px;
}
body.woocommerce-checkout #payment div.payment_box{
  background: var(--aa-stone);
  border-radius: 2px;
  font-size: 13px;
  color: var(--aa-brown-500);
  padding: 12px 14px;
  margin: 8px 0 0;
}
body.woocommerce-checkout #payment div.payment_box::before{ display: none; }
body.woocommerce-checkout #place_order{
  width: 100%;
  font-size: 14px;
  padding: 16px 24px;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  font-size: 13px;
  color: var(--aa-brown-500);
  margin-bottom: 14px;
}
/* thank-you page */
body.woocommerce-checkout .woocommerce-thankyou-order-received{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 22px;
  color: var(--aa-sprout-700);
  margin-bottom: 20px;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 28px;
  padding: 20px 22px;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details li{
  border: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--aa-brown-500);
  padding: 0 20px 0 0;
  margin: 0;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details li strong{
  display: block;
  font-size: 15px;
  color: var(--aa-brown-900);
  margin-top: 4px;
  text-transform: none;
  letter-spacing: 0;
}

/* ---- MY ACCOUNT ---- */
body.woocommerce-account .woocommerce{
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
/* login/register (logged out) — single centered column */
body.woocommerce-account:not(.logged-in) .woocommerce{
  display: block;
  max-width: 920px;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 10px 0;
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 20px);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li{
  border-top: 1px dashed var(--aa-line);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li:first-child{ border-top: 0; }
body.woocommerce-account nav.woocommerce-MyAccount-navigation a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--aa-charcoal);
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease, background .2s ease;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a::before{
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--aa-line);
  flex-shrink: 0;
  transition: background .2s ease;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a:hover{
  color: var(--aa-brown-700);
  padding-left: 24px;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a:hover::before{ background: var(--aa-brown-700); }
body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a{
  color: var(--aa-brown-900);
  background: var(--aa-stone);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a::before{ background: var(--aa-brown-700); }

body.woocommerce-account .woocommerce-MyAccount-content{
  font-size: 14.5px;
  line-height: 1.7;
}
body.woocommerce-account .woocommerce-MyAccount-content a{ color: var(--aa-brown-700); }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  background: var(--aa-white);
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  background: var(--aa-stone);
  border: 0;
  padding: 13px 16px;
  text-align: left;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 13px 16px;
  font-size: 13.5px;
}
body.woocommerce-account .woocommerce-MyAccount-content .button{
  font-size: 11.5px;
  padding: 9px 16px;
}
/* address cards */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-Address{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 20px 22px;
}
body.woocommerce-account .woocommerce-Address address{
  font-style: normal;
  line-height: 1.8;
  color: var(--aa-brown-500);
}
/* login / register card */
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: clamp(24px, 3vw, 36px);
  max-width: 460px;
}
body.woocommerce-account .u-columns.col2-set{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 48px);
  width: 100%;
}
body.woocommerce-account .u-columns.col2-set .u-column1,
body.woocommerce-account .u-columns.col2-set .u-column2{
  width: 100%;
  float: none;
}
body.woocommerce-account .woocommerce-form-login__rememberme{
  display: block;
  font-size: 13px;
  margin-bottom: 14px;
}
body.woocommerce-account .lost_password{
  font-size: 13px;
  margin-top: 12px;
}

/* ---- Responsive: cart / checkout / account ---- */
@media (max-width: 1080px){
  body.woocommerce-cart .cross-sells ul.products{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px){
  body.woocommerce-checkout form.checkout{ grid-template-columns: 1fr; }
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{ grid-column: 1; position: static; }
  body.woocommerce-account .woocommerce{ grid-template-columns: 1fr; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation{ position: static; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px;
  }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation li{ border: 0; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation a{
    border: 1px solid var(--aa-line);
    border-radius: 999px;
    padding: 8px 14px !important;
    font-size: 12.5px;
  }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation a::before{ display: none; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a{
    background: var(--aa-brown-700);
    border-color: var(--aa-brown-700);
    color: var(--aa-ivory);
  }
  body.woocommerce-account .u-columns.col2-set{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  /* stack cart rows */
  body.woocommerce-cart table.shop_table.cart thead{ display: none; }
  body.woocommerce-cart table.shop_table.cart tr{
    display: block;
    padding: 10px 0;
  }
  body.woocommerce-cart table.shop_table.cart td{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 0;
    padding: 8px 16px;
  }
  body.woocommerce-cart table.shop_table.cart tr + tr{ border-top: 1px dashed var(--aa-line); }
  body.woocommerce-cart table.shop_table.cart td[data-title]::before{
    content: attr(data-title);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--aa-brown-500);
  }
  body.woocommerce-cart td.actions .coupon{
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }
  body.woocommerce-cart td.actions .coupon input#coupon_code{ flex: 1; width: auto; }
  body.woocommerce-cart .cross-sells ul.products{ grid-template-columns: 1fr; }
}

/* ---- Milestone progress bar (rendered by aastha_minicart_progress) ---- */
.aa-cartbar{
  flex-shrink: 0;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 16px 18px 8px;
  margin: 14px 0 4px;
}
.aa-cartbar__msg{
  font-size: 13px;
  line-height: 1.5;
  color: var(--aa-charcoal);
  text-align: center;
  margin: 0 0 14px;
}
.aa-cartbar__msg strong{ color: var(--aa-brown-900); }
.aa-cartbar__msg strong .woocommerce-Price-amount{ color: var(--aa-brown-700); }
.aa-cartbar__msg--done{
  color: var(--aa-sprout-700);
  font-weight: 600;
}
.aa-cartbar__code{
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--aa-brown-700);
  border: 1px dashed var(--aa-brown-500);
  border-radius: 2px;
  padding: 2px 7px;
  margin-left: 4px;
  user-select: all;
}

/* track + fill */
.aa-cartbar__track{
  position: relative;
  height: 6px;
  background: var(--aa-stone);
  border-radius: 999px;
  margin: 0 10px;
}
.aa-cartbar__fill{
  position: absolute;
  top: 0; left: 0; bottom: 0;
  background: linear-gradient(90deg, var(--aa-brown-500), var(--aa-sprout-700));
  border-radius: 999px;
  transition: width .5s var(--aa-ease);
}

/* milestone markers on the track */
.aa-cartbar__marker{
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--aa-white);
  border: 2px solid var(--aa-line);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s ease, border-color .3s ease;
}
.aa-cartbar__marker.is-unlocked{
  background: var(--aa-sprout-700);
  border-color: var(--aa-sprout-700);
  color: var(--aa-white);
}
.aa-cartbar__marker svg{ width: 10px; height: 10px; }

/* labels under the markers */
.aa-cartbar__labels{
  position: relative;
  height: 44px;
  margin: 8px 10px 0;
}
.aa-cartbar__label{
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  text-align: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  white-space: nowrap;
  transition: color .3s ease;
}
.aa-cartbar__label em{
  display: block;
  font-style: normal;
  font-size: 11px;
  color: var(--aa-brown-900);
  margin-bottom: 2px;
}
.aa-cartbar__label.is-unlocked{ color: var(--aa-sprout-700); }
/* keep the first/last labels inside the card */
.aa-cartbar__label:first-child{ transform: translateX(-25%); }
.aa-cartbar__label:last-child{ transform: translateX(-75%); }

/* unlocked coupon "tap to apply" chips */
.aa-cartbar__apply{
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px dashed var(--aa-line);
  margin-top: 4px;
  padding: 10px 0 8px;
}
.aa-cartbar__apply a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-sprout-700);
  background: var(--aa-sprout-100);
  border-radius: 2px;
  padding: 9px 12px;
  text-decoration: none;
  transition: background .25s ease, color .25s ease;
}
.aa-cartbar__apply a:hover{
  background: var(--aa-sprout-700);
  color: var(--aa-ivory);
}
.aa-cartbar__apply a.is-busy{
  opacity: .55;
  pointer-events: none;
}

/* ---- Mini cart: quantity steppers ---- */
.aa-minicart .aa-mini-qty{
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--aa-line);
  border-radius: 999px;
  overflow: hidden;
  vertical-align: middle;
}
.aa-minicart .aa-mini-qty__btn{
  width: 26px; height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: var(--aa-brown-700);
  background: var(--aa-stone);
  border: 0;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.aa-minicart .aa-mini-qty__btn:hover{
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
}
.aa-minicart .aa-mini-qty__num{
  min-width: 28px;
  text-align: center;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--aa-brown-900);
}
.aa-minicart .aa-mini-qty__price{
  display: inline-block;
  margin-left: 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--aa-brown-900);
  vertical-align: middle;
}
/* busy state while the AJAX round-trip runs */
.aa-minicart .woocommerce-mini-cart-item.is-busy{
  opacity: .5;
  pointer-events: none;
}

/* ---- Mini cart: coupon + total rows (under the subtotal) ---- */
.aa-minicart__row{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  margin: 0 0 10px;
  flex-shrink: 0;
}
.aa-minicart__row--coupon{
  color: var(--aa-sprout-700);
}
.aa-minicart__row--coupon strong{ letter-spacing: .06em; }
.aa-minicart__coupon-remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  font-size: 13px;
  line-height: 1;
  color: var(--aa-brown-500) !important;
  background: var(--aa-stone);
  border-radius: 50%;
  text-decoration: none !important;
  margin-left: 4px;
  vertical-align: middle;
  transition: background .2s ease, color .2s ease;
}
.aa-minicart__coupon-remove:hover{
  background: #A33B22;
  color: var(--aa-ivory) !important;
}
.aa-minicart__row--total{
  border-top: 1px dashed var(--aa-line);
  padding-top: 10px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--aa-brown-900);
}
.aa-minicart__row--total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

/* ==========================================================================
   AASTHA WOO PAGE TEMPLATE (template-woo-page.php)
   Shell for Cart / Checkout / My Account pages.
   ========================================================================== */
.aa-woo-page{
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  background: var(--aa-ivory);
  padding: clamp(28px, 4vw, 48px) 0 clamp(56px, 8vw, 96px);
}
.aa-woo-page__title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(28px, 3.6vw, 44px);
  color: var(--aa-brown-900);
  margin: 0 0 clamp(20px, 3vw, 32px);
}
.aa-woo-page__title::after{
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 12px;
}
/* the container comes from the template — neutralise the padded
   fallback shell the body-class CSS adds for bare page templates */
.aa-woo-page .woocommerce{
  max-width: none !important;
  padding: 0 !important;
}
.aa-woo-page h1.entry-title{ display: none; }

/* ---- Cart layout: items + sticky totals ---- */
.aa-cart__layout{
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}
.aa-cart__collaterals{
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 20px);
  width: 100%;
}
body.woocommerce-cart .aa-cart__collaterals .cart_totals{
  float: none;
  width: 100%;
}
.aa-cart__crosssells{
  margin-top: clamp(36px, 5vw, 56px);
}
.aa-cart__crosssells .cross-sells > h2{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(22px, 2.6vw, 30px);
  color: var(--aa-brown-900);
  margin: 0 0 20px;
}

/* ---- Cart page: quantity steppers ---- */
.aa-qty{
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--aa-line);
  border-radius: 999px;
  overflow: hidden;
  background: var(--aa-white);
}
.aa-qty__btn{
  width: 34px; height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: var(--aa-brown-700);
  background: var(--aa-stone);
  border: 0;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.aa-qty__btn:hover{
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
}
.aa-qty .quantity{ display: inline-flex; }
.aa-qty input.qty{
  width: 52px;
  border: 0 !important;
  border-radius: 0;
  text-align: center;
  font-family: var(--aa-font-ui);
  font-size: 14px;
  font-weight: 700;
  color: var(--aa-brown-900);
  background: var(--aa-white);
  padding: 8px 4px !important;
  outline: 0;
  -moz-appearance: textfield;
}
.aa-qty input.qty::-webkit-outer-spin-button,
.aa-qty input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* the Update button stays for Woo's cart.js but reads as a quiet ghost —
   steppers auto-trigger it, clicking it manually still works */
body.woocommerce-cart .button.aa-cart__update,
.aa-woo-page .button.aa-cart__update{
  float: right;
  background: none;
  color: var(--aa-brown-700);
  border: 1px solid var(--aa-line);
}
body.woocommerce-cart .button.aa-cart__update:hover,
.aa-woo-page .button.aa-cart__update:hover{
  background: var(--aa-stone);
  color: var(--aa-brown-900);
  border-color: var(--aa-brown-500);
}
body.woocommerce-cart .button.aa-cart__update:disabled{
  opacity: .45;
  background: none;
  color: var(--aa-brown-500);
}

@media (max-width: 900px){
  .aa-cart__layout{ grid-template-columns: 1fr; }
  .aa-cart__collaterals{ position: static; }
}

/* ==========================================================================
   AASTHA CART / CHECKOUT / ACCOUNT PAGES
   These pages keep WooCommerce's shortcode markup; this block reskins it
   via the body classes Woo adds (.woocommerce-cart / -checkout / -account).
   ========================================================================== */

/* ---- Shared shell: container, headings, buttons, notices, forms ---- */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) clamp(24px, 6vw, 72px) clamp(56px, 8vw, 96px);
  font-family: var(--aa-font-ui);
  color: var(--aa-charcoal);
  box-sizing: border-box;
}
body.woocommerce-cart .woocommerce *,
body.woocommerce-checkout .woocommerce *,
body.woocommerce-account .woocommerce *{
  box-sizing: border-box;
}
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-account h1.entry-title{
  font-family: var(--aa-font-display);
  font-weight: 500;
  font-size: clamp(28px, 3.6vw, 44px);
  color: var(--aa-brown-900);
  max-width: 1240px;
  margin: clamp(28px, 4vw, 48px) auto 0;
  padding: 0 clamp(24px, 6vw, 72px);
}
body.woocommerce-cart .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3{
  font-family: var(--aa-font-display);
  font-weight: 500;
  color: var(--aa-brown-900);
}
/* buttons */
body.woocommerce-cart .woocommerce .button,
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-account .woocommerce .button{
  font-family: var(--aa-font-ui);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: var(--aa-brown-700);
  color: var(--aa-ivory);
  border: 0;
  border-radius: 2px;
  padding: 13px 22px;
  cursor: pointer;
  text-decoration: none;
  transition: background .25s ease;
}
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-checkout .woocommerce .button:hover,
body.woocommerce-account .woocommerce .button:hover{
  background: var(--aa-brown-900);
  color: var(--aa-ivory);
}
body.woocommerce-cart .woocommerce .button:disabled{
  opacity: .5;
  cursor: not-allowed;
  color: var(--aa-ivory);
}
/* notices */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error{
  background: var(--aa-stone);
  border: 1px solid var(--aa-line);
  border-left: 3px solid var(--aa-brown-700);
  border-radius: 2px;
  color: var(--aa-charcoal);
  font-size: 14px;
  padding: 14px 18px;
  margin-bottom: 20px;
  list-style: none;
}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message{ border-left-color: var(--aa-sprout-700); }
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error{ border-left-color: #A33B22; }
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-cart .woocommerce-error li{ margin: 4px 0; }

/* form fields (checkout + account share Woo's .form-row markup) */
body.woocommerce-checkout .form-row label,
body.woocommerce-account .form-row label{
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aa-brown-900);
  margin-bottom: 6px;
}
body.woocommerce-checkout .form-row .required,
body.woocommerce-account .form-row .required{ color: #A33B22; text-decoration: none; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-account .form-row input.input-text,
body.woocommerce-account .form-row textarea,
body.woocommerce-account .form-row select{
  width: 100%;
  font-family: var(--aa-font-ui);
  font-size: 14.5px;
  color: var(--aa-charcoal);
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 12px 16px;
  outline: 0;
  transition: border-color .25s ease;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-account .form-row input.input-text:focus,
body.woocommerce-account .form-row textarea:focus,
body.woocommerce-account .form-row select:focus{
  border-color: var(--aa-brown-700);
}
/* select2 (country/state dropdowns) */
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-account .select2-container--default .select2-selection--single{
  height: auto;
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 8px 10px;
  background: var(--aa-white);
}
.select2-dropdown{
  border-color: var(--aa-line);
  font-family: var(--aa-font-ui);
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background: var(--aa-brown-700);
}

/* ---- CART PAGE ---- */
body.woocommerce-cart table.shop_table.cart{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  background: var(--aa-white);
  margin-bottom: 28px;
}
body.woocommerce-cart table.shop_table.cart th{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  text-align: left;
  background: var(--aa-stone);
  border: 0;
  padding: 14px 16px;
}
body.woocommerce-cart table.shop_table.cart td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 16px;
  vertical-align: middle;
  font-size: 14px;
}
body.woocommerce-cart td.product-thumbnail img{
  width: 68px;
  height: 76px;
  object-fit: cover;
  border-radius: 3px;
  border: 1px solid var(--aa-line);
  background: var(--aa-stone);
  display: block;
}
body.woocommerce-cart td.product-name a{
  font-weight: 600;
  color: var(--aa-brown-900);
  text-decoration: none;
}
body.woocommerce-cart td.product-name a:hover{ color: var(--aa-brown-700); }
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  font-weight: 600;
  color: var(--aa-brown-900);
}
body.woocommerce-cart .quantity input.qty{
  width: 72px;
  font-family: var(--aa-font-ui);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border: 1px solid var(--aa-line);
  border-radius: 2px;
  padding: 10px 6px;
  outline: 0;
}
body.woocommerce-cart .quantity input.qty:focus{ border-color: var(--aa-brown-700); }
body.woocommerce-cart td.product-remove a.remove{
  width: 26px; height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: var(--aa-brown-500) !important;
  background: var(--aa-stone);
  border-radius: 50%;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
body.woocommerce-cart td.product-remove a.remove:hover{
  background: #A33B22;
  color: var(--aa-ivory) !important;
}
/* coupon + update row */
body.woocommerce-cart td.actions{
  padding: 16px !important;
}
body.woocommerce-cart td.actions .coupon{
  display: inline-flex;
  gap: 8px;
  float: left;
}
body.woocommerce-cart td.actions .coupon input#coupon_code{
  width: 170px;
  font-family: var(--aa-font-ui);
  font-size: 13.5px;
  border: 1px dashed var(--aa-brown-500);
  border-radius: 2px;
  padding: 11px 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
  outline: 0;
  background: var(--aa-ivory);
}
body.woocommerce-cart td.actions .coupon input#coupon_code:focus{ border-color: var(--aa-brown-700); }
/* cart totals */
body.woocommerce-cart .cart_totals{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 24px 26px;
}
body.woocommerce-cart .cart_totals h2{
  font-size: 22px;
  margin: 0 0 14px;
}
body.woocommerce-cart .cart_totals table{
  width: 100%;
  border: 0;
  margin-bottom: 16px;
}
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 12px 0;
  font-size: 14px;
  text-align: left;
}
body.woocommerce-cart .cart_totals th{
  font-weight: 600;
  color: var(--aa-brown-900);
  width: 40%;
}
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
  color: var(--aa-brown-900);
}
body.woocommerce-cart .wc-proceed-to-checkout{
  padding: 0;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display: flex;
  justify-content: center;
  font-size: 14px;
  padding: 16px 24px;
  width: 100%;
}
/* empty cart */
body.woocommerce-cart .cart-empty{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 20px;
  color: var(--aa-brown-500);
  text-align: center;
  border: 0;
  background: none;
  padding: 40px 0 8px;
}
body.woocommerce-cart .return-to-shop{ text-align: center; }
/* cross-sells grid reuses the product-card grid */
body.woocommerce-cart .cross-sells > h2{
  font-size: clamp(22px, 2.6vw, 30px);
  margin: 40px 0 20px;
}
body.woocommerce-cart .cross-sells ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.2vw, 26px);
}

/* ---- CHECKOUT PAGE ---- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a{
  color: var(--aa-brown-700);
  font-weight: 600;
}
body.woocommerce-checkout form.checkout{
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
body.woocommerce-checkout form.checkout .col2-set{
  grid-column: 1;
  width: 100%;
  float: none;
}
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2{
  width: 100%;
  float: none;
  margin-bottom: 24px;
}
body.woocommerce-checkout form.checkout h3{
  font-size: 21px;
  margin: 0 0 16px;
}
body.woocommerce-checkout form.checkout h3::after{
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--aa-brown-500);
  margin-top: 8px;
}
body.woocommerce-checkout form.checkout .form-row{
  margin-bottom: 14px;
}
/* order review card — sticky on desktop */
body.woocommerce-checkout #order_review_heading{
  grid-column: 2;
  font-size: 21px;
  margin: 0;
}
body.woocommerce-checkout #order_review{
  grid-column: 2;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 22px 24px;
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 20px);
}
body.woocommerce-checkout #order_review table.shop_table{
  width: 100%;
  border: 0;
  margin-bottom: 18px;
}
body.woocommerce-checkout #order_review th,
body.woocommerce-checkout #order_review td{
  border: 0;
  border-bottom: 1px dashed var(--aa-line);
  padding: 11px 0;
  font-size: 14px;
  text-align: left;
}
body.woocommerce-checkout #order_review tfoot th{ color: var(--aa-brown-900); }
body.woocommerce-checkout #order_review .order-total td,
body.woocommerce-checkout #order_review .order-total th{
  border-bottom: 0;
  padding-top: 14px;
}
body.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{
  font-size: 19px;
  font-weight: 700;
  color: var(--aa-brown-900);
}
/* payment methods */
body.woocommerce-checkout #payment{
  background: none;
  border-radius: 0;
}
body.woocommerce-checkout #payment ul.payment_methods{
  list-style: none;
  margin: 0 0 18px;
  padding: 0 0 18px;
  border-bottom: 1px dashed var(--aa-line);
}
body.woocommerce-checkout #payment ul.payment_methods li{
  padding: 10px 0;
  font-size: 14px;
}
body.woocommerce-checkout #payment ul.payment_methods label{
  font-weight: 600;
  color: var(--aa-brown-900);
  cursor: pointer;
}
body.woocommerce-checkout #payment input[type="radio"],
body.woocommerce-checkout #payment input[type="checkbox"]{
  accent-color: var(--aa-brown-700);
  margin-right: 8px;
}
body.woocommerce-checkout #payment div.payment_box{
  background: var(--aa-stone);
  border-radius: 2px;
  font-size: 13px;
  color: var(--aa-brown-500);
  padding: 12px 14px;
  margin: 8px 0 0;
}
body.woocommerce-checkout #payment div.payment_box::before{ display: none; }
body.woocommerce-checkout #place_order{
  width: 100%;
  font-size: 14px;
  padding: 16px 24px;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  font-size: 13px;
  color: var(--aa-brown-500);
  margin-bottom: 14px;
}
/* thank-you page */
body.woocommerce-checkout .woocommerce-thankyou-order-received{
  font-family: var(--aa-font-display);
  font-style: italic;
  font-size: 22px;
  color: var(--aa-sprout-700);
  margin-bottom: 20px;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 28px;
  padding: 20px 22px;
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details li{
  border: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--aa-brown-500);
  padding: 0 20px 0 0;
  margin: 0;
}
body.woocommerce-checkout ul.woocommerce-thankyou-order-details li strong{
  display: block;
  font-size: 15px;
  color: var(--aa-brown-900);
  margin-top: 4px;
  text-transform: none;
  letter-spacing: 0;
}

/* ---- MY ACCOUNT ---- */
body.woocommerce-account .woocommerce{
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
/* login/register (logged out) — single centered column */
body.woocommerce-account:not(.logged-in) .woocommerce{
  display: block;
  max-width: 920px;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 10px 0;
  position: sticky;
  top: calc(var(--aa-header-h-scrolled) + 20px);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li{
  border-top: 1px dashed var(--aa-line);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li:first-child{ border-top: 0; }
body.woocommerce-account nav.woocommerce-MyAccount-navigation a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--aa-charcoal);
  text-decoration: none;
  transition: color .2s ease, padding-left .2s ease, background .2s ease;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a::before{
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--aa-line);
  flex-shrink: 0;
  transition: background .2s ease;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a:hover{
  color: var(--aa-brown-700);
  padding-left: 24px;
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation a:hover::before{ background: var(--aa-brown-700); }
body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a{
  color: var(--aa-brown-900);
  background: var(--aa-stone);
}
body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a::before{ background: var(--aa-brown-700); }

body.woocommerce-account .woocommerce-MyAccount-content{
  font-size: 14.5px;
  line-height: 1.7;
}
body.woocommerce-account .woocommerce-MyAccount-content a{ color: var(--aa-brown-700); }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  background: var(--aa-white);
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--aa-brown-500);
  background: var(--aa-stone);
  border: 0;
  padding: 13px 16px;
  text-align: left;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
  border: 0;
  border-top: 1px dashed var(--aa-line);
  padding: 13px 16px;
  font-size: 13.5px;
}
body.woocommerce-account .woocommerce-MyAccount-content .button{
  font-size: 11.5px;
  padding: 9px 16px;
}
/* address cards */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-Address{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: 20px 22px;
}
body.woocommerce-account .woocommerce-Address address{
  font-style: normal;
  line-height: 1.8;
  color: var(--aa-brown-500);
}
/* login / register card */
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register{
  background: var(--aa-white);
  border: 1px solid var(--aa-line);
  border-radius: 4px;
  padding: clamp(24px, 3vw, 36px);
  max-width: 460px;
}
body.woocommerce-account .u-columns.col2-set{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 48px);
  width: 100%;
}
body.woocommerce-account .u-columns.col2-set .u-column1,
body.woocommerce-account .u-columns.col2-set .u-column2{
  width: 100%;
  float: none;
}
body.woocommerce-account .woocommerce-form-login__rememberme{
  display: block;
  font-size: 13px;
  margin-bottom: 14px;
}
body.woocommerce-account .lost_password{
  font-size: 13px;
  margin-top: 12px;
}

/* ---- Responsive: cart / checkout / account ---- */
@media (max-width: 1080px){
  body.woocommerce-cart .cross-sells ul.products{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px){
  body.woocommerce-checkout form.checkout{ grid-template-columns: 1fr; }
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{ grid-column: 1; position: static; }
  body.woocommerce-account .woocommerce{ grid-template-columns: 1fr; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation{ position: static; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px;
  }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation li{ border: 0; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation a{
    border: 1px solid var(--aa-line);
    border-radius: 999px;
    padding: 8px 14px !important;
    font-size: 12.5px;
  }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation a::before{ display: none; }
  body.woocommerce-account nav.woocommerce-MyAccount-navigation li.is-active a{
    background: var(--aa-brown-700);
    border-color: var(--aa-brown-700);
    color: var(--aa-ivory);
  }
  body.woocommerce-account .u-columns.col2-set{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  /* stack cart rows */
  body.woocommerce-cart table.shop_table.cart thead{ display: none; }
  body.woocommerce-cart table.shop_table.cart tr{
    display: block;
    padding: 10px 0;
  }
  body.woocommerce-cart table.shop_table.cart td{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 0;
    padding: 8px 16px;
  }
  body.woocommerce-cart table.shop_table.cart tr + tr{ border-top: 1px dashed var(--aa-line); }
  body.woocommerce-cart table.shop_table.cart td[data-title]::before{
    content: attr(data-title);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--aa-brown-500);
  }
  body.woocommerce-cart td.actions .coupon{
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }
  body.woocommerce-cart td.actions .coupon input#coupon_code{ flex: 1; width: auto; }
  body.woocommerce-cart .cross-sells ul.products{ grid-template-columns: 1fr; }
}
