/* ==========================================================================
   Arva Natura — design system
   Palette sampled from the brand logo: green #274C40, gold #C9A227
   ========================================================================== */

:root{
  /* Brand */
  --an-green:        #274C40;
  --an-green-deep:   #1B382E;
  --an-green-mid:    #49685E;
  --an-green-soft:   #E7EDEA;
  --an-gold:         #C9A227;
  --an-gold-light:   #E3C766;
  --an-gold-pale:    #F6EDD3;

  /* Neutrals */
  --an-cream:        #F9F7F3;
  --an-cream-2:      #F2F0EB;
  --an-ink:          #1C1C1C;
  --an-body:         #4A4A4A;
  --an-muted:        #7A756C;
  --an-line:         #E5E0D5;
  --an-white:        #FFFFFF;

  /* Status */
  --an-sale:         #A33B2A;

  /* Type */
  --an-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --an-font-body:    'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Space & shape */
  --an-container:    1240px;
  --an-gutter:       20px;
  --an-radius:       14px;
  --an-radius-lg:    22px;
  --an-radius-pill:  999px;
  --an-section:      clamp(40px, 4.4vw, 64px);
  --an-shadow:       0 1px 2px rgba(28,28,28,.04), 0 8px 24px rgba(28,28,28,.06);
  --an-shadow-lift:  0 2px 4px rgba(28,28,28,.05), 0 18px 40px rgba(28,28,28,.10);
  --an-transition:   .25s cubic-bezier(.4,0,.2,1);
}

/* --------------------------------------------------------------------------
   Reset / base
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  background:var(--an-white);
  color:var(--an-body);
  font-family:var(--an-font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--an-green);text-decoration:none;transition:color var(--an-transition)}
a:hover{color:var(--an-gold)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{
  font-family:var(--an-font-display);
  color:var(--an-ink);
  font-weight:600;
  line-height:1.2;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2rem,4.2vw,3.25rem)}
h2{font-size:clamp(1.65rem,3.1vw,2.5rem)}
h3{font-size:clamp(1.2rem,1.9vw,1.5rem)}
h4{font-size:1.125rem}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.15em;padding-left:1.25em}
hr{border:0;border-top:1px solid var(--an-line);margin:2.5rem 0}
blockquote{margin:1.5rem 0;padding:1rem 0 1rem 1.5rem;border-left:3px solid var(--an-gold);font-family:var(--an-font-display);font-size:1.15rem;color:var(--an-ink)}
:focus-visible{outline:2px solid var(--an-gold);outline-offset:3px;border-radius:4px}

/* --------------------------------------------------------------------------
   Layout helpers
   -------------------------------------------------------------------------- */
.an-container{width:100%;max-width:var(--an-container);margin-inline:auto;padding-inline:var(--an-gutter)}
.an-container--narrow{max-width:760px}
.an-section{padding-block:var(--an-section)}
.an-section--cream{background:var(--an-cream)}
.an-section--green{background:var(--an-green);color:#DCE5E1}
.an-section--green h2,.an-section--green h3{color:var(--an-cream)}
.an-section--tight{padding-block:clamp(30px,3.2vw,46px)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--an-green);color:#fff;padding:12px 20px;border-radius:0 0 var(--an-radius) 0}
.skip-link:focus{left:0;color:#fff}

.an-section-head{text-align:center;max-width:680px;margin:0 auto clamp(22px,2.6vw,34px)}
.an-section-head p{color:var(--an-muted);margin-bottom:0}
.an-eyebrow{
  display:inline-block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;color:var(--an-gold);margin-bottom:.85rem;
}
.an-section--green .an-eyebrow{color:var(--an-gold-light)}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.an-btn,
a.button,button.button,input.button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--an-font-body);font-size:.875rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;
  padding:14px 30px;border-radius:var(--an-radius-pill);border:1px solid var(--an-green);
  background:var(--an-green);color:#fff;cursor:pointer;line-height:1.2;
  transition:background var(--an-transition),color var(--an-transition),border-color var(--an-transition),transform var(--an-transition);
  text-decoration:none;
}
.an-btn:hover,
a.button:hover,button.button:hover,input.button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--an-green-deep);border-color:var(--an-green-deep);color:#fff;
}
.an-btn--ghost{background:transparent;color:var(--an-green)}
.an-btn--ghost:hover{background:var(--an-green);color:#fff}
.an-btn--gold{background:var(--an-gold);border-color:var(--an-gold);color:var(--an-green-deep)}
.an-btn--gold:hover{background:var(--an-gold-light);border-color:var(--an-gold-light);color:var(--an-green-deep)}
.an-btn--light{background:var(--an-cream);border-color:var(--an-cream);color:var(--an-green)}
.an-btn--light:hover{background:#fff;border-color:#fff;color:var(--an-green-deep)}
.an-btn--sm{padding:10px 20px;font-size:.78rem}
.an-btn--block{width:100%}
.an-link-arrow{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--an-green)}
.an-link-arrow svg{transition:transform var(--an-transition)}
.an-link-arrow:hover svg{transform:translateX(4px)}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.an-announce{background:var(--an-green);color:var(--an-cream);font-size:.8rem;letter-spacing:.06em;text-align:center;padding:9px var(--an-gutter)}
.an-announce p{margin:0}
.an-announce a{color:var(--an-gold-light);text-decoration:underline;text-underline-offset:3px}

.an-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--an-line)}
.an-header__inner{display:flex;align-items:center;gap:20px;min-height:76px}
.an-brand{flex:0 0 auto;display:block}
.an-brand img{width:auto;height:44px}
.an-nav{margin-inline:auto}
.an-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.an-nav a{
  font-size:.82rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--an-ink);
  padding:8px 0;display:inline-block;position:relative;
}
.an-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;background:var(--an-gold);transition:right var(--an-transition)}
.an-nav a:hover,.an-nav .current-menu-item>a{color:var(--an-green)}
.an-nav a:hover::after,.an-nav .current-menu-item>a::after{right:0}
.an-nav li.menu-item-has-children{position:relative}
.an-nav .sub-menu{
  position:absolute;top:calc(100% + 10px);left:-18px;min-width:214px;display:block;flex-direction:column;gap:0;
  background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius);padding:10px;box-shadow:var(--an-shadow);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--an-transition);
}
.an-nav li:hover>.sub-menu,.an-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.an-nav .sub-menu a{display:block;padding:9px 12px;border-radius:8px;letter-spacing:.05em;text-transform:none;font-size:.9rem}
.an-nav .sub-menu a::after{display:none}
.an-nav .sub-menu a:hover{background:var(--an-cream)}

.an-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}
.an-icon-btn{
  display:inline-flex;align-items:center;justify-content:center;position:relative;
  width:42px;height:42px;border-radius:50%;border:0;background:transparent;color:var(--an-ink);cursor:pointer;
  transition:background var(--an-transition),color var(--an-transition);
}
.an-icon-btn:hover{background:var(--an-cream);color:var(--an-green)}
.an-cart-count{
  position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;
  background:var(--an-gold);color:var(--an-green-deep);border-radius:999px;font-size:.66rem;font-weight:600;line-height:1;
}
.an-burger{display:none}

/* Search drawer */
.an-search{display:none;border-top:1px solid var(--an-line);background:#fff}
.an-search.is-open{display:block}
.an-search form{display:flex;gap:10px;padding:18px 0}
.an-search input[type=search]{flex:1;border:1px solid var(--an-line);border-radius:var(--an-radius-pill);padding:13px 22px;background:var(--an-cream)}

/* Mobile drawer */
.an-drawer{position:fixed;inset:0;z-index:200;visibility:hidden}
.an-drawer.is-open{visibility:visible}
.an-drawer__scrim{position:absolute;inset:0;background:rgba(27,56,46,.42);opacity:0;transition:opacity var(--an-transition)}
.an-drawer.is-open .an-drawer__scrim{opacity:1}
.an-drawer__panel{
  position:absolute;inset:0 auto 0 0;width:min(86vw,360px);background:#fff;
  padding:22px;overflow-y:auto;transform:translateX(-100%);transition:transform var(--an-transition);
  display:flex;flex-direction:column;gap:18px;
}
.an-drawer.is-open .an-drawer__panel{transform:none}
.an-drawer__top{display:flex;align-items:center;justify-content:space-between}
.an-drawer__panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.an-drawer__panel li{border-bottom:1px solid var(--an-line)}
.an-drawer__panel a{display:block;padding:14px 2px;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--an-ink);font-weight:500}
.an-drawer__panel .sub-menu a{text-transform:none;letter-spacing:.02em;padding-left:16px;color:var(--an-muted)}

@media (max-width:1024px){
  .an-nav{display:none}
  .an-burger{display:inline-flex}
  .an-header__inner{min-height:66px}
  .an-brand img{height:36px}
  .an-brand{margin-inline:auto}
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.an-hero{position:relative;background:var(--an-green-deep);color:#fff;overflow:hidden}
.an-hero__media{position:absolute;inset:0}
.an-hero__media img{width:100%;height:100%;object-fit:cover}
.an-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,56,46,.88) 0%,rgba(27,56,46,.62) 48%,rgba(27,56,46,.28) 100%)}
.an-hero__inner{position:relative;z-index:2;padding-block:clamp(84px,13vw,168px);max-width:660px}
.an-hero h1{color:#fff;margin-bottom:.45em;text-wrap:balance}
.an-hero p{font-size:clamp(1rem,1.35vw,1.15rem);color:#DCE5E1;max-width:52ch;margin-bottom:2rem}
.an-hero .an-eyebrow{color:var(--an-gold-light)}
.an-hero__cta{display:flex;flex-wrap:wrap;gap:12px}

/* Marquee strip */
.an-strip{background:var(--an-cream-2);border-block:1px solid var(--an-line);overflow:hidden}
.an-strip__track{display:flex;gap:56px;padding:15px 0;white-space:nowrap;animation:an-marquee 34s linear infinite}
.an-strip:hover .an-strip__track{animation-play-state:paused}
.an-strip span{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;color:var(--an-green);font-weight:500}
.an-strip span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--an-gold);flex:0 0 auto}
@keyframes an-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --------------------------------------------------------------------------
   Product cards
   -------------------------------------------------------------------------- */
.an-grid{display:grid;gap:26px}
.an-grid--4{grid-template-columns:repeat(4,1fr)}
.an-grid--3{grid-template-columns:repeat(3,1fr)}
.an-grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1024px){.an-grid--4{grid-template-columns:repeat(2,1fr)}.an-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.an-grid--4,.an-grid--3,.an-grid--2{grid-template-columns:1fr;gap:18px}}

ul.products{display:grid;gap:14px;list-style:none;margin:0;padding:0;grid-template-columns:repeat(4,1fr)}
ul.products.columns-5,.columns-5 ul.products{grid-template-columns:repeat(5,1fr)}
ul.products.columns-4,.columns-4 ul.products{grid-template-columns:repeat(4,1fr)}
ul.products.columns-3,.columns-3 ul.products{grid-template-columns:repeat(3,1fr)}
ul.products.columns-2,.columns-2 ul.products{grid-template-columns:repeat(2,1fr)}
@media (max-width:1240px){ul.products,ul.products.columns-5,.columns-5 ul.products{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1024px){ul.products,ul.products.columns-5,ul.products.columns-4,.columns-5 ul.products,.columns-4 ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){ul.products,ul.products.columns-5,ul.products.columns-4,ul.products.columns-3,.columns-5 ul.products,.columns-4 ul.products,.columns-3 ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){ul.products{gap:10px}}

ul.products li.product{
  position:relative;background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);
  overflow:hidden;display:flex;flex-direction:column;text-align:left;margin:0;
  transition:box-shadow var(--an-transition),transform var(--an-transition),border-color var(--an-transition);
}
ul.products li.product:hover{box-shadow:var(--an-shadow-lift);transform:translateY(-3px);border-color:transparent}
ul.products li.product a.woocommerce-LoopProduct-link{display:block;color:inherit}
.an-card__media{position:relative;display:block;background:var(--an-cream);aspect-ratio:1/1;overflow:hidden}
.an-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}
ul.products li.product:hover .an-card__media img{transform:scale(1.045)}
.an-card__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.an-card__cat{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--an-muted)}
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--an-font-display);font-size:1.05rem;font-weight:600;color:var(--an-ink);margin:0;padding:0;line-height:1.3;
}
.an-card__tagline{font-size:.85rem;color:var(--an-muted);margin:0}
ul.products li.product .price{
  color:var(--an-ink);font-size:1rem;font-weight:500;font-family:var(--an-font-body);margin:2px 0 0;display:flex;align-items:baseline;gap:8px;
}
ul.products li.product .price del{color:var(--an-muted);font-weight:400;font-size:.88rem;opacity:.8}
ul.products li.product .price ins{text-decoration:none;color:var(--an-ink)}
.an-card__foot{margin-top:auto;padding-top:14px}
ul.products li.product .button{width:100%;padding:12px 16px;font-size:.76rem;text-align:center}
ul.products li.product .added_to_cart{display:none}
.an-badge{
  position:absolute;top:12px;left:12px;z-index:2;display:inline-block;
  background:var(--an-green);color:#fff;font-size:.66rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--an-radius-pill);
}
.an-badge--sale{background:var(--an-sale)}
.an-badge--gold{background:var(--an-gold);color:var(--an-green-deep)}
.woocommerce span.onsale{display:none}

.an-stars{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:var(--an-muted)}
.an-stars__icons{color:var(--an-gold);letter-spacing:1px}

/* --------------------------------------------------------------------------
   Promise / values / icon rows
   -------------------------------------------------------------------------- */
.an-promise{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media (max-width:900px){.an-promise{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.an-promise{grid-template-columns:1fr}}
.an-promise__item{background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:30px 26px;text-align:center}
.an-section--cream .an-promise__item{background:#fff}
.an-promise__icon{
  width:60px;height:60px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--an-green-soft);color:var(--an-green);
}
.an-promise__icon svg{width:28px;height:28px}
.an-promise__item h3{font-size:1.08rem;margin-bottom:.45em}
.an-promise__item p{font-size:.9rem;color:var(--an-muted);margin:0}

.an-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;list-style:none;margin:0;padding:0}
.an-values li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius);padding:18px 20px;font-size:.95rem;color:var(--an-ink)}
.an-values li svg{flex:0 0 auto;width:20px;height:20px;color:var(--an-gold);margin-top:3px}

/* Six elements chip row */
.an-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;margin:0;padding:0}
.an-chips li{
  border:1px solid var(--an-line);background:#fff;border-radius:var(--an-radius-pill);
  padding:10px 20px;font-size:.82rem;letter-spacing:.06em;color:var(--an-green);
}

/* --------------------------------------------------------------------------
   Split / story blocks
   -------------------------------------------------------------------------- */
.an-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.an-split--reverse .an-split__media{order:2}
@media (max-width:860px){.an-split{grid-template-columns:1fr}.an-split--reverse .an-split__media{order:0}}
.an-split__media img,.an-split__media .an-ph{border-radius:var(--an-radius-lg);width:100%;aspect-ratio:4/3;object-fit:cover}
.an-split__body h2{margin-bottom:.5em}
.an-split__body p{color:var(--an-muted)}

/* Journey / numbered steps */
.an-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:an-step}
@media (max-width:980px){.an-journey{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.an-journey{grid-template-columns:1fr}}
.an-journey__item{position:relative;padding-top:26px;border-top:2px solid rgba(201,162,39,.35)}
.an-journey__num{font-family:var(--an-font-display);font-size:1.6rem;color:var(--an-gold);display:block;margin-bottom:.35rem;line-height:1}
.an-journey__item h3{font-size:1.05rem;margin-bottom:.45em}
.an-journey__item p{font-size:.9rem;margin:0;color:var(--an-muted)}
.an-section--green .an-journey__item p{color:#B9C8C2}
.an-section--green .an-journey__item h3{color:var(--an-cream)}

/* --------------------------------------------------------------------------
   Reviews
   -------------------------------------------------------------------------- */
.an-reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:1024px){.an-reviews{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.an-reviews{grid-template-columns:1fr}}
.an-review{background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.an-review__quote{font-size:.95rem;color:var(--an-body);margin:0;flex:1}
.an-review__stars{color:var(--an-gold);letter-spacing:2px;font-size:.9rem}
.an-review__by{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--an-green);font-weight:500;margin:0}
.an-review__by span{display:block;text-transform:none;letter-spacing:.02em;color:var(--an-muted);font-weight:400;font-size:.8rem}

/* --------------------------------------------------------------------------
   Editorial cards (recipes / blogs)
   -------------------------------------------------------------------------- */
.an-ecard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);overflow:hidden;transition:box-shadow var(--an-transition),transform var(--an-transition)}
.an-ecard:hover{box-shadow:var(--an-shadow-lift);transform:translateY(-3px)}
/* The supplied recipe and article headers are square compositions with the logo and
   headline at the top, so the frame is square and any residual crop is taken from the
   bottom of the photograph rather than the branding. */
