/* ==========================================================================
   DreamSeed — combined stylesheet (dreamseed-new-design.css)
   Built from: hero + filmstrip + steps + value + faq + map + footer + header + quiz.
   Section order preserved from the original <head> so the cascade is identical.
   Source files remain in /theme/css/ (kept, no longer linked separately).
   ========================================================================== */

/* =============================================================
   dreamseed-hero.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — Hero block
   All rules are scoped to #dzHero so they never affect the rest
   of the site (Bootstrap / existing theme stay untouched).
   ============================================================ */
:root{
    --night: #FFFDF7;
    --night-deep: #FBF5E5;
    --night-mid: #FFFFFF;
    --paper: #1E2729;
    --coral: #3A595F;
    --coral-dim: #263844;
    /* Dark fills: mountain gray-blue from bonsai skies (shifted from charcoal-teal) */
    --dz-night-fill: #1C2B38;
    --gold: #C9A257;
    --leaf: #68929B;
    --ink-soft: #3F5054;
    --ink-faint: #647376;
    --serif: 'Fraunces', serif;
    --sans: 'Work Sans', sans-serif;
}

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

  body{
    background: radial-gradient(ellipse 140% 90% at 78% 18%, #FFFFFF 0%, var(--night) 45%, var(--night-deep) 100%);
    color: var(--paper);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
#dzHero{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-paper:      #1E2729;
  --dz-coral:      #3A595F;
  --dz-gold:       #C9A257;
  --dz-leaf:       #68929B;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse 140% 90% at 78% 18%, #FFFFFF 0%, var(--dz-night) 45%, var(--dz-night-deep) 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

#dzHero *{ box-sizing: border-box; }
#dzHero p{ margin: 0; }
#dzHero a{ text-decoration: none; }

#dzHero .dz-hero__inner{
  display: grid;
  grid-template-columns: minmax(300px, 560px) 1fr;
  align-items: center;
  min-height: 62vh;
  max-width: 1200px;
  margin: 0 auto;
  padding: 44px 52px 52px;
  position: relative;
}

/* ---------- text column ---------- */
#dzHero .dz-hero__text{
  position: relative;
  z-index: 4;
  padding-right: 24px;
  min-width: 0;
}
#dzHero h1{
  font-family: var(--dz-serif);
  font-weight: 800;
  font-size: clamp(2.6rem, 5.6vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.01em;
  color: var(--dz-paper);
  margin: 0;
}
#dzHero h1 .dz-hero__q2{
  display: block;
  font-weight: 400;
  font-style: italic;
  font-size: 0.42em;
  color: var(--dz-ink-soft);
  margin-top: 14px;
  line-height: 1.35;
}
#dzHero .dz-hero__explainer{
  margin-top: 30px;
  font-size: 1.08rem;
  line-height: 1.65;
  color: var(--dz-ink-soft);
  max-width: 420px;
}
#dzHero .dz-hero__explainer strong{ color: var(--dz-gold); font-weight: 600; }
#dzHero .dz-hero__reinforce{
  margin-top: 26px;
  display: block;
  width: 100%;
  max-width: 36rem;
}
#dzHero .dz-hero__cta{
  margin-top: 38px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

/* ---------- buttons ---------- */
#dzHero .dz-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#dzHero .dz-btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  padding: 15px 22px;
  border-radius: 999px;
  gap: 10px;
  white-space: nowrap;
  box-shadow: 0 16px 30px -10px rgba(217,161,85,0.5);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
#dzHero .dz-btn--primary:hover{
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 20px 34px -10px rgba(217,161,85,0.6);
}
#dzHero .dz-btn--primary:focus-visible{ outline: 2px solid var(--dz-coral); outline-offset: 3px; }
#dzHero .dz-btn--secondary{
  background: rgba(30,39,41,0.04);
  border: 1.5px solid rgba(63,80,84,0.4);
  color: var(--dz-ink-soft);
  font-size: 0.85rem;
  font-weight: 500;
  padding: 15px 18px;
  white-space: nowrap;
  border-radius: 999px;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
#dzHero .dz-btn--secondary:hover{
  color: var(--dz-paper);
  border-color: var(--dz-paper);
  background: rgba(30,39,41,0.08);
}
#dzHero .dz-btn--secondary:focus-visible{ outline: 2px solid var(--dz-gold); outline-offset: 3px; }

/* ---------- tree / video column ---------- */
#dzHero .dz-hero__stage{
  position: relative;
  height: 62vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
#dzHero .dz-hero__photo-wrap{
  position: relative;
  height: 82%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(4%);
}
#dzHero .dz-hero__photo-glow{
  position: absolute;
  width: 78%;
  aspect-ratio: 1;
  left: 50%;
  top: 28%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(227,168,87,0.4) 0%, rgba(232,87,123,0.18) 45%, transparent 72%);
  filter: blur(30px);
  z-index: 1;
}
#dzHero .dz-hero__media{
  position: relative;
  z-index: 2;
  width: 86%;
  max-width: 480px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 30px 60px -14px rgba(0,0,0,0.5);
}
#dzHero .dz-hero__video{
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  object-fit: cover;
  box-shadow: none;
}
#dzHero .dz-hero__ground-glow{
  position: absolute;
  bottom: 4%;
  left: 50%;
  transform: translateX(-50%);
  width: 55%;
  height: 26px;
  background: radial-gradient(ellipse, rgba(227,168,87,0.45) 0%, transparent 75%);
  filter: blur(10px);
  z-index: 1;
}

/* ---------- entrance animation (namespaced keyframes) ---------- */
@keyframes dzRise{
  from{ opacity: 0; transform: translateY(16px); }
  to{ opacity: 1; transform: translateY(0); }
}
@keyframes dzFadeIn{
  from{ opacity: 0; }
  to{ opacity: 1; }
}
#dzHero .dz-hero__text > *{ opacity: 0; animation: dzRise 0.75s ease forwards; }
#dzHero .dz-hero__text h1{ animation-delay: 0.05s; }
#dzHero .dz-hero__text .dz-hero__explainer{ animation-delay: 0.2s; }
#dzHero .dz-hero__text .dz-hero__reinforce{ animation-delay: 0.32s; }
#dzHero .dz-hero__text .dz-hero__cta{ animation-delay: 0.44s; }
#dzHero .dz-hero__stage{ opacity: 0; animation: dzFadeIn 1.2s ease forwards; }

/* ---------- responsive ---------- */
@media (max-width: 920px){
  #dzHero .dz-hero__inner{
    grid-template-columns: 1fr;
    padding: 28px;
    min-height: auto;
}
  #dzHero .dz-hero__stage{
    height: auto;
    padding: 6px 0 18px;
    order: -1;
    margin-top: 6px;
}
  #dzHero .dz-hero__photo-wrap{ height: auto; transform: translateX(0); }
  #dzHero .dz-hero__text{ padding: 14px 0 10px; text-align: center; }
  #dzHero .dz-hero__explainer{ margin-left: auto; margin-right: auto; }
  #dzHero h1{ font-size: clamp(2.1rem, 8vw, 2.8rem); }
  #dzHero .dz-hero__cta{ flex-wrap: wrap; justify-content: center; }
  #dzHero .dz-btn{ max-width: 100%; }

}
@media (max-width: 480px){
  #dzHero .dz-hero__cta{ gap: 8px; }
  #dzHero .dz-btn--primary{ padding: 13px 14px; font-size: 0.78rem; }
  #dzHero .dz-btn--secondary{ padding: 13px 12px; font-size: 0.74rem; }
}
@media (prefers-reduced-motion: reduce){
  #dzHero *{ animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ---------- Hero A/B/C variants ---------- */
#dzHero h1 .dz-hero__q1{ display: block; }
#dzHero.dz-hero--b h1{
  font-size: clamp(2.35rem, 5.1vw, 3.85rem);
  letter-spacing: -0.015em;
}
#dzHero.dz-hero--b h1 .dz-hero__q2{
  font-size: 0.48em;
  margin-top: 16px;
  color: var(--dz-coral);
  font-style: italic;
  font-weight: 500;
}
#dzHero.dz-hero--b .dz-hero__explainer{
  font-size: 1.14rem;
  max-width: 460px;
}
#dzHero.dz-hero--c h1{
  font-size: clamp(2.2rem, 4.8vw, 3.55rem);
  letter-spacing: -0.012em;
}
#dzHero.dz-hero--c h1 .dz-hero__q2{
  font-size: 0.46em;
  margin-top: 14px;
}
#dzHero.dz-hero--c .dz-hero__explainer{
  font-size: 1.05rem;
  max-width: 440px;
}
#dzHero .dz-hero__day{
  position: absolute;
  left: 10px;
  top: 10px;
  right: auto;
  bottom: auto;
  transform: none;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  max-width: calc(100% - 20px);
  box-sizing: border-box;
  padding: 7px 11px 8px;
  border-radius: 10px;
  background: rgba(20, 32, 42, 0.62);
  color: #FFFDF7;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 8px 18px -12px rgba(0,0,0,0.4);
  pointer-events: none;
  animation: dzFadeIn 0.9s ease 0.35s both;
}
#dzHero .dz-hero__day[hidden]{ display: none !important; }
#dzHero .dz-hero__day-kicker{
  font-family: var(--dz-sans);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #E8B86A;
  text-align: left;
  line-height: 1.2;
  text-shadow: 0 1px 3px rgba(0,0,0,0.45);
}
#dzHero .dz-hero__day-value{
  font-family: var(--dz-serif);
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: rgba(255,253,247,0.92);
  display: inline-flex;
  align-items: baseline;
  gap: 0.2em;
  white-space: nowrap;
}
#dzHero .dz-hero__day-value strong{
  font-size: 1.1rem;
  font-variant-numeric: tabular-nums;
  color: #FFFDF7;
  min-width: 2.2ch;
  text-align: center;
}
@media (max-width: 920px){
  #dzHero.dz-hero--b h1{ font-size: clamp(1.95rem, 7.2vw, 2.55rem); }
  #dzHero.dz-hero--c h1{ font-size: clamp(1.85rem, 6.8vw, 2.4rem); }
  #dzHero .dz-hero__media{ border-radius: 22px; }
  #dzHero .dz-hero__day{
    left: 8px;
    top: 8px;
    right: auto;
    bottom: auto;
    transform: none;
    align-items: flex-start;
    gap: 1px;
    padding: 5px 8px 6px;
    border-radius: 8px;
    max-width: calc(100% - 16px);
  }
  #dzHero .dz-hero__day-kicker{
    font-size: 0.62rem;
    font-weight: 700;
    color: #E8B86A;
    text-align: left;
  }
  #dzHero .dz-hero__day-value{ font-size: 0.78rem; }
  #dzHero .dz-hero__day-value strong{ font-size: 0.88rem; }
}

/* =============================================================
   dreamseed-filmstrip.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — "Watch one tree grow" filmstrip block
   Scoped to #dzFilmstrip so it never touches existing styles.
   ============================================================ */

#dzFilmstrip{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-night-mid:  #FFFFFF;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-coral:      #3A595F;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  position: relative;
  z-index: 4;
  display: block;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 55%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  border-top: 1px solid rgba(63,80,84,0.12);
  padding: 24px 0 32px;
  animation: dzFlsRise 0.75s ease both;
}
#dzFilmstrip *{ box-sizing: border-box; }

#dzFilmstrip .dz-fls__label{
  font-size: 0.85rem;
  color: var(--dz-ink-faint);
  padding: 0 52px;
  margin-bottom: 22px;
}
#dzFilmstrip .dz-fls__row{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 52px;
}
#dzFilmstrip .dz-fls__arrow{
  flex: 0 0 40px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(63,80,84,0.3);
  background: rgba(30,39,41,0.04);
  color: var(--dz-ink-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
#dzFilmstrip .dz-fls__arrow:hover{ color: var(--dz-paper); border-color: var(--dz-paper); }
#dzFilmstrip .dz-fls__arrow:focus-visible{ outline: 2px solid var(--dz-gold); outline-offset: 2px; }

#dzFilmstrip .dz-fls__track{
  flex: 1 1 auto;
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-bottom: 4px;
}
#dzFilmstrip .dz-fls__track::-webkit-scrollbar{ display: none; }

#dzFilmstrip .dz-fls__card{ flex: 0 0 190px; scroll-snap-align: start; }
#dzFilmstrip .dz-fls__photo{
  width: 190px; height: 190px;
  border-radius: 18px;
  background: linear-gradient(160deg, var(--dz-night-mid) 0%, var(--dz-night-deep) 100%);
  border: 1px solid rgba(63,80,84,0.12);
  overflow: hidden;
  position: relative;
}
#dzFilmstrip .dz-fls__photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
#dzFilmstrip .dz-fls__meta{ margin-top: 12px; }
#dzFilmstrip .dz-fls__day{
  font-family: var(--dz-serif);
  font-weight: 600;
  font-size: 1rem;
  color: var(--dz-paper);
}
#dzFilmstrip .dz-fls__desc{
  font-size: 0.82rem;
  color: var(--dz-ink-faint);
  margin-top: 2px;
}

@keyframes dzFlsRise{
  from{ opacity: 0; transform: translateY(16px); }
  to{ opacity: 1; transform: translateY(0); }
}

@media (max-width: 920px){
  #dzFilmstrip{ padding: 30px 0 36px; }
  #dzFilmstrip .dz-fls__label{ padding: 0 22px; }
  #dzFilmstrip .dz-fls__row{ padding: 0 12px; }
  #dzFilmstrip .dz-fls__card{ flex-basis: 160px; }
  #dzFilmstrip .dz-fls__photo{ width: 160px; height: 160px; }
}
@media (prefers-reduced-motion: reduce){
  #dzFilmstrip{ animation-duration: 0.01ms !important; }
}

/* =============================================================
   dreamseed-steps.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — "Four steps to materializing your dream"
   Scoped to #dzSteps. Existing theme stays untouched.
   ============================================================ */

#dzSteps{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-night-mid:  #FFFFFF;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-coral:      #3A595F;
  --dz-leaf:       #68929B;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 40%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  padding: 44px 0 48px;
}
#dzSteps *{ box-sizing: border-box; }

#dzSteps .dz-steps__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 52px;
  position: relative;
}

/* ---------- concept intro ---------- */
#dzSteps .dz-steps__concept{
  max-width: 800px;
  margin: 0 auto 32px;
  background: linear-gradient(135deg, rgba(240,199,132,0.24) 0%, rgba(217,161,85,0.16) 100%);
  border: 1px solid rgba(227,168,87,0.35);
  border-radius: 24px;
  padding: 34px 40px;
  text-align: left;
  color: var(--dz-paper);
  font-size: 1.05rem;
  line-height: 1.7;
  box-shadow: 0 20px 40px -20px rgba(227,168,87,0.25);
}
#dzSteps .dz-steps__concept p{ margin: 0; }
#dzSteps .dz-steps__concept p + p{ margin-top: 14px; }
#dzSteps .dz-steps__concept strong{ color: var(--dz-gold); font-weight: 600; }

/* ---------- section head ---------- */
#dzSteps .dz-steps__head{ text-align: center; max-width: 560px; margin: 0 auto 64px; }
#dzSteps .dz-steps__head h2{
  font-family: var(--dz-serif);
  font-weight: 700;
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  line-height: 1.15;
  margin: 0;
  color: var(--dz-paper);
}
#dzSteps .dz-steps__head p{ margin: 14px 0 0; color: var(--dz-ink-soft); font-size: 1.02rem; line-height: 1.6; }

/* ---------- steps grid ---------- */
#dzSteps .dz-steps__grid{ max-width: 1120px; margin: 0 auto; position: relative; }
#dzSteps .dz-steps__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  position: relative;
  padding-top: 26px;
}
#dzSteps .dz-steps__list::before{
  content: "";
  position: absolute;
  left: 5%; right: 5%; top: 9px; height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #EFC17E 0%, #3A595F 100%);
  opacity: 0.55;
}
#dzSteps .dz-steps__tick{
  position: absolute; top: 4px;
  width: 13px; height: 13px; border-radius: 50%;
  background: var(--dz-night);
  border: 2px solid #B87B34;
  transform: translateX(-50%);
  z-index: 1;
}
#dzSteps .dz-steps__tick.t1{ left: 12.5%; }
#dzSteps .dz-steps__tick.t2{ left: 37.5%; border-color: #68929B; }
#dzSteps .dz-steps__tick.t3{ left: 62.5%; border-color: #3A595F; }
#dzSteps .dz-steps__tick.t4{ left: 87.5%; border-color: #1C2B38; }

#dzSteps .dz-steps__marker{
  position: absolute; top: -9px;
  width: 22px; height: 22px; border-radius: 50%;
  background: radial-gradient(circle, #FFF6E4 0%, #EFC17E 100%);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 5px rgba(184,123,52,0.16);
  z-index: 2; left: 5%; margin-left: -11px;
  animation: dzStepTravel 8s ease-in-out infinite alternate, dzStepPulse 1.8s ease-in-out infinite;
}
#dzSteps .dz-steps__marker svg{ width: 12px; height: 12px; }
@keyframes dzStepTravel{ 0%{ left: 5%; } 100%{ left: 95%; } }
@keyframes dzStepPulse{
  0%, 100%{ box-shadow: 0 0 0 5px rgba(184,123,52,0.16); }
  50%{ box-shadow: 0 0 0 9px rgba(184,123,52,0.06); }
}

/* ---------- step cards ---------- */
#dzSteps .dz-step{
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  background: linear-gradient(135deg, #EFC17E 0%, #B87B34 100%);
  border: none;
  border-radius: 18px;
  padding: 26px 22px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
#dzSteps .dz-step:hover{ transform: translateY(-4px); }
#dzSteps .dz-step:nth-child(even){ background: linear-gradient(135deg, #3A595F 0%, #1C2B38 100%); }
#dzSteps .dz-step__num{
  flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
  background: #fff; border: none;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--dz-serif); font-weight: 700; font-size: 1.05rem; color: #B87B34;
  position: relative; z-index: 2;
}
#dzSteps .dz-step:nth-child(even) .dz-step__num{ color: #1C2B38; }
#dzSteps .dz-step__body h3{
  font-family: var(--dz-serif); font-weight: 700; font-size: 1.1rem;
  margin: 0 0 6px; color: #fff;
}
#dzSteps .dz-step__body p{ color: rgba(255,255,255,0.88); font-size: 0.9rem; line-height: 1.5; margin: 0; }

/* ---------- entrance + reveal ---------- */
@keyframes dzStepsRise{
  from{ opacity: 0; transform: translateY(16px); }
  to{ opacity: 1; transform: translateY(0); }
}
#dzSteps .dz-steps__concept,
#dzSteps .dz-steps__head,
#dzSteps .dz-steps__grid{ opacity: 0; animation: dzStepsRise 0.7s ease forwards; }
#dzSteps .dz-steps__head{ animation-delay: 0.05s; }
#dzSteps .dz-steps__grid{ animation-delay: 0.15s; }

#dzSteps .dz-reveal{
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s cubic-bezier(.2,.7,.3,1), transform 0.7s cubic-bezier(.2,.7,.3,1);
}
#dzSteps .dz-reveal.is-visible{ opacity: 1; transform: none; }

/* ---------- responsive ---------- */
@media (max-width: 860px){
  #dzSteps .dz-steps__list{ grid-template-columns: 1fr 1fr; gap: 16px; }
  #dzSteps .dz-steps__list::before,
  #dzSteps .dz-steps__marker,
  #dzSteps .dz-steps__tick{ display: none; }
}
@media (max-width: 560px){
  #dzSteps{ padding: 32px 0 40px; }
  #dzSteps .dz-steps__inner{ padding: 0 22px; }
  #dzSteps .dz-steps__list{ grid-template-columns: 1fr; }
  #dzSteps .dz-steps__concept{ padding: 24px 22px; }
}
@media (prefers-reduced-motion: reduce){
  #dzSteps .dz-steps__marker{ animation: none; left: 5%; }
  #dzSteps .dz-steps__concept,
  #dzSteps .dz-steps__head,
  #dzSteps .dz-steps__grid{ opacity: 1; animation: none; }
  #dzSteps .dz-reveal{ opacity: 1; transform: none; transition: none; }
}

/* =============================================================
   dreamseed-value.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — "What you get on DreamSeed" (two plans)
   Scoped to #dzValue. Existing theme stays untouched.
   ============================================================ */

#dzValue{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-night-mid:  #FFFFFF;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-coral:      #3A595F;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 50%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  padding: 8px 0 56px;
  animation: dzValueRise 0.7s ease both;
}
#dzValue *{ box-sizing: border-box; }

#dzValue .dz-value__wrap{ max-width: 1040px; margin: 0 auto; padding: 0 24px; }

/* ---------- head ---------- */
#dzValue .dz-value__head{ text-align: center; max-width: 680px; margin: 0 auto 24px; }
#dzValue .dz-value__head h2{
  font-family: var(--dz-serif);
  font-weight: 700;
  font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  color: var(--dz-paper);
  line-height: 1.15;
  margin: 0;
  text-wrap: balance;
}
#dzValue .dz-value__head p{
  margin: 10px 0 0;
  color: var(--dz-ink-soft);
  font-size: 1rem;
  line-height: 1.55;
  text-wrap: pretty;
}

/* ---------- plans ---------- */
#dzValue .dz-value__choices{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  text-align: left;
  align-items: stretch;
}
#dzValue .dz-value__choice{
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1.5px solid rgba(58,89,95,0.35);
  border-radius: 22px;
  padding: 26px 24px;
}
#dzValue .dz-value__choice h4{
  font-family: var(--dz-serif);
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--dz-paper);
  line-height: 1.2;
  margin: 0;
}
#dzValue .dz-value__sub{ margin: 6px 0 0; font-size: 0.9rem; color: var(--dz-ink-soft); }
#dzValue .dz-value__perks{
  list-style: none;
  margin: 16px 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#dzValue .dz-value__perks li{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 0.93rem;
  line-height: 1.45;
  color: var(--dz-ink-soft);
  text-wrap: pretty;
}
#dzValue .dz-value__perks b{ display: block; color: var(--dz-paper); font-weight: 700; }
#dzValue .dz-value__tick{
  flex: 0 0 22px; width: 22px; height: 22px;
  border-radius: 50%; margin-top: 1px;
  background: rgba(58,89,95,0.14); color: #26383B;
  display: flex; align-items: center; justify-content: center;
}
#dzValue .dz-value__tick svg{ width: 12px; height: 12px; }

/* ---------- buttons ---------- */
#dzValue .dz-value__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
}
#dzValue .dz-value__cta{
  margin-top: auto;
  width: 100%;
  text-align: center;
  padding: 17px 24px;
  font-size: 1rem;
  font-weight: 700;
}
#dzValue .dz-value__btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  border: none;
  color: #2A1C0E;
  border-radius: 999px;
  box-shadow: 0 16px 30px -10px rgba(217,161,85,0.5);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
#dzValue .dz-value__btn--primary:hover{
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 20px 34px -10px rgba(217,161,85,0.6);
}
#dzValue .dz-value__btn--primary:focus-visible{ outline: 2px solid var(--dz-coral); outline-offset: 3px; }
#dzValue .dz-value__btn--secondary{
  background: transparent;
  border: 2px solid #26383B;
  color: #26383B;
  border-radius: 999px;
  transition: background 0.15s ease, color 0.15s ease;
}
#dzValue .dz-value__btn--secondary:hover{ background: #26383B; color: #fff; }
#dzValue .dz-value__btn--secondary:focus-visible{ outline: 2px solid var(--dz-gold); outline-offset: 3px; }
#dzValue .dz-value__cta-wrap{
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
#dzValue .dz-value__cta-wrap .dz-value__cta{
  margin-top: 0;
}
#dzValue .ds-pay-once-note--value{
  max-width: none;
  width: 100%;
  text-align: center;
  font-size: 0.82rem;
  line-height: 1.35;
  color: rgba(255,255,255,0.88);
}
@media (max-width:767px){
  #dzValue .ds-pay-once-note--value{
    font-size: 0.88rem;
    color: rgba(255,255,255,0.92);
  }
}

/* ---------- featured plan ---------- */
#dzValue .dz-value__choice.is-featured{
  background: linear-gradient(135deg, #3A595F 0%, #1C2B38 100%);
  border: none;
}
#dzValue .dz-value__choice.is-featured h4{ color: #fff; }
#dzValue .dz-value__choice.is-featured .dz-value__sub{ color: rgba(255,255,255,0.75); }
#dzValue .dz-value__choice.is-featured .dz-value__perks li{ color: rgba(255,255,255,0.8); }
#dzValue .dz-value__choice.is-featured .dz-value__perks b{ color: #fff; }
#dzValue .dz-value__choice.is-featured .dz-value__tick{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 100%);
  color: #1C2B38;
}

@keyframes dzValueRise{
  from{ opacity: 0; transform: translateY(16px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* ---------- responsive ---------- */
@media (max-width: 820px){
  #dzValue .dz-value__choices{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  #dzValue .dz-value__wrap{ padding: 0 16px; }
}
@media (prefers-reduced-motion: reduce){
  #dzValue{ animation-duration: 0.01ms !important; }
}

/* =============================================================
   dreamseed-faq.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — FAQ "Questions, answered"
   Scoped to #faq-block. Existing theme stays untouched.
   ============================================================ */

#faq-block{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 50%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  padding: 24px 24px 56px;
}
#faq-block *{ box-sizing: border-box; }

#faq-block .faq-card{ width: 100%; max-width: 820px; margin: 0 auto; }

/* ---------- head ---------- */
#faq-block .faq-header{ text-align: center; margin-bottom: 28px; }
#faq-block .faq-header h2{
  font-family: var(--dz-serif);
  font-weight: 700;
  font-size: clamp(1.6rem, 3.2vw, 2.1rem);
  color: var(--dz-paper);
  line-height: 1.15;
  margin: 0;
  text-wrap: balance;
}
#faq-block .faq-header p{ margin-top: 8px; color: var(--dz-ink-faint); font-size: 0.95rem; }

/* ---------- items ---------- */
#faq-block .faq-item{
  background: rgba(217,161,85,0.08);
  border: 1.5px solid rgba(201,162,87,0.3);
  border-radius: 16px;
  padding: 4px 18px;
  margin-bottom: 14px;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
#faq-block .faq-item[open]{ background: rgba(217,161,85,0.2); border-color: #B87B34; }
#faq-block .faq-item:hover{ transform: translateY(-2px); box-shadow: 0 14px 26px -14px rgba(30,39,41,0.25); }

#faq-block .faq-item summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 4px;
  font-family: var(--dz-serif);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--dz-paper);
}
#faq-block .faq-item summary::-webkit-details-marker{ display: none; }
#faq-block .faq-item summary .faq-chevron{
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--dz-ink-faint);
  transition: transform 0.2s ease;
}
#faq-block .faq-item[open] summary .faq-chevron{ transform: rotate(180deg); color: #8A6A2E; }
#faq-block .faq-item[open] summary{ color: #8A6A2E; }

