/* ==========================================================================
   NaturaFLAME Ã¢â‚¬â€ lumÃƒÂ¢nÃ„Æ’ri parfumate
   Design tokens Ã¢â‚¬â€ "NaturaFLAME la lumina zilei" (the hearth by daylight)
   Ink #2C231D Ã‚Â· Taupe #6E5B4C Ã‚Â· Ivory #FAF5EC Ã‚Â· Sand #F1E7D8
   Gold #C69A56 Ã‚Â· Gold Dim #8C6530 Ã‚Â· Rose #BD8078 Ã‚Â· Rose Light #EFD9D2
   Deep Espresso #46362C (single grounding accent band)
   ========================================================================== */

:root{
  --ink: #2C231D;
  --ink-soft: #6E5B4C;
  --line: rgba(44,35,29,.12);
  --line-soft: rgba(44,35,29,.07);

  --paper: #FAF5EC;
  --paper-alt: #F1E7D8;
  --card: #FFFFFF;

  --gold: #C69A56;
  --gold-light: #E6CE9C;
  --gold-dim: #8C6530;

  --rose: #BD8078;
  --rose-light: #EFD9D2;

  --deep: #46362C;
  --deep-2: #56443A;
  --cream-on-deep: #F1E7D8;

  --font-display: "Fraunces", "Iowan Old Style", serif;
  --font-body: "Work Sans", "Segoe UI", sans-serif;

  --container: 1180px;
  --radius: 6px;
  --radius-lg: 22px 6px 22px 6px;

  --ease: cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

body{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, svg{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
ul{ margin: 0; padding: 0; list-style: none; }
button{ font-family: inherit; cursor: pointer; }
input, textarea, select{ font-family: inherit; font-size: 1rem; }

h1,h2,h3,h4{
  font-family: var(--font-display);
  font-weight: 440;
  line-height: 1.12;
  margin: 0;
  letter-spacing: -.01em;
}

.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .55em;
  font-family: var(--font-display);
  font-style: italic;
  font-size: .95rem;
  letter-spacing: .04em;
  color: var(--gold-dim);
}
.eyebrow::before{
  content: "";
  width: 26px; height: 1px;
  background: var(--gold-dim);
}
.on-dark .eyebrow{ color: var(--gold-light); }
.on-dark .eyebrow::before{ background: var(--gold-light); }

.wrap{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

.section{ padding: 108px 0; }
.section--tight{ padding: 72px 0; }
.info-section{ padding-top: 54px; }
.contact-section{ padding-top: 54px; }
.section--alt{ background: var(--paper-alt); }
.section--dark{ background: linear-gradient(165deg, var(--deep), var(--deep-2)); color: var(--cream-on-deep); }

.section-head{
  max-width: 620px;
  margin-bottom: 56px;
}
.section-head h2{
  font-size: clamp(2rem, 3.4vw, 2.9rem);
  margin-top: 14px;
}
.section-head p{
  margin-top: 18px;
  color: var(--ink-soft);
  font-size: 1.05rem;
  max-width: 52ch;
}
.section--dark .section-head p{ color: var(--cream-on-deep); opacity: .78; }
.section-foot{ margin-top: 46px; text-align: center; }

/* ---------- buttons ---------- */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: .92rem;
  letter-spacing: .02em;
  border: 1px solid transparent;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .3s var(--ease), color .3s var(--ease);
}
.btn-primary{
  background: var(--gold);
  color: var(--ink);
}
.btn-primary:hover{
  background: var(--gold-light);
  box-shadow: 0 10px 30px -8px rgba(198,154,86,.5);
  transform: translateY(-2px);
}
.btn-ghost{
  border-color: var(--ink);
  color: var(--ink);
}
.btn-ghost:hover{
  background: rgba(44,35,29,.06);
  transform: translateY(-2px);
}
.btn-line{
  border-color: var(--ink);
  color: var(--ink);
  padding: 13px 26px;
}
.btn-line:hover{ background: var(--ink); color: var(--paper); }
.btn-sm{ padding: 10px 20px; font-size: .82rem; }

/* ---------- flame signature ---------- */
.flame{
  width: 16px;
  display: inline-block;
  filter: drop-shadow(0 0 6px rgba(198,154,86,.45));
  animation: flicker 3.6s ease-in-out infinite;
  transform-origin: 50% 100%;
}
.flame .flame-outer{ fill: var(--gold); }
.flame .flame-inner{ fill: var(--rose-light); }

@keyframes flicker{
  0%, 100%{ transform: scale(1) skewX(0deg); }
  20%{ transform: scale(1.03, .97) skewX(-1.5deg); }
  38%{ transform: scale(.97,1.05) skewX(1.5deg); }
  55%{ transform: scale(1.05,.95) skewX(-1deg); }
  72%{ transform: scale(.96,1.04) skewX(2deg); }
  88%{ transform: scale(1.02,.98) skewX(-1deg); }
}

.divider-flame{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 auto;
}
.divider-flame::before, .divider-flame::after{
  content: "";
  height: 1px;
  width: 64px;
  background: linear-gradient(90deg, transparent, currentColor);
}
.divider-flame::after{ background: linear-gradient(90deg, currentColor, transparent); }

/* ---------- header / nav ---------- */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 22px 0;
  transition: background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.site-header.is-scrolled{
  background: rgba(250,245,236,.88);
  backdrop-filter: blur(10px);
  padding: 14px 0;
  box-shadow: 0 10px 30px -20px rgba(44,35,29,.18);
}
.nav-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.logo{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.5rem;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: .01em;
}
.logo small{
  display: block;
  font-family: var(--font-body);
  font-style: normal;
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold-dim);
  opacity: .85;
  margin-top: 1px;
}

.main-nav{ display: flex; align-items: center; gap: 6px; }
.main-nav > ul{ display: flex; align-items: center; gap: 4px; }
.nav-link{
  padding: 10px 16px;
  font-size: .93rem;
  color: var(--ink);
  border-radius: 999px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .3s var(--ease), color .3s var(--ease);
}
button.nav-link{
  background: none;
  border: none;
  margin: 0;
  cursor: pointer;
}
.nav-link:hover, .nav-link[aria-expanded="true"]{ background: rgba(198,154,86,.12); color: var(--gold-dim); }
.nav-item{ position: relative; }
.nav-caret{ width: 9px; transition: transform .3s var(--ease); opacity: .7; }
.nav-link[aria-expanded="true"] .nav-caret{ transform: rotate(180deg); }

.dropdown{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 260px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 10px;
  box-shadow: 0 24px 50px -24px rgba(44,35,29,.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
}
.nav-item.is-open .dropdown{ opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown a{
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  border-radius: 10px;
  color: var(--ink);
  font-size: .92rem;
  transition: background .25s var(--ease), padding-left .25s var(--ease);
}
.dropdown a:hover{ background: rgba(198,154,86,.12); padding-left: 18px; color: var(--gold-dim); }
.dropdown a span.sub{ font-size: .76rem; color: var(--ink-soft); margin-top: 2px; }
.dropdown a.is-external{ display: flex; flex-direction: row; align-items: center; justify-content: space-between; }

.nav-cta{ display: flex; align-items: center; gap: 14px; }
.nav-toggle{
  display: none;
  background: none; border: none; padding: 8px;
  color: var(--ink);
}
.nav-toggle svg{ width: 24px; }
.nav-close{ display: none; }

@media (max-width: 920px){
  .main-nav{
    position: fixed; inset: 0 0 0 auto;
    width: min(340px, 86vw);
    background: var(--paper);
    padding: 100px 26px 40px;
    flex-direction: column;
    align-items: flex-start;
    transform: translateX(100%);
    transition: transform .45s var(--ease);
    overflow-y: auto;
    box-shadow: -30px 0 60px -30px rgba(44,35,29,.25);
  }
  .main-nav.is-open{ transform: translateX(0); }
  .main-nav > ul{ flex-direction: column; align-items: flex-start; width: 100%; gap: 2px; }
  .nav-item{ width: 100%; }
  .nav-link{ width: 100%; justify-content: space-between; }
  .dropdown{ position: static; opacity: 1; visibility: visible; transform: none; display: none; box-shadow: none; margin-top: 4px; }
  .nav-item.is-open .dropdown{ display: flex; flex-direction: column; }
  .site-header.is-scrolled{
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .main-nav{
    z-index: 120;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    pointer-events: auto;
  }
  .nav-toggle{ position: relative; z-index: 110; display: inline-flex; }
  .nav-toggle[aria-expanded="true"]{ visibility: hidden; }
  .nav-close{
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.72);
    color: var(--ink);
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
  }
  .nav-backdrop{
    position: fixed; inset: 0; background: rgba(20,15,12,.4);
    opacity: 0; visibility: hidden; transition: opacity .4s var(--ease), visibility .4s;
    z-index: 90;
  }
  .nav-backdrop.is-open{ opacity: 1; visibility: visible; }
}

/* ---------- hero ---------- */
.hero{
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  background: radial-gradient(ellipse 80% 60% at 72% 18%, var(--rose-light), var(--paper) 62%);
  overflow: hidden;
  color: var(--ink);
}
.hero-glow{
  position: absolute;
  inset: 0;
  background: radial-gradient(480px 480px at var(--gx,72%) var(--gy,28%), rgba(198,154,86,.24), transparent 68%);
  pointer-events: none;
  transition: background .2s linear;
}
.hero-flame-scene{
  position: absolute;
  right: 8%;
  top: 14%;
  width: min(30vw, 320px);
}
.hero-flame-scene .flame{
  width: 100%;
  animation-duration: 4.2s;
}
.hero-inner{
  position: relative;
  z-index: 2;
  padding: 220px 0 96px;
  width: 100%;
}
.hero-inner .eyebrow{ margin-bottom: 22px; }
.hero h1{
  font-size: clamp(2.6rem, 6.4vw, 5.2rem);
  max-width: 15ch;
  color: var(--ink);
  font-weight: 340;
}
.hero h1 em{
  font-style: italic;
  color: var(--gold-dim);
}
.hero p.lead{
  margin-top: 26px;
  max-width: 46ch;
  font-size: 1.14rem;
  color: var(--ink-soft);
}
.hero-actions{ display: flex; gap: 16px; margin-top: 40px; flex-wrap: wrap; }
.hero-scroll{
  position: absolute;
  bottom: 34px; left: 32px;
  display: flex; align-items: center; gap: 10px;
  font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-soft);
  opacity: .75;
}
.hero-scroll::after{
  content: "";
  width: 1px; height: 34px;
  background: linear-gradient(var(--gold), transparent);
  animation: dripline 2.4s ease-in-out infinite;
}
@keyframes dripline{ 0%{ opacity: .2; } 50%{ opacity: 1; } 100%{ opacity: .2; } }

/* page hero, smaller, for interior pages */
.page-hero{
  background: radial-gradient(ellipse 90% 70% at 50% 0%, var(--rose-light), var(--paper) 70%);
  color: var(--ink);
  padding: 200px 0 92px;
  position: relative;
  overflow: hidden;
}
.page-hero h1{ font-size: clamp(2.2rem, 4.6vw, 3.6rem); color: var(--ink); max-width: 20ch; font-weight: 340; }
.page-hero p{ margin-top: 18px; max-width: 52ch; color: var(--ink-soft); font-size: 1.05rem; }
.page-hero .eyebrow{ margin-bottom: 18px; }

/* ---------- ritual steps ---------- */
.ritual{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 20px;
}
.ritual-step{
  padding: 30px 24px;
  border-top: 1px solid rgba(241,231,216,.2);
  position: relative;
}
.ritual-step .num{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2.4rem;
  color: var(--gold-light);
  opacity: .9;
}
.ritual-step h3{ font-size: 1.2rem; margin-top: 12px; color: var(--cream-on-deep); }
.ritual-step p{ margin-top: 10px; color: var(--cream-on-deep); opacity: .78; font-size: .95rem; }

/* ---------- category cards (home) ---------- */
.cat-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.cat-card{
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 34px 26px;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.cat-card::before{
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(220px 220px at 85% -10%, rgba(198,154,86,.22), transparent 70%);
  opacity: 0; transition: opacity .4s var(--ease);
}
.cat-card:hover{ transform: translateY(-6px); box-shadow: 0 30px 60px -34px rgba(44,35,29,.28); border-color: rgba(198,154,86,.35); }
.cat-card:hover::before{ opacity: 1; }
.cat-card h3{ font-size: 1.35rem; color: var(--ink); position: relative; }
.cat-card p{ font-size: .88rem; color: var(--ink-soft); margin-top: 10px; position: relative; }
.cat-card .cat-arrow{ margin-top: 20px; display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; color: var(--gold-dim); position: relative; }
.cat-card .cat-arrow svg{ width: 14px; transition: transform .3s var(--ease); }
.cat-card:hover .cat-arrow svg{ transform: translateX(5px); }

/* ---------- product grid ---------- */
.product-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 26px;
}
.product-card{
  background: var(--card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 1px 3px rgba(44,35,29,.05);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.product-card:nth-child(even){ border-radius: 6px 22px 6px 22px; }
.product-card:hover{ transform: translateY(-8px); box-shadow: 0 36px 60px -30px rgba(44,35,29,.22); }
.product-media{
  aspect-ratio: 4/5;
  display: flex; align-items: center; justify-content: center;
  padding: 22px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.product-media::before{
  content: "";
  position: absolute; inset: -30%;
  background: radial-gradient(140px 140px at 50% 14%, rgba(198,154,86,0), transparent 70%);
  transition: background .55s var(--ease);
  z-index: 0;
}
.product-card:hover .product-media::before{
  background: radial-gradient(180px 180px at 50% 14%, rgba(198,154,86,.32), transparent 70%);
}
.product-media::after{
  content: "";
  position: absolute; inset: 0;
  box-shadow: inset 0 -30px 40px -20px rgba(44,35,29,.10);
  pointer-events: none;
}
.product-media svg{ width: 62%; position: relative; z-index: 1; transition: transform .5s var(--ease); }
.product-card:hover .product-media svg{ transform: translateY(-5px) scale(1.045); }
.candle-flame{ transform-origin: 50% 100%; }
.product-card:hover .candle-flame{ animation: flicker 2.2s ease-in-out infinite; }
.product-media .tag{
  position: absolute;
  top: 14px; left: 14px;
  z-index: 2;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(3px);
  color: var(--gold-dim);
  font-size: .66rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(44,35,29,.07);
}
.product-body{ padding: 20px 22px 24px; }
.product-body h3{ font-size: 1.18rem; }
.product-body .notes{ font-size: .86rem; color: var(--ink-soft); margin-top: 6px; }
.product-foot{ display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.price{ font-family: var(--font-display); font-size: 1.15rem; color: var(--ink); }
.add-btn{
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--paper-alt);
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line);
  transition: background .3s var(--ease), transform .3s var(--ease);
}
.add-btn svg{ width: 16px; }
.add-btn:hover{ background: var(--gold); transform: rotate(90deg); }

/* ---------- category sub-nav (product page) ---------- */
.cat-subnav{
  position: sticky;
  top: 74px;
  z-index: 40;
  background: rgba(250,245,236,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
}
.cat-subnav ul{ display: flex; gap: 8px; flex-wrap: wrap; }
.cat-subnav a{
  padding: 9px 18px;
  border-radius: 999px;
  font-size: .86rem;
  border: 1px solid var(--line);
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.cat-subnav a.is-active, .cat-subnav a:hover{
  background: var(--ink); color: var(--paper); border-color: var(--ink);
}

.category-block{ padding: 90px 0 40px; scroll-margin-top: 130px; }
.category-block + .category-block{ border-top: 1px solid var(--line); }
.category-intro{ max-width: 640px; margin-bottom: 46px; }
.category-intro .tag-count{ font-size: .8rem; color: var(--rose); margin-top: 8px; display: block; }

/* ---------- testimonials ---------- */
.review-stats{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: -18px 0 40px;
}
.review-score{ display: flex; align-items: baseline; gap: 10px; }
.review-score .score-num{ font-family: var(--font-display); font-style: italic; font-size: 2.1rem; color: var(--ink); }
.review-score .stars{ color: var(--gold); font-size: 1.15rem; letter-spacing: .07em; }
.review-stats p{ color: var(--ink-soft); font-size: .9rem; }
.testi-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.testi{
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-top: 2px solid var(--gold-light);
  border-radius: var(--radius-lg);
  padding: 30px 26px;
  box-shadow: 0 1px 2px rgba(44,35,29,.04);
}
.testi p{ font-family: var(--font-display); font-style: italic; font-size: 1.12rem; line-height: 1.5; color: var(--ink); }
.testi .who{ margin-top: 18px; font-size: .84rem; color: var(--gold-dim); letter-spacing: .03em; }

/* ---------- newsletter ---------- */
.newsletter{
  background: linear-gradient(120deg, var(--paper-alt), var(--rose-light));
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.newsletter h2{ color: var(--ink); font-size: clamp(1.6rem, 2.6vw, 2.2rem); max-width: 14ch; }
.newsletter-form{ display: flex; gap: 10px; flex: 1; min-width: 280px; max-width: 440px; }
.newsletter-form input{
  flex: 1;
  padding: 15px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
}
.newsletter-form input::placeholder{ color: var(--ink-soft); }
.newsletter-form input:focus{ outline: 2px solid var(--gold); outline-offset: 2px; }

/* ---------- footer newsletter (inside footer-brand column) ---------- */
.footer-newsletter{ margin-top: 8px; }
.footer-newsletter-text{
  font-size: .84rem;
  color: var(--ink-soft);
  max-width: 30ch;
  margin-bottom: 14px;
}
.footer-newsletter .newsletter-form{
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 260px;
}
.footer-newsletter .newsletter-form input{
  flex: none;
  padding: 10px 16px;
  font-size: .84rem;
}
.footer-newsletter .newsletter-form .btn{
  align-self: flex-start;
}

/* ---------- forms (contact) ---------- */
.form-grid{ display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: flex-start; }
.field{ margin-bottom: 22px; }
.field label{ display: block; font-size: .84rem; letter-spacing: .04em; color: var(--ink-soft); margin-bottom: 8px; }
.field input, .field textarea{
  width: 100%;
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.field input:focus, .field textarea:focus{
  outline: none;
  border-color: var(--gold-dim);
  box-shadow: 0 0 0 3px rgba(198,154,86,.18);
}
.field textarea{ min-height: 150px; resize: vertical; }
.form-note{ font-size: .82rem; color: var(--ink-soft); margin-top: 14px; }
.form-success{
  display: none;
  margin-top: 18px;
  padding: 14px 18px;
  border-radius: var(--radius);
  border-left: 3px solid var(--rose);
  background: rgba(189,128,120,.1);
  color: var(--ink);
  font-size: .9rem;
}
.form-success.is-visible{ display: block; }

.info-panel{ background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 40px 32px; box-shadow: 0 30px 60px -45px rgba(44,35,29,.3); }
.info-panel h3{ color: var(--ink); font-size: 1.3rem; }
.info-row{ display: flex; gap: 14px; margin-top: 22px; align-items: flex-start; }
.info-row svg{ width: 18px; margin-top: 3px; color: var(--gold-dim); flex-shrink: 0; }
.info-row .label{ font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft); }
.info-row .val{ font-size: .96rem; margin-top: 2px; }
.social-row{ display: flex; gap: 10px; margin-top: 28px; }
.social-row a{
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  transition: background .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.social-row a svg{ width: 16px; }
.social-row a:hover{ background: var(--gold); border-color: var(--gold); color: var(--ink); transform: translateY(-3px); }

/* ---------- info / policy page tabs ---------- */
.info-tabs{ display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.info-tab{
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: .9rem;
  color: var(--ink-soft);
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.info-tab.is-active{ background: var(--ink); color: var(--paper); border-color: var(--ink); }
.info-tab:not(.is-active):hover{ border-color: var(--gold-dim); color: var(--gold-dim); }

.info-panels{ margin-top: 46px; }
.info-panel-content{ display: none; }
.info-panel-content.is-active{ display: block; animation: fadein .5s var(--ease); }
@keyframes fadein{ from{ opacity: 0; transform: translateY(8px); } to{ opacity: 1; transform: translateY(0); } }
.info-panel-content h2{ font-size: 1.7rem; margin-bottom: 18px; }
.info-panel-content h3{ font-size: 1.1rem; margin-top: 28px; margin-bottom: 10px; color: var(--gold-dim); }
.info-panel-content p, .info-panel-content li{ color: var(--ink); opacity: .82; font-size: .98rem; margin-bottom: 12px; max-width: 68ch; }
.info-panel-content ul{ padding-left: 22px; list-style: disc; }

.external-cards{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 46px; }
.external-card{
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 30px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 150px;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.external-card:hover{ transform: translateY(-4px); box-shadow: 0 24px 50px -34px rgba(44,35,29,.25); }
.external-card h3{ color: var(--ink); font-size: 1.1rem; }
.external-card p{ font-size: .86rem; color: var(--ink-soft); margin-top: 8px; }
.external-card .go{ margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; font-size: .84rem; color: var(--gold-dim); }
.external-card .go svg{ width: 13px; }

/* ---------- footer ---------- */
.site-footer{ background: var(--paper-alt); color: var(--ink-soft); padding: 44px 0 18px; border-top: 1px solid var(--line); }
.footer-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.footer-brand p{ margin-top: 18px; font-size: .92rem; color: var(--ink-soft); max-width: 32ch; }
.footer-col h4{ font-family: var(--font-body); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--gold-dim); margin-bottom: 18px; }
.footer-col ul li{ margin-bottom: 11px; }
.footer-col a{ font-size: .92rem; color: var(--ink-soft); transition: color .3s var(--ease); }
.footer-col a:hover{ color: var(--gold-dim); }
.footer-bottom{
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 14px; font-size: .8rem; color: var(--ink-soft); opacity: .75; flex-wrap: wrap; gap: 10px;
}
.footer-admin-link{ color: inherit; text-decoration: none; transition: color .3s var(--ease); }
.footer-admin-link:hover{ color: var(--gold-dim); }

/* ---------- utility ---------- */
.skip-link{
  position: absolute; left: -999px; top: 0;
  background: var(--gold); color: var(--ink); padding: 12px 18px; border-radius: 0 0 8px 0; z-index: 1000;
}
.skip-link:focus{ left: 0; }
:focus-visible{ outline: 2px solid var(--gold); outline-offset: 3px; }

@media (max-width: 980px){
  .form-grid{ grid-template-columns: 1fr; gap: 40px; }
  .cat-grid{ grid-template-columns: repeat(2, 1fr); }
  .ritual{ grid-template-columns: repeat(2, 1fr); }
  .testi-grid{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .external-cards{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .wrap{ padding: 0 20px; }
  .section{ padding: 76px 0; }
  .info-section{ padding-top: 38px; }
  .contact-section{ padding-top: 38px; }
  .cat-grid{ grid-template-columns: 1fr; }
  .ritual{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .newsletter{ padding: 36px 26px; flex-direction: column; align-items: flex-start; }
  .newsletter-form{ max-width: 100%; }
  .hero-flame-scene{ display: none; }
  .hero-inner{ padding-top: 170px; }
}


/* ---------- NaturaFLAME footer newsletter ---------- */
.newsletter-kicker{ color: var(--gold-dim); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-newsletter-text{ max-width: 34ch; margin-bottom: 16px; }
.footer-newsletter .newsletter-form{ max-width: 300px; }
.footer-newsletter .newsletter-form input{ width: 100%; }
.footer-newsletter .newsletter-form .btn{ white-space: nowrap; }
.newsletter-note{ display: block; margin-top: 7px; color: var(--ink-soft); font-size: .7rem; opacity: .8; }

.footer-socials{ display: inline-flex; align-items: center; gap: 16px; }
.footer-socials a{ color: var(--ink-soft); transition: color .3s var(--ease); }
.footer-socials a:hover{ color: var(--gold-dim); }


/* ---------- hero entrance animation ---------- */
.hero-inner .eyebrow, .hero h1, .hero p.lead, .hero-actions, .hero-scroll{ opacity: 0; animation: heroReveal .95s cubic-bezier(.22,1,.36,1) forwards; }
.hero-inner .eyebrow{ animation-delay: .12s; }
.hero h1{ animation-delay: .28s; }
.hero p.lead{ animation-delay: .46s; }
.hero-actions{ animation-delay: .64s; }
.hero-scroll{ animation-delay: .92s; }
.hero h1 em{ display: inline-block; animation: heroEmber 1.4s ease-out .72s both; }
@keyframes heroReveal{ from{ opacity: 0; transform: translateY(28px); filter: blur(10px); } to{ opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes heroEmber{ 0%{ color: var(--ink); text-shadow: 0 0 0 rgba(198,154,86,0); transform: translateY(8px) scale(.98); } 55%{ color: var(--gold-light); text-shadow: 0 0 28px rgba(198,154,86,.55); transform: translateY(0) scale(1.02); } 100%{ color: var(--gold-dim); text-shadow: 0 0 0 rgba(198,154,86,0); transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce){ .hero-inner .eyebrow, .hero h1, .hero p.lead, .hero-actions, .hero-scroll, .hero h1 em{ opacity: 1; animation: none; filter: none; transform: none; } }


/* ---------- collection buttons match info tabs ---------- */
.cat-subnav{ border-bottom: 0; padding: 8px 0; }
.cat-subnav a{ padding: 12px 22px; border-radius: 999px; font-size: .9rem; color: var(--ink-soft); }
.cat-subnav a.is-active, .cat-subnav a:hover{ background: var(--ink); color: var(--paper); border-color: var(--ink); }


/* ---------- shared elegant navigation buttons ---------- */
.cat-subnav ul, .info-tabs{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cat-subnav a, .info-tab{ position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 21px; border: 1px solid rgba(198,154,86,.34); border-radius: 999px; background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(244,232,214,.55)); color: var(--ink-soft); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 20px -16px rgba(44,35,29,.55); font-size: .9rem; font-weight: 500; letter-spacing: .01em; transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease); }
.cat-subnav a:hover, .cat-subnav a.is-active, .info-tab:hover, .info-tab.is-active{ transform: translateY(-2px); background: linear-gradient(135deg, var(--ink), var(--deep-2)); color: var(--paper); border-color: var(--gold); box-shadow: 0 12px 24px -15px rgba(44,35,29,.8), 0 0 0 3px rgba(198,154,86,.12); }
.cat-subnav a:focus-visible, .info-tab:focus-visible{ outline: 2px solid var(--gold); outline-offset: 3px; }
.info-tab:not(.is-active):hover{ border-color: var(--gold); color: var(--paper); }
@media (max-width: 640px){ .cat-subnav a, .info-tab{ min-height: 44px; padding: 11px 16px; font-size: .84rem; } }


/* ---------- contact consent and social links ---------- */
.consent-check{ display: flex; align-items: flex-start; gap: 10px; margin: 8px 0 18px; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; cursor: pointer; }
.consent-check input{ width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--gold-dim); flex: 0 0 auto; }
.consent-check a{ color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.social-intro{ margin-top: 30px; color: var(--gold-dim); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.social-row{ gap: 14px; margin-top: 12px; }
.social-row a{
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.social-row a svg{ width: 32px; height: 32px; }
.social-row .social-wow{
  background: transparent;
  box-shadow: none;
}
.social-row .social-wow svg{ width: 34px; height: 34px; filter: none; }
.social-row .social-wow:hover{ transform: translateY(-3px) scale(1.05); filter: saturate(1.08); }

.footer-anpc{ display: flex; flex-direction: column; gap: 10px; width: fit-content; margin-top: 16px; padding: 0; background: transparent; border-radius: 0; }
.footer-anpc a{ display: block; line-height: 0; background: transparent; border-radius: 12px; overflow: hidden; }
.footer-anpc img{ display: block; width: min(100%, 205px); height: auto; border-radius: 10px; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.footer-anpc a:hover img{ transform: translateY(-2px); box-shadow: 0 8px 18px -12px rgba(44,35,29,.65); }

/* ---------- cart and wishlist ---------- */
.header-action{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.45);color:var(--ink);border-radius:999px;padding:9px 13px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;font-size:.82rem;transition:background .25s ease,color .25s ease,transform .25s ease}
.header-action:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.header-count{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--gold);color:var(--ink);font-size:.68rem;display:inline-flex;align-items:center;justify-content:center}
.favorite-btn{position:absolute;top:14px;right:14px;z-index:3;border:1px solid rgba(44,35,29,.12);background:rgba(255,255,255,.78);width:36px;height:36px;border-radius:50%;color:var(--ink);cursor:pointer;font-size:1.05rem;transition:all .25s ease}
.favorite-btn:hover,.favorite-btn.is-active{background:var(--gold);color:var(--ink);transform:scale(1.08)}
.add-btn.is-added{background:var(--gold);transform:scale(1.12)}
.cart-trigger.is-cart-bumped{animation:cart-bump .65s ease}
@keyframes cart-bump{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.1)}65%{transform:translateY(0) scale(.96)}}
.shop-panel{position:fixed;z-index:200;right:0;top:0;width:min(410px,92vw);height:100vh;background:var(--paper);padding:34px 28px;box-shadow:-20px 0 50px -25px rgba(44,35,29,.45);transform:translateX(105%);transition:transform .35s var(--ease);overflow:auto}
.shop-panel.is-open{transform:translateX(0)}
.shop-panel h2{margin:20px 0 24px}
.shop-panel-close{float:right;border:0;background:none;font-size:2rem;color:var(--ink);cursor:pointer}
.shop-item{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
.shop-item strong{font-family:var(--font-display)}
.shop-item button{grid-column:1/-1;justify-self:start;border:0;background:none;color:var(--gold-dim);cursor:pointer;padding:0}
.shop-empty{
  min-height: calc(100vh - 190px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--ink-soft);
  text-align: center;
  padding: 36px 10px 64px;
}
.shop-empty-icon{
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(255,255,255,.68), rgba(246,237,225,.45));
  border: 1px solid rgba(194,151,83,.34);
  box-shadow: 0 18px 34px -28px rgba(44,35,29,.55);
}
.shop-empty-icon svg{
  width: 54px;
  height: 54px;
  fill: none;
  stroke: var(--gold-dim);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.shop-empty-bag svg{
  width: 48px;
  height: 48px;
  fill: var(--gold-dim);
  stroke: none;
}
.shop-empty-kicker{ margin: 0; color: var(--gold-dim); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.shop-empty h3{ margin: 0; max-width: 13ch; font-size: 1.55rem; line-height: 1.12; color: var(--ink); }
.shop-empty p:not(.shop-empty-kicker){ margin: 0; max-width: 28ch; font-size: .95rem; line-height: 1.65; }
.shop-empty-cta{ margin-top: 8px; min-width: 210px; justify-content: center; }
.shop-checkout{margin-top:24px;width:100%}
@media (max-width:920px){.header-action-label{display:none}.header-action{padding:9px 10px}.nav-cta{margin-top:18px}.main-nav .nav-cta{width:100%;justify-content:flex-end}.main-nav .nav-cta .header-action{flex:1;justify-content:center}}

/* Header actions: icons only */
.header-action{
  border:0;
  background:transparent;
  padding:7px;
  font-size:1.2rem;
  line-height:1;
  box-shadow:none;
}
.header-action:hover{
  background:transparent;
  color:var(--gold-dim);
  transform:scale(1.12);
}
.header-action-label,
.header-count{display:none}

/* Wishlist size and item counters */
.wishlist-trigger > span[aria-hidden="true"]{font-size:1.55rem;line-height:1}
.header-count{
  display:inline-flex;
  position:absolute;
  top:-3px;
  right:-5px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border:2px solid var(--paper);
  border-radius:50%;
  background:var(--gold);
  color:var(--ink);
  align-items:center;
  justify-content:center;
  font-size:.62rem;
  font-weight:600;
  line-height:1;
}

.logo-image{display:block;width:clamp(150px,13vw,205px);height:auto;max-height:62px;object-fit:contain}
.logo{gap:0}
@media (max-width:920px){.logo-image{width:155px;max-height:52px}}
.logo-image{display:block;width:clamp(150px,13vw,205px);height:auto;max-height:62px;object-fit:contain}.logo{gap:0}@media (max-width:920px){.logo-image{width:155px;max-height:52px}}
@media (min-width:921px){
  .nav-row{position:relative}
  .main-nav{flex:1;justify-content:center}
  .main-nav > ul{justify-content:center}
  .main-nav > .nav-cta{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}

@media (min-width:921px){
  .main-nav > ul{transform:translateX(-72px)}
}

@media (min-width:921px){
  .main-nav > .nav-cta{position:static;transform:none}
}

@media (min-width:921px){
  .hero-inner{padding-bottom:145px}
}

@media (min-width:921px){
  .hero-inner{padding-bottom:210px}
}

.hero-image-carousel{
  position:absolute;
  right:6%;
  top:12%;
  width:min(38vw,460px);
  aspect-ratio: .88;
  overflow:hidden;
  border-radius:30px;
  background:var(--paper-alt);
  box-shadow:0 28px 55px -30px rgba(44,35,29,.4);
}
.hero-carousel-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  animation:heroImageSwap 12s ease-in-out infinite;
}
.hero-carousel-image:first-child{animation-delay:0s}
.hero-carousel-image:last-child{animation-delay:6s}
@keyframes heroImageSwap{
  0%,42%{opacity:1}
  50%,92%{opacity:0}
  100%{opacity:1}
}
@media (max-width:920px){
  .hero-image-carousel{right:6%;top:12%;width:min(42vw,280px);border-radius:22px}
}
@media (prefers-reduced-motion:reduce){
  .hero-carousel-image{animation:none}
  .hero-carousel-image:last-child{display:none}
}

@media (min-width:921px){
  .hero-image-carousel{
    right:12%;
    top:21%;
    width:min(32vw,380px);
  }
}

@media (min-width:921px){
  .hero-image-carousel{
    top:28%;
    border-radius:0 30px 0 30px;
    box-shadow:18px 28px 48px -22px rgba(44,35,29,.48),0 10px 24px -18px rgba(198,154,86,.3);
  }
}

@media (min-width:921px){
  .hero-image-carousel{top:32%}
}

.logo{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  min-width:190px;
  color:var(--gold-dim);
}
.logo .brand-name{
  font-family:var(--font-display);
  font-size:1.62rem;
  font-style:normal;
  font-weight:500;
  line-height:.95;
  letter-spacing:.015em;
  color:var(--gold-dim);
}
.logo .brand-subtitle{
  display:block;
  margin:5px 0 0;
  font-family:var(--font-body);
  font-size:.5rem;
  font-style:normal;
  font-weight:600;
  line-height:1;
  letter-spacing:.42em;
  text-indent:.42em;
  color:var(--gold-dim);
}
@media (max-width:920px){
  .logo{min-width:155px}
  .logo .brand-name{font-size:1.35rem}
  .logo .brand-subtitle{font-size:.42rem;letter-spacing:.3em;text-indent:.3em}
}

.logo .brand-subtitle{
  font-size:.48rem;
  letter-spacing:.58em;
  text-indent:.58em;
  white-space:nowrap;
}
@media (max-width:920px){
  .logo .brand-subtitle{
    font-size:.4rem;
    letter-spacing:.42em;
    text-indent:.42em;
  }
}

.product-image{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.product-link{color:inherit;text-decoration:none}
.aroma-picker{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--ink-soft);font-size:.76rem}
.aroma-select,.detail-aroma{border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:7px 12px;font:inherit;font-size:.76rem;min-width:0}
.product-detail{padding:170px 0 110px}
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);gap:clamp(42px,7vw,100px);align-items:start}
.product-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;min-height:460px}
.product-gallery img,.detail-fallback{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:top center;border-radius:0 30px 0 30px;background:var(--paper-alt);box-shadow:18px 24px 45px -28px rgba(44,35,29,.45)}
.product-gallery img:only-child{grid-column:1/-1}
.product-gallery img:nth-child(3){grid-column:1/-1;height:210px;min-height:210px}
.detail-fallback{display:flex;align-items:center;justify-content:center;padding:30px}
.detail-fallback svg{width:55%;height:80%}
.product-detail-copy h1{font-size:clamp(2.5rem,5vw,4.6rem);margin:14px 0}
.product-detail-notes{color:var(--ink-soft);font-size:1.05rem;max-width:42ch}
.product-detail-price{font-family:var(--font-display);font-size:1.5rem;margin:24px 0}
.detail-aroma-label{display:block;color:var(--ink-soft);font-size:.8rem;margin-bottom:7px}
.detail-aroma{width:100%;padding:13px 16px;font-size:.9rem}
.detail-add-btn{margin-top:20px;width:100%}
.back-link{display:block;margin-top:20px;color:var(--gold-dim);font-size:.85rem}
@media (max-width:920px){.product-detail{padding:145px 0 80px}.product-detail-grid{grid-template-columns:1fr;gap:35px}.product-gallery{min-height:340px}.product-gallery img,.detail-fallback{min-height:340px}.product-gallery img:nth-child(3){min-height:150px;height:150px}}

@media (min-width:921px){
  .nav-item:hover > .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
}

.product-body .notes{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:3.9em;
}

.card-actions{display:flex;align-items:center;gap:8px}
.view-product-btn{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.72rem;text-decoration:none;white-space:nowrap;transition:background .25s ease,color .25s ease}
.view-product-btn:hover{background:var(--ink);color:var(--paper)}
.add-btn{cursor:pointer}
.add-btn span{font-size:1rem}
.aroma-select.needs-selection{border-color:#b86b78;box-shadow:0 0 0 3px rgba(184,107,120,.14)}
.product-media{padding:0}.product-media .product-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.product-media .tag,.product-media .favorite-btn{z-index:3}.shop-toast{position:fixed;z-index:300;right:24px;bottom:24px;max-width:min(360px,calc(100vw - 48px));padding:14px 18px;border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:0 18px 35px -18px rgba(44,35,29,.55);font-size:.84rem;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.shop-toast.is-visible{opacity:1;transform:translateY(0)}
.product-image-link{position:absolute;inset:0;z-index:1;display:block}
.product-image-link img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.product-image-link svg{display:block;width:62%;height:100%;margin:auto}
.product-media .tag,.product-media .favorite-btn{z-index:3}

.product-detail-tag{display:inline-block;position:static;margin:0 0 10px;padding:7px 12px;border:1px solid rgba(181,137,62,.28);border-radius:999px;background:rgba(255,255,255,.78);color:var(--gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.product-detail-tag::before{display:none}


/* Sticky information sub-navigation */
.info-tabs{position:sticky;top:74px;z-index:40;margin:0 -1px 8px;padding:8px 1px 14px;background:rgba(250,245,236,.94);backdrop-filter:blur(8px);border-bottom:0}



.footer-anpc a:hover img{transform:none;box-shadow:none}


.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success.form-error{color:#9b3f35;background:rgba(155,63,53,.08);border-color:rgba(155,63,53,.25)}


.product-weight,.product-detail-weight{margin:7px 0;color:var(--ink-soft);font-size:.78rem;letter-spacing:.04em}.product-detail-weight{margin:8px 0 0;font-size:.9rem}


.shop-item-info{display:flex;flex-direction:column;gap:3px;min-width:0}.shop-item-meta{display:block;font-size:.74rem;color:var(--gold-dim);font-weight:400;line-height:1.3}.shop-item-meta:empty{display:none}


/* Shorter product card media */
.product-media{aspect-ratio:1/1}


.product-card{align-self:start}


.detail-gallery-main{width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--paper-alt);border-radius:0 30px 0 30px;box-shadow:18px 24px 45px -28px rgba(44,35,29,.45)}.detail-main-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.detail-gallery-thumbs{display:flex;gap:12px;margin-top:14px}.detail-gallery-thumb{width:76px;height:76px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);cursor:pointer;opacity:.68;transition:opacity .2s,border-color .2s}.detail-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.detail-gallery-thumb:hover,.detail-gallery-thumb.is-selected{opacity:1;border-color:var(--gold)}


.product-gallery{display:block;min-height:0}.detail-gallery-main{width:100%;max-width:100%}.detail-gallery-thumbs{width:100%;display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:14px}


.detail-gallery-main .detail-main-image{min-height:0!important;height:100%!important;object-position:top center!important}.detail-gallery-thumb img{min-height:0!important;height:100%!important;object-position:top center!important}


.detail-gallery-thumbs{justify-content:center}.detail-gallery-thumb{border:0;background:transparent;box-shadow:none;opacity:.75}.detail-gallery-thumb:hover,.detail-gallery-thumb.is-selected{border:0;background:transparent;box-shadow:none;opacity:1}


.detail-gallery-thumb.is-selected{opacity:1;filter:none}


.aroma-select,.detail-aroma{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b5547' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E" );background-repeat:no-repeat;background-position:calc(100% - 22px) center;background-size:12px 8px}


.header-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:currentColor}.header-icon svg{display:block;width:24px;height:24px}.cart-trigger .header-icon svg{width:23px;height:23px}


.related-products{padding:0 0 110px;background:var(--paper)}.related-products h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);margin:0 0 28px}.related-products .eyebrow{margin-bottom:10px}.related-products .product-grid{margin-top:0}



/* Related products spacing */
.product-detail{padding-bottom:22px}.related-products{padding-top:0}


.detail-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}.detail-add-btn.is-added{background:var(--gold-light);transform:scale(.99)}.detail-add-btn .add-confirm{font-size:1.05em;line-height:1}

.shop-checkout{display:flex;align-items:center;justify-content:center;text-align:center}

.checkout-page{padding:150px 0 100px;background:radial-gradient(ellipse 90% 55% at 50% 0%,rgba(239,217,210,.52),var(--paper) 68%)}.checkout-heading{max-width:650px;margin-bottom:42px}.checkout-heading h1{font-family:var(--font-display);font-size:clamp(2.7rem,6vw,5rem);line-height:.98;margin:12px 0 18px}.checkout-heading>p:last-child{color:var(--ink-soft);font-size:1.05rem}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr);gap:56px;align-items:start}.checkout-section{padding:28px 0;border-top:1px solid var(--line)}.checkout-section h2,.checkout-summary h2{font-family:var(--font-display);font-size:1.75rem;margin:0 0 22px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-fields label{display:flex;flex-direction:column;gap:7px;color:var(--ink-soft);font-size:.82rem}.checkout-fields label:nth-child(1),.checkout-fields label:nth-child(2),.checkout-fields label:nth-child(6){grid-column:1/-1}.checkout-fields input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.35);font:inherit;color:var(--ink)}.shipping-options{display:grid;gap:10px}.shipping-option,.payment-option{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:3px;cursor:pointer}.shipping-option:has(input:checked),.payment-option:has(input:checked){border-color:var(--gold);background:rgba(198,154,86,.09)}.shipping-option input,.payment-option input{accent-color:var(--gold)}.shipping-option span,.payment-option span{display:flex;flex:1;flex-direction:column;gap:4px}.shipping-option small,.payment-option small{color:var(--ink-soft);font-size:.78rem}.shipping-option>b{font-size:.82rem}.shipping-note{margin:13px 0 0;color:var(--gold-dim);font-size:.78rem}.checkout-consent{display:flex;gap:10px;align-items:flex-start;margin:25px 0;color:var(--ink-soft);font-size:.82rem;line-height:1.5}.checkout-consent input{margin-top:4px;accent-color:var(--gold)}.checkout-consent a{color:var(--ink);text-decoration:underline}.checkout-submit{width:100%;display:flex;justify-content:center;text-align:center}.checkout-summary{position:sticky;top:110px;padding:28px;background:rgba(255,255,255,.45);border:1px solid var(--line)}.checkout-summary h2{margin-bottom:20px}.checkout-item{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.86rem}.checkout-item div{display:flex;flex-direction:column;gap:5px}.checkout-item small{color:var(--ink-soft);font-size:.75rem}.checkout-item>span{white-space:nowrap}.summary-line,.summary-total{display:flex;justify-content:space-between;gap:15px;padding-top:16px;font-size:.88rem}.summary-total{margin-top:16px;padding-top:18px;border-top:1px solid var(--ink);font-family:var(--font-display);font-size:1.35rem}.checkout-empty{color:var(--ink-soft);font-size:.9rem}.checkout-message{display:none;margin:18px 0 0;color:#557047;font-size:.9rem}.checkout-message.is-visible{display:block}@media(max-width:920px){.checkout-page{padding:130px 0 70px}.checkout-layout{grid-template-columns:1fr;gap:30px}.checkout-summary{position:static;order:-1}.checkout-fields{grid-template-columns:1fr}.checkout-fields label:nth-child(n){grid-column:auto}}
.checkout-message.is-success{color:#557047}.checkout-message.is-error{color:#9b4b3c}
.checkout-popup{
  position: fixed;
  inset: 0;
  z-index: 700;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(44,35,29,.28);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .25s ease;
}
.checkout-popup.is-visible{ opacity: 1; }
.checkout-popup-card{
  width: min(420px, 100%);
  padding: 34px 30px 30px;
  background: var(--paper);
  border: 1px solid rgba(198,154,86,.38);
  box-shadow: 0 26px 70px -32px rgba(44,35,29,.58);
  text-align: center;
  transform: translateY(8px) scale(.98);
  animation: checkoutPopupIn .35s var(--ease) forwards;
}
.checkout-popup-icon{
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(85,112,71,.1);
  color: #557047;
}
.checkout-popup-icon svg{ width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.checkout-popup-card h2{ margin: 0 0 9px; font-family: var(--font-display); font-size: 1.9rem; color: var(--ink); }
.checkout-popup-card p{ margin: 0 auto; max-width: 30ch; color: var(--ink-soft); font-size: .92rem; line-height: 1.55; }
@keyframes checkoutPopupIn{ to{ transform: translateY(0) scale(1); } }


.checkout-fields select{width:100%;padding:13px 42px 13px 14px;border:1px solid var(--line);border-radius:3px;background-color:rgba(255,255,255,.35);background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27 fill=%27none%27 stroke=%27%236e5b4c%27 stroke-width=%271.5%27%3E%3Cpath d=%27m1 1 5 5 5-5%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;font:inherit;color:var(--ink);appearance:none}.checkout-fields textarea{width:100%;min-height:132px;resize:vertical;padding:13px 14px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.35);font:inherit;color:var(--ink)}.checkout-fields .address-field{grid-column:1/-1}
/* Index hero image treatment */
body#top .hero-image-carousel{right:13%;top:28%;width:min(38.4vw,456px);overflow:visible;background:transparent}
body#top .hero-carousel-image{opacity:1;animation:none;border-radius:0 30px 0 30px;box-shadow:18px 28px 48px -22px rgba(44,35,29,.48),0 10px 24px -18px rgba(198,154,86,.3)}
.hero-stat{position:absolute;z-index:3;width:128px;min-height:128px;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;border-radius:18px;background:linear-gradient(145deg,#b98635,#efd18e);color:#2c231d;box-shadow:0 16px 28px -18px rgba(82,57,22,.55);text-align:center}
.hero-stat strong{font-family:var(--font-display);font-size:2.1rem;line-height:1}.hero-stat small{margin-top:8px;font-size:.62rem;line-height:1.35;letter-spacing:.1em}.hero-stat-top{top:10px;right:-56px}.hero-stat-bottom{bottom:10px;left:-56px}
@media (max-width:920px){body#top .hero-image-carousel{display:block;right:10%;top:18%;width:min(62vw,320px)}.hero-stat{width:96px;min-height:96px;padding:14px 10px;border-radius:14px}.hero-stat strong{font-size:1.5rem}.hero-stat small{font-size:.5rem}.hero-stat-top{right:-28px}.hero-stat-bottom{left:-28px}}
.home-compact-section{padding-top:42px}

#recomandate{padding-top:18px}

#categorii{padding-bottom:18px}
#recomandate{padding-top:20px}

#cele-mai-vandute,#categorii,#recomandate{padding-bottom:42px}

#recenzii{padding-bottom:42px}

.product-media .tag.unavailable{background:#a83232;color:#fff;border-color:#a83232}.product-card.is-unavailable .add-btn,.detail-add-btn.unavailable{background:#a83232!important;color:#fff!important;cursor:not-allowed;opacity:.9}.product-card.is-unavailable .add-btn:hover{transform:none}

.product-card.is-unavailable .add-btn{padding:0;line-height:1}.product-card.is-unavailable .add-btn span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}

.favorite-btn.is-active{background:#a83232!important;color:#fff!important;border-color:#a83232!important}

.review-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 18px}.review-carousel::-webkit-scrollbar{display:none}.review-carousel .testi{flex:0 0 min(288px,68vw);scroll-snap-align:start}.review-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.review-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer}.review-controls button:hover{background:var(--gold);border-color:var(--gold)}.review-card-stars{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.1em;margin-top:5px}.review-submit{max-width:680px;margin:34px auto 0;padding:26px;background:rgba(255,255,255,.48);border:1px solid var(--line)}.review-submit h3{font-size:1.35rem;margin-bottom:16px}.review-submit-form{display:grid;gap:12px}.review-submit-form input,.review-submit-form textarea,.review-submit-form select{width:100%;padding:12px;border:1px solid var(--line);background:rgba(255,255,255,.75);font:inherit;color:var(--ink)}.review-submit-form .form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-submit-form .form-two input{min-width:0}.review-submit-message{display:none;color:#557047;font-size:.86rem;text-align:center}.review-submit-message.is-visible{display:block}.review-submit-message.form-error{color:#9b4b3c}@media(max-width:600px){.review-submit-form .form-two{grid-template-columns:1fr}}

.review-submit-form button[type="submit"]{justify-content:center;text-align:center}

.review-carousel .testi{padding:20px 18px}.review-carousel .testi p{font-size:1rem}.review-carousel .testi .who{margin-top:12px}

.review-carousel-wrap{position:relative}.review-carousel-wrap .review-carousel{padding-left:54px;padding-right:54px}.review-carousel-wrap .review-controls{position:absolute;inset:50% 0 auto;transform:translateY(-50%);z-index:4;display:flex;justify-content:space-between;pointer-events:none;margin:0}.review-carousel-wrap .review-controls button{pointer-events:auto;background:var(--card);box-shadow:0 6px 18px -10px rgba(44,35,29,.45)}

.review-carousel-wrap .review-controls{top:50%;left:-24px;right:-24px;bottom:auto;inset-block-end:auto;transform:translateY(-50%)}

.cookie-consent{position:fixed;z-index:500;left:24px;right:24px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:var(--card);border:1px solid var(--line);box-shadow:0 18px 45px -24px rgba(44,35,29,.5);transition:opacity .3s ease,transform .3s ease}.cookie-consent.is-hidden{opacity:0;transform:translateY(20px)}.cookie-consent-copy{max-width:760px}.cookie-consent-copy strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.05rem}.cookie-consent-copy p{margin:4px 0 0;color:var(--ink-soft);font-size:.8rem;line-height:1.45}.cookie-consent-copy a{color:var(--gold-dim);text-decoration:underline}.cookie-consent-actions{display:flex;gap:10px;flex-shrink:0}.cookie-consent-actions button{padding:10px 18px;border:1px solid var(--ink);border-radius:999px;font:inherit;cursor:pointer}.cookie-consent-actions .cookie-refuse{background:transparent;color:var(--ink)}.cookie-consent-actions .cookie-accept{background:var(--ink);color:var(--paper)}@media(max-width:680px){.cookie-consent{left:12px;right:12px;bottom:12px;align-items:stretch;flex-direction:column;gap:14px}.cookie-consent-actions{justify-content:flex-end}}

.cookie-consent{left:50%;right:auto;bottom:16px;width:min(760px,calc(100% - 28px));padding:12px 16px;gap:16px;border-radius:10px;transform:translateX(-50%)}.cookie-consent.is-hidden{transform:translate(-50%,20px)}.cookie-consent-copy strong{font-size:.92rem}.cookie-consent-copy p{font-size:.72rem;margin-top:2px}.cookie-consent-actions{gap:7px}.cookie-consent-actions button{padding:7px 13px;font-size:.75rem}@media(max-width:680px){.cookie-consent{left:50%;right:auto;bottom:10px;width:calc(100% - 20px);padding:12px 14px;gap:10px}}

.newsletter-popup{position:fixed;inset:0;z-index:450;display:grid;place-items:center;padding:20px;background:rgba(44,35,29,.28);backdrop-filter:blur(3px);opacity:1;transition:opacity .3s ease}.newsletter-popup.is-hidden{opacity:0}.newsletter-popup-card{position:relative;width:min(440px,100%);padding:38px 34px 32px;background:var(--paper);border:1px solid rgba(198,154,86,.4);box-shadow:0 25px 70px -28px rgba(44,35,29,.5);text-align:center}.newsletter-popup-card .eyebrow{justify-content:center}.newsletter-popup-card h2{margin:12px auto 10px;font-size:clamp(1.7rem,4vw,2.35rem)}.newsletter-popup-card>p:not(.eyebrow){margin:0 auto 22px;color:var(--ink-soft);font-size:.9rem;max-width:34ch}.newsletter-popup-close{position:absolute;top:10px;right:12px;width:30px;height:30px;border:0;background:transparent;color:var(--ink-soft);font-size:1.5rem;line-height:1;cursor:pointer}.newsletter-popup-close:hover{color:var(--ink)}.newsletter-popup-form{display:grid;gap:10px}.newsletter-popup-form input{width:100%;padding:13px 15px;border:1px solid var(--line);background:var(--card);font:inherit;color:var(--ink)}.newsletter-popup-form button{padding:13px;border:0;background:var(--ink);color:var(--paper);font:inherit;cursor:pointer}.newsletter-popup-form button:disabled{opacity:.65;cursor:wait}.newsletter-popup-message{display:none;color:#557047;font-size:.8rem}.newsletter-popup-message.is-visible{display:block}.newsletter-popup-message.form-error{color:#9b4b3c}@media(max-width:560px){.newsletter-popup-card{padding:34px 22px 24px}}

.contact-popup{position:fixed;inset:0;z-index:720;display:grid;place-items:center;padding:20px;background:rgba(44,35,29,.28);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s ease}.contact-popup.is-visible{opacity:1}.contact-popup-card{width:min(420px,100%);padding:34px 30px 30px;background:var(--paper);border:1px solid rgba(198,154,86,.38);box-shadow:0 25px 70px -28px rgba(44,35,29,.5);text-align:center;transform:translateY(8px) scale(.98);animation:checkoutPopupIn .35s var(--ease) forwards}.contact-popup-card .checkout-popup-icon{margin:0 auto 18px}.contact-popup-card h2{margin:0 0 9px;font-family:var(--font-display);font-size:1.9rem;color:var(--ink)}.contact-popup-card p{margin:0 auto;max-width:32ch;color:var(--ink-soft);font-size:.92rem;line-height:1.55}
.soy-benefits-section{padding:0 0 58px;background:var(--paper);margin-top:-62px}.soy-benefits{max-width:980px;margin:0 auto;padding:6px 0 30px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.62fr);gap:clamp(30px,6vw,72px);align-items:start}.soy-benefits .eyebrow{margin-bottom:10px}.soy-benefits h2{margin:0 0 18px;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.05;color:var(--ink)}.soy-benefits ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:var(--ink-soft)}.soy-benefits li{position:relative;padding-left:18px;font-size:.95rem;line-height:1.55}.soy-benefits li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}.soy-benefits-side{padding-top:4px}.soy-benefits-side h3{margin:0 0 12px;font-family:var(--font-display);font-size:1.28rem;color:var(--ink)}.soy-benefits-side p{margin:0 0 13px;color:var(--ink-soft);font-size:.94rem;line-height:1.7}.soy-benefits-side strong{color:var(--ink);font-weight:500}.soy-badges{display:grid;gap:7px;margin-top:18px;color:var(--gold-dim);font-size:.78rem;font-weight:600;letter-spacing:.03em}.soy-badges span{display:block}.soy-badges span::before{content:"";display:inline-block;width:5px;height:5px;margin:0 9px 2px 0;border-radius:50%;background:rgba(140,101,48,.5)}@media(max-width:820px){.soy-benefits{grid-template-columns:1fr;padding:28px 0;gap:24px}}
/* Mobile header actions: cart and wishlist stay outside the drawer */
@media (max-width: 920px){
  .nav-row{ gap: 8px; }
  .nav-row > .logo{
    flex: 1 1 auto;
    min-width: 0;
    align-items: flex-start;
    text-align: left;
  }
  .nav-row > .nav-cta{
    order: 2;
    flex: 0 0 auto;
    gap: 2px;
    margin: 0;
  }
  .nav-row > .nav-cta .header-action{
    flex: 0 0 auto;
    padding: 5px;
  }
  .nav-row > .nav-toggle{
    order: 3;
    flex: 0 0 40px;
    margin-left: 8px;
  }
}
@media (max-width: 360px){
  .nav-row > .logo .brand-name{ font-size: 1.18rem; }
  .nav-row > .logo .brand-subtitle{
    font-size: .34rem;
    letter-spacing: .32em;
    text-indent: .32em;
  }
}
/* Mobile footer: center all content horizontally */
@media (max-width: 640px){
  .site-footer{ text-align: center; }
  .footer-grid{ justify-items: center; }
  .footer-brand,
  .footer-col{
    width: 100%;
    text-align: center;
  }
  .footer-brand p,
  .footer-newsletter-text{
    margin-left: auto;
    margin-right: auto;
  }
  .footer-newsletter .newsletter-form{
    margin-left: auto;
    margin-right: auto;
    align-items: center;
  }
  .footer-newsletter .newsletter-form .btn{ align-self: center; }
  .footer-col ul{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-anpc{
    width: 100%;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-anpc a{
    width: min(205px, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .footer-anpc img{
    width: 100%;
    max-width: 205px;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-bottom{
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  .footer-socials{ justify-content: center; }
}
/* Mobile pill navigation: center wrapped rows */
@media (max-width: 640px){
  .cat-subnav ul,
  .info-tabs{
    justify-content: center;
  }
}
/* Mobile page heroes: consistent 70 percent spacing reduction */
@media (max-width: 640px){
  .mobile-compact-page-hero{
    padding-top: 115px;
    padding-bottom: 28px;
  }
  .mobile-compact-page-hero + .contact-section,
  .mobile-compact-page-hero + .info-section,
  .mobile-compact-page-hero + .cat-subnav{
    padding-top: 0;
  }
}
/* Mobile collections: 40 percent less space below category buttons */
@media (max-width: 640px){
  .cat-subnav + .category-block{ padding-top: 51px; }
}
/* Mobile homepage: two products and two categories per row */
@media (max-width: 640px){
  #cele-mai-vandute .product-grid,
  #recomandate .product-grid,
  #categorii .cat-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #cele-mai-vandute .product-body,
  #recomandate .product-body{
    padding: 14px 12px 16px;
  }
  #cele-mai-vandute .product-body h3,
  #recomandate .product-body h3{
    min-height: 2.25em;
    font-size: .98rem;
    line-height: 1.12;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #cele-mai-vandute .product-body .notes,
  #recomandate .product-body .notes{
    min-height: 3.15em;
    font-size: .74rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  #cele-mai-vandute .aroma-picker,
  #recomandate .aroma-picker{
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    font-size: .7rem;
  }
  #cele-mai-vandute .aroma-select,
  #recomandate .aroma-select{
    width: 100%;
    min-height: 36px;
    padding: 6px 28px 6px 9px;
    background-position: calc(100% - 10px) center;
    font-size: .68rem;
  }
  #cele-mai-vandute .product-foot,
  #recomandate .product-foot{
    gap: 8px;
    margin-top: 12px;
  }
  #cele-mai-vandute .price,
  #recomandate .price{ font-size: 1rem; }
  #cele-mai-vandute .view-product-btn,
  #recomandate .view-product-btn{ display: none; }
  #cele-mai-vandute .add-btn,
  #recomandate .add-btn{
    width: 36px;
    height: 36px;
  }
  #cele-mai-vandute .product-media .tag,
  #recomandate .product-media .tag{
    top: 8px;
    left: 8px;
    max-width: calc(100% - 52px);
    padding: 5px 7px;
    overflow: hidden;
    font-size: .55rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #cele-mai-vandute .favorite-btn,
  #recomandate .favorite-btn{
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
  }
  #categorii .cat-card{
    min-height: 200px;
    padding: 22px 16px;
  }
  #categorii .cat-card h3{ font-size: 1.08rem; }
  #categorii .cat-card p{
    font-size: .76rem;
    line-height: 1.45;
  }
  #categorii .cat-card .cat-arrow{
    gap: 5px;
    font-size: .74rem;
  }
}
/* Mobile homepage hero: centered image, separated copy and compact actions */
@media (max-width: 640px){
  body#top .hero{
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  body#top .hero-image-carousel{
    position: relative;
    order: 1;
    top: auto;
    right: auto;
    width: min(72vw, 280px);
    margin: 96px auto 0;
  }
  body#top .hero-inner{
    order: 2;
    padding-top: 28px;
    padding-bottom: 58px;
  }
  body#top .hero-actions{
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 28px;
  }
  body#top .hero-actions .btn{
    flex: 1 1 0;
    min-width: 0;
    min-height: 42px;
    padding: 10px 8px;
    justify-content: center;
    font-size: .72rem;
    white-space: nowrap;
  }
}

/* Mobile checkout: match the compact page heading top spacing */
@media (max-width: 640px){
  .checkout-page{ padding-top: 105px; }
}

/* Interactive elements: remove the browser blue tap flash on touch */
a,
button,
[role="button"],
label{
  -webkit-tap-highlight-color: transparent;
}