.an-ecard__media{aspect-ratio:1/1;background:var(--an-cream);overflow:hidden}
.an-ecard__media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.an-ecard:hover .an-ecard__media img{transform:scale(1.045)}
.an-ecard__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:9px;flex:1}
.an-ecard__meta{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--an-gold)}
.an-ecard__body h2,.an-ecard__body h3{margin:0;font-size:1.15rem}
.an-ecard__body h2 a,.an-ecard__body h3 a{color:var(--an-ink)}
.an-ecard__body h2 a:hover,.an-ecard__body h3 a:hover{color:var(--an-green)}
.an-ecard__body p{font-size:.9rem;color:var(--an-muted);margin:0}
.an-ecard__foot{margin-top:auto;padding-top:14px}

/* --------------------------------------------------------------------------
   Video block
   -------------------------------------------------------------------------- */
.an-video{position:relative;border-radius:var(--an-radius-lg);overflow:hidden;background:var(--an-green-deep);aspect-ratio:16/9}
.an-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.an-video__cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:0;width:100%;background:transparent}
.an-video__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.an-video__play{position:relative;z-index:2;width:78px;height:78px;border-radius:50%;background:rgba(251,248,241,.92);color:var(--an-green);display:flex;align-items:center;justify-content:center;transition:transform var(--an-transition)}
.an-video__cover:hover .an-video__play{transform:scale(1.08)}

/* --------------------------------------------------------------------------
   Instagram
   -------------------------------------------------------------------------- */
.an-insta{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:900px){.an-insta{grid-template-columns:repeat(3,1fr)}}
.an-insta a{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--an-radius);overflow:hidden;background:var(--an-cream-2)}
.an-insta img{width:100%;height:100%;object-fit:cover;transition:transform var(--an-transition)}
.an-insta a:hover img{transform:scale(1.06)}

/* --------------------------------------------------------------------------
   Newsletter
   -------------------------------------------------------------------------- */
.an-newsletter{background:var(--an-green);color:#DCE5E1;border-radius:var(--an-radius-lg);padding:clamp(34px,5vw,60px);text-align:center}
.an-newsletter h2{color:var(--an-cream)}
.an-newsletter p{max-width:46ch;margin-inline:auto;color:#B9C8C2}
.an-newsletter form{display:flex;gap:10px;max-width:470px;margin:26px auto 0}
.an-newsletter input[type=email]{flex:1;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:var(--an-radius-pill);padding:14px 24px}
.an-newsletter input[type=email]::placeholder{color:rgba(255,255,255,.6)}
@media (max-width:520px){.an-newsletter form{flex-direction:column}}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.an-footer{background:var(--an-green-deep);color:#B9C8C2;padding-top:clamp(40px,4.4vw,60px)}
.an-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px 38px}
@media (max-width:980px){.an-footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.an-footer__top{grid-template-columns:1fr;gap:30px}}
.an-footer__brand img{height:46px;width:auto;margin-bottom:16px}
.an-footer__brand p{max-width:42ch;font-size:.92rem;color:#A8BAB3}
.an-footer h2,.an-footer h3{font-family:var(--an-font-body);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--an-gold-light);margin-bottom:1.1em;font-weight:500}
.an-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.an-footer a{color:#B9C8C2;font-size:.93rem}
.an-footer a:hover{color:var(--an-gold-light)}
.an-footer__social{display:flex;gap:10px;margin-top:18px}
.an-footer__social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#DCE5E1;transition:background var(--an-transition),border-color var(--an-transition),color var(--an-transition)}
.an-footer__social a:hover{background:var(--an-gold);border-color:var(--an-gold);color:var(--an-green-deep)}
.an-footer__bottom{
  margin-top:clamp(26px,2.8vw,38px);border-top:1px solid rgba(255,255,255,.12);
  padding-block:20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;font-size:.85rem;
}
.an-footer__pay{display:flex;gap:8px;align-items:center;color:#8FA49C;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

/* --------------------------------------------------------------------------
   Page hero / breadcrumbs
   -------------------------------------------------------------------------- */
.an-pagehead{background:var(--an-cream);border-bottom:1px solid var(--an-line);padding-block:clamp(38px,5vw,62px);text-align:center}
.an-pagehead h1{margin-bottom:.3em}
.an-pagehead p{color:var(--an-muted);max-width:62ch;margin-inline:auto;margin-bottom:0}
.woocommerce-breadcrumb{font-size:.8rem;color:var(--an-muted);margin:0 0 1rem;letter-spacing:.04em}
.woocommerce-breadcrumb a{color:var(--an-muted)}
.woocommerce-breadcrumb a:hover{color:var(--an-green)}

/* --------------------------------------------------------------------------
   WooCommerce — shop toolbar, single product, cart, checkout
   -------------------------------------------------------------------------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--an-cream);border:1px solid var(--an-line);border-top:3px solid var(--an-green);
  border-radius:var(--an-radius);padding:16px 22px;list-style:none;margin:0 0 24px;font-size:.92rem;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.woocommerce-error{border-top-color:var(--an-sale)}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;padding:9px 18px;font-size:.74rem}

.an-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--an-line)}
.woocommerce-result-count{margin:0;font-size:.86rem;color:var(--an-muted)}
.woocommerce-ordering select,.an-select{
  border:1px solid var(--an-line);border-radius:var(--an-radius-pill);padding:10px 40px 10px 18px;background:#fff;font-size:.86rem;
  appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A4A4A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:15px;cursor:pointer;
}
.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;padding:0;margin:44px 0 0;border:0}
.woocommerce-pagination li{border:0}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--an-line);border-radius:var(--an-radius-pill);font-size:.9rem;color:var(--an-ink);background:#fff;
}
.woocommerce-pagination .current{background:var(--an-green);border-color:var(--an-green);color:#fff}

/* Single product */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:start}
@media (max-width:900px){.single-product div.product{grid-template-columns:1fr}}
/* The buy column is much taller than the photography, so the gallery is pinned while it is
   read rather than leaving a column of empty space. The sticky box is inside .an-gallery-col,
   not the gallery itself: a sticky grid item's range covers the whole of div.product, which
   let it slide down over the full-width sections. The column stretches to its row, so the
   sticky box inside it can only travel within that row. 92px clears the sticky header. */
.an-gallery-col{min-width:0}
@media (min-width:901px){
  .single-product div.product>.an-gallery-col{align-self:stretch}
  .an-gallery-col>.an-gallery-sticky{position:sticky;top:92px}
}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images img{border-radius:var(--an-radius-lg);background:var(--an-cream)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{width:82px;margin:0}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:10px;border:1px solid var(--an-line);opacity:.7;cursor:pointer}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;border-color:var(--an-green)}
.woocommerce div.product .product_title{font-size:clamp(1.7rem,2.8vw,2.3rem);margin-bottom:.25em}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--an-ink);font-size:1.5rem;font-family:var(--an-font-body);font-weight:500;margin:0 0 18px;display:flex;align-items:baseline;gap:10px;
}
.woocommerce div.product p.price del{color:var(--an-muted);font-size:1.05rem;font-weight:400}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--an-muted);border-bottom:1px solid var(--an-line);padding-bottom:22px;margin-bottom:22px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 24px}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:18px;border-collapse:collapse}
.woocommerce div.product form.cart .variations th{text-align:left;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--an-muted);font-weight:500;padding:0 0 8px}
.woocommerce div.product form.cart .variations td{padding:0 0 14px}
.woocommerce div.product form.cart .variations select{width:100%;max-width:280px}
.woocommerce div.product form.cart .single_variation_wrap{display:flex;flex-direction:column;gap:14px}
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.quantity{display:inline-flex;align-items:center;border:1px solid var(--an-line);border-radius:var(--an-radius-pill);overflow:hidden;background:#fff}
.quantity .an-qty-btn{width:42px;height:48px;border:0;background:transparent;font-size:1.1rem;color:var(--an-green);cursor:pointer;line-height:1}
.quantity input.qty{width:46px;height:48px;border:0;text-align:center;background:transparent;font-size:.95rem;-moz-appearance:textfield}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce div.product form.cart .button{padding:16px 36px;flex:1;min-width:190px}
/* Service promises: a row of three on anything but a narrow phone, matching the client's
   reference, which sets them side by side rather than as a bulleted list. */
.an-product-usps{
  list-style:none;margin:0 0 24px;padding:20px 0 0;border-top:1px solid var(--an-line);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;
}
.an-product-usps li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.an-product-usps svg{width:26px;height:26px;color:var(--an-green);flex:0 0 auto;stroke-width:1.4}
.an-product-usps__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.an-product-usps__text strong{font-size:.85rem;font-weight:600;color:var(--an-ink);line-height:1.3}
.an-product-usps__text em{font-style:normal;font-size:.76rem;color:var(--an-muted);line-height:1.4}
@media (max-width:420px){
  .an-product-usps{grid-template-columns:1fr;gap:12px}
  .an-product-usps li{flex-direction:row;align-items:center;text-align:left;gap:12px}
}
.product_meta{font-size:.84rem;color:var(--an-muted);border-top:1px solid var(--an-line);padding-top:18px}
.product_meta>span{display:block;margin-bottom:5px}

/* No longer a child of the product grid — it lives inside .summary, under the buy buttons. */
.woocommerce div.product .woocommerce-tabs{margin:26px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0 0 26px;padding:0 0 2px;border-bottom:1px solid var(--an-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;background:none;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 22px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--an-muted);
  border-bottom:2px solid transparent;font-weight:500;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--an-green);border-bottom-color:var(--an-gold)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:none}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.3rem}
.woocommerce .related,.woocommerce .up-sells,.woocommerce .cross-sells{grid-column:1/-1;margin-top:clamp(44px,5vw,72px)}
.woocommerce .related>h2,.woocommerce .up-sells>h2,.woocommerce .cross-sells>h2{text-align:center;margin-bottom:32px}

/* Cart */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);overflow:hidden}
.woocommerce table.shop_table th{
  text-align:left;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--an-muted);
  font-weight:500;padding:16px 18px;background:var(--an-cream);border-bottom:1px solid var(--an-line);
}
.woocommerce table.shop_table td{padding:18px;border-bottom:1px solid var(--an-line);vertical-align:middle;font-size:.94rem}
.woocommerce table.shop_table .product-thumbnail img{width:76px;border-radius:10px}
.woocommerce table.shop_table td.product-name a{color:var(--an-ink);font-weight:500}
.woocommerce a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--an-cream-2);color:var(--an-muted);font-size:1rem;line-height:1;text-decoration:none;
}
.woocommerce a.remove:hover{background:var(--an-sale);color:#fff}
.woocommerce .cart-collaterals{display:grid;grid-template-columns:1fr 400px;gap:40px;margin-top:36px;align-items:start}
@media (max-width:900px){.woocommerce .cart-collaterals{grid-template-columns:1fr}}
.woocommerce .cart_totals{background:var(--an-cream);border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:28px}
.woocommerce .cart_totals h2{font-size:1.25rem}
.woocommerce .cart_totals table{border:0}
.woocommerce .cart_totals th,.woocommerce .cart_totals td{background:transparent;border-bottom:1px solid var(--an-line);padding:13px 0}
.woocommerce .cart_totals .order-total td{font-size:1.15rem;font-weight:500;color:var(--an-ink)}
.woocommerce .wc-proceed-to-checkout{margin-top:22px}
.woocommerce .wc-proceed-to-checkout .button{width:100%}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce .coupon input[type=text]{flex:1;min-width:170px}

/* Forms */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;padding:0}
.woocommerce form .form-row label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--an-muted);font-weight:500}
.woocommerce form .form-row .required{color:var(--an-sale);text-decoration:none}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=url],textarea,select,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container .select2-selection--single{
  width:100%;border:1px solid var(--an-line);border-radius:var(--an-radius);padding:13px 16px;background:#fff;
  font-size:.95rem;transition:border-color var(--an-transition),box-shadow var(--an-transition);
}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--an-green);box-shadow:0 0 0 3px rgba(39,76,64,.1)}
.select2-container--default .select2-selection--single{height:auto;padding:11px 16px}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:9px;right:8px}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media (max-width:760px){.woocommerce-checkout .col2-set{grid-template-columns:1fr}}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
#customer_details{margin-bottom:38px}
#order_review_heading{margin-top:0}
.woocommerce-checkout #order_review{background:var(--an-cream);border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:28px}
.woocommerce-checkout #payment{background:transparent}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 20px;padding:20px 0 0;border-top:1px solid var(--an-line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius);padding:14px 18px;font-size:.88rem;margin:10px 0 0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment #place_order{width:100%;margin-top:14px;padding:17px}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--an-line);padding-bottom:16px}
.woocommerce-account .woocommerce-MyAccount-navigation a{padding:9px 18px;border-radius:var(--an-radius-pill);font-size:.84rem;background:var(--an-cream);color:var(--an-body)}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--an-green);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media (max-width:760px){.woocommerce-account .u-columns{grid-template-columns:1fr}}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{width:auto;float:none;background:var(--an-cream);border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:30px}

/* Empty cart / states */
.cart-empty,.woocommerce-info.cart-empty{justify-content:center;text-align:center}
.an-empty{text-align:center;padding:clamp(40px,6vw,80px) 0}
.an-empty svg{width:64px;height:64px;color:var(--an-line);margin:0 auto 20px}

/* --------------------------------------------------------------------------
   Editorial / single post & page
   -------------------------------------------------------------------------- */
.an-entry{max-width:760px;margin-inline:auto}
.an-entry img{border-radius:var(--an-radius)}
.an-entry h2{margin-top:2em}
.an-entry h3{margin-top:1.6em}
.an-entry ul li,.an-entry ol li{margin-bottom:.45em}
.an-entry .wp-block-image{margin-block:2rem}
.an-meta{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--an-muted);margin-bottom:1rem}
.an-recipe-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,52px);align-items:start}
@media (max-width:800px){.an-recipe-grid{grid-template-columns:1fr}}
.an-recipe-card{background:var(--an-cream);border:1px solid var(--an-line);border-radius:var(--an-radius-lg);padding:28px;position:sticky;top:110px}
.an-recipe-card h2,.an-recipe-card h3{font-size:1rem;font-family:var(--an-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--an-muted);font-weight:500}
.an-recipe-card ul{padding-left:1.1em;font-size:.93rem;margin-bottom:0}

/* Placeholder art (used until photography lands) */
.an-ph{display:block;width:100%;height:100%;background:linear-gradient(160deg,var(--an-cream) 0%,var(--an-cream-2) 100%)}

/* Utilities */
.an-center{text-align:center}
.an-mt-lg{margin-top:clamp(18px,2.2vw,26px)}
.an-stack-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.an-hidden{display:none!important}

/* --------------------------------------------------------------------------
   Component fixes layered over WooCommerce's own stylesheet
   -------------------------------------------------------------------------- */
.an-header.is-stuck{box-shadow:0 1px 0 var(--an-line),0 8px 24px rgba(28,28,28,.05)}

ul.products li.product .woocommerce-loop-product__title a{color:inherit}
ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--an-green)}
ul.products li.product .an-card__media a{display:block;width:100%;height:100%}

/* Woo's star rating, restyled to the brand */
.woocommerce .star-rating{color:var(--an-gold);font-size:.85em;margin:2px 0}
.woocommerce .woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.woocommerce .woocommerce-product-rating .woocommerce-review-link{font-size:.84rem;color:var(--an-muted)}

/* Review blockquote must not inherit the editorial blockquote rule */
.an-review__quote{border:0;padding:0;font-family:var(--an-font-body);font-size:.95rem;color:var(--an-body)}