#faq-block .faq-answer{
  padding: 0 4px 20px;
  color: var(--dz-ink-soft);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 680px;
}
#faq-block .faq-answer p{ margin: 0 0 10px; }
#faq-block .faq-answer p:last-child{ margin-bottom: 0; }
#faq-block .faq-answer a{ color: var(--dz-gold); text-decoration: underline; }

/* ---------- scroll reveal ---------- */
#faq-block .dz-reveal{
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s cubic-bezier(.2,.7,.3,1), transform 0.7s cubic-bezier(.2,.7,.3,1);
}
#faq-block .dz-reveal.is-visible{ opacity: 1; transform: none; }
#faq-block .faq-header.dz-reveal{ transition-delay: 0.03s; }
#faq-block .faq-item.dz-reveal:nth-of-type(1){ transition-delay: 0.08s; }
#faq-block .faq-item.dz-reveal:nth-of-type(2){ transition-delay: 0.13s; }
#faq-block .faq-item.dz-reveal:nth-of-type(3){ transition-delay: 0.18s; }
#faq-block .faq-item.dz-reveal:nth-of-type(4){ transition-delay: 0.23s; }
#faq-block .faq-item.dz-reveal:nth-of-type(5){ transition-delay: 0.28s; }
#faq-block .faq-item.dz-reveal:nth-of-type(6){ transition-delay: 0.33s; }
#faq-block .faq-item.dz-reveal:nth-of-type(7){ transition-delay: 0.38s; }
#faq-block .faq-item.dz-reveal:nth-of-type(n+8){ transition-delay: 0.43s; }

@media (max-width: 640px){
  #faq-block{ padding: 16px 16px 44px; }
  #faq-block .faq-item{ padding: 2px 14px; }
  #faq-block .faq-item summary{ font-size: 0.98rem; padding: 16px 2px; }
}

@media (prefers-reduced-motion: reduce){
  #faq-block .dz-reveal{ opacity: 1; transform: none; transition: none; }
}

/* =============================================================
   dreamseed-map.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — "Garden of Dreamers" map section
   Combines the mockup's garden-* with the working dm-* classes.
   Scoped to #map-block.
   ============================================================ */

#map-block{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-night-mid:  #FFFFFF;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-coral:      #3A595F;
  --dz-leaf:       #68929B;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 45%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  padding: 20px 24px 48px;
}
#map-block *{ box-sizing: border-box; }
#map-block .container{ max-width: 1100px; margin: 0 auto; padding: 0 24px; }

/* ---------- card (mockup: container.garden-card) ---------- */
#map-block .garden-card{
  width: 100%; max-width: 1040px; margin: 0 auto;
  background: var(--dz-night-mid);
  color: var(--dz-paper); font-family: var(--dz-sans);
}
/* the working map widget lives inside the card */
#map-block .dm-wrap{
  max-width: 1040px; margin: 0 auto;
  color: var(--dz-paper); font-family: var(--dz-sans);
}

/* scroll-reveal (mockup: .reveal / .is-visible) */
#map-block .reveal{
  opacity: 0; transform: translateY(26px);
  transition: opacity 0.7s cubic-bezier(.2,.7,.3,1), transform 0.7s cubic-bezier(.2,.7,.3,1);
}
#map-block .reveal.is-visible{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){
  #map-block .reveal{ opacity: 1; transform: none; transition: none; }
}

/* ---------- header ---------- */
#map-block .garden-header{ text-align: center; }
#map-block .garden-logo{ display: block; max-width: 280px; width: 60%; height: auto; margin: 0 auto 6px; }
#map-block .garden-header p{ margin: 8px 0 0; color: var(--dz-ink-faint); font-size: 0.95rem; }

/* ---------- explanation ---------- */
#map-block .garden-explain{
  max-width: 640px; margin: 18px auto 18px; text-align: center;
  color: var(--dz-ink-soft); font-size: 0.98rem; line-height: 1.6;
}
#map-block .garden-explain strong{ color: var(--dz-paper); font-weight: 600; }
#map-block .garden-quote{
  margin: 0 auto 28px;
  text-align: left;
}

/* header row: search + stats */
#map-block .dm-head{
  display: flex; flex-direction: column; flex-wrap: wrap; align-items: center; gap: 18px;
  margin-bottom: 22px; position: relative; z-index: 10;
}
#map-block .dm-search,
#map-block .garden-search{ position: relative; flex: 1; min-width: 640px; }
#map-block .dm-search input,
#map-block .garden-search input{
  width: 100%; padding: 13px 46px 13px 20px; border-radius: 50px;
  border: 1.5px solid rgba(201,162,87,0.45); background: #FFFFFF; color: var(--dz-paper);
  font-family: inherit; font-size: 14px; outline: none;
  transition: border-color .25s, box-shadow .25s; box-shadow: 0 6px 16px -12px rgba(30,39,41,.4);
}
#map-block .dm-search input::placeholder,
#map-block .garden-search input::placeholder{ color: #8a9a9d; }
#map-block .dm-search input:focus,
#map-block .garden-search input:focus{ border-color: var(--dz-gold); box-shadow: 0 0 0 4px rgba(201,162,87,.18); }
#map-block .dm-search .dm-search-ic{
  position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  font-size: 16px; color: #B87B34; pointer-events: none;
}

#map-block .dm-stats,
#map-block .garden-stats{ display: flex; gap: 12px; flex-wrap: wrap; }
#map-block .dm-stat,
#map-block .garden-stat{
  background: #FFFFFF; border: 1.5px solid rgba(58,89,95,0.2);
  border-radius: 16px; padding: 10px 20px; text-align: center; min-width: 92px;
  transition: transform .18s ease, box-shadow .18s ease;
}
#map-block .dm-stat:hover,
#map-block .garden-stat:hover{ transform: translateY(-3px); box-shadow: 0 14px 26px -14px rgba(30,39,41,0.25); }
#map-block .dm-stat b,
#map-block .garden-stat b{ display: block; font-family: var(--dz-serif); font-size: 24px; color: var(--dz-leaf); line-height: 1.1; }
#map-block .dm-stat span,
#map-block .garden-stat span{ font-size: 11px; color: var(--dz-ink-faint); text-transform: uppercase; letter-spacing: .06em; }

/* map canvas */
#map-block .dm-map,
#map-block .garden-map{
  position: relative; border-radius: 20px; overflow: hidden;
  border: 1px solid rgba(63,80,84,0.16);
  box-shadow: 0 18px 44px -22px rgba(30,39,41,0.45);
  height: 620px; background: #EAF2F3;
}
#map-block .garden-card {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    background: var(--night-mid);
    border: 1px solid rgba(63, 80, 84, 0.16);
    border-radius: 28px;
    padding: 44px 40px;
}
#map-block .dm-map .leaflet-container,
#map-block .garden-map .leaflet-container{ background: #EAF2F3 !important; font-family: inherit; width:100%; height:100%; }
#map-block .dm-map .leaflet-tile-pane,
#map-block .garden-map .leaflet-tile-pane{ filter: none; }

/* mockup zoom buttons */
#map-block .garden-zoom{
  position: absolute; top: 14px; left: 14px; z-index: 800;
  display: flex; flex-direction: column; border-radius: 10px; overflow: hidden;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,0.35);
}
#map-block .garden-zoom button{
  width: 32px; height: 32px; background: rgba(255,255,255,0.96); border: none;
  border-bottom: 1px solid rgba(0,0,0,0.1); color: var(--dz-paper);
  font-size: 1.05rem; font-weight: 700; cursor: pointer; line-height: 1;
}
#map-block .garden-zoom button:last-child{ border-bottom: none; }
#map-block .garden-zoom button:hover{ background: #fff; }
/* hide Leaflet default zoom control since mockup buttons exist */
#map-block .garden-map .leaflet-control-zoom,
#map-block .dm-map .leaflet-control-zoom{ display: none; }

#map-block .dm-attribution-note,
#map-block .garden-attribution-note,
#gardenCard .dm-attribution-note,
#gardenCard .garden-attribution-note,
.leaflet-control-attribution{ display: none !important; }

/* bonsai marker — keep Leaflet iconSize/anchor; never force width/height:auto (markers drift) */
#map-block .dm-tree-icon,
#gardenCard .dm-tree-icon{
  position: relative;
  overflow: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 4px rgba(30,39,41,.28));
}
#map-block .dm-tree-icon img.dm-bonsai-img,
#gardenCard .dm-tree-icon img.dm-bonsai-img{
  display: block !important;
  width: 26px !important;
  height: 32px !important;
  max-width: 26px !important;
  max-height: 32px !important;
  object-fit: contain !important;
  animation: none !important;
  filter: none !important;
}
#map-block .dm-tree-badge,
#gardenCard .dm-tree-badge{
  position: absolute;
  top: -3px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 55%, #B87B34 100%);
  color: #2A1C0E;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(30,39,41,.25);
  pointer-events: none;
  z-index: 2;
}
#map-block .dm-tree-label,
#gardenCard .dm-tree-label{
  position: absolute; left: 50%; bottom: -22px; transform: translateX(-50%);
  background: rgba(255,253,247,.97); border: 1.5px solid rgba(201,162,87,.6);
  color: #3F5054; font-size: 11px; font-weight: 600; padding: 3px 10px;
  border-radius: 20px; white-space: nowrap; opacity: 0; transition: opacity .2s; pointer-events: none;
  box-shadow: 0 6px 16px -8px rgba(30,39,41,.4);
}
#map-block .dm-tree-icon:hover .dm-tree-label,
#gardenCard .dm-tree-icon:hover .dm-tree-label{ opacity: 1; }

/* city info panel */
#map-block .dm-info-panel{
  position: absolute; top: 16px; right: 16px; width: 280px;
  max-width: calc(100% - 32px); max-height: calc(100% - 32px); overflow-y: auto; z-index: 810;
  background: rgba(255,253,247,.98); color: var(--dz-paper);
  border: 1.5px solid rgba(201,162,87,.45); border-radius: 18px;
  box-shadow: 0 16px 44px -18px rgba(30,39,41,.5); backdrop-filter: blur(8px);
  padding: 18px 18px 16px; display: none;
}
#map-block .dm-info-panel.show{ display: block; }
#map-block .dm-info-close,
#gardenCard .dm-info-close{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1.5px solid rgba(201,162,87,0.4);
  border-radius: 50%;
  background: #FFFDF7;
  color: #8A6A2E;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 14px -10px rgba(30,39,41,0.35);
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease,
    transform 0.15s ease, box-shadow 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
}
#map-block .dm-info-close:hover,
#map-block .dm-info-close:focus,
#gardenCard .dm-info-close:hover,
#gardenCard .dm-info-close:focus{
  color: #2A1C0E;
  background: rgba(240,199,132,0.35);
  border-color: #B87B34;
  transform: translateY(-1px);
  box-shadow: 0 10px 18px -12px rgba(184,123,52,0.55);
  outline: none;
}
#map-block .dm-info-close:focus-visible,
#gardenCard .dm-info-close:focus-visible{
  outline: 2px solid var(--dz-gold, #C9A257);
  outline-offset: 2px;
}
#map-block .dm-info-close:active,
#gardenCard .dm-info-close:active{
  transform: translateY(0);
}
#map-block .dm-info-panel h3{ margin: 0 24px 12px 0; font-family: var(--dz-serif); font-size: 20px; font-weight: 700; color: var(--dz-paper); display: flex; align-items: center; gap: 8px; }
#map-block .dm-info-panel .dm-flag{ font-size: 22px; }
#map-block .dm-info-panel .dm-row{ display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed rgba(63,80,84,.18); font-size: 13px; }
#map-block .dm-info-panel .dm-row span{ color: var(--dz-ink-faint); }
#map-block .dm-info-panel .dm-row b{ color: var(--dz-coral); font-weight: 600; }
#map-block .dm-info-panel .dm-cta{
  display: block; margin-top: 16px; text-align: center;
  background: linear-gradient(135deg, #C9A257, #B87B34); color: #fff;
  font-weight: 600; font-size: 13px; padding: 12px 16px; border-radius: 12px; text-decoration: none;
  transition: transform .15s, box-shadow .2s; box-shadow: 0 8px 22px -10px rgba(184,123,52,.65);
}
#map-block .dm-info-panel .dm-cta:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px -10px rgba(184,123,52,.75); }

#map-block .dm-empty{
  display: none; margin-top: 14px; padding: 14px 18px;
  background: rgba(217,161,85,.12); border: 1.5px dashed rgba(201,162,87,.55);
  border-radius: 14px; color: #8A6A2E; font-size: 14px;
}
#map-block .dm-empty a{ color: #B87B34; font-weight: 600; }

/* ---------- join CTA under the map ---------- */
#map-block .dm-join{
  margin: 28px auto 0;
  max-width: 720px;
  text-align: center;
  padding: 28px 24px 8px;
}
#map-block .dm-join__title{
  margin: 0 0 10px;
  font-family: var(--dz-serif);
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 700;
  color: var(--dz-paper);
  line-height: 1.25;
}
#map-block .dm-join__text{
  margin: 0 auto 22px;
  max-width: 34rem;
  color: var(--dz-ink-faint);
  font-size: 1rem;
  line-height: 1.55;
}
#map-block .dm-join__actions,
.dm-page-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
}
.dm-page-actions{
  margin: 4px auto 48px;
  max-width: 720px;
  padding: 8px 8px 12px;
}
.dm-page-actions--top{
  margin: 4px auto 22px;
  max-width: 920px;
  padding: 0 8px 4px;
}
.dm-page-actions--top .dm-join__btn{
  min-width: 150px;
  flex: 1 1 auto;
}

/* Map page CTAs — two clear actions above the map */
.dm-page-ctas{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 720px;
  margin: 8px auto 26px;
  padding: 0 8px;
}
.dm-page-cta{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 88px;
  padding: 18px 22px;
  text-align: center;
  text-decoration: none !important;
  border-radius: 18px;
  border: 1.5px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease,
    background 0.15s ease, border-color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.dm-page-cta__label{
  font-family: var(--dz-serif, 'Fraunces', Georgia, serif);
  font-weight: 700;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.dm-page-cta__hint{
  font-family: var(--dz-sans, 'Work Sans', sans-serif);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.35;
  opacity: 0.82;
}
.dm-page-cta--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E !important;
  box-shadow: 0 16px 32px -14px rgba(217,161,85,0.6);
}
.dm-page-cta--primary .dm-page-cta__label,
.dm-page-cta--primary .dm-page-cta__hint{
  color: #2A1C0E;
}
.dm-page-cta--primary:hover,
.dm-page-cta--primary:focus{
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 20px 36px -14px rgba(217,161,85,0.68);
  color: #2A1C0E !important;
}
.dm-page-cta--garden{
  background: #FFFDF7;
  color: #1E2729 !important;
  border-color: rgba(184,123,52,0.42);
  box-shadow: 0 10px 24px -16px rgba(30,39,41,0.35);
}
.dm-page-cta--garden .dm-page-cta__label{
  color: #1E2729;
}
.dm-page-cta--garden .dm-page-cta__hint{
  color: #647376;
  opacity: 1;
}
.dm-page-cta--garden:hover,
.dm-page-cta--garden:focus{
  background: rgba(240,199,132,0.18);
  border-color: #B87B34;
  transform: translateY(-2px);
  color: #1E2729 !important;
}
.dm-page-cta:focus-visible{
  outline: 2px solid #C9A257;
  outline-offset: 3px;
}
#map-block .dm-join__btn,
.dm-page-actions .dm-join__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 168px;
  min-height: 48px;
  padding: 13px 24px;
  text-decoration: none !important;
  font-family: var(--dz-sans);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
  border-radius: 999px;
  border: 1.5px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease,
    background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
#map-block .dm-join__btn--primary,
.dm-page-actions .dm-join__btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E !important;
  box-shadow: 0 14px 28px -12px rgba(217,161,85,0.55);
}
#map-block .dm-join__btn--primary:hover,
#map-block .dm-join__btn--primary:focus,
.dm-page-actions .dm-join__btn--primary:hover,
.dm-page-actions .dm-join__btn--primary:focus{
  filter: brightness(1.06);
  transform: translateY(-2px);
  color: #2A1C0E !important;
  box-shadow: 0 18px 32px -12px rgba(217,161,85,0.62);
}
#map-block .dm-join__btn--primary:focus-visible,
.dm-page-actions .dm-join__btn--primary:focus-visible{
  outline: 2px solid var(--dz-coral);
  outline-offset: 3px;
}
#map-block .dm-join__btn--secondary,
.dm-page-actions .dm-join__btn--secondary{
  background: #FFFDF7;
  color: #1E2729 !important;
  border-color: rgba(184,123,52,0.45);
}
#map-block .dm-join__btn--secondary:hover,
#map-block .dm-join__btn--secondary:focus,
.dm-page-actions .dm-join__btn--secondary:hover,
.dm-page-actions .dm-join__btn--secondary:focus{
  background: rgba(240,199,132,0.18);
  border-color: #B87B34;
  color: #8A6A2E !important;
  transform: translateY(-1px);
}
#map-block .dm-join__btn--secondary:focus-visible,
.dm-page-actions .dm-join__btn--secondary:focus-visible{
  outline: 2px solid var(--dz-gold);
  outline-offset: 3px;
}

@media (max-width: 768px){
  #map-block .dm-map, #map-block .garden-map{ height: 460px; }
  #map-block .dm-stat b, #map-block .garden-stat b{ font-size: 21px; }
  #map-block .dm-stat, #map-block .garden-stat{ padding: 9px 16px; min-width: 82px; }
  #map-block .garden-quote{
    margin-bottom: 22px;
  }
  #map-block .map-logo{ max-width: 240px; max-height: 72px; }
  #map-block .dm-join{
    margin-top: 20px;
    padding: 22px 8px 4px;
  }
  #map-block .dm-join__title{ font-size: 1.35rem; }
  #map-block .dm-join__text{ font-size: 0.95rem; margin-bottom: 18px; }
  #map-block .dm-join__actions,
  .dm-page-actions{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .dm-page-actions{
    margin-bottom: 36px;
    padding: 4px 4px 8px;
  }
  .dm-page-actions--top{
    margin: 0 auto 16px;
    padding: 0 4px 2px;
  }
  #map-block .dm-join__btn,
  .dm-page-actions .dm-join__btn{
    width: 100%;
    min-width: 0;
    padding: 14px 18px;
  }
  .dm-page-ctas{
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 4px auto 18px;
    padding: 0 4px;
  }
  .dm-page-cta{
    min-height: 78px;
    padding: 16px 18px;
    border-radius: 16px;
  }
  .dm-page-cta__label{
    font-size: 1.05rem;
  }
  .dm-page-cta__hint{
    font-size: 0.82rem;
  }
}

/* =============================================================
   dreamseed-footer.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — site footer (mockup structure)
   Scoped to .site-footer. Existing theme stays untouched.
   ============================================================ */

.site-footer{
  position: relative; overflow: hidden;
  background: var(--dz-night-fill, #1C2B38); color: rgba(244,239,226,0.82);
  margin-top: 20px;
  font-family: 'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;
}
.site-footer .footer-bg{
  position: absolute; right: 0; bottom: 0; width: 460px; max-width: 55%;
  pointer-events: none;
}
.site-footer .footer-bg svg{ width: 100%; height: auto; display: block; }
.site-footer .footer-wrap{ position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 56px 52px 32px; }

.site-footer .footer-grid{
  display: grid; grid-template-columns: 1.55fr 1fr 0.85fr 1.25fr; gap: 28px;
  padding-bottom: 44px; align-items: center;
}
.site-footer .footer-col a{
  display: block; color: rgba(244,239,226,0.82); text-decoration: none; font-size: 0.95rem;
  margin-bottom: 10px; transition: color 0.15s ease;
}
.site-footer .footer-col a:hover{ color: #F0C784; }

.site-footer .footer-brand{
  display: flex; align-items: center; min-height: 120px;
}
.site-footer .footer-logo-link{ display: inline-block; margin-bottom: 0; width: 100%; max-width: 280px; }
.site-footer .footer-logo-plate{
  display: inline-flex; width: 100%; justify-content: center; align-items: center;
  background: #FBF7EC; border-radius: 18px; padding: 18px 22px;
  box-shadow: 0 18px 36px -12px rgba(0,0,0,0.55), 0 4px 10px -4px rgba(0,0,0,0.4);
}
.site-footer .footer-logo-plate img{
  display: block; height: 96px; width: auto; max-width: 100%;
}

.site-footer .footer-join{ text-align: center; }
.site-footer .footer-join h5{ font-weight: 600; font-size: 0.98rem; color: #fff; margin: 0 0 14px; }
.site-footer .footer-social{ display: flex; justify-content: center; gap: 12px; margin-bottom: 18px; }
.site-footer .footer-social a{
  width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(244,239,226,0.4);
  display: flex; align-items: center; justify-content: center; color: rgba(244,239,226,0.85);
  margin-bottom: 0; transition: border-color 0.15s ease, color 0.15s ease;
}
.site-footer .footer-social a:hover{ border-color: #F0C784; color: #F0C784; }
.site-footer .footer-social svg{ width: 15px; height: 15px; }
.site-footer .footer-about{ margin-bottom: 0; }

.site-footer .footer-bottom{
  display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px;
  border-top: 1px solid rgba(244,239,226,0.14); padding-top: 28px;
}
.site-footer .footer-entity p{ font-size: 0.85rem; line-height: 1.6; color: rgba(244,239,226,0.65); margin: 0; }
.site-footer .footer-entity a{ color: rgba(244,239,226,0.65); text-decoration: none; }
.site-footer .footer-entity a:hover{ color: #F0C784; }

.site-footer .footer-pay,
.order-pay-badges{ display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.site-footer .footer-pay{ justify-content: flex-end; }
.order-pay-line{
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px;
  margin: 0;
}
.order-pay-label{
  font-size: 0.92rem; font-weight: 600; color: #1E2729; line-height: 1.3;
}
.order-pay-sep{
  color: #8a9699; font-size: 0.95rem; line-height: 1;
}
.order-pay-badges{ justify-content: flex-start; margin: 0; }
.site-footer .pay-badge,
.order-pay-badges .pay-badge{
  display: inline-flex; align-items: center; gap: 3px;
  background: #fff; border-radius: 5px; padding: 6px 10px;
  font-family: 'Work Sans', sans-serif; font-weight: 800; font-size: 0.72rem; letter-spacing: 0.02em;
  border: 1px solid rgba(30,39,41,0.10);
  box-shadow: 0 1px 2px rgba(30,39,41,0.04);
}
.site-footer .pay-visa,
.order-pay-badges .pay-visa{ color: #1A1F71; }
.site-footer .pay-mc,
.order-pay-badges .pay-mc{ color: #2A2A2A; position: relative; padding-left: 26px; }
.site-footer .pay-mc i,
.order-pay-badges .pay-mc i{ position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; transform: translateY(-50%); }
.site-footer .pay-mc i:first-child,
.order-pay-badges .pay-mc i:first-child{ left: 6px; background: #EB001B; }
.site-footer .pay-mc i:last-child,
.order-pay-badges .pay-mc i:last-child{ left: 14px; background: #F79E1B; mix-blend-mode: multiply; }
.site-footer .pay-pp,
.order-pay-badges .pay-pp{ color: #253B80; }
.site-footer .pay-pp b,
.order-pay-badges .pay-pp b{ color: #179BD7; }
.site-footer .pay-gpay,
.order-pay-badges .pay-gpay{ color: #3C4043; gap: 4px; }
.site-footer .pay-gpay-g,
.order-pay-badges .pay-gpay-g{
  display:inline-flex; align-items:center; justify-content:center;
  width:14px; height:14px; border-radius:50%;
  background:linear-gradient(135deg,#4285F4 0 35%,#34A853 35% 55%,#FBBC05 55% 75%,#EA4335 75% 100%);
  color:#fff; font-size:0.58rem; font-weight:800; line-height:1;
}
.site-footer .pay-apay,
.order-pay-badges .pay-apay{ color: #111; gap: 5px; font-weight: 700; }
.site-footer .pay-apay-mark,
.order-pay-badges .pay-apay-mark{
  width:11px; height:13px; display:inline-block; background:#111;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 17'%3E%3Cpath d='M10.6 8.9c0-1.4 1.1-2.1 1.2-2.1-.7-1-1.7-1.1-2.1-1.1-.9-.1-1.7.5-2.2.5-.5 0-1.2-.5-1.9-.5C4.5 5.7 3.5 6.4 2.9 7.5 1.7 9.6 2.6 12.7 3.7 14.4c.6.8 1.2 1.7 2 1.7.8 0 1.1-.5 2-.5s1.2.5 2 .5c.9 0 1.4-.8 1.9-1.6.6-.9.8-1.7.8-1.8-.1 0-1.7-.7-1.8-2.8zM9.2 4.1c.5-.6.8-1.4.7-2.2-.7 0-1.6.5-2.1 1.1-.5.5-.9 1.4-.8 2.2.8.1 1.6-.4 2.2-1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 17'%3E%3Cpath d='M10.6 8.9c0-1.4 1.1-2.1 1.2-2.1-.7-1-1.7-1.1-2.1-1.1-.9-.1-1.7.5-2.2.5-.5 0-1.2-.5-1.9-.5C4.5 5.7 3.5 6.4 2.9 7.5 1.7 9.6 2.6 12.7 3.7 14.4c.6.8 1.2 1.7 2 1.7.8 0 1.1-.5 2-.5s1.2.5 2 .5c.9 0 1.4-.8 1.9-1.6.6-.9.8-1.7.8-1.8-.1 0-1.7-.7-1.8-2.8zM9.2 4.1c.5-.6.8-1.4.7-2.2-.7 0-1.6.5-2.1 1.1-.5.5-.9 1.4-.8 2.2.8.1 1.6-.4 2.2-1.1z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.site-footer .footer-copyright{
  text-align: center; font-size: 0.82rem; color: rgba(244,239,226,0.5); margin-top: 28px;
}

@media (max-width: 860px){
  .site-footer .footer-grid{ grid-template-columns: 1fr 1fr; }
  .site-footer .footer-join{ text-align: left; }
  .site-footer .footer-social{ justify-content: flex-start; }
  .site-footer .footer-logo-plate img{ height: 72px; }
  .site-footer .footer-logo-link{ max-width: 220px; }
}
@media (max-width: 560px){
  .site-footer .footer-wrap{ padding: 44px 24px 26px; }
  .site-footer .footer-grid{ grid-template-columns: 1fr; gap: 28px; }
  .site-footer .footer-bottom{ flex-direction: column; align-items: flex-start; }
  .site-footer .footer-logo-plate{ padding: 14px 16px; border-radius: 16px; }
  .site-footer .footer-logo-plate img{ height: 64px; }
  .site-footer .footer-brand{ min-height: 0; }
   #map-block .garden-card {
        padding: 32px 22px;
    }
}

/* =============================================================
   dreamseed-header.css
   ============================================================= */
/* ==========================================================================
   DreamSeed — Header restyle (scoped to .main-header-area only)
   Mirrors the standalone mockup: light translucent bar, wordmark logo,
   "Follow:" social circles, account + cart actions with a gold badge.
   The mobile offcanvas menu, cart (msMiniCart) and search modal are untouched.
   Palette: paper #1E2729, gold #C9A257, ink-soft #3F5054, bar #FFFDF7.
   ========================================================================== */

/* Bars: mockup .site-header (light translucent). Base .main-header-area was #9fabbd. */
.main-header-area {
  background-color: transparent;
}
.main-header-area .header-middle.site-header,
.main-header-area .header-sticky.site-header {
  background-color: rgba(255, 253, 247, 0.88);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(63, 80, 84, 0.12);
}
/* the old .sticky state used #9fabbd — keep it light too */
.main-header-area .header-sticky.sticky.site-header {
  background-color: rgba(255, 253, 247, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px -18px rgba(30, 39, 41, 0.45);
  z-index: 999;
}


/* Nav row (mockup nav) */
.main-header-area .header-middle-wrap.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 52px;
    position: relative;
    z-index: 5;
}

/* Logo (mockup .logo / .logo-img) */
.main-header-area .header-logo.logo {
  width: auto;
  flex: 0 0 auto;
}
.main-header-area .header-logo .logo-img {
  display: block;
}
@media (min-width: 768px) {
  .main-header-area .header-logo .logo-img {
    height: 64px !important;
    width: auto !important;
  }
}

/* Follow / social circles (mockup .nav-follow / .nav-social) */
.main-header-area .social-link.nav-follow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.main-header-area .social-link.nav-follow > span.nav-follow-label {
  color: #3F5054;
  font-size: 0.9rem;
  white-space: nowrap;
}
.main-header-area .social-link .nav-social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.main-header-area .social-link.nav-follow ul.nav-social > li {
  display: inline-flex;
  padding-right: 0 !important;
}
.main-header-area .social-link.nav-follow ul.nav-social > li > a {
  width: 30px;
  height: 30px;
  border: 1.5px solid rgba(70, 84, 63, 0.35);
  border-radius: 50%;
  background: transparent;
  color: #1E2729;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.main-header-area .social-link.nav-follow ul.nav-social > li > a:hover {
  background: transparent;
  border-color: #C9A257;
  color: #8A6A2E;
  transform: translateY(-1px);
}
.main-header-area .social-link.nav-follow ul.nav-social > li > a i {
  font-size: 14px;
  line-height: 1;
  color: inherit;
}
.main-header-area .social-link.nav-follow ul.nav-social > li > a svg {
  width: 14px;
  height: 14px;
  color: inherit;
}

/* Actions: account + cart (mockup .nav-actions / .nav-icon-btn) */
.main-header-area .header-right.nav-actions > ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}
.main-header-area .header-right.nav-actions > ul > li {
  padding-right: 0 !important;
  margin-right: 0 !important;
  display: flex;
  align-items: center;
}
.main-header-area .header-right.nav-actions .nav-icon-btn {
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #1E2729;
  cursor: pointer;
}
.main-header-area .header-right.nav-actions .nav-icon-btn i,
.main-header-area .header-right.nav-actions .nav-icon-btn svg {
  font-size: 22px;
  width: 22px;
  height: 22px;
  color: #1E2729;
  transition: color 0.15s ease;
}
.main-header-area .header-right.nav-actions .nav-icon-btn:hover i,
.main-header-area .header-right.nav-actions .nav-icon-btn:hover svg {
  color: #8A6A2E;
}

/* Cart badge (mockup .nav-cart-badge), overrides old rose .quantity */
.main-header-area .header-right.nav-actions .nav-cart-badge {
  position: absolute;
  top: -7px;
  right: -9px;
  width: auto;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border-radius: 999px;
  background-color: #C9A257;
  color: #2A1C0E;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
}

/* Mobile hamburger (mobile layout kept) — readable on the light bar */
.main-header-area .mobile-menu_btn,
.main-header-area .mobile-menu_btn i {
  color: #1E2729;
}

/* Account dropdown readable on light bar */
.main-header-area .header-right.nav-actions .dropdown-menu {
  border: 1px solid rgba(63, 80, 84, 0.12);
  box-shadow: 0 14px 30px -18px rgba(30, 39, 41, 0.5);
}
.main-header-area .header-right.nav-actions .dropdown-menu .dropdown-item {
  color: #3F5054;
}
.main-header-area .header-right.nav-actions .dropdown-menu .dropdown-item:hover,
.main-header-area .header-right.nav-actions .dropdown-menu .dropdown-item:focus {
  color: #8A6A2E;
  background-color: rgba(201, 162, 87, 0.12);
}

/* Narrow screens: hide "Follow:" label first; icons stay in the header bar */
@media (max-width: 991px) {
  .main-header-area .social-link.nav-follow > span.nav-follow-label {
    display: none;
  }
}
@media (max-width: 620px) {
  .main-header-area .header-middle-wrap.nav,
  .main-header-area .header-sticky .header-middle-wrap.nav {
    padding-left: 10px;
    padding-right: 10px;
}
}

/* =============================================================
   dreamseed-quiz.css
   ============================================================= */
/* ============================================================
   DreamSeed v2 — Wheel of Life quiz + recommendations
   Scoped to #dzQuizRoot / #dzAlready.
   ============================================================ */

#dzQuizRoot,
#dzAlready{
  --dz-night:      #FFFDF7;
  --dz-night-deep: #FBF5E5;
  --dz-night-mid:  #FFFFFF;
  --dz-paper:      #1E2729;
  --dz-gold:       #C9A257;
  --dz-coral:      #3A595F;
  --dz-ink-soft:   #3F5054;
  --dz-ink-faint:  #647376;
  --dz-serif:      'Fraunces', Georgia, serif;
  --dz-sans:       'Work Sans', -apple-system, "Segoe UI", Arial, sans-serif;

  display: block;
  position: relative;
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 50%, #FBF5E5 100%);
  color: var(--dz-paper);
  font-family: var(--dz-sans);
  padding: 44px 0;
}
#dzQuizRoot *,
#dzAlready *{ box-sizing: border-box; }

/* ---------- buttons ---------- */
#dzQuizRoot .dz-btn,
#dzAlready .dz-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 13px 20px;
  border: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease, background 0.15s ease, color 0.15s ease;
}
#dzQuizRoot .dz-btn--primary,
#dzAlready .dz-btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
  box-shadow: 0 16px 30px -10px rgba(217,161,85,0.5);
}
#dzQuizRoot .dz-btn--primary:hover,
#dzAlready .dz-btn--primary:hover{ filter: brightness(1.08); transform: translateY(-2px); }
#dzQuizRoot .dz-btn--secondary,
#dzAlready .dz-btn--secondary{
  background: transparent;
  border: 2px solid #26383B;
  color: #26383B;
}
#dzQuizRoot .dz-btn--secondary:hover,
#dzAlready .dz-btn--secondary:hover{ background: #26383B; color: #fff; }
#dzQuizRoot .dz-btn--ghost,
#dzAlready .dz-btn--ghost{
  background: transparent;
  border: 1.5px solid rgba(63,80,84,0.4);
  color: var(--dz-ink-soft);
  font-weight: 600;
}
#dzQuizRoot .dz-btn--ghost:hover,
#dzAlready .dz-btn--ghost:hover{ color: var(--dz-paper); border-color: var(--dz-paper); }
#dzQuizRoot .dz-btn:disabled{ opacity: 0.5; cursor: not-allowed; }

/* ---------- quiz ---------- */
#dzQuizRoot .dz-quiz__intro{ text-align: center; max-width: 560px; margin: 0 auto 32px; padding: 0 24px; }
#dzQuizRoot .dz-quiz__intro h2{ font-family: var(--dz-serif); font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.15; margin: 0; }
#dzQuizRoot .dz-quiz__intro p{ margin: 14px 0 0; color: var(--dz-ink-soft); font-size: 1.02rem; line-height: 1.6; }

#dzQuizRoot .dz-quiz__progress{ max-width: 1080px; margin: 0 auto 12px; height: 4px; background: rgba(63,80,84,0.15); border-radius: 4px; overflow: hidden; }
#dzQuizRoot .dz-quiz__progress-fill{ height: 100%; width: 12.5%; background: linear-gradient(90deg, #C9A257, #3A595F); border-radius: 4px; transition: width 0.4s ease; }

#dzQuizRoot .dz-quiz__wrap{
  max-width: 1080px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: repeat(2, minmax(300px, 480px));
  justify-content: center; gap: 44px; align-items: stretch;
}
#dzQuizRoot .dz-qcard{
  background: #FFFFFF; border: 1.5px solid rgba(201,162,87,0.4); border-radius: 26px;
  padding: 34px 32px; min-height: 440px; height: 100%; display: flex; flex-direction: column;
}
#dzQuizRoot .dz-qnum{ font-size: 0.82rem; color: var(--dz-ink-faint); margin-bottom: 10px; }
#dzQuizRoot .dz-qtitle{ font-family: var(--dz-serif); font-weight: 700; font-size: 1.5rem; line-height: 1.25; }
#dzQuizRoot .dz-qdesc{ margin-top: 14px; color: var(--dz-ink-soft); font-size: 0.95rem; line-height: 1.6; }
#dzQuizRoot .dz-scale{ margin-top: 30px; }
#dzQuizRoot .dz-scale__labels{ display: flex; justify-content: space-between; font-size: 0.78rem; color: var(--dz-ink-faint); margin-bottom: 10px; }
#dzQuizRoot .dz-scale__row{ display: flex; gap: 8px; flex-wrap: wrap; }
#dzQuizRoot .dz-scale-btn{
  flex: 1 1 0; min-width: 30px; height: 44px; border-radius: 10px; border: none;
  color: #fff; font-family: var(--dz-serif); font-weight: 700; font-size: 0.95rem;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}
#dzQuizRoot .dz-scale-btn:hover{ filter: brightness(1.22) saturate(1.15); transform: translateY(-2px); }
#dzQuizRoot .dz-scale-btn.is-active{ box-shadow: 0 0 0 2.5px #fff, 0 0 0 4.5px #1C2B38; transform: translateY(-2px); }
#dzQuizRoot .dz-form-error{ margin-top: 16px; color: #b02a37; font-size: 0.88rem; }
#dzQuizRoot .dz-qfooter{ margin-top: auto; padding-top: 26px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
#dzQuizRoot .dz-qback{
  background: transparent; border: 1.5px solid rgba(63,80,84,0.4); color: var(--dz-ink-soft);
  border-radius: 999px; padding: 13px 18px; font-weight: 600; cursor: pointer; font-family: var(--dz-sans);
}
#dzQuizRoot .dz-qback:hover{ color: var(--dz-paper); border-color: var(--dz-paper); }

#dzQuizRoot .dz-radar{
  background: #FFFFFF; border: 1.5px solid rgba(201,162,87,0.4); border-radius: 26px;
  padding: 24px 16px 16px; position: sticky; top: 24px; overflow: visible;
  min-height: 440px; height: 100%;
  display: flex; flex-direction: column; justify-content: center;
  box-sizing: border-box;
}
#dzQuizRoot .dz-radar__label{ font-size: 0.85rem; color: var(--dz-ink-faint); margin: 0 4px 8px; flex: 0 0 auto; }
#dzQuizRoot .dz-radar__svg{
  width: 100%; height: auto; display: block; overflow: visible;
  flex: 1 1 auto; max-height: 100%; margin: auto 0;
}
#dzQuizRoot .dz-radar__axis{ font-weight: 600; fill: var(--dz-paper); font-family: var(--dz-sans); }

/* ---------- completion summary (inside the question card) ---------- */
#dzQuizRoot .dz-complete__inner{ display: block; }
#dzQuizRoot .dz-result__tag{
  display: inline-flex; align-items: center; gap: 8px; font-size: 0.72rem; color: var(--dz-gold);
  background: rgba(227,168,87,0.12); border: 1px solid rgba(227,168,87,0.35);
  padding: 5px 12px; border-radius: 20px;
}
#dzQuizRoot .dz-result__headline{ font-family: var(--dz-serif); font-weight: 700; font-size: clamp(1.25rem, 2.4vw, 1.7rem); margin: 16px 0 0; line-height: 1.25; }
#dzQuizRoot .dz-result__headline em{ color: var(--dz-gold); font-style: italic; }
#dzQuizRoot .dz-result__copy{ margin: 12px 0 0; color: var(--dz-ink-soft); font-size: 0.95rem; line-height: 1.6; }
#dzQuizRoot .dz-result__copy strong{ color: var(--dz-paper); }
#dzQuizRoot .dz-result__actions{ margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }

/* ---------- recommendations (matches mockup .rec-* ) ---------- */
#dzQuizRoot .dz-result-slot{ max-width: 1040px; margin: 36px auto 0; padding: 0 24px; }
#dzQuizRoot .dz-rec{ max-width: 1040px; margin: 0 auto; }
#dzQuizRoot .dz-rec__head{ text-align: center; max-width: 680px; margin: 0 auto 24px; }
#dzQuizRoot .dz-rec__head h2{ font-family: var(--dz-serif); font-weight: 700; font-size: clamp(1.6rem, 3.6vw, 2.2rem); color: var(--dz-paper); line-height: 1.15; margin: 0; }
#dzQuizRoot .dz-rec__head p{ margin: 10px 0 0; color: var(--dz-ink-soft); font-size: 1rem; line-height: 1.55; }
#dzQuizRoot .dz-rec__head b{ color: var(--dz-paper); }
#dzQuizRoot .dz-rec__list{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
#dzQuizRoot .dz-rec__item{ position: relative; display: flex; gap: 16px; align-items: flex-start; background: #FFFFFF; border: 1.5px solid rgba(201,162,87,0.4); border-radius: 18px; padding: 22px; }
#dzQuizRoot .dz-rec__item.is-locked{ overflow: hidden; isolation: isolate; }
#dzQuizRoot .dz-rec__num{ flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #3A595F 0%, #1C2B38 100%); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--dz-serif); font-weight: 700; font-size: 1.05rem; }
#dzQuizRoot .dz-rec__body{ min-width: 0; }
#dzQuizRoot .dz-rec__body h4{ font-family: var(--dz-serif); font-weight: 700; font-size: 1.05rem; color: var(--dz-paper); line-height: 1.3; margin: 0; }
#dzQuizRoot .dz-rec__body p{ margin: 6px 0 0; color: var(--dz-ink-soft); font-size: 0.95rem; line-height: 1.55; }
#dzQuizRoot .dz-rec__item.is-locked .dz-rec__body{ filter: blur(7px); user-select: none; pointer-events: none; }
#dzQuizRoot .dz-rec__lock{
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; z-index: 5;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 100%); color: #2A1C0E;
  font-weight: 700; font-size: 0.85rem; padding: 10px 16px; border-radius: 999px;
  text-decoration: none; box-shadow: 0 10px 22px -10px rgba(184,123,52,0.6);
  pointer-events: auto; cursor: pointer; -webkit-tap-highlight-color: transparent;
  border: none; font-family: inherit; appearance: none; -webkit-appearance: none;
}
#dzQuizRoot button.dz-rec__lock{ margin: 0; line-height: 1.2; }
#dzQuizRoot .dz-rec__lock:hover{ filter: brightness(1.03); }
#dzQuizRoot .dz-rec__lock:focus-visible{ outline: 2px solid #B87B34; outline-offset: 3px; }
#dzQuizRoot .dz-rec__lock svg{ width: 16px; height: 16px; flex-shrink: 0; pointer-events: none; }
#dzQuizRoot .dz-rec__lock span{ pointer-events: none; }
#dzQuizRoot .dz-rec__item.is-unlock-extra[hidden]{ display: none !important; }
#dzQuizRoot .dz-rec__item.is-unlocked-new{
  animation: dzRecUnlock 0.35s ease-out;
  border-color: rgba(184,123,52,0.65);
}
@keyframes dzRecUnlock{
  from{ opacity: 0; transform: translateY(8px); }
  to{ opacity: 1; transform: translateY(0); }
}
#dzQuizRoot .dz-rec__cta{ margin-top: 24px; text-align: center; }
#dzQuizRoot .dz-rec__actions{ display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 22px; }

/* ---------- "What's next / What you get" (mockup .rec-next) ---------- */
#dzQuizRoot .dz-rec__next{ margin-top: 40px; text-align: center; display: block; visibility: visible; }
#dzQuizRoot .dz-rec__next h3{ font-family: var(--dz-serif); font-weight: 700; font-size: clamp(1.35rem, 3vw, 1.8rem); color: var(--dz-paper); line-height: 1.2; max-width: 760px; margin: 0 auto; }
#dzQuizRoot .dz-rec__now{ display: flex; align-items: center; gap: 12px; text-align: left; max-width: 720px; margin: 18px auto 22px; padding: 14px 18px; background: rgba(201,162,87,0.16); border: 1px solid rgba(201,162,87,0.45); border-radius: 16px; }
#dzQuizRoot .dz-rec__now-icon{ flex: 0 0 22px; width: 22px; height: 22px; color: #B87B34; }
#dzQuizRoot .dz-rec__now-icon svg{ width: 22px; height: 22px; display: block; }
#dzQuizRoot .dz-rec__now p{ margin: 0; color: #5B4520; font-size: 0.95rem; line-height: 1.5; }
#dzQuizRoot .dz-rec__choices{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; text-align: left; align-items: stretch; margin-top: 8px; }
#dzQuizRoot .dz-rec__choices:empty{ display: none; }
#dzQuizRoot .dz-rec__choice{ display: flex; flex-direction: column; background: #FFFFFF; border: 1.5px solid rgba(58,89,95,0.35); border-radius: 22px; padding: 26px 24px; }
#dzQuizRoot .dz-rec__choice h4{ font-family: var(--dz-serif); font-weight: 700; font-size: 1.3rem; color: var(--dz-paper); line-height: 1.2; margin: 0; }
#dzQuizRoot .dz-rec__choice-sub{ margin: 6px 0 0; font-size: 0.9rem; color: var(--dz-ink-soft); }
#dzQuizRoot .dz-rec__perks{ list-style: none; margin: 16px 0 22px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
#dzQuizRoot .dz-rec__perks li{ display: flex; gap: 12px; align-items: flex-start; font-size: 0.93rem; line-height: 1.45; color: var(--dz-ink-soft); }
#dzQuizRoot .dz-rec__perks b{ display: block; color: var(--dz-paper); font-weight: 700; }
#dzQuizRoot .dz-rec__tick{ flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; margin-top: 1px; background: rgba(58,89,95,0.14); color: #26383B; display: flex; align-items: center; justify-content: center; }
#dzQuizRoot .dz-rec__tick svg{ width: 12px; height: 12px; }
#dzQuizRoot .dz-rec__choice-cta{ margin-top: auto; width: 100%; text-align: center; padding: 17px 24px; font-size: 1rem; font-weight: 700; }
#dzQuizRoot .dz-rec__choice.is-featured{ background: linear-gradient(135deg, #3A595F 0%, #1C2B38 100%); border: none; }
#dzQuizRoot .dz-rec__choice.is-featured h4{ color: #fff; }
#dzQuizRoot .dz-rec__choice.is-featured .dz-rec__choice-sub{ color: rgba(255,255,255,0.75); }
#dzQuizRoot .dz-rec__choice.is-featured .dz-rec__perks li{ color: rgba(255,255,255,0.8); }
#dzQuizRoot .dz-rec__choice.is-featured .dz-rec__perks b{ color: #fff; }
#dzQuizRoot .dz-rec__choice.is-featured .dz-rec__tick{ background: linear-gradient(135deg, #F0C784, #D9A155); color: #1C2B38; }

/* ---------- already done ---------- */
#dzAlready .dz-already__card{
  max-width: 620px; margin: 0 auto; text-align: center;
  background: #FFFFFF; border: 1.5px solid rgba(201,162,87,0.4); border-radius: 24px; padding: 40px 32px;
}
#dzAlready .dz-already__card h4{ font-family: var(--dz-serif); font-weight: 700; font-size: 1.4rem; margin: 0; }
#dzAlready .dz-already__card p{ margin: 12px 0 22px; color: var(--dz-ink-soft); font-size: 0.98rem; line-height: 1.6; }
#dzAlready .dz-already__actions{ display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ---------- error ---------- */
#dzQuizRoot .dz-alert{ max-width: 620px; margin: 0 auto; padding: 22px 24px; border-radius: 16px; }
#dzQuizRoot .dz-alert--error{ background: #fdecea; border: 1px solid #f5c2c0; color: #842029; }

/* ---------- responsive ---------- */
@media (max-width: 860px){
  #dzQuizRoot .dz-quiz__wrap{ grid-template-columns: 1fr; gap: 26px; }
  #dzQuizRoot .dz-radar{ position: static; order: -1; padding: 20px 12px 14px; }
  #dzQuizRoot .dz-qcard{ min-height: auto; }
  #dzQuizRoot .dz-rec__list{ grid-template-columns: 1fr; }
  #dzQuizRoot .dz-rec__choices{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  #dzQuizRoot, #dzAlready{ padding: 30px 0; }
  #dzQuizRoot .dz-rec__group{ padding: 22px 18px; }
  #dzQuizRoot .dz-radar{ padding: 16px 8px 10px; border-radius: 20px; }
  #dzQuizRoot .dz-radar__label{ font-size: 0.8rem; margin: 0 2px 6px; }
}
@media (prefers-reduced-motion: reduce){
  #dzQuizRoot *, #dzAlready *{ animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ============================================================
   DreamSeed — fixes (2026-10-05)
   1) Map header on mobile: stats/search must not overflow
   2) Account dropdown must stay above the hero (#dzHero)
   3) Mobile offcanvas menu — light theme + mockup social circles
   ============================================================ */

/* ---------- 1) Map section header on mobile ---------- */
@media (max-width: 768px){
  #map-block .dm-head,
  #map-block .dm-head.garden-header{
    gap: 12px;
    width: 100%;
}
  #map-block .dm-search,
  #map-block .garden-search{
    min-width: 0;
    width: 100%;
    flex: 1 1 auto;
}
  #map-block .dm-search input,
  #map-block .garden-search input{
    padding: 12px 42px 12px 16px;
    font-size: 13px;
}
  #map-block .dm-search .dm-search-ic{ right: 15px; }
  #map-block .dm-stats,
  #map-block .garden-stats{
    width: 100%;
    justify-content: center;
    gap: 10px;
}
}

/* ---------- 2) Header stacking: keep account dropdown above the hero ---------- */
.main-header-area .header-middle.site-header{
  position: relative;
  z-index: 50;
}

/* ---------- 3) Mobile offcanvas menu (light theme, mockup) ---------- */
.main-header-area .mobile-menu_wrapper .offcanvas-body{
  background-color: #FBF5E5;
  box-shadow: 0 10px 40px -18px rgba(30, 39, 41, 0.5);
}
.main-header-area
  .mobile-menu_wrapper
  .offcanvas-body
  .inner-body
  .offcanvas-top
  .button-close{
  color: #1E2729;
}
.main-header-area
  .mobile-menu_wrapper
  .offcanvas-body
  .inner-body
  .offcanvas-menu_area
  .offcanvas-navigation
  .mobile-menu
  li
  a{
  color: #3F5054;
}
.main-header-area
  .mobile-menu_wrapper
  .offcanvas-body
  .inner-body
  .offcanvas-menu_area
  .offcanvas-navigation
  .mobile-menu
  li
  a:hover{
  color: #8A6A2E;
}
.main-header-area
  .mobile-menu_wrapper
  .offcanvas-body
  .inner-body
  .offcanvas-menu_area
  .offcanvas-navigation
  .mobile-menu
  li.menu-open
  > a{
  color: #8A6A2E;
}
.main-header-area
  .mobile-menu_wrapper
  .offcanvas-body
  .inner-body
  .offcanvas-menu_area
  .offcanvas-navigation
  .mobile-menu
  li
  .sub-menu{
  background-color: rgba(201, 162, 87, 0.10);
}

/* offcanvas socials — same circular icons as the desktop block */
.main-header-area .mobile-menu_wrapper .social-link.with-border{
  gap: 12px;
}
.main-header-area .mobile-menu_wrapper .social-link.with-border > span{
  color: #3F5054;
  font-size: 0.9rem;
}
.main-header-area .mobile-menu_wrapper .social-link.with-border ul{
  display: flex;
  align-items: center;
  gap: 10px;
}
.main-header-area .mobile-menu_wrapper .social-link.with-border ul li:not(:last-child){
  padding-right: 0;
}
.main-header-area .mobile-menu_wrapper .social-link.with-border ul li a{
  width: 30px;
  height: 30px;
  border: 1.5px solid rgba(70, 84, 63, 0.35);
  border-radius: 50%;
  background: transparent;
  color: #1E2729;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.main-header-area .mobile-menu_wrapper .social-link.with-border ul li a:hover{
  background: transparent;
  border-color: #C9A257;
  color: #8A6A2E;
  transform: translateY(-1px);
}
.main-header-area .mobile-menu_wrapper .social-link.with-border ul li a i,
.main-header-area .mobile-menu_wrapper .social-link.with-border ul li a svg{
  width: 14px;
  height: 14px;
  font-size: 14px;
  color: inherit;
}

/* ============================================================
   DreamSeed — Product block restyle (mockup #treesSection)
   Adds mockup catalog classes on top of the working miniShop2 markup.
   Scoped to #product-block. Design values taken from the mockup.
   ============================================================ */
#product-block{
  --pb-night:#FFFDF7; --pb-night-mid:#FFFFFF;
  --pb-paper:#1E2729; --pb-gold:#C9A257; --pb-coral:#3A595F;
  --pb-ink-soft:#3F5054; --pb-ink-faint:#647376;
  --pb-sans:'Work Sans',-apple-system,"Segoe UI",Arial,sans-serif;
  --pb-serif:'Fraunces',Georgia,serif;
}

/* ---- section + card (mockup .result-section / .result-card) ---- */
#product-block.result-section{ padding:20px 24px 24px; display:flex; justify-content:center; background:linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 50%, #FBF5E5 100%); }
#product-block .container.result-card{
  width:100%; max-width:1140px; margin:0 auto;
  background:linear-gradient(165deg, #FFFFFF 0%, #FFFDF7 100%);
  border-radius:28px; border:1px solid rgba(63,80,84,0.14);
  padding:48px 44px; position:relative; overflow:hidden;
}