/* Woo layout resets now that woocommerce-layout.css is not loaded */
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce #content div.product div.images,
.woocommerce #content div.product div.summary{width:auto;float:none;margin:0}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto;float:none;margin:0;clear:none}
.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;margin:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide{grid-column:1/-1}
@media (max-width:620px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}}

/* Shop toolbar built from Woo's own two elements */
.woocommerce .woocommerce-products-header{margin-bottom:0}
.an-shop-toolbar .woocommerce-ordering{margin-left:auto}

/* Gallery */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  z-index:3;top:14px;right:14px;left:auto;width:42px;height:42px;border-radius:50%;
  background:#fff;border:1px solid var(--an-line);display:flex;align-items:center;justify-content:center;
}

/* Entry typography inside Woo tabs */
.woocommerce-Tabs-panel p,.woocommerce-Tabs-panel li{color:var(--an-body)}
.woocommerce-Tabs-panel ul{padding-left:1.15em}

/* Comments */
.an-comments{margin-top:2rem}
.an-comments__list{list-style:none;padding:0;margin:0 0 2rem}
.an-comments__list .comment-body{border:1px solid var(--an-line);border-radius:var(--an-radius);padding:20px;margin-bottom:14px}
.an-comments .comment-reply-title{font-size:1.3rem}
.an-comments .comment-form{display:grid;gap:14px}
.an-comments .comment-form-cookies-consent{display:flex;gap:10px;align-items:center}
.an-comments .comment-form-cookies-consent input{width:auto}

/* Pagination reuse for post archives */
.an-pagelinks{margin-top:2rem;display:flex;gap:8px}
.navigation.pagination{margin-top:44px}
.navigation.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.navigation.pagination .page-numbers{
  display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;
  border:1px solid var(--an-line);border-radius:var(--an-radius-pill);background:#fff;color:var(--an-ink);font-size:.9rem;
}
.navigation.pagination .page-numbers.current{background:var(--an-green);border-color:var(--an-green);color:#fff}

/* Hero image on entry pages */
.an-entry__hero{margin:0 0 clamp(28px,4vw,48px)}
.an-entry__hero img{width:100%;border-radius:var(--an-radius-lg);aspect-ratio:16/9;object-fit:cover}

/* Newsletter note */
.an-newsletter__note{margin:14px 0 0;font-size:.85rem;color:var(--an-gold-light);min-height:1.2em}

/* Search form (widget/fallback) */
.an-searchform{display:flex;gap:10px}

/* WordPress's own custom-logo markup gets the same treatment as .an-brand */
.an-header__inner .custom-logo-link{flex:0 0 auto;display:block;line-height:0}
.an-header__inner .custom-logo{width:auto;height:44px}
@media (max-width:1024px){
  .an-header__inner .custom-logo-link{margin-inline:auto}
  .an-header__inner .custom-logo{height:36px}
}

/* Section intro copy on the dark band — the muted grey is unreadable on green */
.an-section--green .an-section-head p{color:#C3D2CC}
.an-section--green .an-video__cover img{opacity:.85}

/* ==========================================================================
   Banners
   ========================================================================== */

/* Shared overlay + on-image text treatment ------------------------------- */
/* Scoped to the banner types that use a directional overlay. Tiles keep their own
   bottom-up scrim regardless, so their captions never sit on bare photography. */
.an-hero.an-overlay--none::after,
.an-shopbanner.an-overlay--none::after{display:none}
.an-hero.an-overlay--light::after,
.an-shopbanner.an-overlay--light::after{background:linear-gradient(90deg,rgba(27,56,46,.62) 0%,rgba(27,56,46,.32) 52%,rgba(27,56,46,.08) 100%)}
.an-hero.an-overlay--medium::after,
.an-shopbanner.an-overlay--medium::after{background:linear-gradient(90deg,rgba(27,56,46,.86) 0%,rgba(27,56,46,.58) 50%,rgba(27,56,46,.22) 100%)}
.an-hero.an-overlay--strong::after,
.an-shopbanner.an-overlay--strong::after{background:linear-gradient(90deg,rgba(27,56,46,.94) 0%,rgba(27,56,46,.78) 55%,rgba(27,56,46,.45) 100%)}
.an-hero--center.an-overlay--light::after{background:linear-gradient(180deg,rgba(27,56,46,.42),rgba(27,56,46,.42))}
.an-hero--center.an-overlay--medium::after{background:linear-gradient(180deg,rgba(27,56,46,.62),rgba(27,56,46,.62))}
.an-hero--center.an-overlay--strong::after{background:linear-gradient(180deg,rgba(27,56,46,.8),rgba(27,56,46,.8))}
.an-hero--right.an-overlay--light::after,
.an-hero--right.an-overlay--medium::after,
.an-hero--right.an-overlay--strong::after{transform:scaleX(-1)}

.an-ontext--dark h1,.an-ontext--dark h2,.an-ontext--dark h3,.an-ontext--dark .an-hero__heading{color:var(--an-ink)}
.an-ontext--dark p{color:var(--an-body)}
.an-ontext--dark .an-eyebrow{color:var(--an-gold)}

.an-banner__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}

/* Hero slider ------------------------------------------------------------ */
.an-heroslider{position:relative}
.an-heroslider__track{position:relative}
.an-heroslider.is-slider .an-heroslider__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease}
.an-heroslider.is-slider .an-heroslider__slide.is-active{position:relative;opacity:1;visibility:visible}
.an-hero__heading{
  font-family:var(--an-font-display);font-size:clamp(2rem,4.2vw,3.25rem);font-weight:600;line-height:1.2;
  color:#fff;margin:0 0 .45em;letter-spacing:-.01em;
}
.an-hero--center .an-hero__inner{max-width:760px;margin-inline:auto;text-align:center}
.an-hero--center .an-hero__cta,.an-hero--center .an-banner__cta{justify-content:center}
.an-hero--center p{margin-inline:auto}
.an-hero--right .an-hero__inner{margin-left:auto;text-align:right}
.an-hero--right .an-hero__cta,.an-hero--right .an-banner__cta{justify-content:flex-end}
.an-hero--right p{margin-left:auto}
@media (max-width:760px){
  .an-hero--right .an-hero__inner{margin-left:0;text-align:left}
  .an-hero--right .an-hero__cta,.an-hero--right .an-banner__cta{justify-content:flex-start}
}

.an-heroslider__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  background:rgba(27,56,46,.34);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background var(--an-transition),border-color var(--an-transition);
}
.an-heroslider__arrow:hover{background:var(--an-gold);border-color:var(--an-gold);color:var(--an-green-deep)}
.an-heroslider__arrow--prev{left:18px}
.an-heroslider__arrow--next{right:18px}
@media (max-width:760px){.an-heroslider__arrow{display:none}}

.an-heroslider__dots{position:absolute;left:0;right:0;bottom:22px;z-index:5;display:flex;gap:9px;justify-content:center}
.an-heroslider__dot{
  width:9px;height:9px;padding:0;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.45);transition:background var(--an-transition),width var(--an-transition);
}
.an-heroslider__dot.is-active{background:var(--an-gold);width:26px;border-radius:999px}

/* Banner used above the shop grid ---------------------------------------- */
.an-shopbanner{position:relative;border-radius:var(--an-radius-lg);overflow:hidden;min-height:220px;display:flex;align-items:center;isolation:isolate;margin-bottom:34px}
.an-shopbanner__media{position:absolute;inset:0;z-index:-2}
.an-shopbanner__media img{width:100%;height:100%;object-fit:cover}
.an-shopbanner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,56,46,.8) 0%,rgba(27,56,46,.4) 60%,rgba(27,56,46,.15) 100%)}
.an-shopbanner__body{position:relative;padding:clamp(24px,3vw,40px);max-width:560px;color:#fff;display:flex;flex-direction:column;gap:9px}
.an-shopbanner__body h2{color:#fff;margin:0;font-size:clamp(1.3rem,2.2vw,1.9rem)}
.an-shopbanner__body p{color:#D7E0DC;margin:0;font-size:.95rem}
.an-shopbanner.an-ontext--dark .an-shopbanner__body{color:var(--an-ink)}
.an-shopbanner.an-ontext--dark .an-shopbanner__body p{color:var(--an-body)}


/* ==========================================================================
   Flow deck sections
   ========================================================================== */

/* Horizontal band — circular illustrated oil icons (flow p4) ------------ */
.an-medallions{
  display:grid;grid-template-columns:repeat(6,1fr);gap:18px;
  list-style:none;margin:0;padding:0;
}
@media (max-width:980px){.an-medallions{grid-template-columns:repeat(3,1fr);gap:26px 14px}}
@media (max-width:420px){.an-medallions{grid-template-columns:repeat(2,1fr)}}
.an-medallion{display:flex}
.an-medallion__link{
  display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;width:100%;
  color:var(--an-ink);
}
.an-medallion__disc{
  width:104px;height:104px;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(28,28,28,.08);
  transition:transform var(--an-transition),box-shadow var(--an-transition);
}
.an-medallion__disc img,.an-medallion__disc svg{width:100%;height:100%;display:block;object-fit:cover}
.an-medallion__link:hover .an-medallion__disc{transform:translateY(-4px);box-shadow:0 10px 24px rgba(28,28,28,.16)}
.an-medallion__link:focus-visible .an-medallion__disc{outline:2px solid var(--an-gold);outline-offset:3px}
.an-medallion__label{
  font-size:.86rem;font-weight:500;color:var(--an-ink);line-height:1.35;
  transition:color var(--an-transition);
}
.an-medallion__link:hover .an-medallion__label{color:var(--an-green)}
@media (max-width:520px){
  .an-medallion__disc{width:84px;height:84px}
  .an-medallion__label{font-size:.8rem}
}

/* Story cards — copy set over the photograph (flow p9) ------------------- */
.an-storyband{background:transparent}
.an-storycards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1024px){.an-storycards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.an-storycards{grid-template-columns:1fr}}
.an-storycard{
  position:relative;border-radius:var(--an-radius-lg);overflow:hidden;isolation:isolate;
  aspect-ratio:3/4;display:flex;align-items:flex-start;
  transition:transform var(--an-transition),box-shadow var(--an-transition);
}
.an-storycard:hover{transform:translateY(-4px);box-shadow:var(--an-shadow-lift)}
.an-storycard__media{position:absolute;inset:0;z-index:-2}
.an-storycard__media img{width:100%;height:100%;object-fit:cover}
.an-storycard::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(27,56,46,.88) 0%,rgba(27,56,46,.62) 42%,rgba(27,56,46,.30) 100%);
}
.an-storycard__body{position:relative;padding:26px 24px;color:#fff;display:flex;flex-direction:column;gap:8px}
.an-storycard__num{
  font-family:var(--an-font-display);font-size:1.1rem;color:var(--an-gold-light);letter-spacing:.06em;line-height:1;
}
.an-storycard__body h3{color:#fff;margin:0;font-size:1.12rem;line-height:1.28}
.an-storycard__body p{color:#D7E0DC;margin:0;font-size:.88rem}

/* Why choose — flat, no card chrome (flow p7/p8) ------------------------- */
.an-promise__item--flat{background:transparent;border:0;padding:0 12px}
.an-promise__item--flat .an-promise__icon{background:transparent;width:auto;height:auto;margin-bottom:14px;color:var(--an-green)}
.an-promise__item--flat .an-promise__icon svg{width:44px;height:44px;stroke-width:1.3}
.an-promise__item--flat h3{font-size:1.12rem}

/* Testimonials carousel (flow p12) --------------------------------------- */
.an-reviews{display:block}
.an-reviews__viewport{overflow:hidden}
.an-reviews__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 24px) / 4);gap:24px;
  transition:transform .45s cubic-bezier(.4,0,.2,1);
}
@media (max-width:1024px){.an-reviews__track{grid-auto-columns:calc((100% - 24px) / 2)}}
@media (max-width:640px){.an-reviews__track{grid-auto-columns:100%}}
.an-review{
  background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);
  padding:28px 26px;display:flex;flex-direction:column;gap:20px;margin:0;
}
.an-review__quote{font-size:.94rem;color:var(--an-body);margin:0;flex:1;border:0;padding:0;font-family:var(--an-font-body)}
.an-review__by{display:flex;align-items:center;gap:13px;margin:0}
.an-review__avatar{
  width:46px;height:46px;flex:0 0 auto;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--an-green-soft);color:var(--an-green);
  font-family:var(--an-font-display);font-size:1.15rem;font-weight:600;
}
.an-review__who{display:flex;flex-direction:column;gap:1px;min-width:0}
.an-review__name{font-size:.9rem;font-weight:500;color:var(--an-ink)}
.an-review__city{font-size:.78rem;color:var(--an-muted)}
.an-review__stars{color:var(--an-gold);letter-spacing:1.5px;font-size:.78rem;margin-top:2px}
.an-reviews__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.an-reviews__arrow{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--an-line);background:#fff;color:var(--an-green);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background var(--an-transition),border-color var(--an-transition),color var(--an-transition);
}
.an-reviews__arrow:hover:not(:disabled){background:var(--an-green);border-color:var(--an-green);color:#fff}
.an-reviews__arrow:disabled{opacity:.35;cursor:default}
.an-reviews__dots{display:flex;gap:7px;align-items:center}
.an-reviews__dots button{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--an-line);cursor:pointer;
  transition:background var(--an-transition),width var(--an-transition);
}
.an-reviews__dots button.is-active{background:var(--an-green);width:22px;border-radius:999px}

/* Card rating (flow p5/p6) ----------------------------------------------- */
.an-card__rating{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--an-muted)}
.an-card__rating .star-rating{font-size:.7em;margin:0}
.an-card__rating-score{color:var(--an-ink);font-weight:500}
.an-card__rating--empty{font-size:.78rem;color:var(--an-muted);opacity:.75}

/* Footer newsletter, now inside the footer (flow p17) -------------------- */
.an-footer__newsletter{margin-top:22px;max-width:360px}
.an-footer__newsletter h2,.an-footer__newsletter h3{margin-bottom:.6em}
.an-footer__newsletter p{font-size:.88rem;color:#A8BAB3;margin-bottom:14px}
.an-footer__newsletter form{display:flex;gap:8px}
.an-footer__newsletter input[type=email]{
  flex:1;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:#fff;
  border-radius:var(--an-radius-pill);padding:12px 20px;font-size:.9rem;
}
.an-footer__newsletter input[type=email]::placeholder{color:rgba(255,255,255,.55)}
.an-footer__newsletter .an-btn{padding:12px 18px;flex:0 0 auto}

/* ==========================================================================
   Product page
   ========================================================================== */

/* Spec strip under the title ---------------------------------------------- */
.an-spec{
  display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0 0 16px;padding:0;
  font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--an-muted);
}
.an-spec li{display:flex;align-items:center;gap:14px}
.an-spec li:not(:last-child)::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--an-gold)}

.an-rating-empty{font-size:.84rem;color:var(--an-muted)}

/* Variant cards ------------------------------------------------------------ */
.woocommerce div.product form.cart .variations{display:none}
.an-variants{margin:0 0 22px}
.an-variants__label{
  display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--an-muted);font-weight:500;margin-bottom:10px;
}
.an-variants__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.an-variant{
  position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;
  padding:14px 16px;border:1.5px solid var(--an-line);border-radius:var(--an-radius);
  background:#fff;cursor:pointer;font-family:var(--an-font-body);
  transition:border-color var(--an-transition),box-shadow var(--an-transition),background var(--an-transition);
}
.an-variant:hover:not(:disabled){border-color:var(--an-green-mid)}
.an-variant.is-active{border-color:var(--an-green);background:var(--an-green-soft);box-shadow:0 0 0 3px rgba(39,76,64,.08)}
.an-variant:focus-visible{outline:2px solid var(--an-gold);outline-offset:2px}
.an-variant__size{font-size:.95rem;font-weight:500;color:var(--an-ink)}
.an-variant__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;font-size:.92rem;color:var(--an-ink)}
.an-variant__price del{color:var(--an-muted);font-size:.8rem;font-weight:400}
.an-variant__price em{
  font-style:normal;font-size:.68rem;font-weight:500;letter-spacing:.04em;
  color:#1F6B4F;background:#E4F1EA;border-radius:4px;padding:2px 6px;
}
.an-variant__unit{font-size:.76rem;color:var(--an-muted)}
.an-variant.is-out,.an-variant:disabled{opacity:.5;cursor:not-allowed}
.an-variant__out{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--an-sale)}