/* ---- headline (mockup .result-headline / .result-copy) — centered like other site sections ---- */
#product-block .section-title-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:680px;
  margin:0 auto 8px;
}
#product-block .section-title.result-headline{
  color:var(--pb-paper); font-family:var(--pb-serif); font-weight:700;
  font-size:clamp(1.7rem,3.6vw,2.35rem); line-height:1.2; margin:0; padding:0;
  letter-spacing:-0.01em;
}
#product-block .section-title:before,
#product-block .section-title:after{ content:none; display:none; }
#product-block .section-title-wrap p.result-copy,
#product-block .section-title-wrap p{
  margin:14px auto 0;
  color:var(--pb-ink-soft);
  font-size:1.02rem;
  line-height:1.6;
  max-width:560px;
  text-align:center;
}
#product-block .section-title-wrap p.result-copy--gift{
  margin-top:10px;
  max-width:600px;
  font-family: Fraunces, Georgia, serif;
  font-weight: 560;
  font-size: clamp(1.02rem, 2.4vw, 1.14rem);
  line-height: 1.4;
  color: #2A1C0E;
  letter-spacing: -0.01em;
}
@media (max-width: 640px){
  #product-block .section-title-wrap p.result-copy--gift{
    margin-top: 8px;
    padding: 0 4px;
    font-size: 1.05rem;
  }
}
/* Shared site quotes (hero, quiz, choose-tree, map) */
.ds-site-quote{
  margin:1.15rem 0 0;
  max-width:36rem;
  padding:1rem 1.2rem 1rem 1.3rem;
  font-family:var(--dz-serif, 'Fraunces', Georgia, serif);
  font-style:italic;
  font-weight:650;
  font-size:clamp(1.2rem, 2.8vw, 1.55rem);
  line-height:1.35;
  letter-spacing:0.01em;
  color:#1E2729;
  background:linear-gradient(120deg, rgba(240,199,132,0.34) 0%, rgba(255,253,247,0.95) 48%, rgba(217,161,85,0.22) 100%);
  border-left:4px solid #B87B34;
  border-radius:0 18px 18px 0;
  box-shadow:0 10px 28px rgba(184,123,52,0.12);
  position:relative;
  text-align:left;
}
.ds-site-quote::before{
  content:"\201C";
  position:absolute;
  top:0.15rem;
  left:0.55rem;
  font-size:2rem;
  line-height:1;
  color:#B87B34;
  opacity:0.55;
  font-style:normal;
  pointer-events:none;
}
#product-block .result-quote{
  margin:1.15rem auto 0;
  text-align:left; /* quote body keeps readable left align inside centered block */
}
#dzQuizRoot .dz-quiz__quote,
#anketa-block .dz-quiz__quote{
  margin:1.15rem auto 0;
}
@media (max-width:575.98px){
  .ds-site-quote{
    margin-top:1rem;
    padding:0.9rem 1rem 0.9rem 1.1rem;
    font-size:clamp(1.12rem, 5.2vw, 1.28rem);
    border-radius:0 14px 14px 0;
  }
}

/* ---- catalog grid (mockup .catalog-wrap / .catalog-label / .catalog-grid) ---- */
#product-block .catalog-wrap{ margin-top:34px; border-top:1px solid rgba(63,80,84,0.14); padding-top:32px; display:block; }
#product-block .catalog-label{
  font-size:0.85rem;
  color:var(--pb-ink-faint);
  margin:0 auto 18px;
  text-align:center;
}
#product-block .catalog-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(210px,1fr));
  gap:40px 26px; margin:0;
  align-items:stretch;
}
#product-block .catalog-grid > [class*="col-"]{
  width:100%; max-width:100%; flex:0 0 auto;
  padding-left:0; padding-right:0;
  display:flex;
  align-items:stretch;
  height:100%;
}

/* ---- card (mockup .catalog-card) ---- */
#product-block .product-item.catalog-card{
  padding:0; overflow:visible; background:transparent; border:none;
  cursor:pointer; transition:transform 0.15s ease;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
}
#product-block .product-item.catalog-card:hover{ transform:translateY(-2px); }

/* ---- thumb (mockup .catalog-thumb / .catalog-thumb-inner) ---- */
#product-block .product-img.catalog-thumb{ position:relative; width:100%; aspect-ratio:1; height:auto; }
#product-block .catalog-thumb-inner{
  position:relative; width:100%; height:100%; border-radius:10px; overflow:hidden;
  background:linear-gradient(160deg, rgba(224,112,140,0.10), rgba(201,162,87,0.14));
}
#product-block .catalog-thumb-inner a{ display:block; width:100%; height:100%; }
#product-block .catalog-thumb-inner img,
#product-block .catalog-thumb-inner .ds-product-grown-img,
#product-block .catalog-thumb-inner .ds-product-video{
  width:100%; height:100%; object-fit:contain;
}
#product-block .product-img img{ height:100%; object-fit:contain; }
#product-block .product-img img.secondary-img{ top:0; height:100%; }

/* ============================================================
   Product media: same square frame for grown photo + growth video
   (catalog cards, product page, quick modal). Full-res video source
   stays untouched for native fullscreen quality.
   ============================================================ */
#product-block .ds-catalog-media,
.shop-page-area .ds-catalog-media,
.ds-catalog-media{
  background: #FFFDF7;
}
.product-img.catalog-thumb{
  position:relative; width:100%; aspect-ratio:1; height:auto;
}
.product-img.catalog-thumb .catalog-thumb-inner,
.ds-catalog-media{
  position:relative; width:100%; height:100%; border-radius:10px; overflow:hidden;
}

/* Shared square stage for every product media slider */
.single-product-img .slider-modal,
.quick-view-modal .dz-modal-media .slider-modal,
.ds-catalog-card-slider,
#product-block .ds-catalog-card-slider,
.shop-page-area .ds-catalog-card-slider{
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  background: #FFFDF7;
}
.single-product-img .slider-modal .owl-stage-outer,
.single-product-img .slider-modal .owl-stage,
.single-product-img .slider-modal .owl-item,
.single-product-img .slider-modal .slide,
.single-product-img .slider-modal .slide-inner,
.quick-view-modal .dz-modal-media .slider-modal .owl-stage-outer,
.quick-view-modal .dz-modal-media .slider-modal .owl-stage,
.quick-view-modal .dz-modal-media .slider-modal .owl-item,
.quick-view-modal .dz-modal-media .slider-modal .slide,
.quick-view-modal .dz-modal-media .slider-modal .slide-inner,
.ds-catalog-card-slider .owl-stage-outer,
.ds-catalog-card-slider .owl-stage,
.ds-catalog-card-slider .owl-item,
.ds-catalog-card-slider .slide,
.ds-catalog-card-slider .slide-inner,
#product-block .ds-catalog-card-slider .owl-stage-outer,
#product-block .ds-catalog-card-slider .owl-stage,
#product-block .ds-catalog-card-slider .owl-item,
#product-block .ds-catalog-card-slider .slide{
  height: 100% !important;
  min-height: 100% !important;
}
.single-product-img .slide-inner,
.quick-view-modal .dz-modal-media .slide-inner,
.ds-catalog-card-slider .slide,
.ds-catalog-card-slider .slide-inner,
#slider-modal .slide-inner{
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #FFFDF7;
  overflow: hidden;
}
/* Photo and video occupy the exact same box */
.single-product-img .ds-product-grown-img,
.single-product-img .ds-product-video,
.single-product-img .slide-img-modal,
.single-product-img .slide-inner video,
.quick-view-modal .ds-product-grown-img,
.quick-view-modal .ds-product-video,
.quick-view-modal .slide-img-modal,
.quick-view-modal .slide-inner video,
.ds-catalog-card-slider .ds-product-grown-img,
.ds-catalog-card-slider .ds-product-video,
.ds-catalog-media img,
.ds-catalog-media video,
#slider-modal .slide-img-modal,
#slider-modal .ds-product-grown-img,
#slider-modal video,
#slider-modal .ds-product-video,
.slide-inner video{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FFFDF7 !important;
  display: block !important;
  margin: 0 auto;
}
/* Beat legacy style.css fixed 517px / cover on product images */
#slider-modal .slide-img-modal{
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Nav arrows: visible + clickable (style.css sets pointer-events:none on .owl-nav) */
.single-product-img .slider-modal .owl-nav,
.quick-view-modal .dz-modal-media .slider-modal .owl-nav,
.ds-catalog-card-slider .owl-nav,
#slider-modal.slider-modal .owl-nav,
.slider-modal.ds-catalog-card-slider .owl-nav{
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 6;
}
.single-product-img .slider-modal .owl-nav button.owl-prev,
.single-product-img .slider-modal .owl-nav button.owl-next,
.quick-view-modal .dz-modal-media .slider-modal .owl-nav button.owl-prev,
.quick-view-modal .dz-modal-media .slider-modal .owl-nav button.owl-next,
.ds-catalog-card-slider .owl-nav button.owl-prev,
.ds-catalog-card-slider .owl-nav button.owl-next,
#slider-modal.slider-modal .owl-nav button.owl-prev,
#slider-modal.slider-modal .owl-nav button.owl-next,
.slider-modal .owl-nav button.owl-prev,
.slider-modal .owl-nav button.owl-next{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255,253,247,0.94) !important;
  color: #1E2729 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 7 !important;
  box-shadow: 0 6px 16px -8px rgba(30,39,41,0.45);
  opacity: 1 !important;
}
.single-product-img .slider-modal .owl-nav button.owl-prev,
.quick-view-modal .dz-modal-media .slider-modal .owl-nav button.owl-prev,
.ds-catalog-card-slider .owl-nav button.owl-prev,
#slider-modal.slider-modal .owl-nav button.owl-prev,
.slider-modal .owl-nav button.owl-prev{ left: 10px !important; right: auto !important; }
.single-product-img .slider-modal .owl-nav button.owl-next,
.quick-view-modal .dz-modal-media .slider-modal .owl-nav button.owl-next,
.ds-catalog-card-slider .owl-nav button.owl-next,
#slider-modal.slider-modal .owl-nav button.owl-next,
.slider-modal .owl-nav button.owl-next{ right: 10px !important; left: auto !important; }
.slider-modal .owl-nav button.disabled{
  opacity: 0.35 !important;
  pointer-events: auto !important; /* still allow click when rewind/loop handles it */
}
.slider-modal .owl-nav button svg{
  width: 14px;
  height: 14px;
  fill: #1E2729;
}
.ds-catalog-card-slider .owl-dots,
#product-block .ds-catalog-card-slider .owl-dots,
.shop-page-area .ds-catalog-card-slider .owl-dots{
  position: absolute;
  left: 0; right: 0; bottom: 8px;
  margin: 0;
  z-index: 5;
}
.ds-catalog-card-slider .slide > a{
  display: block;
  width: 100%;
  height: 100%;
}
.ds-catalog-card-slider .slide.ds-product-growth-video{
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Keep card arrows above bag icon / overlays */
.ds-catalog-media,
.catalog-thumb-inner.ds-catalog-media{
  overflow: hidden;
}
.ds-catalog-card-slider .owl-nav,
.ds-catalog-card-slider .owl-nav button{
  z-index: 20 !important;
}
.product-img.catalog-thumb .product-add-action.catalog-icons{
  z-index: 4;
}

/* ---- Custom product media slider (grown photo + growth video) ---- */
.ds-media-slider,
.single-product-img .ds-media-slider,
.quick-view-modal .ds-media-slider,
.ds-catalog-card-slider.ds-media-slider{
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden;
  background: #FFFDF7;
  border-radius: 10px;
}
.ds-media-slider > .ds-media-slide,
.ds-media-slider > .slide{
  position: absolute !important;
  inset: 0;
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: #FFFDF7;
}
.ds-media-slider > .ds-media-slide.is-active,
.ds-media-slider > .slide.is-active{
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.ds-media-slider .slide-inner,
.ds-media-slider > .ds-media-slide > a{
  display: flex !important;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.ds-media-slider img,
.ds-media-slider video,
.ds-media-slider .ds-product-grown-img,
.ds-media-slider .ds-product-video,
.ds-media-slider .slide-img-modal{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FFFDF7 !important;
}
.ds-media-nav{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 8;
}
.ds-media-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(255,253,247,0.94);
  color: #1E2729;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: pointer;
  z-index: 9;
  box-shadow: 0 6px 16px -8px rgba(30,39,41,0.45);
  padding: 0;
}
.ds-media-btn svg{ width: 14px; height: 14px; fill: #1E2729; }
.ds-media-prev{ left: 10px; }
.ds-media-next{ right: 10px; }
.ds-media-btn:hover{ background: #fff; }
.ds-media-dots{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 9;
  pointer-events: none;
}
.ds-media-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(30,39,41,0.28);
  pointer-events: auto;
  cursor: pointer;
}
.ds-media-dot.is-active{
  background: #B87B34;
}

/* ---- action icons (mockup .catalog-icons / .catalog-icon-btn) ---- */
#product-block .product-add-action.catalog-icons{ position:absolute; left:12px; bottom:-16px; top:auto; z-index:2; transition:none; }
#product-block .product-item.catalog-card:hover .product-add-action.catalog-icons{ left:12px; }
#product-block .catalog-icons{ display:flex; gap:8px; }
#product-block .catalog-icons ul{ display:flex; gap:8px; }
#product-block .catalog-icons ul li{ padding-right:0; }
#product-block .catalog-icons .catalog-icon-btn{
  width:34px; height:34px; border-radius:9px; border:none; padding:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 16px -8px rgba(30,39,41,0.45); cursor:pointer;
}
#product-block .catalog-icons .catalog-icon-btn i{ font-size:16px; line-height:1; }
#product-block .catalog-icons .catalog-icon-btn.is-view{ background:#FFFDF7; }
#product-block .catalog-icons .catalog-icon-btn.is-view i{ color:var(--pb-paper); }
#product-block .catalog-icons .catalog-icon-btn.is-bag{ background:#E0708C; }
#product-block .catalog-icons .catalog-icon-btn.is-bag i{ color:#fff; }
#product-block .catalog-icons .catalog-icon-btn:hover{ filter:brightness(1.08); }

/* ---- info (mockup .catalog-info / .catalog-cat / .catalog-bottom-row / .catalog-price / .catalog-buy-btn) ---- */
#product-block .product-content.catalog-info{
  padding:26px 2px 0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
#product-block .product-content .product-name{
  min-height: 41px;font-family:var(--pb-sans); font-weight:700; font-size:0.98rem; line-height:1.3;
  color:var(--pb-paper); margin-bottom:0;
}
#product-block .product-content .product-name:hover{ color:#C15574; }
#product-block .product-content .vendor-block{ min-height:0; }
#product-block .product-content .pagetitle-vendor{
  display:block; margin-top:5px; font-size:0.8rem; font-weight:500; color:#5C7A94;
  line-height:1.35;
}
#product-block .product-content .pagetitle-terms{ display:none; }
/* Pin price + Buy to the bottom so buttons align across the row on desktop */
#product-block .product-content.catalog-info > form.ms2_form{
  margin-top:auto;
  width:100%;
  padding-top:14px;
}

#product-block .price-box.catalog-bottom-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:0; width:100%;
}
#product-block .price-box.catalog-bottom-row .new-price{
  width:auto; font-family:var(--pb-sans); font-weight:700; font-size:0.92rem; color:#C15574;
}
#product-block .price-box.catalog-bottom-row .old-price{
  margin-left:8px; margin-right:auto; font-size:0.8rem; color:#8d8f92;
}
#product-block .catalog-buy-btn{
  width:auto; height:auto; line-height:1;
  font-family:var(--pb-sans); font-weight:700; font-size:0.76rem; letter-spacing:0.03em;
  white-space:nowrap; background:#E0708C; border:none; color:#fff;
  padding:10px 22px; border-radius:999px; cursor:pointer;
  transition:background 0.15s ease;
}
#product-block .catalog-buy-btn:hover{ background:#C15574; color:#fff; }
#product-block .catalog-buy-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  margin-left:auto;
  max-width:58%;
}
.ds-pay-once-note{
  margin:0;
  font-family:'Work Sans',sans-serif;
  font-size:0.72rem;
  line-height:1.3;
  font-weight:600;
  color:#3F5054;
  text-align:right;
  max-width:14rem;
}
.ds-pay-once-note--catalog{
  display:block;
  width:100%;
}
.ds-pay-once-note--product{
  width:100%;
  max-width:none;
  margin-top:8px;
  text-align:left;
  font-size:0.78rem;
}
.ds-pay-once-note--checkout{
  width:100%;
  max-width:none;
  margin-top:10px;
  text-align:center;
  font-size:0.86rem;
  color:#3F5054;
}
.ds-pay-once-note--rec{
  width:100%;
  max-width:none;
  margin-top:6px;
  text-align:center;
  font-size:0.72rem;
}
@media (max-width:767px){
  #product-block .catalog-buy-wrap{
    max-width:100%;
    width:100%;
    align-items:stretch;
    gap:6px;
  }
  #product-block .catalog-buy-wrap .catalog-buy-btn{
    width:100%;
  }
  #product-block .ds-pay-once-note,
  #product-block .ds-pay-once-note--catalog{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    text-align:center;
    max-width:none;
    width:100%;
    font-size:0.84rem;
    line-height:1.35;
    color:#2A3A3E;
    margin-top:2px;
    padding:0 4px;
  }
  .ds-pay-once-note--product{
    text-align:center;
    font-size:0.84rem;
  }
}

/* ---- responsive (mockup) ---- */
@media (max-width: 767px){
  #product-block.result-section{ padding:12px 14px 20px; }
  #product-block .container.result-card{ padding:34px 24px; border-radius:22px; }
  #product-block .section-title-wrap{
    align-items:center;
    text-align:center;
    max-width:100%;
    margin:0 auto 6px;
  }
  #product-block .section-title.result-headline{
    font-size:clamp(1.55rem, 6.5vw, 1.95rem);
  }
  #product-block .section-title-wrap p.result-copy,
  #product-block .section-title-wrap p{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  #product-block .result-quote{ margin-left:auto; margin-right:auto; }
  #product-block .catalog-label,
  #product-block .matches-label,
  #product-block .no-selection-hint{ text-align:center; }
}
@media (max-width: 480px){
  #product-block .catalog-info{ padding-top:20px; }
}

/* ============================================================
   DreamSeed — Product block: static mockup sections + SVG icons
   (Your selected trees, trust block, Plant Your Trees CTA)
   ============================================================ */

/* action icons as SVG (mockup) */
#product-block .catalog-icons .catalog-icon-btn svg{ width:15px; height:15px; fill:none; }
#product-block .catalog-icons .catalog-icon-btn.is-view svg{ stroke:var(--pb-paper); }
#product-block .catalog-icons .catalog-icon-btn.is-bag svg{ stroke:#fff; }

/* ---- Your selected trees (mockup .matches-wrap) ---- */
#product-block .matches-wrap{ margin-top:40px; border-top:1px solid rgba(63,80,84,0.14); padding-top:32px; }
#product-block .matches-label{
  font-size:0.85rem;
  color:var(--pb-ink-faint);
  margin:0 auto 18px;
  text-align:center;
}
#product-block .matches-grid{ display:flex; flex-direction:column; gap:14px; }
#product-block .no-selection-hint{
  font-size:0.92rem;
  color:var(--pb-ink-faint);
  font-style:italic;
  padding:4px 0;
  text-align:center;
  margin:0 auto;
}
#product-block .match-card{
  display:none; align-items:center; gap:18px; padding:20px;
  background:rgba(253,250,240,0.5); border-radius:16px; border:1px solid rgba(63,80,84,0.1);
  cursor:pointer; transition:border-color 0.15s ease;
}
#product-block .match-card.is-active{ display:flex; }
#product-block .match-check{
  flex:0 0 24px; height:24px; border-radius:50%; border:1.5px solid #C9A257; background:#C9A257;
  display:flex; align-items:center; justify-content:center;
}
#product-block .match-check svg{ width:13px; height:13px; }
#product-block .match-visual{ flex:0 0 76px; height:76px; }
#product-block .match-info{ flex:1 1 auto; }
#product-block .match-info h4{ font-family:var(--pb-serif); font-weight:600; font-size:1.05rem; margin:0; }
#product-block .match-info span{ display:block; margin-top:3px; font-size:0.82rem; color:var(--pb-gold); }
#product-block .match-price{ flex:0 0 auto; font-family:var(--pb-serif); font-weight:600; font-size:1rem; color:var(--pb-paper); white-space:nowrap; }

/* ---- trust block (mockup .trust-block) ---- */
#product-block .trust-block{ margin-top:40px; border-top:1px solid rgba(63,80,84,0.14); padding-top:32px; }
#product-block .trust-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px; }
#product-block .trust-item{
  display:flex; flex-direction:column; gap:10px; align-items:flex-start;
  background:rgba(58,89,95,0.08); border:1.5px solid rgba(201,162,87,0.35);
  border-radius:16px; padding:18px 18px 20px;
}
#product-block .trust-icon{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--pb-coral);
  display:flex; align-items:center; justify-content:center;
}
#product-block .trust-icon svg{ width:16px; height:16px; }
#product-block .trust-icon svg path,
#product-block .trust-icon svg circle{ stroke:#fff; }
#product-block .trust-text h5{ font-family:var(--pb-serif); font-weight:700; font-size:0.94rem; margin:0 0 4px; color:var(--pb-paper); }
#product-block .trust-text p{ font-size:0.84rem; color:var(--pb-ink-soft); line-height:1.5; margin:0; }

/* ---- CTA (mockup .result-cta / .btn-primary) ---- */
#product-block .result-cta{ margin-top:32px; display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; }
#product-block .result-cta .btn-primary{
  background:linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color:#2A1C0E; font-weight:700; font-size:1rem; border:none;
  padding:15px 34px; border-radius:999px; cursor:pointer; text-decoration:none;
  box-shadow:0 16px 30px -10px rgba(217,161,85,0.5);
  transition:transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
#product-block .result-cta .btn-primary:not(:disabled):hover{
  filter:brightness(1.08); transform:translateY(-2px);
  box-shadow:0 20px 34px -10px rgba(217,161,85,0.6);
}
#product-block .result-cta .btn-primary:disabled{ opacity:0.55; cursor:not-allowed; }

@media (max-width: 767px){
  #product-block .match-card{ flex-wrap:wrap; }
  #product-block .match-price{ margin-left:0; }
}

/* ============================================================
   DreamSeed — Modal restyle (mockup dzModalOverlay / dzConfirmOverlay)
   Product quick-view modal (.quick-view-modal) and cart confirm (#cartModal).
   Working markup/IDs/classes preserved; mockup classes added.
   NOTE: the media column (video + gallery) is intentionally left to the
   original theme styles (no layout overrides here) so the owl carousel
   keeps working exactly as before.
   ============================================================ */
.quick-view-modal,
#cartModal{
  --paper:#1E2729; --coral:#3A595F; --coral-dim:#26383B; --gold:#C9A257;
  --ink-soft:#3F5054; --ink-faint:#647376; --night-mid:#FFFFFF;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Work Sans',-apple-system,"Segoe UI",Arial,sans-serif;
}

/* ================= PRODUCT MODAL (dz-modal) ================= */
.quick-view-modal .modal-dialog{ max-width:920px; width:calc(100% - 30px); }
.quick-view-modal .modal-content.dz-modal{
  background:#FFFFFF; border:0; border-radius:22px; overflow:auto;
  /* max-height:88vh; */ box-shadow:0 40px 80px -24px rgba(20,16,10,0.45);
  position:relative;
}
.quick-view-modal .modal-header{
  position:absolute; top:0; right:0; left:auto; padding:0; border:0; z-index:4;
}
.quick-view-modal .modal-header .btn-close{
  position:absolute; top:14px; right:14px; width:34px; height:34px; margin:0; padding:0;
  border-radius:50%; background-color:rgba(255,255,255,0.92); opacity:1;
  background-size:12px; box-shadow:0 6px 16px -8px rgba(0,0,0,0.4);
}
.quick-view-modal .modal-header .btn-close:focus{ box-shadow:0 0 0 3px rgba(201,162,87,0.35); }
.quick-view-modal .modal-body{ padding:0; }

/* body column (typography / qty / buttons / follow) */
.quick-view-modal .dz-modal-body{
  padding:clamp(28px,4vw,20px) clamp(24px,4vw,40px);
  display:flex; flex-direction:column;
}
.quick-view-modal .dz-modal-title,
.quick-view-modal .single-product-content > .title{
  font-family:var(--serif); font-weight:700; font-size:1.6rem; line-height:1.2;
  color:var(--paper); padding-right:30px; margin:0;
}
.quick-view-modal .dz-modal-cat{ display:block; margin-top:6px; color:var(--ink-faint); font-size:0.92rem; }
.quick-view-modal .dz-modal-body .pagetitle-terms{ display:none; }
.quick-view-modal .dz-modal-price{ margin-top:16px; display:flex; align-items:baseline; gap:10px; }
.quick-view-modal .dz-modal-price .new-price{
  font-family:var(--serif); font-weight:700; font-size:1.5rem; color:var(--coral-dim);
}
.quick-view-modal .dz-modal-price .old-price{ font-size:0.95rem; color:var(--ink-faint); }
.quick-view-modal .dz-modal-desc,
.quick-view-modal .single-product-content .dz-modal-desc{
  margin-top:18px; color:var(--ink-soft); font-size:0.95rem; line-height:1.65;
}
.quick-view-modal .dz-modal-desc .button{ color:var(--coral-dim); font-weight:600; cursor:pointer; }
.quick-view-modal .dz-modal-body .short-desc img{ max-width:100%; height:auto; }

/* qty + add to cart */
.quick-view-modal .dz-modal-qty-row{
  margin-top:auto; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  list-style:none; padding-left:0;
}
.quick-view-modal .dz-modal-qty-row > li{ margin:0; }
.quick-view-modal .dz-qty.cart-plus-minus{
  display:flex; align-items:center; gap:6px; border:1.5px solid rgba(63,80,84,0.28);
  border-radius:12px; padding:6px 12px; width:auto; height:auto;
}
.quick-view-modal .dz-qty .qtybutton{ position:static; }
.quick-view-modal .dz-qty .cart-plus-minus-box,
.quick-view-modal .dz-qty input{
  border:0; background:transparent; width:14px; height: 100%; text-align:center; padding:0;
  font-family:var(--serif); font-weight:600; font-size:1rem; color:var(--paper);
}
.quick-view-modal .dz-modal-addbtn.btn{
  background:var(--coral); color:#fff; border:none; padding:13px 26px; border-radius:999px;
  font-family:var(--sans); font-weight:700; font-size:0.85rem; letter-spacing:0.02em;
  width:auto; height:auto; line-height:1; cursor:pointer; transition:background 0.15s ease;
}
.quick-view-modal .dz-modal-addbtn.btn:hover{ background:var(--coral-dim); color:#fff; }

/* follow socials (match mockup; boosted specificity over style.css) */
.quick-view-modal .modal-content .social-link.dz-follow{
  margin-top:24px; display:flex; align-items:center; justify-content:flex-start; gap:10px;
  font-size:0.82rem; color:var(--ink-faint);
}
.quick-view-modal .modal-content .social-link.dz-follow > span{ color:var(--ink-faint); }
.quick-view-modal .modal-content .social-link.dz-follow ul{ display:flex; align-items:center; gap:10px; margin:0; padding:0; list-style:none; }
.quick-view-modal .modal-content .social-link.dz-follow ul li:not(:last-child){ padding-right:0; }
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a{
  width:30px; height:30px; border-radius:50%; border:1px solid rgba(63,80,84,0.3);
  background:transparent; display:flex; align-items:center; justify-content:center; line-height:1;
  color:var(--ink-soft); transition:border-color 0.15s ease, color 0.15s ease;
}
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a:hover{
  border-color:var(--coral); color:var(--coral-dim); background:transparent;
}
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a:hover svg{ color:var(--coral-dim); }
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a:hover i{ color:var(--coral-dim); }
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a i{ color:inherit; font-size:14px; line-height:1; }
.quick-view-modal .modal-content .social-link.with-border.dz-follow ul li a svg{ width:15px; height:15px; color:inherit; }

/* Tippy labels: above sticky header (999), below modals (1100+).
   z-index:40 was hiding Instagram/YouTube/TikTok tips behind the header. */
.tippy-popper,
.tippy-tooltip,
[id^="tippy-"]{
  z-index: 1050 !important;
}
body.modal-open .tippy-popper,
body.modal-open .tippy-tooltip,
.modal.show ~ .tippy-popper,
.modal.show .tippy-popper{
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ================= CART CONFIRM (dz-confirm) ================= */
#cartModal.modal-cart{
  background:rgba(16,19,20,0.5);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  z-index:1100;
}
#cartModal .modal-content.dz-confirm{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  margin:0; width:calc(100% - 20px); max-width:460px;
  background:linear-gradient(160deg, rgba(239,184,201,0.35) 0%, rgba(201,162,87,0.2) 45%, #FFFFFF 100%);
  color:var(--paper); border:1.5px solid rgba(201,162,87,0.4);
  border-radius:18px; padding:30px 30px 26px;
  box-shadow:0 30px 60px -20px rgba(20,16,10,0.35);
}
#cartModal .modal-header{
  display:block; border:0; padding:0; margin:0; position:relative;
}
#cartModal .modal-header h3{
  font-family:var(--serif); font-weight:700; font-size:1.35rem; line-height:1.25;
  color:var(--paper); padding-right:24px; margin:0;
}
#cartModal .close-modal{
  position:absolute; top:-4px; right:0; color:var(--ink-faint);
  font-size:1.2rem; font-weight:400; cursor:pointer; line-height:1;
}
#cartModal .close-modal:hover{ color:var(--paper); }
#cartModal .modal-body{ padding:0; }
#cartModal .dz-confirm-sub{
  margin:20px 0 0; padding-top:18px; border-top:1px solid rgba(63,80,84,0.16);
  font-size:0.92rem; color:var(--ink-soft);
}
#cartModal .modal-footer.dz-confirm-actions{
  margin-top:22px; padding:0; border:0; display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-start;
}
#cartModal .dz-confirm-btn.btn{
  flex:1 1 auto; padding:13px 18px; border-radius:999px; border:none;
  font-family:var(--sans); font-weight:700; font-size:0.85rem; white-space:nowrap;
  transition:filter 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
/* High-contrast actions on the gold confirm panel (never gold-on-gold). */
#cartModal .dz-confirm-btn.is-continue,
#cartModal .dz-confirm-btn.is-continue.btn-primary{
  background:#FFFFFF !important;
  color:#1E2729 !important;
  border:1.5px solid rgba(30,39,41,0.4) !important;
  box-shadow:none !important;
  filter:none !important;
}
#cartModal .dz-confirm-btn.is-continue:hover,
#cartModal .dz-confirm-btn.is-continue.btn-primary:hover{
  background:#F4F1EC !important;
  color:#1E2729 !important;
  border-color:#1E2729 !important;
  transform:none;
}
#cartModal .dz-confirm-btn.is-cart,
#cartModal .dz-confirm-btn.is-cart.btn-primary,
#cartModal .dz-confirm-btn.is-cart.success-button-cart{
  background:#1E2729 !important;
  color:#FFFFFF !important;
  border:1.5px solid #1E2729 !important;
  box-shadow:0 14px 28px -14px rgba(20,16,10,0.55) !important;
  filter:none !important;
}
#cartModal .dz-confirm-btn.is-cart:hover,
#cartModal .dz-confirm-btn.is-cart.btn-primary:hover,
#cartModal .dz-confirm-btn.is-cart.success-button-cart:hover{
  background:#2A3538 !important;
  color:#FFFFFF !important;
  filter:none !important;
  transform:translateY(-1px);
}

/* ================= MOBILE MODAL FIXES (product quick-view full-bleed) ================= */
@media (max-width: 720px){
  .quick-view-modal .modal-dialog{
    width:100%; max-width:100%; margin:0;
  }
  .quick-view-modal .modal-content.dz-modal{
    border-radius:0;
  }
  .quick-view-modal .modal-body{ padding:0; }
  .quick-view-modal .modal-body .modal-wrap.row{
    margin-left:0; margin-right:0;
  }
  .quick-view-modal .modal-body .modal-wrap.row > [class*="col-"]{
    padding-left:0; padding-right:0;
  }
.quick-view-modal .dz-modal-qty-row{
      flex-wrap: nowrap;
  }
}

/* ============================================================
   DreamSeed — Modal fixes (qty row, owl nav arrows, cart confirm)
   ============================================================ */

/* qty control like mockup .dz-qty -> [ - ] value [ + ] */
.quick-view-modal .dz-qty.cart-plus-minus{
  display:flex; align-items:center; gap:12px;
  border:1.5px solid rgba(63,80,84,0.28); border-radius:12px;
  padding:8px 14px; width:auto; height:auto;
}
.quick-view-modal .dz-qty .dec.qtybutton{ order:1; }
.quick-view-modal .dz-qty .cart-plus-minus-box{ order:2; }
.quick-view-modal .dz-qty .inc.qtybutton{ order:3; }
.quick-view-modal .dz-qty .qtybutton{
  position:static; float:none; width:22px; height:22px; border-radius:50%;
  border:1px solid rgba(63,80,84,0.45); background:transparent; color:#1E2729;
  line-height:1; margin:0; padding:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.quick-view-modal .dz-qty .qtybutton i{ font-size:0.7rem; line-height:1; }
.quick-view-modal .dz-qty .qtybutton:hover{ background:rgba(63,80,84,0.08); }
.quick-view-modal .dz-qty .cart-plus-minus-box,
.quick-view-modal .dz-qty input{
  border:0 !important; background:transparent; width:42px; text-align:center; padding:0;
  font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1rem; color:#1E2729;
}

/* owl arrows like mockup .dz-nav-btn (round white, left/right center) */
.quick-view-modal .dz-modal-media .owl-nav{
  position:static; margin:0; padding:0; height:0; line-height:0;
}
.quick-view-modal .dz-modal-media .owl-nav button.owl-prev,
.quick-view-modal .dz-modal-media .owl-nav button.owl-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%; border:none; margin:0; padding:0;
  background:rgba(255,255,255,0.88) !important; color:#1E2729;
  display:flex; align-items:center; justify-content:center;pointer-events: all;
  cursor:pointer; z-index:3; box-shadow:0 6px 16px -8px rgba(0,0,0,0.4);
}
.quick-view-modal .dz-modal-media .owl-nav button.owl-prev{ left:14px; }
.quick-view-modal .dz-modal-media .owl-nav button.owl-next{ right:14px; }
.quick-view-modal .dz-modal-media .owl-nav button svg{ width:14px; height:14px; fill:#1E2729; }
.quick-view-modal .dz-modal-media .owl-nav button:hover{ background:#fff !important; }

/* cart confirm: solid gradient, dark sub text, centered immediately (no slideIn transform) */
#cartModal .modal-content.dz-confirm{
  background:linear-gradient(160deg, rgb(239,184,201) 0%, rgb(201,162,87) 45%, #FFFFFF 100%);
  animation:fadeIn 0.3s ease;
}
#cartModal .dz-confirm-sub{ color:#020202; }

/* ============================================================
   DreamSeed — Product page qty + add-to-cart (mockup, matches quick-view modal)
   Scoped to .single-product-content so it does not touch other pages.
   ============================================================ */
.single-product-content .quantity-with-btn.dz-modal-qty-row{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  list-style:none; padding-left:0; margin:0;
}
.single-product-content .quantity-with-btn.dz-modal-qty-row > li{ margin:0; }

.single-product-content .dz-qty.cart-plus-minus{
  display:flex; align-items:center; gap:12px;
  border:1.5px solid rgba(63,80,84,0.28); border-radius:12px;
  padding:8px 14px; width:auto; height:auto; text-align:center;
}
.single-product-content .dz-qty .dec.qtybutton{ order:1; }
.single-product-content .dz-qty .cart-plus-minus-box{ order:2; }
.single-product-content .dz-qty .inc.qtybutton{ order:3; }
.single-product-content .dz-qty .qtybutton{
  position:static; float:none; left:auto; right:auto; top:auto;
  -webkit-transform:none; transform:none; width:22px; height:22px; border-radius:50%;
  border:1px solid rgba(63,80,84,0.45); background:transparent; color:#1E2729;
  line-height:1; margin:0; padding:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  -webkit-transition:background 0.15s ease; transition:background 0.15s ease;
}
.single-product-content .dz-qty .qtybutton:hover{ background:rgba(63,80,84,0.08); }
.single-product-content .dz-qty .cart-plus-minus-box,
.single-product-content .dz-qty input{
  border:0 !important; background:transparent !important; width:42px; height:auto;
  text-align:center; padding:0; color:#1E2729 !important;
  font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:1rem;
}
.single-product-content .dz-modal-addbtn.btn{
  background:var(--coral); color:#fff; border:none; padding:13px 26px; border-radius:999px;
  font-family:var(--sans); font-weight:700; font-size:0.85rem; letter-spacing:0.02em;
  width:auto; height:auto; line-height:1; cursor:pointer;
  -webkit-transition:background 0.15s ease; transition:background 0.15s ease;
}
.single-product-content .dz-modal-addbtn.btn:hover{ background:var(--coral-dim); color:#fff; }

/* SVG qty icons (works for product page + quick-view modal) */
.dz-qty .qtybutton svg{ width:10px; height:10px; display:block; fill:none; }


/* ============================================================
   DreamSeed — align the rest of the site with the homepage.
   Homepage is the reference: cream paper, Fraunces titles,
   Work Sans text, gold pill buttons, teal as a quiet accent.
   ============================================================ */

/* Photo banners on inner pages were a different look from the homepage. */
.breadcrumb-area.breadcrumb-height{
  height: auto !important;
  min-height: 0 !important;
  padding: 54px 20px 8px;
  background-color: #FFFDF7 !important;
  background-image: none !important;
}
.breadcrumb-height:before{ display: none !important; }
.breadcrumb-heading{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.02em;
  text-transform: none;
  color: #1E2729;
}
.breadcrumb-item ul li,
.breadcrumb-item ul li a,
.breadcrumb-item .active{
  color: #647376;
  font-family: 'Work Sans', sans-serif;
}
.breadcrumb-item ul li:not(:last-child) a{ color: #647376; }
.breadcrumb-item ul li:not(:last-child) a:before{ background-color: #C9A257; }

/* Catalog prices and buy buttons follow the homepage gold button. */
#product-block .catalog-icons .catalog-icon-btn.is-bag{ background: #3A595F; }
#product-block .product-content .product-name:hover{ color: #8A6A2E; }
#product-block .product-content .pagetitle-vendor{ color: #647376; }
#product-block .price-box.catalog-bottom-row .new-price{ color: #1E2729; }
#product-block .catalog-buy-btn{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
  box-shadow: 0 10px 20px -12px rgba(217,161,85,0.8);
}
#product-block .catalog-buy-btn:hover{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  filter: brightness(1.06);
  color: #2A1C0E;
}

/* After Wheel of Life: pulse Buy on trees for the lowest-score areas */
@keyframes dsKbzhBuyPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 10px 20px -12px rgba(217,161,85,0.55);
  }
  50% {
    transform: scale(1.06);
    box-shadow: 0 0 0 6px rgba(217,161,85,0.22), 0 14px 28px -10px rgba(184,123,52,0.65);
  }
}
@keyframes dsKbzhCardGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(217,161,85,0); }
  50% { box-shadow: 0 0 0 3px rgba(217,161,85,0.35); }
}
#product-block .catalog-buy-btn.is-kbzh-pulse{
  animation: dsKbzhBuyPulse 1.35s ease-in-out infinite;
  position: relative;
  z-index: 2;
}
#product-block .catalog-card.is-kbzh-focus{
  animation: dsKbzhCardGlow 1.35s ease-in-out infinite;
  border-radius: 14px;
}
#product-block .catalog-card.is-kbzh-focus .catalog-info .product-name{
  color: #8A6A2E;
}
@media (prefers-reduced-motion: reduce) {
  #product-block .catalog-buy-btn.is-kbzh-pulse,
  #product-block .catalog-card.is-kbzh-focus{
    animation: none;
  }
  #product-block .catalog-buy-btn.is-kbzh-pulse{
    outline: 2px solid #D9A155;
    outline-offset: 3px;
  }
}

/* Product page and popups: the main action is the same gold pill.
   Cart confirm (#cartModal) is excluded — gold-on-gold made both CTAs unreadable. */
.single-product-content .dz-modal-addbtn.btn,
.quick-view-modal .dz-modal-addbtn.btn,
.checkout-area .order-button-payment button,
.cart-area .btn-primary,
.btn-error{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  box-shadow: 0 16px 30px -12px rgba(217,161,85,0.55);
}
.single-product-content .dz-modal-addbtn.btn:hover,
.quick-view-modal .dz-modal-addbtn.btn:hover,
.checkout-area .order-button-payment button:hover,
.btn-error:hover{
  filter: brightness(1.06);
  color: #2A1C0E !important;
  transform: translateY(-1px);
}
.product-tab-nav.tab-style-2 li a.active,
.product-tab-nav.tab-style-2 li a:hover,
.product-tab-nav.tab-style-1 li a.active,
.product-tab-nav.tab-style-1 li a:hover{
  color: #8A6A2E;
  border-color: #C9A257;
}
.single-product-content > .title,
.product-detail .title{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729;
}

/* Reading pages: privacy, terms, and the long product story. */
.single-product-area .short-desc{
  font-family: 'Work Sans', sans-serif;
  color: #3F5054;
  font-size: 1.02rem;
  line-height: 1.7;
}
.single-product-area .short-desc h1,
.single-product-area .short-desc h2,
.single-product-area .short-desc h3,
.single-product-area .short-desc h4{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729;
  font-weight: 700;
  margin: 1.4em 0 0.4em;
}
.cart-area h2,
.cart-area .empty-cart,
.checkout-area h2{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729;
}
#msCart .empty-cart-wrap{
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 0 0 1.5rem;
}
#msCart .empty-cart,
.cart-area .empty-cart{
  display: block;
  width: 100%;
  text-align: center;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 700;
  line-height: 1.35;
  padding: 2.75rem 1.25rem 1.25rem;
  margin: 0 auto;
}
#msCart .empty-cart-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  justify-content: center;
  margin: 0 0 2rem;
  padding: 0 1rem;
}
#msCart .empty-cart-actions .btn,
#msCart .empty-cart-actions .ds-empty-cart-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-width: 168px;
  min-height: 48px;
  margin: 0;
  padding: 12px 24px;
  text-align: center;
  text-decoration: none !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
  border-radius: 999px !important;
  border: 1.5px solid transparent !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
#msCart .empty-cart-actions .ds-empty-cart-btn--primary,
#msCart .empty-cart-actions .btn.ds-empty-cart-btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  box-shadow: 0 12px 24px -12px rgba(217,161,85,0.55) !important;
}
#msCart .empty-cart-actions .ds-empty-cart-btn--primary:hover,
#msCart .empty-cart-actions .ds-empty-cart-btn--primary:focus{
  filter: brightness(1.05);
  color: #2A1C0E !important;
}
#msCart .empty-cart-actions .ds-empty-cart-btn--secondary,
#msCart .empty-cart-actions .btn.ds-empty-cart-btn--secondary{
  background: #FFFDF7 !important;
  color: #1E2729 !important;
  border-color: rgba(184,123,52,0.45) !important;
}
#msCart .empty-cart-actions .ds-empty-cart-btn--secondary:hover,
#msCart .empty-cart-actions .ds-empty-cart-btn--secondary:focus{
  background: rgba(240,199,132,0.18) !important;
  border-color: #B87B34 !important;
  color: #8A6A2E !important;
}
#msCart .ds-cart-feed{
  margin: 1.25rem auto 0;
  padding: 0 0.25rem 0.5rem;
  max-width: 720px;
}
#msCart .ds-cart-feed__head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 0.85rem;
}
#msCart .ds-cart-feed__title{
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 700;
  color: #1E2729;
  margin: 0;
}
#msCart .ds-cart-feed__tree{
  color: #B87B34;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
#msCart .ds-cart-feed__tree:hover{
  text-decoration: underline;
}
#msCart .ds-cart-feed__card{
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 28px -24px rgba(30,39,41,0.28);
  padding: 1.1rem 1.2rem 1.15rem;
  margin: 0;
}
/* Explicitly no chat/action chrome in empty-cart story */
#msCart .ds-cart-feed .tc-actions,
#msCart .ds-cart-feed .tc-like-btn,
#msCart .ds-cart-feed .tc-cmt-area,
#msCart .ds-cart-feed .tc-dm-btn,
#msCart .ds-cart-feed .pc-app,
#msCart .ds-cart-feed .pc-layout{
  display: none !important;
}
#msCart .ds-cart-feed__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 0.35rem;
}
#msCart .ds-cart-feed__byline{
  font-weight: 600;
  color: #1E2729;
  margin-right: 0.5rem;
  font-family: 'Work Sans', sans-serif;
}
#msCart .ds-cart-feed__city{
  color: #5c6b70;
  font-size: 0.92em;
}
#msCart .ds-cart-feed__date{
  color: #8a94a2;
  font-size: 0.85rem;
}
#msCart .ds-cart-feed__story-title{
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.08rem;
  font-weight: 700;
  color: #1E2729;
  margin: 0.35rem 0 0.5rem;
}
#msCart .ds-cart-feed__body{
  color: #2d383c;
  line-height: 1.55;
  word-break: break-word;
  font-family: 'Work Sans', sans-serif;
}
#msCart .ds-cart-feed__note{
  margin: 0.85rem 0 0;
  padding: 0 0.35rem;
  text-align: center;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #6a787c;
  font-style: italic;
}
#msCart .ds-cart-feed--note-only{
  margin-top: 1rem;
}
@media (max-width: 575.98px){
  #msCart .empty-cart-actions{
    flex-direction: column;
    align-items: stretch;
    padding: 0 1.25rem;
  }
  #msCart .empty-cart-actions .btn,
  #msCart .empty-cart-actions .ds-empty-cart-btn{
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
  }
  #msCart .ds-cart-feed__tree{
    white-space: normal;
  }
  #msCart .ds-cart-feed__note{
    font-size: 0.88rem;
    padding: 0 0.75rem;
  }
}

/* Login and registration cards, without the heavy gold bar. */
.login-register-area .card{
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px rgba(30,39,41,0.28);
  background: #fff;
}
.login-register-area .card-header{
  background: transparent;
  color: #1E2729;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0;
  border-bottom: 1px solid rgba(63,80,84,0.12);
  padding: 26px 28px 12px;
}
.login-register-area .card-body{
  background: #fff;
  box-shadow: none;
  padding: 22px 28px 28px;
}
.login-register-area .form .btn.btn-primary,
.login-register-area input[type="submit"],
.login-register-area .btn{
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 700;
}
.login-register-area .form-control,
.login-register-area select.form-control{
  background: #FFFDF7;
  border: 1.5px solid rgba(201,162,87,0.45);
  border-radius: 14px;
  color: #1E2729;
  min-height: 48px;
}
.login-register-area .form-control:focus{
  border-color: #C9A257;
  box-shadow: 0 0 0 4px rgba(201,162,87,0.18);
  background: #fff;
}
.login-register-area a{ color: #8A6A2E; }

/* ---------- Registration funnel A/B/C ---------- */
.ds-save-map-banner{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(240,199,132,0.28), rgba(201,162,87,0.14));
  border: 1px solid rgba(201,162,87,0.35);
  color: #1E2729;
}
.ds-save-map-banner strong{
  font-family: Fraunces, Georgia, serif;
  font-size: 1.05rem;
}
.ds-save-map-banner span{
  font-size: 0.9rem;
  color: #3F5054;
  line-height: 1.35;
}
a.ds-save-map-cta,
#dzSaveLifeMap{
  box-shadow: 0 12px 28px -16px rgba(184,123,52,0.65);
}
.ds-reg-b-oauth{
  margin: 0 0 18px;
}
.ds-reg-b-lead{
  margin: 0 0 12px;
  font-size: 0.92rem;
  color: #3F5054;
  line-height: 1.4;
}
.ds-reg-b-oauth .ds-oauth__divider{
  margin: 16px 0 14px;
}
.ds-reg-b-details{
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px dashed rgba(63,80,84,0.22);
  border-radius: 12px;
  background: rgba(255,253,247,0.7);
}
.ds-reg-b-details > summary{
  cursor: pointer;
  font-weight: 600;
  color: #3F5054;
  font-size: 0.9rem;
  list-style: none;
}
.ds-reg-b-details > summary::-webkit-details-marker{ display: none; }
.ds-reg-b-details[open] > summary{ margin-bottom: 10px; }
.login-register-area a.ds-google-btn--hero{
  min-height: 52px;
  font-size: 1.02rem;
  border-color: rgba(66,133,244,0.35);
}
@media (max-width: 640px){
  .ds-save-map-banner{ padding: 12px 12px; }
  .ds-save-map-banner strong{ font-size: 0.98rem; }
  .login-register-area a.ds-google-btn--hero{ min-height: 50px; font-size: 0.95rem; }
}