/* Add to cart row ---------------------------------------------------------- */
.woocommerce div.product form.cart .an-buy-now{flex:1;min-width:170px;padding:16px 30px}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:170px}
@media (max-width:520px){
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .an-buy-now{flex:1 1 100%}
}

/* Benefits list ------------------------------------------------------------ */
.an-benefits{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.an-benefits li{position:relative;padding-left:28px;color:var(--an-body)}
.an-benefits li::before{
  content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;
  background:var(--an-green-soft);
  box-shadow:inset 0 0 0 1px rgba(39,76,64,.2);
}
.an-benefits li::after{
  content:"";position:absolute;left:5px;top:calc(.45em + 5px);width:6px;height:3px;
  border-left:1.6px solid var(--an-green);border-bottom:1.6px solid var(--an-green);
  transform:rotate(-45deg);
}

/* Accordion panels --------------------------------------------------------- */
/* The selector has to out-specify WooCommerce's own `.woocommerce div.product
   .woocommerce-tabs ul.tabs{display:block}`, or the tab row shows above the accordion the
   script builds from it. With eight named sections that row wrapped onto two lines. */
.woocommerce div.product .woocommerce-tabs.an-panels ul.tabs,
.an-panels ul.tabs{display:none}
.an-panels .an-panel{
  border-bottom:1px solid var(--an-line);display:block!important;max-width:none;
}
.an-panels .an-panel:first-of-type{border-top:1px solid var(--an-line)}
.an-panel__toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 2px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--an-font-display);font-size:1.05rem;font-weight:600;color:var(--an-ink);
}
.an-panel__toggle svg{flex:0 0 auto;color:var(--an-green);transition:transform var(--an-transition)}
.an-panel.is-open .an-panel__toggle svg{transform:rotate(180deg)}
.an-panel__body{display:none;padding:0 2px 24px}
.an-panel.is-open .an-panel__body{display:block}
.an-panel__body>*:first-child{margin-top:0}
.an-panel__body>*:last-child{margin-bottom:0}

/* Sticky add-to-cart bar --------------------------------------------------- */
.an-stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:rgba(255,255,255,.98);backdrop-filter:saturate(1.4) blur(10px);
  border-top:1px solid var(--an-line);box-shadow:0 -6px 24px rgba(28,28,28,.08);
  padding:10px var(--an-gutter);
}
.an-stickybar[hidden]{display:none}
.an-stickybar__inner{
  max-width:var(--an-container);margin-inline:auto;
  display:flex;align-items:center;gap:14px;
}
.an-stickybar__media{flex:0 0 auto;width:46px;height:46px;border-radius:10px;overflow:hidden;background:var(--an-cream)}
.an-stickybar__media img{width:100%;height:100%;object-fit:cover}
.an-stickybar__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.an-stickybar__title{
  font-size:.88rem;font-weight:500;color:var(--an-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.an-stickybar__price{font-size:.85rem;color:var(--an-body)}
.an-stickybar__price del{color:var(--an-muted);font-size:.78rem;margin-right:5px}
.an-stickybar__price ins{text-decoration:none}
.an-stickybar [data-an-stickybar-add]{flex:0 0 auto}
/* The bar only appears once the main add-to-cart has scrolled out of view, and the page runs
   several thousand pixels past it, so it earns its place on a desktop too. */
.an-stickybar__inner{justify-content:flex-start}
@media (min-width:901px){
  .an-stickybar{padding:12px var(--an-gutter)}
  .an-stickybar__info{flex:0 1 auto;margin-right:auto}
  .an-stickybar [data-an-stickybar-add]{padding:13px 34px}
}

/* Card discount pill ------------------------------------------------------- */
.an-badge--sale{background:var(--an-sale)}

/* ==========================================================================
   Product grid card
   ========================================================================== */
ul.products li.product{
  position:relative;background:#fff;border:1px solid #EFEAE0;border-radius:20px;
  overflow:hidden;display:flex;flex-direction:column;text-align:left;margin:0;
  transition:box-shadow var(--an-transition),transform var(--an-transition),border-color var(--an-transition);
}
ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(28,28,28,.13);
  border-color:transparent;
}

/* Tinted panel behind the product shot -------------------------------------- */
.an-card__media{
  position:relative;display:block;aspect-ratio:1/1.08;overflow:hidden;
  background:var(--an-card-tint,#F5F2EC);
}
.an-card__media>a{display:block;width:100%;height:100%}
.an-card__media img{
  width:100%;height:100%;object-fit:contain;padding:8px 8px 40px;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
}
ul.products li.product:hover .an-card__media img{transform:scale(1.05)}
.an-card__media.has-hover .an-card__hover{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
ul.products li.product:hover .an-card__media.has-hover .an-card__hover{opacity:1}

/* Corner flags -------------------------------------------------------------- */
.an-flag{
  position:absolute;top:0;z-index:3;display:inline-flex;align-items:center;gap:5px;
  font-size:.68rem;font-weight:600;line-height:1.1;letter-spacing:.01em;
}
.an-flag--off{
  left:0;flex-direction:column;gap:1px;align-items:flex-start;padding:8px 11px 9px;
  background:var(--an-green-deep);color:#fff;border-radius:0 0 18px 0;
}
.an-flag--off strong{font-size:.92rem;font-weight:700;line-height:1}
.an-flag--label{right:0;padding:8px 11px;border-radius:0 0 0 16px}
.an-flag--gold{background:var(--an-gold);color:var(--an-green-deep)}
.an-flag--green{background:var(--an-green);color:#fff}
.an-flag--muted{background:#E6E2D8;color:#6E6A63}

/* Overlay row on the image -------------------------------------------------- */
.an-card__overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:flex;align-items:flex-end;justify-content:space-between;gap:8px;
  padding:10px;pointer-events:none;
}
.an-card__overlay>*{pointer-events:auto}
.an-chip{
  display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--an-radius-pill);
  font-size:.76rem;font-weight:600;background:#E4F0FA;color:#1C5E8C;
  box-shadow:0 2px 8px rgba(28,28,28,.1);
}
.an-chip--stock{background:#FDEBE7;color:#A33B2A}

.an-add{
  display:inline-flex;align-items:center;gap:7px;
  padding:11px 18px;border-radius:12px;border:0;cursor:pointer;
  background:var(--an-green);color:#fff;
  font-family:var(--an-font-body);font-size:.8rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  box-shadow:0 6px 18px rgba(27,56,46,.28);
  transition:background var(--an-transition),transform var(--an-transition),box-shadow var(--an-transition);
}
.an-add svg{width:18px;height:18px}
.an-add:hover:not(:disabled){background:var(--an-green-deep);transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,56,46,.34)}
.an-add:focus-visible{outline:2px solid var(--an-gold);outline-offset:3px}
.an-add.is-loading{opacity:.75;cursor:wait}
.an-add.is-added{background:var(--an-gold);color:var(--an-green-deep)}
.an-add--disabled{background:#E6E2D8;color:#8A857C;box-shadow:none;cursor:not-allowed;font-weight:600}

/* Card body ----------------------------------------------------------------- */
.an-card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--an-font-display);font-size:1.02rem;font-weight:600;color:var(--an-ink);
  margin:0;padding:0;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(1.02rem * 1.3 * 2);
}
ul.products li.product .woocommerce-loop-product__title a{color:inherit}
ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--an-green)}