/* ---------- Reg A/B/C — variant C: garden-first minimal signup ---------- */
.login-register-area.ds-reg-ab--c{
  padding-top: 28px;
}
.ds-reg-c-hero{
  text-align: center;
  max-width: 560px;
  margin: 0 auto 22px;
  padding: 8px 12px 4px;
}
.ds-reg-c-kicker{
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8A6A2E;
}
.ds-reg-c-title{
  margin: 0 0 8px;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.55rem, 4.5vw, 2rem);
  line-height: 1.15;
  color: #1E2729;
}
.ds-reg-c-sub{
  margin: 0;
  font-size: 0.95rem;
  color: #3F5054;
  line-height: 1.4;
}
.login-register-area.ds-reg-ab--c .ds-reg-ab--c-col{
  flex: 0 0 100%;
  max-width: 520px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  float: none;
}
.login-register-area.ds-reg-ab--c .row{
  justify-content: center;
}
.ds-reg-c-oauth{
  margin: 0 0 16px;
}
.ds-reg-c-lead{
  margin: 0 0 10px;
  font-size: 0.9rem;
  color: #3F5054;
  text-align: center;
}
.ds-reg-c-details{
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px dashed rgba(63,80,84,0.22);
  border-radius: 12px;
  background: rgba(255,253,247,0.7);
}
.ds-reg-c-details > summary{
  cursor: pointer;
  font-weight: 600;
  color: #3F5054;
  font-size: 0.9rem;
  list-style: none;
}
.ds-reg-c-details > summary::-webkit-details-marker{ display: none; }
.ds-reg-c-details[open] > summary{ margin-bottom: 10px; }
.login-register-area.ds-reg-ab--c .ds-reg-c-submit,
.login-register-area.ds-reg-ab--c input.ds-reg-c-submit{
  width: 100%;
  min-height: 50px;
  font-weight: 700;
  border-radius: 999px;
  background: linear-gradient(135deg, #F0C784, #D9A155, #B87B34);
  border: 0;
  color: #2A1C0E;
}
.ds-reg-c-login-wrap{
  max-width: 520px;
  margin: 18px auto 28px;
  padding: 18px 16px 16px;
  border-radius: 14px;
  border: 1px solid rgba(63,80,84,0.14);
  background: #fff;
}
.ds-reg-c-login-wrap--visible{
  display: block;
}
.ds-reg-c-login-title{
  margin: 0 0 14px;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
  color: #2A1C0E;
}
.ds-reg-c-login-wrap > summary{
  cursor: pointer;
  font-weight: 600;
  color: #8A6A2E;
  list-style: none;
  text-align: center;
}
.ds-reg-c-login-wrap > summary::-webkit-details-marker{ display: none; }
.ds-reg-c-login-wrap[open] > summary{ margin-bottom: 12px; }
.ds-reg-c-login-col{ display: none !important; }
.login-register-area a.ds-google-btn--garden{
  min-height: 54px;
  font-size: 1.05rem;
  box-shadow: 0 10px 24px -16px rgba(66,133,244,0.55);
}
@media (max-width: 640px){
  .ds-reg-c-hero{ margin-bottom: 16px; padding: 4px 4px 0; }
  .ds-reg-c-title{ font-size: 1.45rem; }
  .login-register-area.ds-reg-ab--c{ padding-top: 12px; }
  .login-register-area a.ds-google-btn--garden{ min-height: 50px; font-size: 0.98rem; }
}

/* Gift callouts — every major block (web + mobile), link to catalog */
.ds-gift-note{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 28px auto 0;
  max-width: 720px;
  padding: 16px 18px;
  text-align: center;
  border-top: 1px solid rgba(201, 162, 87, 0.35);
  background: linear-gradient(180deg, rgba(201,162,87,0.08), transparent 70%);
}
.ds-gift-note__text{
  margin: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.02rem, 2.4vw, 1.18rem);
  font-weight: 560;
  line-height: 1.35;
  color: #2A1C0E;
  letter-spacing: -0.01em;
}
.ds-gift-note__hint{
  margin: 0;
  max-width: 34em;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-size: clamp(0.9rem, 2vw, 0.98rem);
  font-weight: 450;
  line-height: 1.4;
  color: #5C4A32;
}
.ds-gift-note__cta{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.ds-gift-note__link{
  display: inline-block;
  margin-top: 0;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-size: clamp(0.95rem, 2.1vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #8A6A2E;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1.5px solid rgba(138, 106, 46, 0.45);
  padding-bottom: 2px;
  transition: color .15s ease, border-color .15s ease;
}
.ds-gift-note__link:hover{
  color: #5C451C;
  border-bottom-color: #5C451C;
}
.ds-pay-once-note--gift{
  max-width: none;
  text-align: center;
  font-size: 0.82rem;
  color: #3F5054;
}
.gift-btn-wrap{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  width: 100%;
}
.ds-pay-once-note--gift-btn{
  max-width: none;
  width: 100%;
  text-align: center;
  font-size: 0.8rem;
  color: #3F5054;
}
.plant-gift-cta-wrap{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  width: 100%;
}
.plant-gift-cta-wrap .ds-pay-once-note--rec{
  text-align: right;
  margin-top: 0;
}
@media (max-width:767px){
  .ds-pay-once-note--gift,
  .ds-pay-once-note--gift-btn{
    font-size: 0.86rem;
    color: #2A3A3E;
  }
  .plant-gift-cta-wrap{
    align-items: stretch;
  }
  .plant-gift-cta-wrap .ds-pay-once-note--rec{
    text-align: center;
    font-size: 0.8rem;
  }
}
#dzHero .ds-gift-note__cta,
.single-product-content .ds-gift-note__cta{
  align-items: flex-start;
}
#dzHero .ds-pay-once-note--gift,
.single-product-content .ds-pay-once-note--gift{
  text-align: left;
}
#dzHero .ds-gift-note{
  margin-top: 22px;
  max-width: 640px;
  margin-left: 0;
  margin-right: auto;
  align-items: flex-start;
  text-align: left;
  background: linear-gradient(180deg, rgba(201,162,87,0.1), transparent 75%);
  border-top-color: rgba(201, 162, 87, 0.35);
}
#dzHero .ds-gift-note__text,
#dzHero .ds-gift-note__hint{ color: #2A1C0E; }
#dzHero .ds-gift-note__hint{ color: #5C4A32; }
#dzHero .ds-gift-note__link{
  color: #8A6A2E;
  border-bottom-color: rgba(138, 106, 46, 0.4);
}
#dzHero .ds-gift-note__link:hover{
  color: #5C451C;
  border-bottom-color: #5C451C;
}
@media (max-width: 900px){
  #dzHero .ds-gift-note{
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    text-align: center;
  }
  #dzHero .ds-gift-note__cta{
    align-items: center;
  }
  #dzHero .ds-pay-once-note--gift{
    text-align: center;
  }
}
/* Gift note sits on cream page bg below the cards — use dark text, not light-on-cream */
#dzValue .ds-gift-note{
  margin-top: 32px;
  border-top-color: rgba(201, 162, 87, 0.35);
  background: linear-gradient(180deg, rgba(201,162,87,0.1), transparent 75%);
}
#dzValue .ds-gift-note__text{ color: #2A1C0E; }
#dzValue .ds-gift-note__hint{ color: #5C4A32; }
#dzValue .ds-gift-note__link{
  color: #8A6A2E;
  border-bottom-color: rgba(138, 106, 46, 0.45);
}
#dzValue .ds-gift-note__link:hover{
  color: #5C451C;
  border-bottom-color: #5C451C;
}
#map-block .ds-gift-note,
.dm-join .ds-gift-note{
  margin-top: 20px;
}
#faq-block .ds-gift-note{
  margin: 24px auto 8px;
}
.product-area .ds-gift-note,
.catalog-wrap .ds-gift-note,
.single-product-area .ds-gift-note,
.cart-area .ds-gift-note,
.empty-cart-wrap .ds-gift-note,
.login-register-area .ds-gift-note,
.dm-wrap .ds-gift-note{
  margin-top: 24px;
  margin-bottom: 8px;
}
.single-product-content .ds-gift-note{
  margin-top: 20px;
  align-items: flex-start;
  text-align: left;
  margin-left: 0;
}
@media (max-width: 640px){
  .ds-gift-note{
    margin-top: 20px;
    padding: 14px 14px;
    gap: 8px;
  }
  .ds-gift-note__text{ font-size: 1.05rem; }
  .ds-gift-note__hint{ font-size: 0.92rem; }
  .ds-gift-note__link{ font-size: 1rem; white-space: normal; }
  .ds-pay-once-note--gift{ font-size: 0.74rem; }
  #dzHero .ds-gift-note{ margin-top: 16px; padding: 12px 8px; }
  .single-product-content .ds-gift-note{
    align-items: center;
    text-align: center;
  }
  .single-product-content .ds-gift-note__cta{
    align-items: center;
  }
  .single-product-content .ds-pay-once-note--gift{
    text-align: center;
  }
}

/* Modern Google OAuth button (replaces HybridAuth sprite icon) */
.login-register-area .ds-oauth{
  margin-top: 18px;
}
.login-register-area .ds-oauth__divider{
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  color: #7A8689;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: lowercase;
}
.login-register-area .ds-oauth__divider::before,
.login-register-area .ds-oauth__divider::after{
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(63,80,84,0.16);
}
.login-register-area .ds-oauth__providers{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.login-register-area a.ds-google-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border: 1.5px solid rgba(63,80,84,0.18);
  border-radius: 999px;
  background: #fff;
  color: #1E2729 !important;
  font-family: "Work Sans", "Segoe UI", sans-serif;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  text-indent: 0 !important;
  box-shadow: 0 8px 20px -18px rgba(30,39,41,0.45);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.login-register-area a.ds-google-btn:hover,
.login-register-area a.ds-google-btn:focus-visible{
  background: #FFFDF7;
  border-color: rgba(66,133,244,0.45);
  box-shadow: 0 12px 28px -18px rgba(30,39,41,0.5);
  color: #1E2729 !important;
  transform: translateY(-1px);
}
.login-register-area .ds-google-btn__icon{
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.login-register-area .ds-google-btn__icon svg{
  display: block;
  width: 20px;
  height: 20px;
}
.login-register-area .ds-google-btn__label{
  white-space: nowrap;
}
/* Kill legacy HybridAuth 48px sprite if an old class remains */
.login-register-area .ha-icon.google{
  width: auto;
  height: auto;
  background: none !important;
  text-indent: 0;
}

/* Personal account: tabs, orders, details. */
.account-page-area{
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 40%, #FBF5E5 100%);
}
/* Beat style.css mobile `display:block` — wrap so every tab stays visible. */
.myaccount-tab-trigger,
ul.nav.myaccount-tab-trigger,
#account-page-tab.myaccount-tab-trigger{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px 10px;
  padding-bottom: 28px;
  margin-bottom: 8px;
  overflow: visible;
  list-style: none;
}
.myaccount-tab-trigger > li,
.myaccount-tab-trigger .nav-item{
  display: block;
  flex: 0 1 auto;
  width: auto;
  max-width: 100%;
  min-width: 0;
}
.myaccount-tab-trigger li a,
.myaccount-tab-trigger .nav-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
  background: transparent;
  color: #3F5054;
  border: 1.5px solid rgba(63,80,84,0.28);
  border-radius: 999px;
  text-transform: none;
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  padding: 10px 18px;
}
.myaccount-tab-trigger li a:hover{
  color: #1E2729;
  border-color: #1E2729;
  background: rgba(30,39,41,0.04);
}
.myaccount-tab-trigger li a.active,
.myaccount-tab-trigger li a.active:hover{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  border-color: transparent;
  color: #2A1C0E;
}
.myaccount-tab-trigger li a.ds-logout-tab,
.myaccount-tab-trigger li a#customLogoutBtn{
  border-color: rgba(63,80,84,0.4);
}
.myaccount-tab-trigger li a.ds-logout-tab:hover,
.myaccount-tab-trigger li a#customLogoutBtn:hover{
  border-color: #1E2729;
}
/* Body-level logout confirm (not SweetAlert — CSS for Swal is not shipped). */
body.ds-logout-confirm-open{
  overflow: hidden;
  touch-action: none;
}
.ds-logout-confirm{
  display: none;
  position: fixed;
  inset: 0;
  z-index: 14000;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  background: rgba(30, 39, 41, 0.48);
  -webkit-tap-highlight-color: transparent;
}
.ds-logout-confirm.is-open{
  display: flex;
}
.ds-logout-confirm__panel{
  width: 100%;
  max-width: 400px;
  background: #FFFDF7;
  border-radius: 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 12px 40px rgba(30, 39, 41, 0.22);
  font-family: 'Work Sans', sans-serif;
  color: #1E2729;
}
.ds-logout-confirm__title{
  margin: 0 0 8px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
}
.ds-logout-confirm__text{
  margin: 0 0 18px;
  color: #3F5054;
  font-size: 0.98rem;
  line-height: 1.45;
}
.ds-logout-confirm__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.ds-logout-confirm__cancel,
.ds-logout-confirm__ok{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 110px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.ds-logout-confirm__cancel{
  background: transparent;
  border-color: rgba(63,80,84,0.35);
  color: #3F5054;
}
.ds-logout-confirm__ok{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
}
.myaccount-tab-trigger li a.ds-logout-tab,
.myaccount-tab-trigger li a#customLogoutBtn{
  position: relative;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
@media (max-width: 768px){
  .account-page-area{
    overflow-x: clip;
  }
  .myaccount-tab-trigger li a.ds-logout-tab,
  .myaccount-tab-trigger li a#customLogoutBtn{
    min-height: 44px;
  }
  .ds-logout-confirm__actions{
    flex-direction: column-reverse;
  }
  .ds-logout-confirm__cancel,
  .ds-logout-confirm__ok{
    width: 100%;
  }
  .account-page-area .container,
  .account-page-area .tab-content,
  .myaccount-tab-content,
  #ordersColumn{
    max-width: 100%;
    overflow-x: clip;
  }
  /* Keep content clear of the floating «?» help button */
  .account-page-area .myaccount-tab-content{
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .myaccount-tab-trigger,
  ul.nav.myaccount-tab-trigger,
  #account-page-tab.myaccount-tab-trigger{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start;
    gap: 8px;
    padding-bottom: 20px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: visible !important;
  }
  .myaccount-tab-trigger > li,
  .myaccount-tab-trigger .nav-item{
    flex: 0 1 auto;
    max-width: 100%;
  }
  .myaccount-tab-trigger li a,
  .myaccount-tab-trigger .nav-link{
    padding: 8px 12px;
    font-size: 0.88rem;
    white-space: normal;
  }
  #account-gift .nav-tabs{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
  }
  #account-gift .nav-tabs .nav-link{
    white-space: nowrap;
  }
  #account-details .form-control,
  #account-details input,
  #account-details select,
  #account-details textarea{
    max-width: 100%;
  }
  #dmRecommendedSection .dm-section-title{
    font-size: 1.15rem;
  }
  .order-product-item{
    padding: 12px;
  }
}
.myaccount-tab-content{
  border: none;
  background: transparent;
}
.myaccount-tab-content .list-group-item{
  background: #FFFDF7;
  color: #1E2729;
  border-color: rgba(63,80,84,0.12);
}
.account-page-area .card{
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: none;
}
.account-page-area .card-header{
  background: transparent;
  color: #1E2729;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(63,80,84,0.12);
}
.myaccount-tab-content .f-link-item .btn{
  border: 1.5px solid rgba(63,80,84,0.35) !important;
  color: #1E2729 !important;
  background: transparent;
  border-radius: 999px;
  width: auto;
  padding: 10px 18px;
}
.myaccount-tab-content .f-link-item .btn:hover{
  background: #1E2729;
  color: #FFFDF7 !important;
}

/* Account Details / Editing data / Changing password — DreamSeed panel (not Bootstrap card) */
.ds-account-wrap{
  padding-bottom: 2rem;
}
.ds-account-panel{
  max-width: 30rem;
  background: #fff;
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px rgba(30,39,41,0.28);
}
.ds-account-panel__head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 26px 28px 14px;
  border-bottom: 1px solid rgba(63,80,84,0.12);
  background: transparent;
}
.ds-account-panel__title{
  margin: 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.25;
  color: #1E2729;
  letter-spacing: 0;
}
.ds-account-panel__back{
  flex: 0 0 auto;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: #8A6A2E;
  text-decoration: none;
  white-space: nowrap;
}
.ds-account-panel__back:hover,
.ds-account-panel__back:focus{
  color: #1E2729;
  text-decoration: underline;
}
.ds-account-panel__body{
  padding: 22px 28px 28px;
  background: #fff;
}
.ds-account-fields{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ds-account-fields__row{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(63,80,84,0.10);
  background: transparent;
}
.ds-account-fields__row:last-child{
  border-bottom: none;
}
.ds-account-fields__label{
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  color: #5A6A6E;
  min-width: 5.5rem;
}
.ds-account-fields__value{
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #1E2729;
  word-break: break-word;
}
.ds-account-actions{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-top: 22px;
}
.ds-account-actions .ds-account-action,
.myaccount-tab-content .ds-account-actions .btn{
  border: 1.5px solid rgba(63,80,84,0.35) !important;
  color: #1E2729 !important;
  background: transparent !important;
  border-radius: 999px !important;
  width: 100%;
  padding: 11px 18px !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  text-align: center;
}
.ds-account-actions .ds-account-action:hover,
.myaccount-tab-content .ds-account-actions .btn:hover{
  background: #1E2729 !important;
  color: #FFFDF7 !important;
  border-color: #1E2729 !important;
}
.ds-account-actions .ds-account-action--danger,
.myaccount-tab-content .ds-account-actions .ds-account-action--danger{
  border-color: rgba(176, 74, 58, 0.55) !important;
  color: #8A3A2E !important;
  background: rgba(176, 74, 58, 0.06) !important;
  margin-top: 6px;
}
.ds-account-actions .ds-account-action--danger:hover,
.myaccount-tab-content .ds-account-actions .ds-account-action--danger:hover{
  background: #8A3A2E !important;
  color: #FFFDF7 !important;
  border-color: #8A3A2E !important;
}
.ds-logout-confirm__ok--danger{
  background: #8A3A2E !important;
  color: #FFFDF7 !important;
  border-color: #8A3A2E !important;
}
.ds-account-form .form-label{
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  color: #5A6A6E;
  margin-bottom: 6px;
}
.ds-account-form .form-control,
.ds-account-panel .form-control,
.ch-password .form-control{
  background: #FFFDF7;
  border: 1.5px solid rgba(201,162,87,0.45);
  border-radius: 14px;
  color: #1E2729;
  min-height: 48px;
  box-shadow: none;
}
.ds-account-form .form-control:focus,
.ds-account-panel .form-control:focus,
.ch-password .form-control:focus{
  border-color: #C9A257;
  box-shadow: 0 0 0 4px rgba(201,162,87,0.18);
  background: #fff;
}
.ds-account-submit,
.ds-account-panel .btn.btn-primary,
.ds-account-panel input[type="submit"],
.ch-password .btn.btn-primary,
.ch-password input[type="submit"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 6px;
  padding: 12px 28px;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #C9A257, #B87B34) !important;
  color: #fff !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  box-shadow: none;
}
.ds-account-submit:hover,
.ds-account-panel .btn.btn-primary:hover,
.ds-account-panel input[type="submit"]:hover,
.ch-password .btn.btn-primary:hover,
.ch-password input[type="submit"]:hover{
  filter: brightness(0.96);
  color: #fff !important;
}
/* Kill leftover Bootstrap card chrome on old/cached markup */
.ch-password .card,
.ds-account-wrap .card{
  border: 1px solid rgba(63,80,84,0.14) !important;
  border-radius: 28px !important;
  overflow: hidden;
  box-shadow: 0 18px 40px -24px rgba(30,39,41,0.28) !important;
  background: #fff !important;
}
.ch-password .card-header,
.ds-account-wrap .card-header{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  background: transparent !important;
  color: #1E2729 !important;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(63,80,84,0.12) !important;
  padding: 26px 28px 14px !important;
}
.ch-password .card-header p,
.ds-account-wrap .card-header p{
  margin: 0;
  font: inherit;
  color: inherit;
}
.ch-password .card-header a,
.ds-account-wrap .card-header a{
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: #8A6A2E;
}
.ch-password .card-body,
.ds-account-wrap .card-body{
  background: #fff !important;
  padding: 22px 28px 28px !important;
}
@media (max-width: 575.98px){
  .ds-account-panel__head,
  .ch-password .card-header,
  .ds-account-wrap .card-header{
    padding: 22px 20px 12px !important;
  }
  .ds-account-panel__body,
  .ch-password .card-body,
  .ds-account-wrap .card-body{
    padding: 18px 20px 22px !important;
  }
  .ds-account-panel__title{
    font-size: 1.35rem;
  }
}
#ordersColumn a{ color: #8A6A2E; }
.order-product-item,
.diary-container{
  box-shadow: none;
  background: #fff;
  border: 1px solid rgba(63,80,84,0.12);
  border-radius: 20px;
}
.order-product-item{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
  padding: 16px;
  min-width: 0;
}
.order-product-item > .d-flex.justify-content-between{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}
.order-product-item > .d-flex.justify-content-between > .flex-grow-1{
  flex: 1 1 180px;
  min-width: 0;
}
.order-product-item .block-buttons-tree-plantvsgift{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  margin-left: 0 !important;
}
.order-product-item .block-buttons-tree-plantvsgift .btn{
  white-space: nowrap;
}
.order-product-item .rec-price{
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  color: #1E2729;
  font-size: 0.98rem;
  margin: 0;
}
.order-product-item > .row{
  margin: 0;
}
.order-product-item > .row > [class*="col"]{
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.order-product-item .order-tree-media{
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
}
.order-product-item.has-diary .img-thumbnail,
.order-product-item .img-thumbnail.order-tree-open-diary,
.order-product-item.has-diary h6.order-tree-open-diary,
.order-product-item.has-diary .order-tree-title-link{
  cursor: pointer;
}
.order-product-item.has-diary .img-thumbnail:hover,
.order-product-item .img-thumbnail.order-tree-open-diary:hover{
  opacity: 0.92;
  box-shadow: 0 0 0 2px rgba(217,161,85,0.55);
}
.order-product-item.has-diary h6.order-tree-open-diary:hover,
.order-product-item.has-diary .order-tree-title-link:hover{
  color: #B87B34;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Recommended products: image + title open the product card */
.order-product-item.is-recommended a.order-tree-product-link{
  color: inherit;
  text-decoration: none;
  display: block;
}
.order-product-item.is-recommended a.order-tree-product-link:hover{
  color: #B87B34;
}
.order-product-item.is-recommended a.order-tree-title-link{
  display: inline;
  font-weight: inherit;
}
.order-product-item.is-recommended a.order-tree-title-link:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}
.order-product-item.is-recommended a.order-tree-product-link .img-thumbnail:hover{
  opacity: 0.92;
  box-shadow: 0 0 0 2px rgba(217,161,85,0.55);
}
.order-product-item .img-thumbnail{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(63,80,84,0.1);
  padding: 0;
  background: #F7F1E4;
}
/* Diary CTA pinned to top-right of tree image — avoids layout jitter with title row */
.order-product-item .order-tree-media > .btn-diary-item{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  margin: 0;
  padding: 7px 14px !important;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: none !important;
  pointer-events: auto;
  transform: none !important;
}
@media (max-width: 768px){
  .order-product-item .order-tree-media > .btn-diary-item{
    top: 8px;
    right: 8px;
    padding: 6px 12px !important;
    font-size: 0.82rem;
  }
}
.btn-buy-tree{
  width: 100%;
  padding: 10px 18px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  box-shadow: none;
  transition: filter .2s ease, transform .2s ease;
}
.btn-buy-tree:hover{
  filter: brightness(1.05);
  transform: none;
  color: #2A1C0E;
}
/* Recommended products: image on top, then title/price/CTA */
#dmRecommendedGrid.order-card,
#dmRecommendedGrid.dm-order-group{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  max-width: 720px;
}
#dmRecommendedGrid .order-product-item{
  margin-bottom: 0;
  flex: none !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 360px;
}
#dmRecommendedGrid .order-product-item > .row{
  order: -1;
}
#dmRecommendedGrid .order-product-item > .d-flex.justify-content-between{
  flex-direction: column;
  align-items: stretch;
}
#dmRecommendedGrid .order-product-item .block-buttons-tree-plantvsgift{
  width: 100%;
}
#dmRecommendedGrid .order-product-item .btn-buy-tree{
  width: 100%;
}
@media (max-width: 768px){
  .order-product-item > .d-flex.justify-content-between{
    flex-direction: column;
    align-items: stretch;
  }
  #account-dashboard .order-product-item > .d-flex.justify-content-between > .flex-grow-1{
    flex: 1 1 50px;
    min-width: 0;
  }
  .order-product-item .block-buttons-tree-plantvsgift{
    width: 100%;
  }
  .order-product-item .block-buttons-tree-plantvsgift .btn{
    width: 100%;
    justify-content: center;
  }
  #dmRecommendedGrid.order-card,
  #dmRecommendedGrid.dm-order-group{
    grid-template-columns: 1fr;
  }
  .order-product-item.paid-product{
    flex: 1 1 100%;
    min-width: 0;
  }
}
.order-card.active-order,
.active-order{
  background: rgba(201,162,87,0.16) !important;
  border-color: #C9A257 !important;
  box-shadow: none !important;
}
.order-card.not-paid{
  background: #FFFDF7;
  border: 1px solid rgba(63,80,84,0.12);
}
/* Diary: same hover principle as .btn-plant-tree — brightness only, no movement */
.btn-diary,
.btn-diary-item,
.order-product-item .btn-diary-item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  line-height: 1.25;
  box-shadow: none !important;
  transition: filter 0.15s ease !important;
  transform: none !important;
}
.btn-diary:hover,
.btn-diary:focus,
.btn-diary:active,
.btn-diary-item:hover,
.btn-diary-item:focus,
.btn-diary-item:active,
.order-product-item .btn-diary-item:hover,
.order-product-item .btn-diary-item:focus,
.order-product-item .btn-diary-item:active,
.order-product-item .order-tree-media > .btn-diary-item:hover,
.order-product-item .order-tree-media > .btn-diary-item:focus,
.order-product-item .order-tree-media > .btn-diary-item:active{
  filter: brightness(1.05);
  color: #2A1C0E !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}
/* Hide empty action column once Diary moved onto the image */
.order-product-item.has-diary .block-buttons-tree-plantvsgift:empty{
  display: none;
}
/* Plant + Gift in LK cards: same pill CTA as Buy / Diary (override legacy style.css greys) */
.btn-plant-tree,
.order-product-item .btn-plant-tree,
.btn-gift-item,
.order-product-item .btn-gift-item{
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  line-height: 1.25;
  box-shadow: none !important;
  transition: filter 0.15s ease, transform 0.15s ease;
}
.btn-plant-tree:hover,
.order-product-item .btn-plant-tree:hover,
.btn-gift-item:hover,
.order-product-item .btn-gift-item:hover{
  filter: brightness(1.05);
  color: #2A1C0E !important;
  transform: none !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  box-shadow: none !important;
}
.order-header h3,
.diary-header h3,
.diary-header h2{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729;
}
#entriesList .entry-header{
  display: flex;
  gap: 10px;
}
#diaryForm .form-buttons .btn{
  color: #2A1C0E !important;
  border-radius: 999px !important;
  border: 1px solid #d9a155;
}
@media (max-width: 768px){
  .diary-header{
    flex-direction: column;
  }
  #entriesList .entry-header{
    flex-direction: column;
  }
  #entriesList .entry-header .entry-actions{
    flex-direction: column;
  }
}

/* Diary inside the dream window. */
.dream-modal-content,
.dream-modal-content .modal-body,
#diaryPanel,
.modal-dialog-centered .modal-content.dream-modal-content .container-fluid{
  background: #FFFDF7 !important;
  color: #1E2729;
}
.tree-info-panel{
  background: var(--dz-night-fill, #1C2B38);
  color: rgba(244,239,226,0.9);
  border-radius: 24px;
}
/* Tree card actions in dream modal — unified gold/cream pills + share popover */
.tree-info-panel .tree-actions,
#treeInfoPanel .tree-actions,
.tree-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  justify-content: stretch;
  margin-top: auto;
  padding-top: 16px;
  position: relative;
  z-index: 2;
}
.tree-info-panel .tree-actions .btn,
#treeInfoPanel .tree-actions .btn,
.tree-actions .btn{
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  box-shadow: none !important;
  transition: filter 0.15s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  transform: none !important;
}
.tree-info-panel .tree-actions .btn-catalog,
#treeInfoPanel .tree-actions .btn-catalog,
.tree-actions .btn-catalog{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
}
.tree-info-panel .tree-actions .btn-catalog:hover,
#treeInfoPanel .tree-actions .btn-catalog:hover,
.tree-actions .btn-catalog:hover{
  filter: brightness(1.05);
  color: #2A1C0E !important;
  transform: none !important;
  box-shadow: none !important;
}
.tree-info-panel .tree-actions .btn-share,
#treeInfoPanel .tree-actions .btn-share,
.tree-actions .btn-share{
  background: rgba(255,253,247,0.08) !important;
  color: #FFFDF7 !important;
  border: 1.5px solid rgba(240,199,132,0.65) !important;
}
.tree-info-panel .tree-actions .btn-share:hover,
#treeInfoPanel .tree-actions .btn-share:hover,
.tree-actions .btn-share:hover,
.tree-share-group.is-open .btn-share{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border-color: transparent !important;
  filter: none;
}
.tree-share-group{
  position: relative;
  flex: 1 1 calc(50% - 6px);
  min-width: 0;
  display: flex;
}
.tree-share-group .btn-share{
  width: 100%;
  flex: 1 1 auto !important;
}
.tree-share-panel{
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 10px);
  z-index: 40;
  display: none;
  pointer-events: none;
}
.tree-share-group.is-open .tree-share-panel{
  display: block;
  pointer-events: auto;
  animation: dsTreeSharePop 0.16s ease-out;
}
@keyframes dsTreeSharePop{
  from{ opacity: 0; transform: translateY(6px); }
  to{ opacity: 1; transform: translateY(0); }
}
.tree-share-panel-inner{
  background: #FFFDF7;
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 18px;
  box-shadow: 0 18px 40px -22px rgba(30,39,41,0.55);
  padding: 12px;
}
.tree-share-icons-group{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  justify-content: center;
}
.tree-share-icons-group--msg{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(63,80,84,0.12);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.tree-share-icon.share-icon-sm,
#treeInfoPanel .tree-share-icon.share-icon-sm{
  width: 100% !important;
  min-width: 40px;
  height: 44px !important;
  border-radius: 12px !important;
  font-size: 17px;
  color: #fff !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, filter 0.15s ease;
}
.tree-share-icon.share-icon-sm:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  color: #fff !important;
}
@media (max-width: 575.98px){
  .tree-info-panel .tree-actions .btn,
  #treeInfoPanel .tree-actions .btn,
  .tree-actions .btn,
  .tree-share-group{
    flex: 1 1 100%;
  }
  .tree-share-panel{
    left: 0;
    right: 0;
  }
}
.diary-entry{
  background: #fff;
  border: 1px solid rgba(201,162,87,0.4);
  box-shadow: none;
  border-radius: 16px;
}
#entriesList{ color: #1E2729; }
.diary-entry .entry-content,
.diary-entry .entry-content a,
.entry-content{ color: #3F5054; }
.diary-entry .entry-content a{ color: #8A6A2E; }
.entry-header h4{ font-family: 'Fraunces', Georgia, serif; color: #1E2729; }
.edit-btn{
  color: #3A595F !important;
  border-color: rgba(58,89,95,0.45) !important;
  border-radius: 999px !important;
}
.edit-btn:hover{
  background: #3A595F !important;
  color: #fff !important;
}
.order-info{
  background: #FBF5E5;
  border-left: 4px solid #C9A257;
  border-radius: 12px;
}
.diary-count{
  background: rgba(201,162,87,0.18);
  color: #8A6A2E;
  border-radius: 999px;
}
/* Diary entries disclosure — match gold/cream LK pills (override legacy grey/select look) */
.diary-entries-toggle,
#diaryEntriesToggle.diary-entries-toggle{
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1.5px solid rgba(201,162,87,0.55) !important;
  background: linear-gradient(180deg, #FFFDF7 0%, #F7F1E4 100%) !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  cursor: pointer;
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  color: #2A1C0E !important;
  box-shadow: none !important;
  transition: filter 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
}
.diary-entries-toggle:hover,
#diaryEntriesToggle.diary-entries-toggle:hover{
  filter: brightness(1.03);
  border-color: #D9A155 !important;
  transform: none !important;
  color: #2A1C0E !important;
}
.diary-entries-toggle:focus-visible{
  outline: 2px solid rgba(217,161,85,0.65);
  outline-offset: 2px;
}
.diary-entries-toggle .diary-entries-toggle__label{
  flex: 1;
  text-align: left;
}
.diary-entries-toggle .diary-entries-count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(201,162,87,0.22);
  color: #8A6A2E;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
}
.diary-entries-toggle .diary-entries-caret{
  transition: transform 0.2s ease;
  color: #8A6A2E !important;
  font-size: 0.85rem;
}
.diary-entries-toggle.is-open,
#diaryEntriesToggle.diary-entries-toggle.is-open{
  border-color: transparent !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
}
.diary-entries-toggle.is-open .diary-entries-count{
  background: rgba(42,28,14,0.12);
  color: #2A1C0E;
}
.diary-entries-toggle.is-open .diary-entries-caret{
  transform: rotate(180deg);
  color: #2A1C0E !important;
}
.diary-inline-feed-wrap{
  border: 1px solid rgba(201,162,87,0.35) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  background: #FFFDF7 !important;
}
.diary-feed-title{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729 !important;
}
.loading{
  background: #3A595F;
  border-color: #3A595F;
}

/* Standalone Garden of Dreamers page — what / how / why above the map */
.dm-page-intro{
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
  padding: 0 8px;
}
.dm-page-intro__title{
  margin: 0 0 12px;
  font-family: var(--dz-serif, 'Fraunces', Georgia, serif);
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1.7rem, 3.4vw, 2.35rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--dz-paper, #1E2729);
  text-wrap: balance;
}
.dm-page-intro__lead{
  margin: 0 0 14px;
  font-size: 1.02rem;
  line-height: 1.45;
  color: #647376;
}
.dm-page-intro__explain{
  margin: 0 auto;
  max-width: 640px;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #3A4A4E;
}
.dm-page-intro__explain strong{
  color: #1E2729;
  font-weight: 600;
}
@media (max-width: 768px){
  .dm-page-intro{
    margin: 0 auto 20px;
    padding: 0 4px;
  }
  .dm-page-intro__title{
    font-size: clamp(1.55rem, 6.5vw, 1.85rem);
    margin-bottom: 10px;
    letter-spacing: -0.015em;
  }
  .dm-page-intro__lead{
    font-size: 0.95rem;
    margin-bottom: 12px;
  }
  .dm-page-intro__explain{
    font-size: 0.92rem;
    line-height: 1.6;
  }
  .ds-garden-map-page .single-product-area.section-space-top-100{
    padding-top: 36px;
  }
}

/* The map page uses the same garden card as the homepage map. */
.single-product-area .garden-card-map,
#gardenCard.dm-wrap{
  max-width: 1040px;
  margin: 10px auto 40px;
  background: #fff;
  color: #1E2729;
  font-family: 'Work Sans', sans-serif;
  border: 1px solid rgba(63,80,84,0.16);
  border-radius: 28px;
  padding: 44px 40px;
}
#gardenCard .dm-head{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
#gardenCard .dm-stats{ display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
#gardenCard .dm-stat{
  background: #fff;
  border: 1.5px solid rgba(58,89,95,0.2);
  border-radius: 16px;
  padding: 10px 20px;
  text-align: center;
  min-width: 92px;
}
#gardenCard .dm-stat b{
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 24px;
  color: #68929B;
  line-height: 1.1;
}
#gardenCard .dm-stat span{
  font-size: 11px;
  color: #647376;
  text-transform: uppercase;
  letter-spacing: .06em;
}
#gardenCard .dm-search{ position: relative; width: min(640px, 100%); }
#gardenCard .dm-search input{
  width: 100%;
  padding: 13px 46px 13px 20px;
  border-radius: 50px;
  border: 1.5px solid rgba(201,162,87,0.45);
  background: #fff;
  color: #1E2729;
  font-family: inherit;
  font-size: 14px;
  outline: none;
}
#gardenCard .dm-map{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(63,80,84,0.16);
  height: 620px;
  background: #EAF2F3;
}
#gardenCard .dm-map .leaflet-container{ width: 100%; height: 100%; background: #EAF2F3; }
#gardenCard .leaflet-control-zoom{ display: none; }
#gardenCard .dm-info-panel{
  position: absolute; top: 16px; right: 16px; width: 280px;
  max-width: calc(100% - 32px); max-height: calc(100% - 32px); overflow-y: auto; z-index: 810;
  background: rgba(255,253,247,.98); color: #1E2729;
  border: 1.5px solid rgba(201,162,87,.45); border-radius: 18px;
  box-shadow: 0 16px 44px -18px rgba(30,39,41,.5); backdrop-filter: blur(8px);
  padding: 18px 18px 16px; display: none;
}
#gardenCard .dm-info-panel.show{ display: block; }
#gardenCard .dm-info-panel h3{
  margin: 0 36px 12px 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: #1E2729;
}
#gardenCard .dm-cta{
  display: block; margin-top: 16px; text-align: center; text-decoration: none;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E; font-weight: 700; border-radius: 999px; padding: 12px 16px;
}
@media (max-width: 768px){
  .single-product-area .garden-card-map,
  #gardenCard.dm-wrap{ padding: 28px 18px; border-radius: 22px; }
  #gardenCard .dm-map{ height: 460px; }
  #map-block .dm-info-close,
  #gardenCard .dm-info-close{
    top: 8px;
    right: 8px;
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
  }
  #map-block .dm-info-panel,
  #gardenCard .dm-info-panel{
    top: 12px;
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
  }
}

/* Missing page. */
.error-404-area{
  background: #FFFDF7 !important;
  background-image: none !important;
  height: auto !important;
  min-height: 62vh;
  padding: 40px 0 20px;
}
.error-404-content .title{
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  color: #1E2729;
}
.error-404-content .title span{ color: #8A6A2E; }

.login-register-area .card > .card-header{
  background: #fff !important;
  background-color: #fff !important;
  color: #1E2729 !important;
  font-family: "Fraunces", Georgia, serif !important;
}
#gardenCard .leaflet-control-container{ display: none !important; }


/* Tablet / mobile header: keep Instagram, YouTube, TikTok in the bar (override legacy style.css hide) */
.main-header-area .header-middle-wrap .social-link.with-border.nav-follow,
.main-header-area .header-sticky .header-middle-wrap .social-link.with-border.nav-follow {
  display: flex !important;
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}
@media (max-width: 991px) {
  .main-header-area .header-middle-wrap.nav,
  .main-header-area .header-sticky .header-middle-wrap.nav {
    gap: 8px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .main-header-area .header-logo.logo {
    width: auto !important;
    max-width: 48%;
    flex-shrink: 1;
  }
  .main-header-area .header-logo .logo-img {
    height: 48px !important;
    width: auto !important;
  }
  .main-header-area .social-link.nav-follow {
    gap: 6px;
  }
  .main-header-area .social-link.nav-follow ul.nav-social {
    gap: 6px;
  }
  .main-header-area .social-link.nav-follow ul.nav-social > li > a {
    width: 26px;
    height: 26px;
  }
  .main-header-area .social-link.nav-follow ul.nav-social > li > a svg {
    width: 12px;
    height: 12px;
  }
  /* More finger room between account / cart / burger on phones */
  .main-header-area .header-right.nav-actions > ul,
  .main-header-area .header-right.nav-actions ul {
    gap: 16px !important;
    flex-shrink: 0;
  }
  .main-header-area .header-right.nav-actions > ul > li,
  .main-header-area .header-right.nav-actions ul > li{
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
  .main-header-area .minicart-wrap.me-3 {
    margin-right: 0 !important;
  }
  .main-header-area .header-right.nav-actions .nav-icon-btn,
  .main-header-area .header-right.nav-actions .mobile-menu_btn{
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px !important;
  }
  .main-header-area .mobile-menu_btn.toolbar-btn.pl-0{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
@media (max-width: 420px) {
  .main-header-area .header-middle-wrap.nav,
  .main-header-area .header-sticky .header-middle-wrap.nav {
    padding-left: 8px;
    padding-right: 8px;
    gap: 4px;
  }
  .main-header-area .header-right.nav-actions > ul,
  .main-header-area .header-right.nav-actions ul {
    gap: 14px !important;
  }
  .main-header-area .social-link.nav-follow ul.nav-social {
    gap: 4px;
  }
  .main-header-area .social-link.nav-follow ul.nav-social > li > a {
    width: 24px;
    height: 24px;
  }
}
/* Catalog cards on phones: show price + BUY under the photo */
@media (max-width: 575px) {
  #product-block .catalog-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #product-block .price-box.catalog-bottom-row {
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* Sticky header must not cover in-page anchors (quiz, FAQ, catalog, map) */
#anketa-block,
#dzQuizRoot,
#product-block,
#faq-block,
#map-block,
#dzSteps,
#dzValue {
  scroll-margin-top: 120px;
}
@media (max-width: 991px) {
  #anketa-block,
  #dzQuizRoot,
  #product-block,
  #faq-block,
  #map-block,
  #dzSteps,
  #dzValue {
    scroll-margin-top: 96px;
  }
}
#anketa-block {
  padding-top: 28px;
}
#anketa-block .dz-quiz__intro,
#dzQuizRoot .dz-quiz__intro,
#anketa-block h2,
#dzQuizRoot h2 {
  scroll-margin-top: 120px;
}


/* Garden of Dreamers page markers — shared crisp rules live above under #map-block/#gardenCard */
#gardenCard .garden-zoom{
  position: absolute; top: 14px; left: 14px; z-index: 800;
  display: flex; flex-direction: column; border-radius: 10px; overflow: hidden;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,0.35);
}
#gardenCard .garden-zoom button{
  width: 32px; height: 32px; background: rgba(255,255,255,0.96); border: none;
  border-bottom: 1px solid rgba(0,0,0,0.1); color: #1E2729;
  font-size: 1.05rem; font-weight: 700; cursor: pointer; line-height: 1;
}
#gardenCard .garden-zoom button:last-child{ border-bottom: none; }
#gardenCard .leaflet-marker-pane{ z-index: 600; }


/* Garden map search icon: keep single glyph, positioned inside field */
#gardenCard .dm-search .dm-search-ic{
  position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  font-size: 16px; color: #B87B34; pointer-events: none; line-height: 1;
}
#gardenCard .dm-search input{ padding-right: 46px; }

/* Scroll-to-top + contact «?»: one right column, small gap above ↑ */
:root{
  --ds-float-right: 18px;
  --ds-float-bottom: 20px;
  --ds-float-size: 44px;
  --ds-float-gap: 12px;
}
.scroll-to-top{
  z-index: 1003;
  -webkit-tap-highlight-color: transparent;
  right: var(--ds-float-right) !important;
  bottom: max(var(--ds-float-bottom), env(safe-area-inset-bottom, 0px)) !important;
  width: var(--ds-float-size) !important;
  height: var(--ds-float-size) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.scroll-to-top.show{
  pointer-events: auto;
}
.scroll-to-top i{
  display: block;
  width: var(--ds-float-size);
  height: var(--ds-float-size);
  line-height: var(--ds-float-size);
  font-size: 20px;
}
#floating-form-container{
  position: fixed !important;
  /* Same right edge as .scroll-to-top (+ small inset from scrollbar/edge) */
  right: var(--ds-float-right) !important;
  left: auto !important;
  width: var(--ds-float-size) !important;
  height: var(--ds-float-size) !important;
  overflow: visible !important;
  /* bottom inset + ↑ height + gap */
  bottom: calc(
    max(var(--ds-float-bottom), env(safe-area-inset-bottom, 0px))
    + var(--ds-float-size)
    + var(--ds-float-gap)
  ) !important;
  z-index: 1004;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}
#floating-form-container.is-scrolled,
#floating-form-container.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
/* Kill style.css mobile .form-toggle { right:15px; bottom:75px } */
#floating-form-container .form-toggle,
#floating-form-container #form-toggle.form-toggle,
#form-toggle.form-toggle{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: var(--ds-float-size) !important;
  height: var(--ds-float-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
}
/* Open panel sits to the left of the toggle column */
#floating-form-container .floating-form,
#floating-form.floating-form{
  right: calc(var(--ds-float-size) + 12px) !important;
  bottom: 0 !important;
}
@media (max-width: 768px){
  :root{
    --ds-float-right: 12px;
    --ds-float-bottom: 18px;
    --ds-float-gap: 10px;
  }
  .scroll-to-top{
    z-index: 1003;
  }
  .scroll-to-top i{
    font-size: 20px;
  }
  #floating-form-container .form-toggle,
  #floating-form-container #form-toggle.form-toggle,
  #form-toggle.form-toggle{
    font-size: 18px !important;
  }
  #floating-form-container #toggle-icon{
    font-size: 18px !important;
    line-height: 1;
  }
}

/* Diary tree-chat comments: comfortable mobile layout (no staircase squeeze) */
@media (max-width: 767.98px) {
  #account-dream .container,
  #account-dream .col-lg-12,
  #diaryColumn,
  #treeChatArea .col-lg-12,
  .diary-inline-feed-wrap {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .tc-ac-body {
    padding: 12px 10px !important;
  }
  .tc-cmt-area {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 10px 8px !important;
  }
  .tc-reply-block {
    margin-left: 0 !important;
    padding-left: 10px;
    border-left: 3px solid #c5d0da;
  }
  .tc-comment-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
  }
  .tc-comment-who,
  .tc-comment-name,
  .tc-comment-text {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .tc-dm-btn.tc-dm-icon .tc-dm-label {
    display: none;
  }
  .tc-pub .entry-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px;
  }
  .tc-pub .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
  }
}

/* Contact widget «?» look (size comes from --ds-float-size above) */
#floating-form-container .form-toggle,
#floating-form-container #form-toggle.form-toggle,
#form-toggle.form-toggle{
  font-size: 20px;
  background: linear-gradient(135deg, #D9A155 0%, #B87B34 100%);
  color: #1E2729;
  border: 1.5px solid rgba(42, 28, 14, 0.18);
  box-shadow: 0 12px 28px -12px rgba(184, 123, 52, 0.75);
  font-weight: 800;
  border-radius: 50%;
}
#floating-form-container #toggle-icon{
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}
#floating-form-container .form-toggle:hover,
#form-toggle.form-toggle:hover{
  filter: brightness(1.06);
  color: #1E2729;
  transform: none !important; /* keep aligned; no style.css scale(1.1) shift */
}
#floating-form.floating-form > h3,
#floating-form h3{
  margin: 0 0 18px;
  color: #1E2729 !important;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
}
#floating-form .submit-btn{
  background: linear-gradient(135deg, #D9A155 0%, #B87B34 100%);
  color: #1E2729;
  font-weight: 700;
  border-radius: 999px;
}

/* Footer support popup (separate from «Напиши нам») */
.ds-support-modal[hidden]{ display:none !important; }
.ds-support-modal{
  position:fixed; inset:0; z-index:12050;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.ds-support-modal__backdrop{
  position:absolute; inset:0; background:rgba(16,19,20,0.55);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.ds-support-modal__panel{
  position:relative; z-index:1; width:min(420px, 100%);
  background:#FFFDF7; color:#1E2729;
  border:1.5px solid rgba(201,162,87,0.4);
  border-radius:18px; padding:28px 26px 24px;
  box-shadow:0 28px 56px -22px rgba(20,16,10,0.45);
}
.ds-support-modal__close{
  position:absolute; top:10px; right:12px;
  width:32px; height:32px; border:0; border-radius:50%;
  background:transparent; color:#647376; font-size:1.4rem; line-height:1;
  cursor:pointer;
}
.ds-support-modal__close:hover{ color:#1E2729; background:rgba(201,162,87,0.15); }
.ds-support-modal__panel > h3{
  margin:0 0 6px; text-align:center;
  font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:1.25rem; color:#1E2729;
}
.ds-support-modal__to{
  margin:0 0 18px; text-align:center; font-size:0.88rem; color:#8A6A2E; font-weight:600;
}
.ds-support-modal .form-group{ margin-bottom:14px; }
.ds-support-modal .form-group input,
.ds-support-modal .form-group textarea{
  width:100%; padding:10px 12px; box-sizing:border-box;
  border:1.5px solid rgba(201,162,87,0.45); border-radius:8px;
  background:#fff; color:#1E2729; font-size:0.95rem;
}
.ds-support-modal .form-group input:focus,
.ds-support-modal .form-group textarea:focus{
  outline:none; border-color:#C9A257; box-shadow:0 0 0 4px rgba(201,162,87,.18);
}
.ds-support-modal .submit-btn{
  width:100%; padding:12px 16px; border:none; border-radius:999px; cursor:pointer;
  background:linear-gradient(135deg, #D9A155 0%, #B87B34 100%);
  color:#1E2729; font-weight:700; font-family:'Work Sans', sans-serif; font-size:0.95rem;
}
.ds-support-modal .form-error{
  background:#fdecea; color:#8a1f1f; border:1px solid #f5c2c0;
  padding:12px 14px; border-radius:8px; margin-bottom:14px; font-size:0.9rem;
}
body.ds-support-open{ overflow:hidden; }

/* Contact widget: delivery confirmation toast */
.ds-contact-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(16px);
  z-index:12000; max-width:min(420px, calc(100vw - 28px));
  padding:18px 22px; border-radius:16px;
  background:#1E2729; color:#F7F2E8;
  box-shadow:0 22px 48px -18px rgba(16,19,20,0.55);
  opacity:0; pointer-events:none;
  transition:opacity 0.28s ease, transform 0.28s ease;
  font-family:'Work Sans', sans-serif; text-align:center;
}
.ds-contact-toast.is-visible{
  opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.ds-contact-toast__title{
  margin:0; font-family:'Fraunces', Georgia, serif; font-weight:700;
  font-size:1.15rem; line-height:1.25; color:#FFFFFF;
}
.ds-contact-toast__sub{
  margin:8px 0 0; font-size:0.92rem; line-height:1.45; color:rgba(247,242,232,0.88);
}

/* Cart / checkout order column */
.cart-area .your-order h3,
.checkout-area .your-order h3{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  color: #1E2729;
  margin-bottom: 1rem;
}
.cart-area .text-cart-terms,
.checkout-area .text-cart-terms{
  font-size: 0.9rem;
  line-height: 1.45;
  color: #3a4446;
  margin-bottom: 1rem;
}
.cart-area .text-cart-terms a,
.checkout-area .text-cart-terms a{
  color: #8A6A2E;
  font-weight: 600;
}
.checkout-area .ds-cart-auth-gate{
  margin-top: 1.25rem;
  padding: 1.25rem 1.15rem 1.35rem;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(240,199,132,0.18) 0%, rgba(247,242,232,0.95) 55%, #F7F2E8 100%);
  border: 1px solid rgba(184,123,52,0.22);
}
.checkout-area .ds-cart-auth-gate__lead{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.15rem;
  line-height: 1.35;
  color: #1E2729;
  margin: 0 0 0.45rem;
}
.checkout-area .ds-cart-auth-gate__hint{
  font-family: 'Work Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.45;
  margin: 0 0 1.1rem;
}
.checkout-area .ds-cart-auth-gate__actions{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.75rem;
}
.checkout-area .ds-cart-auth-gate__btn,
.checkout-area .ds-cart-auth-gate__actions .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 9.5rem;
  min-width: 9.5rem;
  min-height: 48px;
  margin: 0;
  padding: 12px 22px;
  text-align: center;
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
  border-radius: 999px !important;
  border: 1.5px solid transparent !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.checkout-area .ds-cart-auth-gate__btn--primary{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  box-shadow: 0 12px 24px -12px rgba(217,161,85,0.55) !important;
}
.checkout-area .ds-cart-auth-gate__btn--primary:hover,
.checkout-area .ds-cart-auth-gate__btn--primary:focus{
  filter: brightness(1.05);
  color: #2A1C0E !important;
}
.checkout-area .ds-cart-auth-gate__btn--secondary{
  background: #FFFDF7 !important;
  color: #1E2729 !important;
  border-color: rgba(184,123,52,0.45) !important;
}
.checkout-area .ds-cart-auth-gate__btn--secondary:hover,
.checkout-area .ds-cart-auth-gate__btn--secondary:focus{
  background: rgba(240,199,132,0.18) !important;
  border-color: #B87B34 !important;
  color: #8A6A2E !important;
}
@media (max-width: 576px){
  .checkout-area .ds-cart-auth-gate__actions{
    flex-direction: column;
  }
  .checkout-area .ds-cart-auth-gate__btn,
  .checkout-area .ds-cart-auth-gate__actions .btn{
    flex: 1 1 auto;
    width: 100%;
  }
}
#paymentModal .modal-content{
  border: none;
  border-radius: 16px;
  background: #F7F2E8;
  color: #1E2729;
}
#paymentModal .modal-header,
#paymentModal .modal-footer{
  border-color: rgba(30,39,41,0.08);
}
#paymentModal .modal-title,
#paymentModal .modal-body h4{
  font-family: 'Fraunces', Georgia, serif;
  color: #1E2729;
}
#paymentModal .btn-secondary{
  background: #1E2729;
  border: none;
  color: #F7F2E8;
  border-radius: 10px;
  font-weight: 600;
}

/* Payment fail / success copy block */
#msCart .canceled-block{
  max-width: 720px;
  margin: 0 auto 2.5rem;
  padding: 1.75rem 1.25rem 2rem;
  color: #1E2729;
  font-family: 'Work Sans', sans-serif;
  line-height: 1.55;
}
#msCart .canceled-block h2{
  text-align: center;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  line-height: 1.25;
  margin: 0 0 1.25rem;
  color: #1E2729;
}
#msCart .canceled-block p{
  margin: 0 0 1rem;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}
#msCart .canceled-block__step,
#msCart .canceled-block__lead{
  font-weight: 600;
}
#msCart .canceled-block__steps{
  margin: 0.75rem 0 1.5rem;
  padding-left: 1.2rem;
  list-style: disc;
}
#msCart .canceled-block__steps li{
  margin: 0.45rem 0;
  padding-left: 0.15rem;
}
#msCart .canceled-block__cta{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  justify-content: flex-start;
  margin: 0.5rem 0 1.5rem;
}
#msCart .canceled-block__cta .canceled-repay-btn,
#msCart .canceled-block .canceled-repay-btn,
#msCart .canceled-block a.btn-primary.btn-lg{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #D9A155 0%, #B87B34 100%);
  color: #1E2729 !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 10px 24px -14px rgba(184,123,52,0.7);
}
#msCart .canceled-block__cta .ds-pay-once-note--cancel,
.payment-cancel-modal .ds-pay-once-note--cancel{
  max-width: none;
  margin: 0;
  text-align: left;
  font-size: 0.82rem;
  color: #647376;
}
.payment-cancel-modal .ds-cancel-pay-cta{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.payment-cancel-modal .ds-pay-once-note--cancel{
  text-align: center;
}
#msCart .canceled-block__cta .canceled-repay-btn:hover,
#msCart .canceled-block .canceled-repay-btn:hover,
#msCart .canceled-block a.btn-primary.btn-lg:hover{
  filter: brightness(1.03);
  color: #1E2729 !important;
}
#msCart .canceled-block a[href^="mailto:"]{
  color: #8A6A2E;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#msCart .canceled-block__tagline{
  margin-bottom: 0.55rem;
  color: #3a4446;
}
#msCart .canceled-block__tagline span{
  display: inline-block;
}
@media (max-width: 767px){
  #msCart .canceled-block{
    padding: 1.25rem 0.15rem 1.75rem;
  }
  #msCart .canceled-block__cta{
    align-items: stretch;
    justify-content: stretch;
  }
  #msCart .canceled-block__cta .canceled-repay-btn,
  #msCart .canceled-block .canceled-repay-btn,
  #msCart .canceled-block a.btn-primary.btn-lg{
    width: 100%;
  }
  #msCart .canceled-block__cta .ds-pay-once-note--cancel{
    text-align: center;
    font-size: 0.78rem;
  }
  .payment-cancel-modal .ds-pay-once-note--cancel{
    font-size: 0.78rem;
  }
}