.an-card__rating{display:flex;align-items:center;gap:5px;font-size:.82rem;color:var(--an-muted);line-height:1.2}
.an-card__star{flex:0 0 auto;color:#F5A623}
.an-card__rating-score{color:var(--an-ink);font-weight:700}
.an-card__rating-count{color:var(--an-muted);font-size:.78rem}
.an-card__rating--empty{font-size:.78rem;color:var(--an-muted);opacity:.85}

ul.products li.product .price{
  color:var(--an-ink);font-size:1.2rem;font-weight:700;font-family:var(--an-font-body);
  margin:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;line-height:1.2;
}
ul.products li.product .price del{color:#9A948A;font-weight:500;font-size:.92rem;text-decoration-thickness:1.5px}
ul.products li.product .price ins{text-decoration:none;color:var(--an-ink)}

.an-card__offer{
  display:flex;align-items:center;gap:6px;margin-top:auto;
  padding:8px 10px;border-radius:9px;background:#E8F3EC;color:#1B6647;
  font-size:.73rem;font-weight:600;
}
.an-card__offer svg{flex:0 0 auto}

@media (max-width:640px){
  ul.products{gap:10px}
  .an-card__media img{padding:8px 8px 40px}
  .an-add{padding:11px 16px;font-size:.76rem;gap:6px}
  .an-add svg{width:15px;height:15px}
  .an-flag--off strong{font-size:.95rem}
  ul.products li.product .woocommerce-loop-product__title{font-size:1rem;min-height:calc(1rem * 1.3 * 2)}
  ul.products li.product .price{font-size:1.15rem}
}

/* ==========================================================================
   Size picker
   ========================================================================== */
.an-picker{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.an-picker[hidden]{display:none}
.an-picker__scrim{position:absolute;inset:0;background:rgba(27,56,46,.5);backdrop-filter:blur(2px)}
.an-picker__panel{
  position:relative;width:min(520px,100%);max-height:min(76vh,640px);
  background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(28,28,28,.28);
  display:flex;flex-direction:column;overflow:hidden;
}
.an-picker__head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 22px;border-bottom:1px solid var(--an-line);
}
.an-picker__title{
  font-family:var(--an-font-display);font-size:1.12rem;font-weight:600;color:var(--an-ink);margin:0;
}
.an-picker__close{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;
  background:var(--an-cream-2);color:var(--an-body);
  display:flex;align-items:center;justify-content:center;transition:background var(--an-transition);
}
.an-picker__close:hover{background:var(--an-line)}
.an-picker__list{list-style:none;margin:0;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.an-picker__row{
  display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;
  background:var(--an-cream);transition:background var(--an-transition);
}
.an-picker__row:hover{background:var(--an-cream-2)}
.an-picker__row.is-out{opacity:.55}
.an-picker__media{
  flex:0 0 auto;width:56px;height:56px;border-radius:10px;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.an-picker__media img{width:100%;height:100%;object-fit:contain;padding:4px}
.an-picker__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.an-picker__size{font-size:.95rem;font-weight:600;color:var(--an-ink)}
.an-picker__price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.95rem;color:var(--an-ink)}
.an-picker__price strong{font-weight:600}
.an-picker__price del{color:var(--an-muted);font-size:.82rem;font-weight:400}
.an-picker__price em{
  font-style:normal;font-size:.7rem;font-weight:500;color:#1F6B4F;
  background:#E9F3EC;border-radius:5px;padding:2px 7px;
}
.an-picker__best{font-size:.74rem;color:#1F6B4F;font-weight:500}
.an-picker__add{
  flex:0 0 auto;padding:10px 22px;border-radius:var(--an-radius-pill);border:0;cursor:pointer;
  background:var(--an-green);color:#fff;
  font-family:var(--an-font-body);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  transition:background var(--an-transition);
}
.an-picker__add:hover:not(:disabled){background:var(--an-green-deep)}
.an-picker__add.is-loading{opacity:.7;cursor:wait}
.an-picker__add.is-added{background:var(--an-gold);color:var(--an-green-deep)}
.an-picker__out{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--an-sale)}
@media (max-width:520px){
  .an-picker{padding:0;align-items:flex-end}
  .an-picker__panel{width:100%;max-height:82vh;border-radius:20px 20px 0 0}
}

/* Category filter pills ---------------------------------------------------- */
.an-catfilter{display:flex;flex-wrap:wrap;gap:8px;width:100%;order:-1;margin-bottom:6px}
.an-catfilter__pill{
  display:inline-flex;align-items:center;gap:7px;padding:9px 18px;
  border-radius:var(--an-radius-pill);border:1px solid var(--an-line);
  background:#fff;font-size:.84rem;color:var(--an-body);
  transition:background var(--an-transition),border-color var(--an-transition),color var(--an-transition);
}
.an-catfilter__pill:hover{border-color:var(--an-green-mid);color:var(--an-green)}
.an-catfilter__pill.is-active{background:var(--an-green);border-color:var(--an-green);color:#fff}
.an-catfilter__count{font-size:.7rem;padding:1px 7px;border-radius:999px;background:var(--an-cream-2);color:var(--an-muted)}
.an-catfilter__pill.is-active .an-catfilter__count{background:rgba(255,255,255,.2);color:#fff}
.an-shop-toolbar{flex-wrap:wrap}

/* ==========================================================================
   Floating cart bar
   ========================================================================== */
.an-cartbar-wrap{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;justify-content:center;padding:0 var(--an-gutter) 18px;pointer-events:none}
.an-cartbar{
  pointer-events:auto;display:flex;align-items:center;gap:16px;
  background:var(--an-green-deep);color:#fff;
  border-radius:var(--an-radius-pill);padding:9px 10px 9px 14px;
  box-shadow:0 12px 34px rgba(27,56,46,.34);
  animation:an-cartbar-in .28s cubic-bezier(.4,0,.2,1);
  max-width:min(520px,100%);
}
.an-cartbar[hidden]{display:none}
@keyframes an-cartbar-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.an-cartbar__thumbs{display:flex;flex:0 0 auto}
.an-cartbar__thumb{
  width:36px;height:36px;border-radius:50%;overflow:hidden;background:#fff;
  border:2px solid var(--an-green-deep);display:block;
}
.an-cartbar__thumb+.an-cartbar__thumb{margin-left:-12px}
.an-cartbar__thumb img{width:100%;height:100%;object-fit:contain;padding:2px}

.an-cartbar__meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.an-cartbar__count{font-size:.76rem;color:#B9C8C2}
.an-cartbar__total{font-size:1rem;font-weight:600;color:#fff}
.an-cartbar__total .amount{color:#fff}

.an-cartbar__go{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;border-radius:var(--an-radius-pill);
  background:var(--an-gold);color:var(--an-green-deep);
  transition:background var(--an-transition),transform var(--an-transition);
}
.an-cartbar__go:hover{background:var(--an-gold-light);color:var(--an-green-deep);transform:translateX(2px)}
.an-cartbar__go:focus-visible{outline:2px solid #fff;outline-offset:2px}

@media (max-width:520px){
  .an-cartbar{width:100%;gap:12px}
  .an-cartbar__thumb{width:32px;height:32px}
}

/* Leave room so the bar never sits on top of the footer's last line. */
body:has(.an-cartbar:not([hidden])) .an-footer__bottom{padding-bottom:74px}

/* Quantity stepper inside the size picker ---------------------------------- */
.an-picker__row.is-incart{background:#EAF3ED;box-shadow:inset 0 0 0 1.5px rgba(39,76,64,.22)}
.an-picker__row.is-busy{opacity:.6;pointer-events:none}
.an-picker__qty{
  flex:0 0 auto;display:inline-flex;align-items:center;
  background:var(--an-green);border-radius:var(--an-radius-pill);overflow:hidden;
}
.an-picker__qty button{
  width:38px;height:40px;border:0;background:transparent;color:#fff;cursor:pointer;
  font-size:1.05rem;line-height:1;transition:background var(--an-transition);
}
.an-picker__qty button:hover{background:rgba(255,255,255,.14)}
.an-picker__qty button:focus-visible{outline:2px solid var(--an-gold);outline-offset:-3px}
.an-picker__qtyval{
  min-width:30px;text-align:center;color:#fff;font-size:.92rem;font-weight:600;
}

/* "From" label on multi-size card prices */
.an-card__from{
  font-size:.74rem;font-weight:500;color:var(--an-muted);
  letter-spacing:.04em;text-transform:uppercase;align-self:center;
}
ul.products li.product .price ins{font-weight:700}

/* Trailing "view all" tile, used when a home row has fewer products than columns */
li.product.an-morecard{
  background:var(--an-cream);border:1px dashed #DCD5C6;
  display:flex;align-items:center;justify-content:center;
}
li.product.an-morecard:hover{transform:translateY(-4px);border-color:var(--an-green-mid);box-shadow:0 18px 40px rgba(28,28,28,.10)}
.an-morecard__link{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  width:100%;height:100%;padding:24px;text-align:center;color:var(--an-green);
}
.an-morecard__icon{
  width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid var(--an-line);
  display:flex;align-items:center;justify-content:center;color:var(--an-green);
  transition:background var(--an-transition),color var(--an-transition),transform var(--an-transition);
}
.an-morecard__link:hover .an-morecard__icon{background:var(--an-green);color:#fff;transform:translateX(3px)}
.an-morecard__label{
  font-size:.86rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--an-green);
}
@media (max-width:820px){li.product.an-morecard{display:none}}

/* Artwork-only hero — banner images that already carry their own copy ------- */
.an-hero--artwork{background:none;min-height:0}
.an-hero--artwork::after{display:none}
.an-hero__artwork{display:block;width:100%;line-height:0}
.an-hero__artwork img{width:100%;height:auto;object-fit:contain;display:block}
a.an-hero__artwork{transition:opacity var(--an-transition)}
a.an-hero__artwork:hover{opacity:.94}
/* On a phone a 3:1 banner becomes a sliver, so give it a floor and crop to the centre. */
@media (max-width:640px){
  .an-hero__artwork img{min-height:190px;object-fit:cover;object-position:center right}
}

/* Social channel with no URL configured yet — visible but clearly inert */
.an-footer__social-todo{
  width:38px;height:38px;border-radius:50%;
  border:1px dashed rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  color:#DCE5E1;opacity:.4;cursor:help;
}
.an-footer__social a svg,.an-footer__social-todo svg{flex:0 0 auto}

/* ==========================================================================
   Shop archive
   ========================================================================== */
.an-pagehead--slim{padding-block:clamp(26px,3vw,40px)}
.an-pagehead--slim h1{margin-bottom:.2em}
.an-pagehead--slim .woocommerce-breadcrumb{margin-bottom:.6rem}

.an-shop{display:grid;grid-template-columns:238px 1fr;gap:34px;align-items:start;margin-top:22px}
@media (max-width:1024px){.an-shop{grid-template-columns:1fr;gap:0;margin-top:16px}}

/* Filter sidebar ----------------------------------------------------------- */
.an-filters{position:sticky;top:96px}
.an-filters__head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.an-filters__head h2{
  font-family:var(--an-font-body);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--an-muted);font-weight:600;margin:0;flex:1;
}
.an-filters__clear{font-size:.76rem;color:var(--an-green);text-decoration:underline;text-underline-offset:3px}
.an-filters__close{display:none}

.an-filters__group{padding:16px 0;border-top:1px solid var(--an-line)}
.an-filters__group:first-of-type{border-top:0;padding-top:0}
.an-filters__group h3{
  font-family:var(--an-font-body);font-size:.82rem;font-weight:600;color:var(--an-ink);
  margin:0 0 10px;letter-spacing:.01em;
}
.an-filters__group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.an-filters__group a{
  display:flex;align-items:center;gap:9px;padding:6px 0;
  font-size:.88rem;color:var(--an-body);line-height:1.35;
}
.an-filters__group a:hover{color:var(--an-green)}
.an-filters__name{flex:1;min-width:0}
/* Only the category count is pushed right. Targeting :last-child also caught the checkbox in
   rows that have no count, which shunted the whole row to the right edge. */
.an-filters__count{flex:0 0 auto;margin-left:auto;font-size:.74rem;color:var(--an-muted)}
.an-filters__group li.is-active > a{color:var(--an-green);font-weight:600}
.an-filters__group li.is-active .an-filters__count{color:var(--an-green)}

.an-filters__box{
  flex:0 0 auto;width:16px;height:16px;border-radius:4px;border:1.5px solid var(--an-line);
  background:#fff;position:relative;transition:background var(--an-transition),border-color var(--an-transition);
}
.an-filters__group a:hover .an-filters__box{border-color:var(--an-green-mid)}
.an-filters__group li.is-active .an-filters__box{background:var(--an-green);border-color:var(--an-green)}
.an-filters__group li.is-active .an-filters__box::after{
  content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg);
}

.an-filters__note{
  margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--an-cream);
  display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--an-body);
}
.an-filters__note svg{flex:0 0 auto;color:var(--an-green)}

/* Toolbar ------------------------------------------------------------------ */
.an-filters__toggle{
  display:none;align-items:center;gap:8px;padding:10px 16px;
  border:1px solid var(--an-line);border-radius:var(--an-radius-pill);background:#fff;cursor:pointer;
  font-family:var(--an-font-body);font-size:.82rem;font-weight:600;color:var(--an-ink);
}
.an-shop-toolbar{margin-bottom:14px;padding-bottom:14px}

/* Active filter chips ------------------------------------------------------ */
.an-shop-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.an-shop-chip{
  display:inline-flex;align-items:center;gap:7px;padding:6px 12px;
  border-radius:var(--an-radius-pill);background:var(--an-green-soft);color:var(--an-green);
  font-size:.78rem;font-weight:500;
}
.an-shop-chip:hover{background:var(--an-green);color:#fff}
.an-shop-chip--clear{background:transparent;border:1px dashed var(--an-line);color:var(--an-muted)}
.an-shop-chip--clear:hover{background:transparent;border-color:var(--an-green);color:var(--an-green)}

/* Filters as a drawer on small screens ------------------------------------- */
@media (max-width:1024px){
  .an-filters__toggle{display:inline-flex}
  .an-filters{
    position:fixed;inset:0 auto 0 0;z-index:210;width:min(84vw,320px);
    background:#fff;padding:20px;overflow-y:auto;
    transform:translateX(-100%);transition:transform var(--an-transition);
    box-shadow:0 0 40px rgba(28,28,28,.18);
  }
  .an-filters.is-open{transform:none}
  .an-filters__close{
    display:flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:50%;border:0;background:var(--an-cream-2);
    color:var(--an-body);cursor:pointer;
  }
  .an-filters__scrim{position:fixed;inset:0;z-index:200;background:rgba(27,56,46,.42)}
  .an-filters__scrim[hidden]{display:none}
}

/* ==========================================================================
   Grid corrections for WooCommerce's float-era CSS
   ========================================================================== */
/* WooCommerce clears floats with ::before/::after on the product list. In a grid container
   those pseudo-elements become grid items and occupy the first cell, pushing every row one
   column to the right. The rule is `.woocommerce`-scoped, so it only bit on shop templates. */
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{content:none;display:none}

/* Same trap on the other flex/grid containers Woo styles. */
.woocommerce .an-shop::before,.woocommerce .an-shop::after,
.woocommerce .an-shop-toolbar::before,.woocommerce .an-shop-toolbar::after,
.woocommerce .an-card__body::before,.woocommerce .an-card__body::after{content:none;display:none}

/* `1fr` resolves to minmax(auto,1fr); long product titles can then force the column wider than
   its share and blow the layout out. minmax(0,1fr) keeps the tracks honest. */
.an-shop{grid-template-columns:238px minmax(0,1fr)}
ul.products,
ul.products.columns-5,.columns-5 ul.products{grid-template-columns:repeat(5,minmax(0,1fr))}
ul.products.columns-4,.columns-4 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
ul.products.columns-3,.columns-3 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
ul.products.columns-2,.columns-2 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1240px){ul.products,ul.products.columns-5,.columns-5 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1024px){
  .an-shop{grid-template-columns:minmax(0,1fr)}
  ul.products,ul.products.columns-5,ul.products.columns-4,.columns-5 ul.products,.columns-4 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){ul.products,ul.products.columns-5,ul.products.columns-4,ul.products.columns-3,.columns-5 ul.products,.columns-4 ul.products,.columns-3 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Category row on product archives ----------------------------------------- */
.an-cats{margin:0 0 6px;border-bottom:1px solid var(--an-line)}
.an-cats__row{
  display:flex;gap:10px;list-style:none;margin:0;padding:4px 0 16px;
  overflow-x:auto;scrollbar-width:none;
}
.an-cats__row::-webkit-scrollbar{display:none}
.an-cats__item{flex:0 0 auto}
.an-cats__item a{
  display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;
  border:1px solid var(--an-line);border-radius:var(--an-radius-pill);background:#fff;
  color:var(--an-ink);white-space:nowrap;
  transition:border-color var(--an-transition),background var(--an-transition),color var(--an-transition);
}
.an-cats__item a:hover{border-color:var(--an-green-mid);color:var(--an-green)}
.an-cats__item.is-active a{border-color:var(--an-green);background:var(--an-green-soft);color:var(--an-green)}
.an-cats__disc{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--an-cream-2);color:var(--an-green);
}
.an-cats__disc img,.an-cats__disc svg{width:100%;height:100%;object-fit:cover;display:block}
.an-cats__disc svg{width:20px;height:20px;object-fit:contain}
/* Oil artwork carries its own disc — fill the circle rather than sitting inside it. */
.an-cats__disc .an-oil-art{width:100%;height:100%;object-fit:cover}
.an-cats__label{font-size:.86rem;font-weight:500}
@media (max-width:640px){
  .an-cats__item a{padding:6px 13px 6px 6px;gap:8px}
  .an-cats__disc{width:32px;height:32px}
  .an-cats__label{font-size:.8rem}
}

/* Shop banner runs full width above the layout */
.an-shopbanner{border-radius:0;margin-bottom:0;min-height:0}
.an-shopbanner .an-hero__artwork img,
.an-shopbanner__media img{width:100%;height:auto}

/* --------------------------------------------------------------------------
   Card title and price, restated at WooCommerce's specificity

   woocommerce.css scopes its loop rules under `.woocommerce`, which outranks the theme's
   plain `ul.products li.product ...` selectors on shop templates. It was forcing the title to
   `display:flow-root` (killing the line clamp, so long names spilled a clipped third line) and
   the price to `display:block` (killing the flex gap, so MRP and sale price ran together).
   -------------------------------------------------------------------------- */
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--an-font-display);font-size:1.02rem;font-weight:600;color:var(--an-ink);
  margin:0;padding:0;line-height:1.3;min-height:2.6em;overflow:hidden;
}
/* The clamp lives on the inner link, not the heading. The heading is a flex item, and flex
   items blockify their display — which destroys `-webkit-box` and with it the line clamp, so
   a long name spilled an extra clipped line over the rating. */
ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title a{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;color:inherit;
}

ul.products li.product .price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;
  color:var(--an-ink);font-size:1.2rem;font-weight:700;font-family:var(--an-font-body);
  margin:0;line-height:1.2;
}
ul.products li.product .price del,
.woocommerce ul.products li.product .price del{
  color:#9A948A;font-weight:500;font-size:.92rem;opacity:1;text-decoration-thickness:1.5px;
}
ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins{
  text-decoration:none;color:var(--an-ink);font-weight:700;background:transparent;
}
.an-card__from{
  font-size:.74rem;font-weight:500;color:var(--an-muted);
  letter-spacing:.04em;text-transform:uppercase;align-self:center;
}

/* --- Shop: AJAX filter state ---------------------------------------------- */
.an-shop__main{position:relative;min-height:260px}
.an-shop.is-loading .an-filters,
.an-shop.is-loading .an-shop__main{pointer-events:none}
.an-shop.is-loading .an-shop__main>*{opacity:.32;transition:opacity .16s ease}
.an-shop.is-loading .an-filters{opacity:.62;transition:opacity .16s ease}
/* Sits outside the faded children, so it stays fully opaque. */
.an-shop.is-loading .an-shop__main::after{content:"";position:absolute;left:50%;top:96px;z-index:2;width:30px;height:30px;margin-left:-15px;border:2px solid rgba(39,76,64,.16);border-top-color:var(--an-green);border-radius:50%;animation:an-spin .7s linear infinite}
@keyframes an-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .an-shop.is-loading .an-shop__main::after{animation-duration:2.4s}
  .an-shop.is-loading .an-shop__main>*,
  .an-shop.is-loading .an-filters{transition:none}
}

/* --- Shop mega menu -------------------------------------------------------- */
.an-nav li.an-has-mega{position:static}
.an-nav .an-has-mega>a{display:inline-flex;align-items:center;gap:5px}
.an-nav .an-mega__chev{flex:0 0 auto;transition:transform var(--an-transition);opacity:.7}
.an-nav .an-has-mega:hover>a .an-mega__chev,.an-nav .an-has-mega:focus-within>a .an-mega__chev{transform:rotate(180deg);opacity:1}
.an-nav .an-mega{
  position:absolute;left:0;right:0;top:100%;z-index:99;
  background:#fff;border-top:1px solid var(--an-line);
  box-shadow:0 22px 44px -26px rgba(22,44,36,.34);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.an-nav .an-has-mega:hover>.an-mega,.an-nav .an-has-mega:focus-within>.an-mega{opacity:1;visibility:visible;transform:none;transition-delay:.09s}
.an-nav .an-mega__inner{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,1fr);
  gap:38px;padding-block:30px 26px;align-items:start;
}
.an-nav .an-mega__label{
  margin:0 0 14px;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--an-green);opacity:.55;
}
.an-nav .an-mega__col--links .an-mega__label+.an-mega__links{margin-bottom:22px}
.an-nav .an-mega__col--links .an-mega__links+.an-mega__label{margin-top:0}/* Oils */
.an-nav .an-mega__oils{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;list-style:none;margin:0;padding:0}
.an-nav .an-mega__oils a{
  display:flex;align-items:center;gap:11px;padding:7px 9px;border-radius:12px;
  text-transform:none;letter-spacing:0;font-size:.92rem;
  transition:background var(--an-transition);
}
.an-nav .an-mega__oils a::after{display:none}
.an-nav .an-mega__oils a:hover{background:var(--an-cream)}
.an-nav .an-mega__disc{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--an-cream-2);
  display:grid;place-items:center;overflow:hidden;
}
.an-nav .an-mega__disc .an-oil-art{width:100%;height:100%;object-fit:cover;display:block}
.an-nav .an-mega__text{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.an-nav .an-mega__name{font-weight:500;color:var(--an-green-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-nav .an-mega__price{font-size:.76rem;color:#7C8A84;margin-top:1px}
.an-nav .an-mega__price .amount{color:inherit;font-weight:500}/* Collections + sizes */
.an-nav .an-mega__links{display:block;gap:0;list-style:none;margin:0;padding:0}
.an-nav .an-mega__links a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:7px 10px;border-radius:10px;text-transform:none;letter-spacing:0;font-size:.92rem;
  transition:background var(--an-transition);
}
.an-nav .an-mega__links a::after{display:none}
.an-nav .an-mega__links a:hover{background:var(--an-cream)}
.an-nav .an-mega__links em{font-style:normal;font-size:.72rem;color:#9AA7A2}/* Featured card */
.an-nav .an-mega__feature{
  display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;
  background:var(--an-cream);border:1px solid var(--an-line);
  text-transform:none;letter-spacing:0;
  transition:background var(--an-transition),border-color var(--an-transition),transform var(--an-transition);
}
.an-nav .an-mega__feature::after{display:none}
.an-nav .an-mega__feature:hover{background:var(--an-cream-2);border-color:#DCD6C9;transform:translateY(-2px)}
.an-nav .an-mega__feature-art{flex:0 0 auto;width:92px;height:104px;border-radius:12px;overflow:hidden;background:#fff;display:grid;place-items:center}
.an-nav .an-mega__feature-art img{width:100%;height:100%;object-fit:contain;padding:6px}
.an-nav .an-mega__feature-body{display:flex;flex-direction:column;min-width:0;gap:3px}
.an-nav .an-mega__feature-kicker{font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#9A7B2F}
.an-nav .an-mega__feature-title{font-family:var(--an-font-display);font-size:1.06rem;line-height:1.2;color:var(--an-green-deep)}
.an-nav .an-mega__feature-note{font-size:.78rem;color:#7C8A84}
.an-nav .an-mega__feature-cta{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:.82rem;font-weight:500;color:var(--an-green)}
.an-nav .an-mega__feature:hover .an-mega__feature-cta svg{transform:translateX(3px)}
.an-nav .an-mega__feature-cta svg{transition:transform var(--an-transition)}/* Strip along the bottom */
.an-nav .an-mega__foot{background:var(--an-cream);border-top:1px solid var(--an-line)}
.an-nav .an-mega__foot-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:11px;font-size:.8rem;color:#6F7D77}
.an-nav .an-mega__foot a{display:inline-flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:500;color:var(--an-green)}
.an-nav .an-mega__foot a::after{display:none}
.an-nav .an-mega__foot a:hover svg{transform:translateX(3px)}
.an-nav .an-mega__foot svg{transition:transform var(--an-transition)}

@media (max-width:1180px){
  .an-nav .an-mega__inner{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:30px}
  .an-nav .an-mega__feature{display:none}
}
@media (prefers-reduced-motion:reduce){
  .an-nav .an-mega,.an-nav .an-mega__chev,.an-nav .an-mega__feature,
  .an-nav .an-mega__feature-cta svg,.an-nav .an-mega__foot svg{transition:none}
.an-nav .an-mega__feature:hover{transform:none}
}

/* --- Drawer: the same range, as a native accordion ------------------------- */
.an-subnav{margin:2px 0 6px}
.an-subnav>summary{
  display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;
  list-style:none;padding:9px 12px;border-radius:10px;background:var(--an-cream);
  font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--an-green);
}
.an-subnav>summary::-webkit-details-marker{display:none}
.an-subnav>summary svg{transition:transform var(--an-transition)}
.an-subnav[open]>summary svg{transform:rotate(180deg)}
.an-subnav__oils,.an-subnav__links{list-style:none;margin:8px 0 0;padding:0}
.an-subnav__oils a{display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:.9rem;text-transform:none;letter-spacing:0}
.an-subnav__disc{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--an-cream-2);display:grid;place-items:center;overflow:hidden}
.an-subnav__disc .an-oil-art{width:100%;height:100%;object-fit:cover;display:block}
.an-subnav__links{border-top:1px solid var(--an-line);margin-top:8px;padding-top:8px}
.an-subnav__links a{display:block;padding:7px 12px;font-size:.88rem;text-transform:none;letter-spacing:0;color:#6F7D77}
.an-nav .an-has-mega.is-dismissed>.an-mega{opacity:0;visibility:hidden;transform:translateY(-8px);transition-delay:0s}

/* ==========================================================================
   Smart cart — drawer, cart page, checkout (Shiprocket pattern, Arva palette)
   ========================================================================== */
:root{--an-save:#1E7B4C;--an-save-bg:#E8F4EC;--an-field:#D9D3C6}
html.an-sc-lock{overflow:hidden}

/* --- Drawer shell --------------------------------------------------------- */
.an-sc[hidden]{display:none}
.an-sc{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;transition:visibility 0s linear .34s}
.an-sc.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}
.an-sc__scrim{position:absolute;inset:0;background:rgba(15,28,23,.45);opacity:0;transition:opacity .28s ease}
.an-sc.is-open .an-sc__scrim{opacity:1}
.an-sc__panel{
  position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);
  background:var(--an-cream);display:flex;flex-direction:column;outline:none;
  transform:translateX(100%);transition:transform .34s cubic-bezier(.32,.72,0,1);
  box-shadow:-24px 0 60px -24px rgba(0,0,0,.28);
}
.an-sc.is-open .an-sc__panel{transform:none}
.an-sc__inner{display:flex;flex-direction:column;height:100%;min-height:0}
.an-sc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 16px 20px;background:#fff;border-bottom:1px solid var(--an-line)}
.an-sc__head h2{margin:0;font-family:var(--an-font-display);font-size:1.28rem;font-weight:500;color:var(--an-ink);display:flex;align-items:baseline;gap:9px}
.an-sc__head h2 span{font-family:var(--an-font-body);font-size:.78rem;font-weight:400;color:var(--an-muted)}
.an-sc__close{width:38px;height:38px;border-radius:50%;border:0;background:var(--an-cream-2);color:var(--an-ink);display:grid;place-items:center;cursor:pointer;transition:background var(--an-transition)}
.an-sc__close:hover{background:var(--an-line)}
.an-sc__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 18px;display:flex;flex-direction:column;gap:10px}
.an-sc__foot{background:#fff;border-top:1px solid var(--an-line);padding:14px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px -20px rgba(0,0,0,.22)}
.an-sc__inner.is-busy .an-sc__scroll,.an-sc__inner.is-busy .an-sc__foot,
.an-cartpage.is-busy,.an-co-review.is-busy{opacity:.55;pointer-events:none;transition:opacity .15s}

.an-sc-label{display:flex;align-items:center;gap:7px;margin:0 0 11px;font-family:var(--an-font-body);font-size:.72rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--an-green)}

/* --- Milestone bar -------------------------------------------------------- */
.an-sc-progress{background:#fff;border-radius:14px;padding:14px 16px 20px}
.an-sc-progress.is-done{background:var(--an-save-bg)}
.an-sc-progress__text{margin:0 0 14px;font-size:.86rem;color:var(--an-body)}
.an-sc-progress__text strong{color:var(--an-green);font-weight:600}
.an-sc-progress.is-done .an-sc-progress__text,.an-sc-progress.is-done .an-sc-progress__text strong{color:var(--an-save)}
.an-sc-progress__track{position:relative;height:6px;margin-right:13px;border-radius:99px;background:var(--an-green-soft)}
.an-sc-progress.is-done .an-sc-progress__track{background:#CDE6D6}
.an-sc-progress__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--an-green-mid),var(--an-green));transition:width .5s cubic-bezier(.4,0,.2,1)}
.an-sc-progress.is-done .an-sc-progress__fill{background:var(--an-save)}
.an-sc-progress__stop{position:absolute;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:2px solid var(--an-green-soft);color:var(--an-muted);display:grid;place-items:center}
.an-sc-progress__stop.is-reached{background:var(--an-save);border-color:var(--an-save);color:#fff}

/* --- Line items ----------------------------------------------------------- */
.an-sc-items{list-style:none;margin:0;padding:2px 14px;background:#fff;border-radius:14px}
.an-sc-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--an-line)}
.an-sc-item:last-child{border-bottom:0}
.an-sc-item__media{display:block;width:72px;height:72px;border-radius:10px;background:#fff;border:1px solid var(--an-line);overflow:hidden}
.an-sc-item__media img{width:100%;height:100%;object-fit:contain;padding:4px;display:block}
.an-sc-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.an-sc-item__name{display:block;font-size:.92rem;font-weight:500;line-height:1.3;color:var(--an-ink)}
a.an-sc-item__name:hover{color:var(--an-green)}
.an-sc-item__variant{display:inline-block;margin-top:5px;padding:2px 9px;border-radius:99px;background:var(--an-cream-2);font-size:.72rem;color:var(--an-muted)}
.an-sc-item__remove{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;margin:-4px -6px 0 0;border-radius:8px;color:#A3ABA7;transition:color var(--an-transition),background var(--an-transition)}
.an-sc-item__remove:hover{color:var(--an-sale);background:#FBEDEA}
.an-sc-item__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.an-sc-qty{display:inline-flex;align-items:center;height:32px;border:1px solid var(--an-green);border-radius:9px;overflow:hidden;background:#fff}
.an-sc-qty button{width:32px;height:100%;border:0;background:none;color:var(--an-green);display:grid;place-items:center;cursor:pointer;padding:0;transition:background var(--an-transition)}
.an-sc-qty button:hover:not(:disabled){background:var(--an-green-soft)}
.an-sc-qty button:disabled{opacity:.35;cursor:not-allowed}
.an-sc-qty span{min-width:24px;text-align:center;font-size:.88rem;font-weight:600;color:var(--an-green)}
.an-sc-item__price{display:flex;align-items:baseline;gap:7px;text-align:right}
.an-sc-item__price del{font-size:.78rem;color:var(--an-muted)}
.an-sc-item__price del .amount{color:inherit}
.an-sc-item__price strong,.an-sc-item__price strong .amount{font-size:.96rem;font-weight:600;color:var(--an-ink)}

/* --- Offers --------------------------------------------------------------- */
.an-sc-offers{background:#fff;border-radius:14px;padding:14px}
.an-sc-offer{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border:1.5px dashed #D9C79A;border-radius:12px;background:var(--an-gold-pale)}
.an-sc-offer+.an-sc-offer{margin-top:8px}
.an-sc-offer.is-applied{border-style:solid;border-color:#9FCBAF;background:var(--an-save-bg)}
.an-sc-offer.is-invalid{opacity:.55}
.an-sc-offer__body{display:flex;flex-direction:column;min-width:0;gap:1px}
.an-sc-offer__code{font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--an-green-deep)}
.an-sc-offer__title{font-size:.88rem;font-weight:500;color:var(--an-ink)}
.an-sc-offer__title .amount{color:inherit;font-weight:600}
.an-sc-offer.is-applied .an-sc-offer__title,.an-sc-offer.is-applied .an-sc-offer__title .amount{color:var(--an-save)}
.an-sc-offer__text{font-size:.75rem;color:var(--an-muted)}
.an-sc-offer__btn{margin-left:auto;flex:0 0 auto;padding:7px 12px;border:0;border-radius:8px;background:var(--an-green);color:#fff;font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--an-transition)}
.an-sc-offer__btn:hover{background:var(--an-green-deep)}
.an-sc-offer__btn.is-remove{background:transparent;color:var(--an-sale);padding:7px 4px}
.an-sc-offer__btn.is-remove:hover{background:transparent;text-decoration:underline}
.an-sc-code{display:flex;align-items:stretch;margin-top:10px;border:1px solid var(--an-field);border-radius:10px;background:#fff;overflow:hidden;transition:border-color var(--an-transition),box-shadow var(--an-transition)}
.an-sc-code:focus-within{border-color:var(--an-green);box-shadow:0 0 0 3px rgba(39,76,64,.1)}
.an-sc-code input[type=text]{flex:1;min-width:0;height:42px;margin:0;padding:0 12px;border:0!important;border-radius:0;box-shadow:none!important;background:transparent;font:inherit;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;outline:none}
.an-sc-code input::placeholder{text-transform:none;letter-spacing:0;color:#9AA3A0}
.an-sc-code button{flex:0 0 auto;padding:0 16px;border:0;background:none;color:var(--an-green);font:inherit;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.an-sc-code button:hover{background:var(--an-green-soft)}

/* --- Add-ons -------------------------------------------------------------- */
.an-sc-upsells{background:#fff;border-radius:14px;padding:14px 0 14px 14px}
.an-sc-upsells .an-sc-label{padding-right:14px}
.an-sc-upsells__rail{display:flex;gap:10px;list-style:none;margin:0;padding:0 14px 2px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.an-sc-upsells__rail::-webkit-scrollbar{display:none}
.an-sc-up{flex:0 0 136px;scroll-snap-align:start;display:flex;flex-direction:column;padding:8px;border:1px solid var(--an-line);border-radius:12px;background:#fff}
.an-sc-up__media{display:block;aspect-ratio:1;margin-bottom:8px;border-radius:9px;background:#fff;overflow:hidden}
.an-sc-up__media img{width:100%;height:100%;object-fit:contain;padding:6px;display:block}
.an-sc-up__name{font-size:.8rem;font-weight:500;line-height:1.3;color:var(--an-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.an-sc-up__size{margin-top:2px;font-size:.7rem;color:var(--an-muted)}
.an-sc-up__price{display:flex;align-items:baseline;gap:5px;margin:6px 0 9px;font-size:.86rem}
.an-sc-up__price strong,.an-sc-up__price strong .amount{font-weight:600;color:var(--an-ink)}
.an-sc-up__price del,.an-sc-up__price del .amount{font-size:.72rem;color:var(--an-muted)}
.an-sc-up__add{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;border:1px solid var(--an-green);border-radius:8px;background:#fff;color:var(--an-green);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--an-transition),color var(--an-transition)}
.an-sc-up__add:hover{background:var(--an-green);color:#fff}
.an-sc-up__add.is-loading{opacity:.6;pointer-events:none}

/* --- Bill ----------------------------------------------------------------- */
.an-sc-bill{background:#fff;border-radius:14px;padding:14px 16px}
.an-sc-bill dl{margin:0}
.an-sc-bill dl>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.88rem}
.an-sc-bill dt{color:var(--an-body)}
.an-sc-bill dd{margin:0;color:var(--an-ink);text-align:right}
.an-sc-bill .is-save dd,.an-sc-bill .is-save dd .amount{color:var(--an-save)}
.an-sc-bill dd del,.an-sc-bill dd del .amount{margin-right:4px;color:var(--an-muted)!important}
.an-sc-bill .an-sc-bill__total{margin-top:8px;padding-top:12px;border-top:1px dashed var(--an-line);font-size:1rem}
.an-sc-bill__total dt,.an-sc-bill__total dd,.an-sc-bill__total dd .amount{font-weight:600;color:var(--an-ink)}
.an-sc-bill__saved{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:var(--an-save-bg);color:var(--an-save);font-size:.82rem;text-align:center}
.an-sc-bill__saved strong,.an-sc-bill__saved .amount{color:inherit;font-weight:600}

/* --- Checkout button ------------------------------------------------------ */
.an-sc-cta__row{display:flex;align-items:center;gap:14px}
.an-sc-cta__total{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.an-sc-cta__total strong,.an-sc-cta__total strong .amount{font-size:1.18rem;font-weight:600;color:var(--an-ink)}
.an-sc-cta__total>span,.an-sc-cta__total>span .amount{font-size:.74rem;color:var(--an-save)}
.an-sc-cta__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 20px;border-radius:12px;background:var(--an-green);color:#fff!important;font-size:.98rem;font-weight:600;letter-spacing:.02em;transition:background var(--an-transition)}
.an-sc-cta__btn:hover{background:var(--an-green-deep)}
.an-sc-cta__btn svg{transition:transform var(--an-transition)}
.an-sc-cta__btn:hover svg{transform:translateX(3px)}
.an-sc-cta__trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:10px 0 0;font-size:.72rem;color:var(--an-muted);text-align:center}

/* --- Empty ---------------------------------------------------------------- */
.an-sc-empty{padding:34px 22px 26px;border-radius:14px;background:#fff;text-align:center}
.an-sc-empty__icon{display:inline-grid;place-items:center;width:66px;height:66px;margin-bottom:14px;border-radius:50%;background:var(--an-cream-2);color:var(--an-green)}
.an-sc-empty h2,.an-sc-empty h3{margin:0 0 6px;font-family:var(--an-font-display);font-size:1.3rem;font-weight:500}
.an-sc-empty p{margin:0 0 18px;font-size:.88rem;color:var(--an-muted)}

/* --- Toast ---------------------------------------------------------------- */
.an-toast{position:fixed;left:50%;bottom:26px;z-index:300;max-width:calc(100% - 32px);padding:11px 18px;border-radius:10px;background:var(--an-ink);color:#fff;font-size:.86rem;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:opacity .22s,transform .22s}
.an-toast.is-show{opacity:1;transform:translate(-50%,0)}
.an-toast.is-error{background:var(--an-sale)}

/* --- Cart + checkout pages ------------------------------------------------ */
.an-commerce{background:var(--an-cream);padding:clamp(22px,3vw,36px) 0 var(--an-section)}
.an-commerce__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.an-commerce__head h1{margin:0;font-family:var(--an-font-display);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:500}
.an-commerce__head a{font-size:.86rem;color:var(--an-green)}
.an-commerce__head a:hover{text-decoration:underline}
.an-commerce .woocommerce-notices-wrapper:empty{display:none}

.an-cartpage{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}
.an-cartpage__main{display:flex;flex-direction:column;gap:12px}
.an-cartpage .an-sc-progress,.an-cartpage .an-sc-items,.an-cartpage .an-sc-upsells,.an-cartpage .an-sc-empty{border:1px solid var(--an-line)}
.an-cartpage .an-sc-items{padding:4px 20px}
.an-cartpage .an-sc-item{grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 0}
.an-cartpage .an-sc-item__media{width:96px;height:96px}
.an-cartpage .an-sc-item__name{font-size:1rem}
.an-cartpage__side{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px}
.an-cartpage__card{background:#fff;border:1px solid var(--an-line);border-radius:16px;overflow:hidden}
.an-cartpage__card>section{border-radius:0}
.an-cartpage__card>section+section{border-top:1px solid var(--an-line)}
.an-cartpage__card .an-sc-cta{padding:14px 16px 16px;border-top:1px solid var(--an-line)}
.an-cartpage__trust,.an-co-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none;margin:0;padding:0}
.an-cartpage__trust li,.an-co-trust li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:#fff;border:1px solid var(--an-line);font-size:.74rem;color:var(--an-muted);text-align:center;line-height:1.3}
.an-cartpage__trust svg,.an-co-trust svg{color:var(--an-green)}
.an-cartpage.is-empty{display:block;max-width:720px;margin:0 auto}
.an-cartpage.is-empty .an-sc-upsells{margin-top:12px}
@media (max-width:960px){
  .an-cartpage{grid-template-columns:minmax(0,1fr);padding-bottom:96px}
  .an-cartpage.is-empty{padding-bottom:0}
  .an-cartpage__side{position:static}
  /* The checkout button follows the thumb on phones. */
  .an-cartpage .an-sc-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--an-line);box-shadow:0 -12px 30px -20px rgba(0,0,0,.25)}
}
@media (max-width:520px){
  .an-cartpage .an-sc-items{padding:2px 14px}
  .an-cartpage .an-sc-item{grid-template-columns:76px minmax(0,1fr);gap:12px}
  .an-cartpage .an-sc-item__media{width:76px;height:76px}
}

/* --- Checkout -------------------------------------------------------------- */
.an-co__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}
.an-co__main{display:flex;flex-direction:column;gap:12px;min-width:0}
.an-co .woocommerce-billing-fields{display:flex;flex-direction:column;gap:12px}
.an-co-step,.an-co-more{background:#fff;border:1px solid var(--an-line);border-radius:16px;padding:20px 22px 10px}
.an-co-more:empty{display:none}
.an-co-step--pay{padding-bottom:20px}
.an-co-step__head{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.an-co-step__num{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--an-green);color:#fff;font-size:.8rem;font-weight:600}
.an-co-step__head h2{margin:0;font-family:var(--an-font-body);font-size:1.02rem;font-weight:600;color:var(--an-ink)}
.an-co-step__head p{margin:0 0 0 auto;font-size:.76rem;color:var(--an-muted);text-align:right}

.an-co .an-co-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
.woocommerce form.an-co .form-row{float:none!important;width:auto!important;margin:0 0 14px!important;padding:0!important}
.woocommerce form.an-co .form-row-wide,.an-co .an-co-fields>.form-row:not(.form-row-first):not(.form-row-last){grid-column:1/-1}
.woocommerce form.an-co .form-row label{display:block;margin:0 0 6px;font-size:.78rem;font-weight:500;line-height:1.3;color:var(--an-body)}
.woocommerce form.an-co .form-row label .required{color:var(--an-sale);text-decoration:none;border:0}
.woocommerce form.an-co .form-row label .optional{color:#9AA3A0;font-weight:400}
.woocommerce form.an-co .form-row .input-text,.woocommerce form.an-co .form-row select{width:100%;height:48px;margin:0;padding:0 14px;border:1px solid var(--an-field);border-radius:10px;background:#fff;font:inherit;font-size:.95rem;color:var(--an-ink);box-shadow:none;transition:border-color var(--an-transition),box-shadow var(--an-transition)}
.woocommerce form.an-co .form-row textarea.input-text{height:auto;min-height:74px;padding:12px 14px;resize:vertical}
.woocommerce form.an-co .form-row .input-text:focus,.woocommerce form.an-co .form-row select:focus{outline:none;border-color:var(--an-green);box-shadow:0 0 0 3px rgba(39,76,64,.12)}
.woocommerce form.an-co .form-row .input-text::placeholder{color:#A8AFAB}
.woocommerce form.an-co .form-row.woocommerce-invalid .input-text{border-color:var(--an-sale)}
.woocommerce form.an-co .form-row.woocommerce-validated .input-text{border-color:var(--an-field)}
.an-co .select2-container .select2-selection--single{height:48px;border:1px solid var(--an-field);border-radius:10px}
.an-co .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:14px;color:var(--an-ink)}
.an-co .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:8px}
.an-co .select2-container--open .select2-selection--single{border-color:var(--an-green)}
/* One country only — WooCommerce prints it as fixed text; nothing to choose. */
.an-co #billing_country_field,.an-co #shipping_country_field{display:none!important}
/* +91 prefix on the mobile number */
.an-co #billing_phone_field .woocommerce-input-wrapper{position:relative;display:block}
.an-co #billing_phone_field .woocommerce-input-wrapper::before{content:"+91";position:absolute;left:14px;top:24px;transform:translateY(-50%);padding-right:10px;border-right:1px solid var(--an-line);font-size:.95rem;font-weight:500;line-height:1.1;color:var(--an-ink);pointer-events:none}
.an-co #billing_phone_field .input-text{padding-left:60px;letter-spacing:.03em}

.an-co-more h3{margin:0 0 12px;font-family:var(--an-font-body);font-size:.92rem;font-weight:500}
.an-co-more #ship-to-different-address label{display:flex;align-items:center;gap:10px;cursor:pointer}
.an-co-more .shipping_address{margin-top:14px}
.an-co input[type=checkbox],.an-co input[type=radio]{accent-color:var(--an-green);width:17px;height:17px}

/* Payment */
.an-co #payment{background:none!important;border-radius:0}
.an-co #payment ul.payment_methods{display:flex;flex-direction:column;gap:10px;margin:0;padding:0!important;border:0!important;list-style:none}
.an-co #payment ul.payment_methods li{position:relative;margin:0;padding:15px 16px;border:1px solid var(--an-field);border-radius:12px;background:#fff;line-height:1.4;transition:border-color var(--an-transition),background var(--an-transition)}
.an-co #payment ul.payment_methods li:has(input:checked){border-color:var(--an-green);background:var(--an-green-soft)}
.an-co #payment ul.payment_methods li>label{display:inline;font-size:.94rem;font-weight:500;color:var(--an-ink);cursor:pointer}
.an-co #payment ul.payment_methods li input{margin:0 10px 0 0;vertical-align:-3px}
.an-co #payment div.payment_box{margin:8px 0 0!important;padding:0 0 0 27px!important;background:none!important;font-size:.82rem;color:var(--an-muted)}
.an-co #payment div.payment_box::before{display:none}
.an-co #payment div.payment_box p{margin:0}
.an-co #payment div.form-row.place-order{margin:16px 0 0!important;padding:0!important}
.an-co .woocommerce-privacy-policy-text p,.an-co .woocommerce-terms-and-conditions-wrapper{font-size:.76rem;color:var(--an-muted);margin:0 0 12px}
.an-co #payment #place_order{float:none;width:100%;height:54px;margin:0;border:0;border-radius:12px;background:var(--an-green);color:#fff;font:inherit;font-size:1rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background var(--an-transition)}
.an-co #payment #place_order:hover{background:var(--an-green-deep)}

/* Summary */
.an-co__side{position:sticky;top:88px;display:flex;flex-direction:column;gap:12px}
.an-co-sumcard{background:#fff;border:1px solid var(--an-line);border-radius:16px;overflow:hidden}
.an-co-sumcard>summary{display:flex;align-items:center;gap:10px;padding:16px 18px;list-style:none;cursor:default;border-bottom:1px solid var(--an-line)}
.an-co-sumcard>summary::-webkit-details-marker{display:none}
.an-co-sumcard__label{font-weight:600;font-size:.98rem;color:var(--an-ink)}
.an-co-sumcard__label em{margin-left:6px;font-style:normal;font-weight:400;font-size:.78rem;color:var(--an-muted)}
.an-co-sumcard__total,.an-co-sumcard__chev{display:none}
.an-co-review{padding:4px 18px 18px}
.an-co-items{list-style:none;margin:0;padding:6px 0;border-bottom:1px solid var(--an-line)}
.an-co-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0}
.an-co-item__media{position:relative;width:56px;height:56px;border-radius:10px;background:#fff;border:1px solid var(--an-line)}
.an-co-item__media img{width:100%;height:100%;object-fit:contain;padding:4px;display:block}
.an-co-item__qty{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--an-green);color:#fff;font-size:.7rem;font-weight:600;display:grid;place-items:center}
.an-co-item__info{display:flex;flex-direction:column;min-width:0}
.an-co-item__name{font-size:.86rem;font-weight:500;line-height:1.3;color:var(--an-ink)}
.an-co-item__variant{font-size:.74rem;color:var(--an-muted)}
.an-co-item__price{display:flex;flex-direction:column;align-items:flex-end;font-size:.88rem;font-weight:600;color:var(--an-ink)}
.an-co-item__price del,.an-co-item__price del .amount{font-size:.74rem;font-weight:400;color:var(--an-muted)}
.an-co-review .an-sc-offers{padding:14px 0;border-radius:0;border-bottom:1px solid var(--an-line)}
.an-co-bill{width:100%;margin:10px 0 0;border:0;border-collapse:collapse;background:none}
.an-co-bill th,.an-co-bill td{padding:5px 0!important;border:0!important;background:none!important;font-size:.88rem;font-weight:400;vertical-align:top}
.an-co-bill th{text-align:left;color:var(--an-body)}
.an-co-bill td{text-align:right;color:var(--an-ink)}
.an-co-bill .is-save td,.an-co-bill .is-save td .amount{color:var(--an-save)}
.an-co-bill #shipping_method{list-style:none;margin:0;padding:0}
.an-co-bill #shipping_method li{margin:0}
.an-co-bill .woocommerce-shipping-destination,.an-co-bill .woocommerce-shipping-calculator{display:none}
.an-co-bill .order-total th,.an-co-bill .order-total td{padding-top:12px!important;border-top:1px dashed var(--an-line)!important;font-size:1.02rem;font-weight:600;color:var(--an-ink)}
.an-co-bill .order-total td .amount{font-weight:600}
.an-co-bill .order-total small.includes_tax{display:block;font-size:.72rem;font-weight:400;color:var(--an-muted)}
.an-co-review .an-sc-bill__saved{margin-top:12px}
.an-co .woocommerce-NoticeGroup-checkout,.an-commerce .woocommerce-error{grid-column:1/-1}

@media (max-width:960px){
  .an-co__grid{grid-template-columns:minmax(0,1fr)}
  .an-co__side{position:static;order:-1}
  .an-co-trust{display:none}
  .an-co-sumcard>summary{cursor:pointer}
  .an-co-sumcard:not([open])>summary{border-bottom:0}
  .an-co-sumcard__total{display:block;margin-left:auto;font-weight:600;color:var(--an-ink)}
  .an-co-sumcard__chev{display:block;color:var(--an-muted);transition:transform var(--an-transition)}
  .an-co-sumcard[open] .an-co-sumcard__chev{transform:rotate(180deg)}
}
@media (max-width:520px){
  .an-co-step,.an-co-more{padding:18px 16px 8px}
  .an-co-step__head p{display:none}
}

/* --- Focus header / footer (checkout) -------------------------------------- */
.an-header--focus .an-header__inner{min-height:68px;justify-content:space-between;gap:16px}
.an-header--focus .custom-logo{height:38px}
.an-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0;font-size:.8rem;color:var(--an-muted)}
.an-steps li{display:flex;align-items:center;gap:7px}
.an-steps li+li::before{content:"";width:30px;height:1px;margin-right:3px;background:var(--an-line)}
.an-steps__dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid currentColor;font-size:.66rem;font-weight:600}
.an-steps .is-done{color:var(--an-green)}
.an-steps .is-done a{color:inherit}
.an-steps .is-done .an-steps__dot{background:var(--an-green);border-color:var(--an-green);color:#fff}
.an-steps .is-current{color:var(--an-ink);font-weight:600}
.an-steps .is-current .an-steps__dot{border-color:var(--an-green);color:var(--an-green)}
.an-secure{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--an-green)}
@media (max-width:720px){.an-steps{display:none}}
.an-footer--focus{padding:20px 0;background:#fff;border-top:1px solid var(--an-line);color:var(--an-muted);font-size:.78rem}
.an-footer--focus .an-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px}
.an-footer--focus p{margin:0}
.an-footer--focus nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.an-footer--focus a{color:var(--an-muted)}
.an-footer--focus a:hover{color:var(--an-green)}

@media (prefers-reduced-motion:reduce){
  .an-sc__panel,.an-sc__scrim,.an-sc-progress__fill,.an-toast{transition:none}
}
.an-co-bill .woocommerce-shipping-totals td del,.an-co-bill .woocommerce-shipping-totals td del .amount{margin-right:4px;color:var(--an-muted)}
.an-co-bill .an-free{color:var(--an-save);font-weight:500}
/* Checkout labels read as sentence case — the theme's uppercase form labels are too loud here. */
.woocommerce form.an-co .form-row label{text-transform:none;letter-spacing:0}
.an-header--focus .custom-logo-link,.an-header--focus .an-brand{margin-inline:0}
.an-co #payment div.payment_box{border:0!important;border-radius:0}
.an-co #payment #place_order{text-transform:none;letter-spacing:.01em}
.an-co #customer_details{display:flex;flex-direction:column;gap:12px;margin:0}
.an-co .woocommerce-additional-fields h3{display:none}
.woocommerce-checkout .an-co #order_review{background:none;border:0;border-radius:0;padding:0}

/* --- Cart edge states ------------------------------------------------------ */
.an-toast{display:flex;align-items:center;gap:14px}
.an-toast.is-warn{background:#8A5A12}
.an-toast__undo{flex:0 0 auto;padding:4px 2px;border:0;background:none;color:var(--an-gold-light);font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;pointer-events:auto}
.an-toast.is-show .an-toast__undo{pointer-events:auto}
.an-toast.is-show{pointer-events:auto}
.an-sc-item__problem{grid-column:1/-1;margin:8px 0 0;padding:6px 10px;border-radius:8px;background:#FBEDEA;color:var(--an-sale);font-size:.78rem;font-weight:500}
.an-sc-item.has-problem .an-sc-item__media{opacity:.6}
.an-sc-cta__warn{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#FBEDEA;color:var(--an-sale);font-size:.8rem;text-align:center}
.an-sc-offer.is-invalid{opacity:1;border-color:var(--an-line);background:var(--an-cream-2)}
.an-sc-offer.is-invalid .an-sc-offer__code,.an-sc-offer.is-invalid .an-sc-offer__title{color:var(--an-muted)}
.an-co-blocked{max-width:560px;margin:0 auto;padding:32px 26px;background:#fff;border:1px solid var(--an-line);border-radius:16px;text-align:center}
.an-co-blocked__icon{display:inline-grid;place-items:center;width:60px;height:60px;margin-bottom:12px;border-radius:50%;background:#FBEDEA;color:var(--an-sale)}
.an-co-blocked h2{margin:0 0 8px;font-family:var(--an-font-display);font-size:1.4rem;font-weight:500}
.an-co-blocked p{margin:0 0 18px;color:var(--an-muted);font-size:.9rem}
.an-co-blocked ul{list-style:none;margin:0 0 20px;padding:0;text-align:left}
.an-co-blocked li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#FBEDEA;font-size:.86rem}
.an-co-blocked li+li{margin-top:6px}
.an-co-blocked li span{color:var(--an-sale);text-align:right}
.an-co-blocked .an-sc-cta__btn{width:100%}
/* WooCommerce positions the notice icon absolutely and expects a wide left padding; the theme's
   notice padding hid the first letters under it. */
.woocommerce-message,.woocommerce-info,.woocommerce-error{position:relative;padding-left:52px}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{left:20px;top:17px}
form.an-sc-qty{margin:0}

/* --- Product photography fills the frame ------------------------------------
   The product images are photographs now (ingredients, oil), not cut-out bottles on a tint, so
   they fill their frames rather than sitting inside them with padding. */
.an-card__media img{object-fit:cover;padding:0}
.an-card__media::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;pointer-events:none;
  background:linear-gradient(to top,rgba(20,32,27,.22),rgba(20,32,27,0))}
.an-sc-item__media img,.an-sc-up__media img,.an-co-item__media img{object-fit:cover;padding:0}
.an-co-item__media img{border-radius:9px}
/* Express-checkout buttons that payment plugins add through woocommerce_proceed_to_checkout. */
.an-sc-cta__more{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.an-sc-cta__more:empty{display:none}

/* ==========================================================================
   Footer farm band (client artwork)
   ========================================================================== */
.an-footer{position:relative;overflow:hidden}
/* The illustration is the background of the whole footer, not a strip across the bottom of it.
   Covering only the lower part left the artwork's top hairline reading as a seam partway down
   the panel, so the band fills the footer edge to edge and the columns sit on the scene. */
.an-footer__band{
  position:absolute;inset:0;
  background-image:url("../images/footer-band.png?v=2");
  /* Scale to the band HEIGHT and let it run off the sides. Cropping horizontally keeps the
     figures and bullocks whole; scaling to width instead would cut them off at the knees.
     repeat-x fills any width — the artwork's two edges are both palm-tree areas against the
     same ground, so the join does not read. */
  background-size:auto 100%;
  background-repeat:repeat-x;
  background-position:bottom center;
  opacity:.4;
  z-index:0;
  pointer-events:none;
}
.an-footer > .an-container{position:relative;z-index:1}
/* Enough room under the last row that the copy sits over the open field rather than the
   densest part of the scene. */
.an-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding-bottom:clamp(40px,7vw,96px)}
@media (max-width:760px){
  /* The columns stack on a phone, so the footer runs well past a thousand pixels. Scaling a
     6.7:1 strip to that height would blow a single bullock up past the width of the screen,
     so here it stays a bottom-anchored band at close to its own proportions. */
  .an-footer__band{top:auto;height:clamp(220px,34%,340px)}
}

/* ==========================================================================
   The Process band — inline SVG, not an image
   ========================================================================== */
/* The ovals are filled so the connector hairline reads as passing behind them, so the
   fill has to be the section background. This section sits on the page background. */
.an-process{--an-process-bg:var(--an-white)}
.an-process__head{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:clamp(30px,4vw,54px)}
.an-process__head h2{
  font-family:var(--an-font-display);font-size:clamp(1.4rem,2.6vw,2.05rem);
  letter-spacing:.14em;text-transform:uppercase;margin:0;color:var(--an-ink);font-weight:600;white-space:nowrap;
}
.an-process__sprig{color:var(--an-gold);flex:0 0 auto}
.an-process__sprig.is-flipped{transform:scaleX(-1)}
.an-process__rule{flex:1;max-width:190px;display:flex;align-items:center;gap:8px;color:var(--an-gold)}
.an-process__rule::before{content:"";flex:1;height:1px;background:currentColor;opacity:.5}
.an-process__rule--right{flex-direction:row-reverse}
.an-process__dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:0 0 auto}
@media (max-width:620px){.an-process__rule{display:none}}

.an-process__steps{
  list-style:none;margin:0;padding:0;position:relative;
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;
}
@media (max-width:980px){.an-process__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 8px}}
@media (max-width:520px){.an-process__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Hairline joining the ovals. The ovals carry the section background as their fill, so it
   reads as passing behind them. 93px is the oval centre when the art is at its 132px cap. */
.an-process__link{
  position:absolute;left:8%;right:8%;top:69px;height:1px;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--an-line) 6%,var(--an-line) 94%,transparent);
}
.an-process__link i{position:absolute;top:-2.5px;width:6px;height:6px;border-radius:50%;background:var(--an-line);transform:translateX(-50%)}
@media (max-width:980px){.an-process__link{display:none}}

.an-process__step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.an-process__art{width:100%;max-width:138px;aspect-ratio:1/1}
.an-process__art svg{width:100%;height:auto;display:block}
.an-process__label{
  font-size:.76rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  line-height:1.35;max-width:13ch;color:var(--an-step,var(--an-ink));
}
.an-process__bar{width:26px;height:2px;border-radius:2px;background:var(--an-step,var(--an-gold));opacity:.85}

/* ==========================================================================
   Founder & core team
   ========================================================================== */
.an-signature{margin-top:1.6rem;display:flex;flex-direction:column;gap:2px}
.an-signature strong{font-family:var(--an-font-display);font-size:1.1rem;color:var(--an-ink)}
.an-signature span{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--an-muted)}

.an-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
@media (max-width:980px){.an-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.an-team{grid-template-columns:1fr}}
.an-team__member{
  background:#fff;border:1px solid var(--an-line);border-radius:var(--an-radius-lg);
  padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;
}
.an-team__photo{
  width:116px;height:116px;border-radius:50%;overflow:hidden;margin-bottom:10px;
  background:var(--an-green-soft);display:flex;align-items:center;justify-content:center;
}
.an-team__photo img{width:100%;height:100%;object-fit:cover}
.an-team__initial{font-family:var(--an-font-display);font-size:2.2rem;color:var(--an-green)}
.an-team__member h3{margin:0;font-size:1.1rem}
.an-team__role{margin:0;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--an-gold)}
.an-team__bio{margin:8px 0 0;font-size:.9rem;color:var(--an-muted)}
.an-team__link{margin-top:10px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--an-green)}

/* Editor-only hint — never rendered for visitors. */
.an-editor-note {
	max-width: 760px;
	margin: 0 auto;
	padding: 18px 22px;
	border: 1px dashed var(--an-line);
	border-radius: var(--an-radius);
	background: #FFFFFF;
	color: var(--an-muted);
	font-size: .95rem;
	line-height: 1.6;
	text-align: center;
}

/* ------------------------------------------------------------------ *
 * Testimonials page
 * ------------------------------------------------------------------ */
.an-ratingbar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 10px 18px;
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: 16px 24px;
	border: 1px solid var(--an-line);
	border-radius: 999px;
	background: #FFFFFF;
	width: fit-content;
	margin-inline: auto;
}
.an-ratingbar__stars { color: var(--an-gold); letter-spacing: .12em; font-size: 1.05rem; }
.an-ratingbar__score { font-family: var(--an-font-display); font-size: 1.5rem; line-height: 1; color: var(--an-ink); }
.an-ratingbar__score span { font-size: .85rem; color: var(--an-muted); }
.an-ratingbar__count { font-size: .92rem; color: var(--an-muted); }

.an-quotes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 28px);
	align-items: start;
}
.an-quote {
	position: relative;
	margin: 0;
	padding: clamp(26px, 3vw, 34px) clamp(22px, 2.6vw, 30px) clamp(22px, 2.6vw, 28px);
	border: 1px solid var(--an-line);
	border-radius: var(--an-radius);
	background: #FFFFFF;
}
.an-quote__mark {
	position: absolute;
	top: 6px;
	left: 18px;
	font-family: var(--an-font-display);
	font-size: 3.4rem;
	line-height: 1;
	color: var(--an-cream-2);
	pointer-events: none;
}
.an-quote__stars { position: relative; display: block; margin: 0 0 12px; color: var(--an-gold); letter-spacing: .1em; font-size: .95rem; }
.an-quote__text {
	position: relative;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--an-ink);
}
.an-quote__by { display: flex; align-items: center; gap: 12px; }
.an-quote__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.an-quote__name { font-weight: 600; font-size: .95rem; color: var(--an-ink); }
.an-quote__meta { font-size: .85rem; color: var(--an-muted); }

@media (max-width: 980px) {
	.an-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
	.an-quotes { grid-template-columns: minmax(0, 1fr); }
}

/* Avatar circle, shared with the home carousel. */
.an-review__avatar--photo { padding: 0; overflow: hidden; }
.an-review__avatar--photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }

/* ------------------------------------------------------------------ *
 * Product page — questions & answers
 * ------------------------------------------------------------------ */
.an-pdp-faq {
	/* Sits in the single-product grid alongside the tabs, so it spans the whole row. */
	grid-column: 1 / -1;
	margin-top: clamp(36px, 4vw, 60px);
}
.an-pdp-faq__title {
	font-family: var(--an-font-display);
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	margin: 0 0 clamp(14px, 2vw, 20px);
	color: var(--an-ink);
}
.an-faq {
	/* Same measure and alignment as the tab panels above, so the two read as one column. */
	max-width: 820px;
	border-top: 1px solid var(--an-line);
}
.an-faq__item { border-bottom: 1px solid var(--an-line); }
.an-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 2px;
	cursor: pointer;
	list-style: none;
	font-weight: 500;
	font-size: 1rem;
	color: var(--an-ink);
}
.an-faq__q::-webkit-details-marker { display: none; }
.an-faq__q::after {
	content: '+';
	flex: 0 0 auto;
	font-size: 1.3rem;
	line-height: 1;
	color: var(--an-green);
	transition: transform var(--an-transition);
}
.an-faq__item[open] .an-faq__q::after { content: '−'; }
.an-faq__a {
	padding: 0 2px 20px;
	max-width: 68ch;
	font-size: .96rem;
	line-height: 1.75;
	color: var(--an-body);
}

/* Our own specification rows read as a spec sheet, not a shipping table. */
.woocommerce-product-details__short-description + .shop_attributes,
.woocommerce-Tabs-panel--additional_information .shop_attributes { width: 100%; }
.woocommerce-Tabs-panel--additional_information .shop_attributes th {
	width: 38%;
	font-weight: 500;
	color: var(--an-muted);
}

/* ------------------------------------------------------------------ *
 * Product page — title block, price note, share, story strip
 * ------------------------------------------------------------------ */
.an-pdp-tagline{
  margin:-2px 0 10px;
  font-family:var(--an-font-display);
  font-size:clamp(1rem,1.6vw,1.15rem);
  font-weight:400;
  color:var(--an-green);
}
.an-pdp-mrp{
  margin:-6px 0 14px;
  font-size:.78rem;
  letter-spacing:.04em;
  color:var(--an-muted);
}

.an-share{display:flex;align-items:center;gap:10px;margin:18px 0 0;padding-top:18px;border-top:1px solid var(--an-line)}
.an-share__label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--an-muted)}
.an-share__link{
  width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--an-line);border-radius:50%;background:var(--an-white);
  color:var(--an-green);cursor:pointer;padding:0;
  transition:background var(--an-transition),border-color var(--an-transition),color var(--an-transition);
}
.an-share__link:hover,.an-share__link:focus-visible{background:var(--an-green);border-color:var(--an-green);color:var(--an-white)}
.an-share__link.is-copied{background:var(--an-green-soft);border-color:var(--an-green);color:var(--an-green)}

/* Story strip — same full-row treatment as the panels and the Q&A. */
.an-pdp-stories{grid-column:1 / -1;margin-top:clamp(40px,5vw,66px)}
.an-pdp-stories__title{
  font-family:var(--an-font-display);
  font-size:clamp(1.3rem,2.4vw,1.85rem);
  text-align:center;margin:0 0 clamp(24px,3vw,38px);color:var(--an-ink);
}
.an-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.an-story{margin:0}
.an-story__media{
  position:relative;aspect-ratio:4/3;border-radius:var(--an-radius);overflow:hidden;
  background:var(--an-cream);margin-bottom:14px;
}
.an-story__media img{width:100%;height:100%;object-fit:cover;display:block}
.an-story__step{
  position:absolute;left:12px;top:12px;
  display:flex;align-items:center;justify-content:center;
  min-width:30px;height:30px;padding:0 8px;border-radius:999px;
  background:rgba(255,255,255,.92);color:var(--an-green);
  font-family:var(--an-font-display);font-size:.8rem;font-weight:600;letter-spacing:.04em;
}
.an-story__head{font-family:var(--an-font-display);font-size:1.05rem;margin:0 0 6px;color:var(--an-ink)}
.an-story__copy{margin:0;font-size:.92rem;line-height:1.65;color:var(--an-body)}
@media (max-width:900px){.an-stories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.an-stories{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   Product page layout, following the storefront the client gave as reference
   ========================================================================== */

/* Share sits beside the title rather than at the foot of the buy column. */
.single-product div.product .summary{position:relative}
@media (min-width:761px){
  .single-product div.product .summary>.an-share{
    position:absolute;top:0;right:0;margin:0;padding:0;border:0;gap:7px;
  }
  .single-product div.product .summary>.an-share .an-share__label{display:none}
  .woocommerce div.product .product_title{padding-right:215px}
}
@media (max-width:760px){
  .single-product div.product .summary>.an-share{
    justify-content:flex-end;margin:0 0 4px;padding:0;border:0;
  }
}

/* Rating left, price right, MRP note under the price. */
.an-pdp-pricerow{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:4px 20px;margin:0 0 16px;
}
.an-pdp-pricerow .woocommerce-product-rating{margin:0;flex:1 1 auto}
.an-pdp-pricerow .an-rating-empty{margin:0;flex:1 1 auto}
.woocommerce div.product .an-pdp-pricerow p.price,
.woocommerce div.product .an-pdp-pricerow span.price{
  margin:0 0 0 auto;text-align:right;line-height:1;
  font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:600;color:var(--an-ink);
}
.woocommerce div.product .an-pdp-pricerow p.price del{
  display:block;font-size:1rem;font-weight:400;margin-bottom:2px;
}
.woocommerce div.product .an-pdp-pricerow p.price ins{text-decoration:none}
.an-pdp-pricerow .an-pdp-mrp{flex:1 0 100%;margin:0;text-align:right}

/* Coupon pill, same figure the product cards carry. */
.an-pdp-coupon{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;
  padding:9px 16px;border-radius:var(--an-radius-pill);
  background:var(--an-green);color:var(--an-white);
  font-size:.86rem;font-weight:500;
}
.an-pdp-coupon svg{color:var(--an-gold-light)}

/* Description, inline directly under the buy buttons. The add-to-cart row carries its own
   bottom margin, so this only needs the rule above it. */
.an-pdp-desc{margin:0 0 24px;padding-top:22px;border-top:1px solid var(--an-line)}
.an-pdp-desc__title{
  font-family:var(--an-font-body);font-size:.82rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--an-ink);margin:0 0 12px;
}
.an-pdp-desc__body{color:var(--an-body);font-size:.96rem;line-height:1.8}
.an-pdp-desc__body>*:first-child{margin-top:0}
.an-pdp-desc__body>*:last-child{margin-bottom:0}

/* Full-width detail sections.
   The short ones — benefits, uses, shelf life, storage, allergens — sit two across. Run down
   the page one under another they were four headings with more air than words between them,
   which pushed the questions and the reviews a long way out of reach. The specification table
   keeps the whole row. */
.an-pdp-details{
  grid-column:1 / -1;margin-top:clamp(40px,4.5vw,64px);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(26px,3vw,44px) clamp(28px,4vw,64px);align-items:start;
}
.an-detail--table{grid-column:1 / -1}
.an-detail__title{
  font-family:var(--an-font-display);
  font-size:clamp(1.3rem,2.3vw,1.8rem);
  text-align:center;margin:0 0 clamp(16px,2vw,24px);color:var(--an-green);
}
.an-detail__body{color:var(--an-body);font-size:.98rem;line-height:1.8}
.an-detail--table .an-detail__body{margin-inline:auto}
@media (max-width:760px){
  .an-pdp-details{grid-template-columns:minmax(0,1fr)}
}
.an-detail__body>*:first-child{margin-top:0}
.an-detail__body>*:last-child{margin-bottom:0}
.an-detail__body .an-benefits{margin:0;padding:0;list-style:none}
.an-detail__body .an-benefits li{position:relative;padding:0 0 0 26px;margin:0 0 12px}
.an-detail__body .an-benefits li::before{
  content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;
  background:var(--an-gold);
}
.an-detail--table .an-detail__body{max-width:680px}

/* Reviews sit last, below the questions. */
.an-pdp-reviews{grid-column:1 / -1;margin-top:clamp(44px,5vw,78px)}
.an-pdp-reviews__body{max-width:860px;margin-inline:auto}

/* Story mosaic: a wide card, then a pair, repeating — the rhythm of the reference page. */
.an-stories{grid-template-columns:repeat(2,minmax(0,1fr))}
.an-story:nth-child(3n+1){grid-column:1 / -1}
.an-story:nth-child(3n+1) .an-story__media{aspect-ratio:21/9}
@media (max-width:560px){
  .an-story:nth-child(3n+1){grid-column:auto}
  .an-story:nth-child(3n+1) .an-story__media{aspect-ratio:4/3}
}

/* Questions as cards, each with its own frame. */
.an-faq{border-top:0;display:flex;flex-direction:column;gap:10px;max-width:860px}
.an-faq__item{
  border:1px solid var(--an-line);border-radius:var(--an-radius);background:var(--an-white);
}
.an-faq__q{padding:16px 20px;font-size:.96rem}
.an-faq__a{padding:0 20px 18px;max-width:none}
.an-pdp-faq__title{text-align:center;color:var(--an-green);font-size:clamp(1.3rem,2.3vw,1.8rem)}
.an-faq{margin-inline:auto}

/* Gallery framed, as on the reference page.
   The frame goes on the image itself, not on any box in the FlexSlider chain: the slider
   measures those to compute slide widths, and padding one of them stretched the gallery to
   several thousand pixels. With border-box the image keeps its layout width and the picture
   simply sits inside the padding. */
.woocommerce div.product div.images .woocommerce-product-gallery__image img{
  border:1px solid var(--an-line);
  border-radius:var(--an-radius-lg);
  background:var(--an-white);
  padding:clamp(14px,2.2vw,28px);
}
.woocommerce div.product div.images .flex-control-thumbs img{padding:0;background:var(--an-cream)}