/* Life Balance (KBZh) in personal account — match homepage gold/cream language */
#account-life,
#account-life .container,
#account-life .row,
#account-life .col-lg-12{
  background: transparent !important;
}
#account-life .life-balance-user-stats,
.account-page-area .life-balance-user-stats{
  background: linear-gradient(180deg, #FBF5E5 0%, #FFFDF7 45%, #FBF5E5 100%) !important;
  border: 1px solid rgba(63,80,84,0.1);
  border-radius: 28px;
  padding: 28px 22px 32px;
  box-shadow: none !important;
}
@media (max-width: 768px){
  #account-life .life-balance-user-stats,
  .account-page-area .life-balance-user-stats{
    padding: 18px 10px 24px !important;
    border-radius: 20px;
    overflow-x: clip;
  }
  #account-life .life-balance-user-stats .chart-container,
  .account-page-area .life-balance-user-stats .chart-container{
    width: calc(100% + 20px) !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    height: min(calc(100vw - 8px), 440px) !important;
    min-height: 280px !important;
    padding: 2px 0 6px !important;
  }
}
#account-life .life-balance-user-stats .chart-container,
.account-page-area .life-balance-user-stats .chart-container{
  min-height: 320px;
}
#account-life .life-balance-user-stats .chart-container canvas,
.account-page-area .life-balance-user-stats .chart-container canvas{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
#account-life .card,
#account-life .card-body,
#account-life .card-header,
#account-life .stats-details,
#account-life .table,
#account-life .table > :not(caption) > * > *,
.account-page-area .life-balance-user-stats .card,
.account-page-area .life-balance-user-stats .card-body,
.account-page-area .life-balance-user-stats .card-header,
.account-page-area .life-balance-user-stats .stats-details{
  background: #FFFDF7 !important;
  background-color: #FFFDF7 !important;
  box-shadow: none !important;
}
#account-life .card,
.account-page-area .life-balance-user-stats .card{
  border: 1px solid rgba(63,80,84,0.12) !important;
  border-radius: 22px !important;
}
#account-life .card.border-success,
#account-life .card.border-danger,
#account-life .lb-card--strong,
#account-life .lb-card--weak{
  border-color: rgba(184,123,52,0.32) !important;
}
#account-life .text-success,
#account-life .text-danger{
  color: #1E2729 !important;
}
#account-life .table-hover > tbody > tr:hover > *{
  --bs-table-accent-bg: rgba(240,199,132,0.16);
  background: rgba(240,199,132,0.16) !important;
}
.account-page-area .life-balance-user-stats .stats-details{
  background: #FFFDF7 !important;
  border: 1px solid rgba(63,80,84,0.12);
  border-radius: 22px;
  box-shadow: none;
}
.account-page-area .life-balance-user-stats .btn-edit-toggle,
.account-page-area .life-balance-user-stats .btn-save,
.account-page-area .life-balance-user-stats .share-trigger-btn{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700;
}
.account-page-area .life-balance-user-stats .btn-cancel{
  background: #FFFDF7 !important;
  color: #3F5054 !important;
  border: 1.5px solid rgba(63,80,84,0.22) !important;
  border-radius: 999px !important;
}
.account-page-area .weak-product-link,
.account-page-area a.btn.button-wrap-home.weak-product-link{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}
.account-page-area .weak-product-link:hover,
.account-page-area .weak-product-link:focus,
.account-page-area a.btn.button-wrap-home.weak-product-link:hover,
.account-page-area a.btn.button-wrap-home.weak-product-link:focus{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border-color: transparent !important;
  filter: brightness(1.06);
}

/* KBZh share: absolute popover above button — click only, no layout shift */
.account-page-area .life-balance-user-stats .share-btn-wrap,
.account-page-area .life-balance-user-stats .share-btn-group{
  position: relative;
  display: inline-flex;
  align-items: center;
  z-index: 30;
}
.account-page-area .life-balance-user-stats .share-trigger-btn.btn,
.account-page-area .life-balance-user-stats .share-trigger-btn{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700;
}
.account-page-area .life-balance-user-stats .share-icons-wrapper,
.account-page-area .life-balance-user-stats .share-btn-group:hover .share-icons-wrapper{
  position: absolute !important;
  top: auto !important;
  bottom: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 50;
  display: none !important;
  width: min(280px, calc(100vw - 32px));
  flex-wrap: unset !important;
  margin: 0 !important;
}
.account-page-area .life-balance-user-stats .share-btn-group.is-open .share-icons-wrapper,
.account-page-area .life-balance-user-stats .share-btn-group.is-open:hover .share-icons-wrapper{
  display: block !important;
}
.account-page-area .life-balance-user-stats .share-icons-panel{
  background: #FFFDF7;
  border: 1px solid rgba(63,80,84,0.14);
  border-radius: 18px;
  box-shadow: 0 18px 40px -22px rgba(30,39,41,0.45);
  padding: 12px;
}
.account-page-area .life-balance-user-stats .share-icons-group{
  display: grid;
  grid-template-columns: repeat(5, 44px);
  gap: 8px;
  justify-content: center;
}
@media (max-width: 768px){
  .account-page-area .life-balance-user-stats .share-btn-wrap,
  .account-page-area .life-balance-user-stats .share-btn-group{
    width: 100%;
  }
  .account-page-area .life-balance-user-stats .share-icons-wrapper{
    left: 0 !important;
    right: 0 !important;
    width: 100%;
  }
  .account-page-area .life-balance-user-stats .share-icons-group{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* Share networks: FB, X, TG, WA, Pinterest + Instagram, Threads, TikTok, VK */
.share-icon-sm.si-fb { background: #1877F2 !important; }
.share-icon-sm.si-x,
.share-icon-sm.si-tw { background: #111111 !important; }
.share-icon-sm.si-tg { background: #229ED9 !important; }
.share-icon-sm.si-wa { background: #25D366 !important; }
.share-icon-sm.si-pin { background: #E60023 !important; }
.share-icon-sm.si-ig { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important; }
.share-icon-sm.si-th { background: #101010 !important; }
.share-icon-sm.si-tt { background: #010101 !important; }
.share-icon-sm.si-vk { background: #4C75A3 !important; }

/* ==========================================================================
   Bootstrap cool-gray neutralization
   Bootstrap's #f8f9fa / #e9ecef / #dee2e6 wash out DreamSeed cream/gold.
   bootstrap.min.css is patched; these rules catch leftover utilities/components.
   ========================================================================== */
:root{
  --bs-light: #FFFDF7;
  --bs-gray-100: #FFFDF7;
  --bs-gray-200: #FBF5E5;
  --bs-gray-300: #EDE3C9;
  --bs-gray-400: #E0D4B8;
  --bs-gray-500: #C4B896;
  --bs-gray-600: #5A6A6E;
  --bs-secondary: #5A6A6E;
  --bs-secondary-rgb: 90, 106, 110;
  --bs-secondary-bg: #FBF5E5;
  --bs-tertiary-bg: #FFFDF7;
  --bs-border-color: #EDE3C9;
  --bs-body-bg: #FFFDF7;
}
.bg-light,
.bg-body-tertiary,
.bg-body-secondary,
.text-bg-light{
  background-color: #FFFDF7 !important;
  color: #1E2729 !important;
}
.bg-secondary,
.text-bg-secondary{
  background-color: #5A6A6E !important;
  color: #fff !important;
}
.border-light{
  border-color: #EDE3C9 !important;
}
.table{
  --bs-table-border-color: #EDE3C9;
  --bs-table-striped-bg: rgba(251, 245, 229, 0.65);
  --bs-table-hover-bg: rgba(240, 199, 132, 0.16);
  border-color: #EDE3C9;
}
.table > :not(caption) > * > *{
  border-bottom-color: #EDE3C9;
}
.form-control,
.form-select,
.input-group-text{
  background-color: #fff;
  border-color: #E0D4B8;
  color: #1E2729;
}
.form-control:focus,
.form-select:focus{
  border-color: #C9A257;
  box-shadow: 0 0 0 .2rem rgba(201, 162, 87, 0.22);
}
.card,
.list-group-item,
.modal-content,
.dropdown-menu,
.accordion-item,
.offcanvas{
  background-color: #fff;
  border-color: #EDE3C9;
}
.card-header,
.card-footer,
.modal-header,
.modal-footer,
.accordion-button,
.offcanvas-header{
  border-color: #EDE3C9 !important;
  color: #1E2729;
}
.nav-tabs{
  border-bottom-color: #EDE3C9;
}
.nav-tabs .nav-link{
  color: #5A6A6E;
}
.nav-tabs .nav-link:hover{
  border-color: #EDE3C9 #EDE3C9 #EDE3C9;
  color: #1E2729;
}
.nav-tabs .nav-link.active{
  background-color: #FFFDF7;
  border-color: #EDE3C9 #EDE3C9 #FFFDF7;
  color: #1E2729;
}
.page-link{
  color: #3A595F;
  background-color: #fff;
  border-color: #EDE3C9;
}
.page-link:hover{
  color: #1E2729;
  background-color: #FBF5E5;
  border-color: #E0D4B8;
}
.page-item.active .page-link{
  background-color: #C9A257;
  border-color: #C9A257;
  color: #2A1C0E;
}
.btn-secondary{
  --bs-btn-color: #fff;
  --bs-btn-bg: #5A6A6E;
  --bs-btn-border-color: #5A6A6E;
  --bs-btn-hover-bg: #3F5054;
  --bs-btn-hover-border-color: #3F5054;
  --bs-btn-active-bg: #3F5054;
  --bs-btn-active-border-color: #3F5054;
  background-color: #5A6A6E;
  border-color: #5A6A6E;
  color: #fff;
}
.btn-light,
.btn-outline-secondary{
  background-color: #FFFDF7;
  border-color: #E0D4B8;
  color: #1E2729;
}
.btn-light:hover,
.btn-outline-secondary:hover{
  background-color: #FBF5E5;
  border-color: #C9A257;
  color: #1E2729;
}
.list-group-item-action:hover,
.list-group-item-action:focus,
.dropdown-item:hover,
.dropdown-item:focus{
  background-color: #FBF5E5;
  color: #1E2729;
}
.breadcrumb{
  --bs-breadcrumb-divider-color: #C4B896;
  --bs-breadcrumb-item-active-color: #5A6A6E;
}
.alert-secondary{
  background-color: #FBF5E5;
  border-color: #E0D4B8;
  color: #3F5054;
}

/* Gift received banner in LK Dream tab */
.ds-gift-received{
  margin: 0 0 1.1rem;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(201,162,87,0.45);
  background: linear-gradient(180deg, #FFFDF7 0%, #FFF8EC 100%);
  color: #1E2729;
  box-shadow: 0 12px 28px -22px rgba(30,39,41,0.35);
}
.ds-gift-received__title{
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1E2729;
  margin: 0 0 8px;
}
.ds-gift-received__body{
  margin: 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #3F5054;
}
.ds-gift-received__tree{
  margin: 10px 0 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.98rem;
  font-weight: 600;
  color: #8A6A2E;
}
.ds-gift-received__pass{
  margin: 12px 0 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9rem;
  color: #3F5054;
}
.ds-gift-received__pass code{
  display: inline-block;
  margin-left: 4px;
  padding: 2px 8px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(63,80,84,0.14);
  color: #1E2729;
  font-size: 0.88rem;
}

/* Gift success modal — DreamSeed cream/gold (overrides purple Bootstrap look) */
.gift-success-modal .modal-content{
  background: #fff !important;
  border: 1px solid rgba(63,80,84,0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 40px -24px rgba(30,39,41,0.28) !important;
}
.gift-success-modal .modal-header{
  background: transparent !important;
  border-bottom: 1px solid rgba(63,80,84,0.12) !important;
}
.gift-success-modal .modal-title{
  font-family: 'Fraunces', Georgia, serif !important;
  color: #1E2729 !important;
  text-align: left !important;
}
.gift-success-modal .gift-thanks{
  font-family: 'Fraunces', Georgia, serif !important;
  color: #8A6A2E !important;
}
.gift-success-modal .gift-description,
.gift-success-modal .gift-cta-question{
  font-family: 'Work Sans', sans-serif !important;
  color: #3F5054;
}
.gift-success-modal .gift-cta-question{
  color: #1E2729 !important;
  font-weight: 600;
}
.gift-success-modal .gift-actions .btn-catalog{
  background: linear-gradient(135deg, #C9A257, #B87B34) !important;
  border: none !important;
  border-radius: 999px !important;
  color: #fff !important;
}
.gift-success-modal .gift-user-message{
  background: #FFF8EC;
  border-left: 3px solid #C9A257;
  border-radius: 12px;
}

/* ==========================================================================
   Gifts tab — match homepage / personal-account cream + gold language
   (overrides style.css blue tabs and gray-blue gift buttons)
   ========================================================================== */
#account-gift,
#account-gift .gifts-section,
.gifts-section{
  color: #1E2729;
}
#account-gift .gifts-tabs-nav,
.gifts-section .gifts-tabs-nav{
  margin-bottom: 22px;
}
#account-gift .gifts-tabs-nav .nav-tabs,
.gifts-section .gifts-tabs-nav .nav-tabs,
#account-gift #giftsTabs.nav-tabs{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  border: none !important;
  border-bottom: none !important;
  margin: 0 0 8px;
  padding: 0;
}
#account-gift .gifts-tabs-nav .nav-item,
.gifts-section .gifts-tabs-nav .nav-item{
  margin: 0;
}
#account-gift .gifts-tabs-nav .nav-link,
.gifts-section .gifts-tabs-nav .nav-link,
#account-gift #giftsTabs .nav-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(63,80,84,0.28) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #3F5054 !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0;
  text-transform: none;
  padding: 10px 18px !important;
  margin: 0 !important;
  line-height: 1.25;
  box-shadow: none !important;
}
#account-gift .gifts-tabs-nav .nav-link:hover,
.gifts-section .gifts-tabs-nav .nav-link:hover,
#account-gift #giftsTabs .nav-link:hover{
  color: #1E2729 !important;
  border-color: #1E2729 !important;
  background: rgba(30,39,41,0.04) !important;
}
#account-gift .gifts-tabs-nav .nav-link.active,
.gifts-section .gifts-tabs-nav .nav-link.active,
#account-gift #giftsTabs .nav-link.active,
#account-gift .gifts-tabs-nav .nav-link.active:hover,
#account-gift #giftsTabs .nav-link.active:hover{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  border-color: transparent !important;
  color: #2A1C0E !important;
}
#account-gift .tab-content-inner,
.gifts-section .tab-content-inner{
  min-height: 0;
  padding: 0;
}
#account-gift .gift-products-section,
.gift-products-section{
  max-width: none;
  margin: 0;
}
#account-gift .gift-title,
.gift-products-section .gift-title{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.55rem, 3.2vw, 2.1rem);
  letter-spacing: -0.02em;
  color: #1E2729;
  margin: 0 0 8px;
}
#account-gift .gift-description,
.gift-products-section .gift-description{
  font-family: 'Work Sans', sans-serif;
  color: #647376;
  font-size: 0.98rem;
  line-height: 1.55;
  margin: 0 0 22px;
  max-width: 42rem;
}
#account-gift .gift-products-grid,
.gift-products-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}
#account-gift .gift-product-card,
.gift-product-card{
  background: #fff;
  border: 1px solid rgba(63,80,84,0.12);
  border-radius: 20px;
  padding: 16px;
  margin: 0;
  box-shadow: none;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
#account-gift .gift-product-card:hover,
.gift-product-card:hover{
  transform: translateY(-2px);
  border-color: rgba(201,162,87,0.55);
  box-shadow: 0 14px 28px -18px rgba(184,123,52,0.45);
}
#account-gift .gift-product-card.selected,
.gift-product-card.selected{
  border-color: #C9A257;
  box-shadow: 0 0 0 2px rgba(201,162,87,0.28);
}
#account-gift .product-title,
.gift-product-card .product-title{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1E2729;
}
#account-gift .product-image,
.gift-product-card .product-image{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 12px;
  background: #FBF5E5;
}
#account-gift .product-info-gift,
.gift-product-card .product-info-gift{
  margin-bottom: 12px;
  padding: 0;
  text-align: left;
  color: #5A6A6E;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9rem;
}
#account-gift .product-info-gift strong,
.gift-product-card .product-info-gift strong{
  color: #1E2729;
  font-weight: 700;
}
#account-gift .gift-btn,
.gift-btn,
#account-gift .btn-gift-item{
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  box-shadow: none !important;
  transition: filter 0.15s ease, transform 0.15s ease;
}
#account-gift .gift-btn:hover,
.gift-btn:hover,
#account-gift .btn-gift-item:hover{
  filter: brightness(1.05);
  color: #2A1C0E !important;
  transform: none !important;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  box-shadow: none !important;
}
#account-gift .gift-btn:disabled,
.gift-btn:disabled{
  background: #E8DFC8 !important;
  color: #8A94A2 !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
  filter: none;
}
#account-gift .gift-form-container,
.gift-form-container{
  background: #fff;
  border: 1px solid rgba(63,80,84,0.12);
  border-radius: 20px;
  box-shadow: none;
  padding: 22px;
  margin-top: 20px;
}
#account-gift .gift-form-container .form-control,
.gift-form-container .form-control{
  border: 1px solid #E0D4B8;
  border-radius: 12px;
  background: #fff;
  color: #1E2729;
  font-family: 'Work Sans', sans-serif;
}
#account-gift .gift-form-container .form-control:focus,
.gift-form-container .form-control:focus{
  border-color: #C9A257;
  box-shadow: 0 0 0 3px rgba(201,162,87,0.22);
}
#account-gift .gift-form-container .btn-primary,
#account-gift .gift-form-container .btn-secondary,
.gift-form-container .btn-primary,
.gift-form-container .btn-warning{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700;
  box-shadow: 0 12px 22px -14px rgba(217,161,85,0.85);
}
#account-gift .gift-form-container .btn-outline-secondary,
.gift-form-container .btn-outline-secondary,
#account-gift .gift-form-container .btn-secondary.btn-cancel{
  background: transparent !important;
  border: 1.5px solid rgba(63,80,84,0.35) !important;
  color: #1E2729 !important;
  border-radius: 999px !important;
  box-shadow: none;
}
#account-gift .sent-gifts-list,
.sent-gifts-list{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#account-gift .sent-gift-card,
.sent-gift-card{
  background: #fff;
  border: 1px solid rgba(63,80,84,0.12);
  border-radius: 20px;
  padding: 16px 18px;
  box-shadow: none;
}
#account-gift .sent-gift-header,
.sent-gift-card .sent-gift-header{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
#account-gift .sent-gift-header h5,
.sent-gift-card .sent-gift-header h5{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #1E2729;
  margin: 0;
}
#account-gift .sent-gift-info,
.sent-gift-card .sent-gift-info{
  font-family: 'Work Sans', sans-serif;
  color: #3F5054;
  font-size: 0.92rem;
  line-height: 1.55;
}
#account-gift .sent-gift-info p{
  margin: 0 0 6px;
}
#account-gift .gift-status.badge,
.sent-gift-card .gift-status.badge{
  border-radius: 999px;
  font-weight: 600;
  font-family: 'Work Sans', sans-serif;
  padding: 6px 10px;
}
#account-gift .badge.bg-warning,
.sent-gift-card .badge.bg-warning{
  background: #F0C784 !important;
  color: #2A1C0E !important;
}
#account-gift .badge.bg-success,
.sent-gift-card .badge.bg-success{
  background: #3A595F !important;
  color: #fff !important;
}
#account-gift .alert-info,
.gifts-section .alert-info{
  background: #FBF5E5;
  border: 1px solid #E0D4B8;
  color: #3F5054;
  border-radius: 14px;
}
#account-gift .gift-modal-header,
.gift-modal-header{
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%) !important;
  color: #2A1C0E !important;
}
#account-gift .gift-modal-header h5,
.gift-modal-header h5,
#account-gift .gift-modal-close,
.gift-modal-close{
  color: #2A1C0E !important;
}
#account-gift .gift-modal-content,
.gift-modal-content{
  border-radius: 20px;
  border: 1px solid rgba(63,80,84,0.12);
  box-shadow: 0 22px 40px -20px rgba(30,39,41,0.35);
  overflow: hidden;
}
#account-gift .loading-spinner .spinner,
.gifts-section .spinner{
  border: 3px solid #EDE3C9;
  border-top-color: #C9A257;
}
@media (max-width: 768px){
  #account-gift .gifts-tabs-nav .nav-link,
  #account-gift #giftsTabs .nav-link{
    padding: 8px 14px !important;
    font-size: 0.88rem;
  }
  #account-gift .tab-content,
  .gifts-section .tab-content{
    padding: 0 !important;
  }
  #account-gift .gift-products-grid,
  .gift-products-grid{
    grid-template-columns: 1fr;
  }
}

/* ===== Cookie / terms consent banner ===== */
:root {
  --ds-cookie-banner-h: 0px;
}
.ds-cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10050;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(251, 245, 229, 0.97) 0%, #F7EED8 100%);
  border-top: 1px solid rgba(138, 106, 46, 0.28);
  box-shadow: 0 -12px 32px -18px rgba(30, 39, 41, 0.35);
  font-family: Georgia, "Times New Roman", serif;
  color: #1E2729;
}
.ds-cookie-banner__inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.ds-cookie-banner__copy {
  flex: 1 1 280px;
  min-width: 0;
}
.ds-cookie-banner__title {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: bold;
  color: #1E2729;
  letter-spacing: 0.01em;
}
.ds-cookie-banner__text {
  margin: 0 0 8px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #3F5054;
}
.ds-cookie-banner__links {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #5a6a6e;
}
.ds-cookie-banner__links a {
  color: #8A6A2E;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ds-cookie-banner__links a:hover {
  color: #6e5323;
}
.ds-cookie-banner__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ds-cookie-banner__reject {
  appearance: none;
  border: 1.5px solid rgba(63, 80, 84, 0.35);
  cursor: pointer;
  border-radius: 999px;
  padding: 11px 22px;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: bold;
  background: transparent;
  color: #3F5054;
  transition: background 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
}
.ds-cookie-banner__reject:hover {
  background: rgba(255, 255, 255, 0.55);
  border-color: rgba(63, 80, 84, 0.55);
}
.ds-cookie-banner__reject:focus-visible {
  outline: 2px solid #8A6A2E;
  outline-offset: 2px;
}
.ds-cookie-banner__accept {
  appearance: none;
  border: none;
  cursor: pointer;
  border-radius: 999px;
  padding: 12px 26px;
  font-family: inherit;
  font-size: 0.98rem;
  font-weight: bold;
  background: linear-gradient(135deg, #F0C784 0%, #D9A155 45%, #B87B34 100%);
  color: #2A1C0E;
  box-shadow: 0 8px 18px -12px rgba(184, 123, 52, 0.7);
  transition: transform 0.15s ease, filter 0.15s ease;
  white-space: nowrap;
}
.ds-cookie-banner__accept:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}
.ds-cookie-banner__accept:focus-visible {
  outline: 2px solid #8A6A2E;
  outline-offset: 2px;
}
/* Lift floating contact / scroll-top while banner is open */
body.ds-cookie-open #floating-form-container,
body.ds-cookie-open .scroll-top,
body.ds-cookie-open #scrollUp,
body.ds-cookie-open .back-to-top {
  bottom: calc(
    max(var(--ds-float-bottom, 20px), env(safe-area-inset-bottom, 0px))
    + var(--ds-cookie-banner-h, 0px)
    + 10px
  ) !important;
}
body.ds-cookie-open #floating-form-container.is-scrolled {
  bottom: calc(
    max(var(--ds-float-bottom, 20px), env(safe-area-inset-bottom, 0px))
    + var(--ds-float-size, 44px)
    + var(--ds-float-gap, 12px)
    + var(--ds-cookie-banner-h, 0px)
    + 10px
  ) !important;
}
@media (max-width: 768px) {
  .ds-cookie-banner__copy {
    flex: 1 1 210px;
    min-width: 0;
  }
}
@media (max-width: 640px) {
  .ds-cookie-banner {
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .ds-cookie-banner__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .ds-cookie-banner__actions {
    width: 100%;
  }
  .ds-cookie-banner__accept,
  .ds-cookie-banner__reject {
    flex: 1 1 auto;
    width: auto;
    text-align: center;
  }
  .ds-cookie-banner__title {
    font-size: 1rem;
  }
  .ds-cookie-banner__text {
    font-size: 0.88rem;
  }
}

.footer-disclaimer {
  max-width: 920px;
  margin: 10px auto 0;
  padding: 0 16px 8px;
  text-align: center;
  font-size: 0.78rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
}


/* Payment success modal (post-checkout) — reuse plant/gift modal language */
.payment-success-modal .modal-content {
  border-radius: 18px;
  border: none;
  background: #FFFDF7;
}
.payment-success-modal .modal-title {
  font-family: Georgia, serif;
  font-weight: normal;
  color: #1E2729;
}
.payment-success-modal .plant-congrats,
.payment-success-modal .plant-journey {
  color: #3F5054;
  line-height: 1.55;
  margin: 10px 0;
}
.payment-success-modal .share-icons-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}
.payment-success-modal .btn-catalog {
  display: inline-block;
  padding: 12px 22px;
  background: #1C2B38;
  color: #FFFDF7 !important;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
}
#msCart .canceled-block--success .ds-paid-share {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 12px 0 8px;
}

/* Force change-password modal after email confirmation (LK web + mobile) */
html.ds-force-cp-lock,
body.ds-force-cp-lock{
  overflow: hidden !important;
}
.ds-force-cp-overlay{
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(30, 39, 41, 0.48);
  -webkit-overflow-scrolling: touch;
}
.ds-force-cp-overlay.is-open{ display: flex; }
.ds-force-cp-dialog{
  width: min(440px, 100%);
  max-height: min(92vh, 720px);
  overflow: auto;
  background: #FFFDF7;
  border-radius: 20px 20px 16px 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 24px 50px -28px rgba(16,19,20,.55);
}
.ds-force-cp-title{
  margin: 0 0 10px;
  font-size: 1.35rem;
  line-height: 1.25;
  color: #1E2729;
}
.ds-force-cp-lead,
.ds-force-cp-note{
  margin: 0 0 14px;
  color: #4b5563;
  font-size: .95rem;
  line-height: 1.45;
}
.ds-force-cp-note{ margin-top: 12px; margin-bottom: 0; font-size: .88rem; }
.ds-force-cp-form .form-label{ font-weight: 600; color: #1E2729; }
.ds-force-cp-submit{
  width: 100%;
  min-height: 48px;
  border-radius: 999px;
  font-weight: 700;
}
.ds-force-cp-toast{
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 12100;
  max-width: min(92vw, 420px);
  padding: 12px 16px;
  border-radius: 12px;
  background: #1E2729;
  color: #FFFDF7;
  font-size: .95rem;
  box-shadow: 0 12px 28px -18px rgba(0,0,0,.5);
  transition: opacity .35s ease, transform .35s ease;
}
.ds-force-cp-toast.is-hide{
  opacity: 0;
  transform: translateX(-50%) translateY(10px);
  pointer-events: none;
}
@media (min-width: 768px){
  .ds-force-cp-overlay{
    align-items: center;
  }
  .ds-force-cp-dialog{
    border-radius: 20px;
    padding: 28px 26px 22px;
  }
  .ds-force-cp-title{ font-size: 1.5rem; }
}
