/* RUMA v3 · shop area. Owned by the shop agent; reads tokens.css vars only.
   The RUMA Shop (v3s-*) and Memberships & Pricing (v3p-*). Free-licensed photos (public/media/ruma/web/{shop,pricing},
   CREDITS.json) illustrate the menu; prices set like a printed menu, sketch glyphs on the heads. */

/* ---------- shared: category / jump pills, status tags ---------- */
.theme-v3 .v3s-cats ul { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.theme-v3 .v3s-cats .pill { background: rgb(var(--candle-glow) / .06); color: var(--text-strong); }
.theme-v3 .v3s-cats .pill.is-soon { box-shadow: inset 0 0 0 1px var(--line); color: var(--text); }
.theme-v3 .v3s-cats .pill[aria-current="true"] { background: rgb(var(--candle-glow) / .18); color: var(--candle-soft); }
.theme-v3 .v3s-cats__soon { font-size: var(--fs-micro); color: var(--muted); font-style: italic; font-family: var(--font-display); font-size: 1rem; }

.theme-v3 .v3s-tag {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: var(--r-pill);
  font-family: var(--font-body); font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; font-weight: 500; font-style: normal;
  color: var(--muted); box-shadow: inset 0 0 0 1px var(--line-strong); white-space: nowrap; vertical-align: middle; line-height: 1.5;
}
.theme-v3 .v3s-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--candle); }
.theme-v3 .v3s-tag--on { color: var(--candle-soft); }
.theme-v3 .v3s-tag--on::before { background: var(--candle); box-shadow: 0 0 8px rgb(var(--candle-glow) / .7); }
.theme-v3 .label .v3s-tag { margin-left: 12px; }

/* sketch glyphs: drawn in on reveal */
.theme-v3 .v3s-glyph { width: 100%; height: 100%; color: var(--candle); overflow: visible; }
.theme-v3 .v3s-glyph path { stroke-dasharray: 1; stroke-dashoffset: 0; }
@media (prefers-reduced-motion: no-preference) {
  .js .theme-v3 [data-reveal] .v3s-glyph path, .js .theme-v3 [data-reveal].v3s-cat__glyph .v3s-glyph path { stroke-dashoffset: 1; transition: stroke-dashoffset 2.4s var(--ease-inout) .3s; }
  .js .theme-v3 [data-reveal].is-in .v3s-glyph path { stroke-dashoffset: 0; }
}

/* ---------- shop page head ---------- */
.theme-v3 .v3s-head { min-height: clamp(520px, 70vh, 720px); }
.theme-v3 .v3s-head .vid img, .theme-v3 .v3s-head .vid video { object-position: 70% 60%; }

/* ---------- open categories: the menu (photo cards) ---------- */
.theme-v3 .v3s-cat__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: start; }
.theme-v3 .v3s-cat__glyph { display: block; width: clamp(72px, 9vw, 120px); aspect-ratio: 1; opacity: .85; }
.theme-v3 .v3s-cat .sec-head { margin-bottom: clamp(36px, 4.4vw, 64px); }
.theme-v3 .v3s-menu { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: clamp(14px, 1.4vw, 22px); }
.theme-v3 .v3s-item {
  position: relative; display: flex; flex-direction: column;
  border-radius: var(--r-core); background: var(--ember); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 0 rgb(var(--candle-glow) / .08);
  overflow: hidden; isolation: isolate; transition: box-shadow .6s var(--ease-warm);
}
.theme-v3 .section--ember .v3s-item { background: var(--night); }
.theme-v3 .v3s-item__media { aspect-ratio: 4 / 3; border-radius: 0; flex: none; }
.theme-v3 .v3s-item__media > img { transition: transform 1.6s var(--ease-warm), filter 1.2s var(--ease-warm); }
.theme-v3 .v3s-item__body { position: relative; flex: 1; display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2.2vw, 30px); }
/* a soft candle glow in the corner, brighter on hover */
.theme-v3 .v3s-item__body::after {
  content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgb(var(--candle-glow) / .14), transparent); opacity: .6; transition: opacity .8s var(--ease-warm);
}
@media (hover: hover) {
  .theme-v3 .v3s-item:hover { box-shadow: inset 0 0 0 1px var(--line-strong), inset 0 1px 0 rgb(var(--candle-glow) / .12); }
  .theme-v3 .v3s-item:hover .v3s-item__body::after { opacity: 1; }
  .theme-v3 .v3s-item:hover .v3s-item__media > img.grade { filter: sepia(.2) saturate(.92) contrast(1) brightness(.9); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .theme-v3 .v3s-item:hover .v3s-item__media > img { transform: scale(1.035); } }
.theme-v3 .v3s-item__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.theme-v3 .v3s-item h3 { font-size: clamp(1.45rem, 1.7vw, 1.75rem); font-weight: 400; text-wrap: balance; }
.theme-v3 .v3s-item__desc { color: var(--text); font-size: var(--fs-small); max-width: 46ch; }
.theme-v3 .v3s-item__note { color: var(--candle-soft); font-family: var(--font-display); font-style: italic; font-size: 1.15rem; line-height: 1.3; }
.theme-v3 .v3s-variants { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; font-size: var(--fs-small); color: var(--muted); }
.theme-v3 .v3s-tiers { list-style: none; padding: 14px 0 0; margin: auto 0 0; border-top: 1px dashed var(--line-strong); display: flex; flex-wrap: wrap; gap: 6px 18px; }
.theme-v3 .v3s-tiers li { display: inline-flex; align-items: baseline; gap: 8px; font-size: var(--fs-small); color: var(--muted); }
.theme-v3 .v3s-tiers b { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; color: var(--candle-soft); line-height: 1; }
.theme-v3 .v3s-item.is-sold-out h3, .theme-v3 .v3s-item.is-sold-out .v3s-tiers b { color: var(--muted); }
.theme-v3 .v3s-item.is-sold-out .v3s-tiers b { text-decoration: line-through; text-decoration-thickness: 1px; }
.theme-v3 .v3s-item.is-sold-out .v3s-item__media > img { filter: grayscale(.8) brightness(.6); }
.theme-v3 .v3s-item.is-coming-soon { background: transparent; }
/* phones: a compact menu row — square photo beside the copy, so 20 items stay scannable */
@media (max-width: 640px) {
  .theme-v3 .v3s-menu { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .theme-v3 .v3s-item.has-photo { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: stretch; }
  .theme-v3 .v3s-item.has-photo .v3s-item__media { aspect-ratio: auto; height: 100%; min-height: 128px; }
  .theme-v3 .v3s-item__body { padding: 16px 16px 16px 18px; gap: 8px; }
  .theme-v3 .v3s-item h3 { font-size: 1.3rem; }
  .theme-v3 .v3s-tiers { padding-top: 10px; gap: 4px 14px; }
  .theme-v3 .v3s-tiers b { font-size: 1.25rem; }
  .theme-v3 .v3s-cat__head { grid-template-columns: minmax(0, 1fr); }
  .theme-v3 .v3s-cat__glyph { display: none; }
}

/* ---------- how to order ---------- */
.theme-v3 .v3s-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.theme-v3 .v3s-order__copy { display: grid; gap: 20px; justify-items: start; position: sticky; top: 140px; }
.theme-v3 .v3s-ways { padding: clamp(24px, 3.6vw, 44px); display: grid; gap: 18px; }
.theme-v3 .v3s-ways h3 { font-size: clamp(1.8rem, 2.6vw, 2.3rem); }
.theme-v3 .v3s-ways ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.theme-v3 .v3s-ways li { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.theme-v3 .v3s-ways li div { display: grid; gap: 2px; }
.theme-v3 .v3s-ways li b { font-weight: 500; color: var(--text-strong); }
.theme-v3 .v3s-ways li span { font-size: var(--fs-small); color: var(--muted); }
.theme-v3 .v3s-ways__price { font-family: var(--font-display); font-size: 1.5rem !important; color: var(--candle-soft) !important; white-space: nowrap; }
.theme-v3 .v3s-final { font-size: var(--fs-small); color: var(--text); }
.theme-v3 .v3s-final b { color: var(--candle-soft); font-weight: 600; margin-right: 4px; }
@media (max-width: 900px) { .theme-v3 .v3s-order__grid { grid-template-columns: minmax(0, 1fr); } .theme-v3 .v3s-order__copy { position: static; } }

/* ---------- coming soon: quiet line-up ---------- */
.theme-v3 .v3s-soon__cat { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 80px); padding-block: clamp(48px, 6vw, 88px); border-top: 1px solid var(--line); }
.theme-v3 .v3s-soon__aside { display: grid; gap: 14px; justify-items: start; align-content: start; position: sticky; top: 140px; align-self: start; }
.theme-v3 .v3s-soon__title { display: flex; align-items: center; gap: 14px; }
.theme-v3 .v3s-soon__aside .v3s-cat__glyph { width: 44px; flex: none; opacity: .6; }
.theme-v3 .v3s-soon__aside h3 { font-size: clamp(2rem, 3.2vw, 2.8rem); }
.theme-v3 .v3s-soon__aside p { color: var(--text); max-width: 40ch; }
.theme-v3 .v3s-soon__aside .v3s-tag { color: var(--muted); }
.theme-v3 .v3s-sizes { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; font-size: var(--fs-small); }
.theme-v3 .v3s-soon__media { width: 100%; aspect-ratio: 4 / 3; margin-bottom: 10px; }
.theme-v3 .v3s-lineup { list-style: none; padding: 0; margin: 0; }
.theme-v3 .v3s-lineup > li { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.theme-v3 .v3s-lineup > li:first-child { padding-top: 0; }
.theme-v3 .v3s-lineup__name { display: grid; gap: 2px; min-width: 0; }
.theme-v3 .v3s-lineup__name b { font-family: var(--font-display); font-weight: 400; font-size: 1.35rem; color: var(--text-strong); line-height: 1.2; }
.theme-v3 .v3s-lineup__name > span { font-size: var(--fs-small); color: var(--muted); }
.theme-v3 .v3s-lineup__name > .v3s-lineup__meta { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; }
.theme-v3 .v3s-lineup__price { font-size: var(--fs-small); color: var(--muted); white-space: nowrap; text-align: right; }
/* the lead item (candles): a lit panel across the line-up. Its sizes are drawn as candles that grow
   with the size; its scents are a numbered menu, one pairing per line, never wrapped mid-name. */
.theme-v3 .v3s-lineup > li.v3s-lineup__lead { display: block; padding: 0 0 clamp(18px, 2vw, 28px); border-bottom: 0; }
.theme-v3 .v3s-feature {
  position: relative; isolation: isolate; overflow: hidden; container-type: inline-size;
  display: grid; gap: clamp(6px, .8vw, 10px); padding: clamp(22px, 2.4vw, 34px) clamp(20px, 2.4vw, 34px) clamp(10px, 1.2vw, 16px);
  border-radius: var(--r-core); background: var(--ember); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 0 rgb(var(--candle-glow) / .08);
}
/* the glow sits behind the candles, like the menu cards' corner glow */
.theme-v3 .v3s-feature::before {
  content: ""; position: absolute; z-index: -1; right: -8%; top: -55%; width: min(62%, 520px); aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgb(var(--candle-glow) / .17), transparent);
}
.theme-v3 .v3s-feature__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 32px; padding-bottom: clamp(16px, 1.8vw, 22px); border-bottom: 1px solid var(--line-strong); }
.theme-v3 .v3s-feature .v3s-lineup__name { gap: 6px; }
.theme-v3 .v3s-feature .v3s-lineup__name b { font-size: clamp(1.75rem, 2.3vw, 2.2rem); line-height: 1.05; }
.theme-v3 .v3s-feature__sizes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px clamp(22px, 2.8vw, 40px); }
.theme-v3 .v3s-feature__sizes li { display: grid; justify-items: center; gap: 4px; text-align: center; }
.theme-v3 .v3s-feature__sizes .v3s-glyph { width: auto; height: calc(50px + var(--s, 0) * 20px); margin-bottom: -2px; filter: drop-shadow(0 0 8px rgb(var(--candle-glow) / .3)); }
.theme-v3 .v3s-feature__sizes .v3s-glyph path:last-child { fill: rgb(var(--candle-glow) / .28); transform-box: fill-box; transform-origin: 50% 100%; }
.theme-v3 .v3s-feature__sizes span { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.theme-v3 .v3s-feature__sizes b { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1; color: var(--candle-soft); }
/* the flames catch once the candles have drawn in, then settle: under 5s of motion (WCAG 2.2.2),
   an even count of alternate runs so they come to rest upright */
@media (prefers-reduced-motion: no-preference) {
  .js .theme-v3 .v3s-feature.is-in .v3s-feature__sizes .v3s-glyph path:last-child { animation: v3s-flicker 1.2s var(--ease-inout) 2.2s 4 alternate both; }
  .js .theme-v3 .v3s-feature.is-in .v3s-feature__sizes li + li .v3s-glyph path:last-child { animation-duration: 1.05s; animation-delay: 2.5s; }
}
@keyframes v3s-flicker {
  0% { transform: scale(1, 1); opacity: 1; }
  45% { transform: scale(.94, 1.06); opacity: .88; }
  70% { transform: scale(1.03, .97); opacity: 1; }
  100% { transform: scale(.97, 1.04); opacity: .92; }
}
.theme-v3 .v3s-scents { list-style: none; padding: 0; margin: 0; counter-reset: scent; columns: 10.5rem 4; column-gap: clamp(18px, 2vw, 32px); }
.theme-v3 .v3s-scents li {
  counter-increment: scent; break-inside: avoid; display: grid; gap: 3px; padding: 12px 0 13px; border-bottom: 1px solid var(--line);
  font-family: var(--font-display); font-style: italic; font-size: 1.12rem; line-height: 1.25; color: var(--text-strong); text-wrap: balance;
}
.theme-v3 .v3s-scents li::before {
  content: counter(scent, decimal-leading-zero); content: counter(scent, decimal-leading-zero) / "";
  font-family: var(--font-body); font-style: normal; font-size: var(--fs-micro); letter-spacing: var(--track-label); color: var(--candle); font-variant-numeric: lining-nums tabular-nums;
}
/* phones: two short columns instead of sixteen rows */
@container (max-width: 480px) {
  .theme-v3 .v3s-feature__head { align-items: flex-start; }
  .theme-v3 .v3s-scents { columns: 2; column-gap: 14px; }
  .theme-v3 .v3s-scents li { font-size: .95rem; padding: 10px 0 11px; }
}
@media (max-width: 480px) { .theme-v3 .v3s-feature { padding-inline: 18px; } }
.theme-v3 .v3s-soon__note { margin-top: clamp(32px, 4vw, 56px); color: var(--text); }
/* wide screens: the line-up runs in two columns beside the photo; a lead item spans both */
@media (min-width: 1400px) {
  .theme-v3 .v3s-soon__cat { grid-template-columns: minmax(0, .7fr) minmax(0, 1.8fr); }
  .theme-v3 .v3s-lineup { columns: 2; column-gap: clamp(32px, 3.5vw, 64px); }
  .theme-v3 .v3s-lineup > li { break-inside: avoid; }
  .theme-v3 .v3s-lineup > li:first-child:not(.v3s-lineup__lead) { padding-top: 16px; }
  .theme-v3 .v3s-lineup__lead { column-span: all; }
}
@media (max-width: 860px) {
  .theme-v3 .v3s-soon__cat { grid-template-columns: minmax(0, 1fr); }
  .theme-v3 .v3s-soon__aside { position: static; }
  .theme-v3 .v3s-soon__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 480px) {
  .theme-v3 .v3s-lineup > li { flex-direction: column; gap: 4px; }
  .theme-v3 .v3s-lineup__price { text-align: left; white-space: normal; }
}

/* ---------- Memberships & Pricing ---------- */
.theme-v3 .v3p-head--buy { min-height: clamp(380px, 48vh, 480px); }
.theme-v3 .v3p-head--buy + #buy { padding-top: clamp(24px, 3vw, 40px); }
.theme-v3 .v3p-buy { max-width: 860px; margin-inline: auto; }
.theme-v3 .v3p-buy .plan__price { font-size: clamp(2.6rem, 4vw, 3.4rem); color: var(--candle-soft); }

.theme-v3 #memberships .plan .label { margin-top: 4px; }
.theme-v3 .v3p-per { font-family: var(--font-display); font-style: italic; font-size: 1.2rem; color: var(--candle-soft); line-height: 1.25; }
.theme-v3 .plan .v3p-per { margin-top: -6px; }
.theme-v3 .plan .small, .theme-v3 .v3p-pack .small { font-size: var(--fs-small); color: var(--text); }
.theme-v3 .v3p-promise { margin-top: clamp(32px, 4vw, 48px); text-align: center; font-family: var(--font-display); font-style: italic; font-size: 1.3rem; color: var(--muted); }

.theme-v3 .v3p-packs { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.theme-v3 .v3p-pack { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 3vw, 36px); border-radius: var(--r-shell); background: var(--night); box-shadow: inset 0 0 0 1px var(--line); }
.theme-v3 .v3p-pack h3 { font-size: clamp(1.6rem, 2.2vw, 2rem); }
.theme-v3 .v3p-pack__price { display: flex; align-items: baseline; gap: 12px; }
.theme-v3 .v3p-pack__price span { font-family: var(--font-display); font-weight: 300; font-size: 3.2rem; line-height: 1; color: var(--text-strong); letter-spacing: -.02em; }
.theme-v3 .v3p-pack__price small { font-size: var(--fs-small); color: var(--muted); }
.theme-v3 .v3p-save { font-size: var(--fs-small); color: var(--ok); }
.theme-v3 .v3p-pack__cta { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.theme-v3 .v3p-cancel { margin-top: 24px; font-size: var(--fs-small); }

.theme-v3 .v3p-terms { font-size: var(--fs-small); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--text-strong); font-weight: 500; }

/* section leads: heading beside a photo, so the width is used on large screens */
.theme-v3 .v3p-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 96px); align-items: center; margin-bottom: clamp(40px, 5vw, 72px); }
.theme-v3 .v3p-lead .sec-head { margin-bottom: 0; }
.theme-v3 .v3p-lead__media { aspect-ratio: 16 / 10; width: 100%; }
.theme-v3 .v3p-lead--flip .v3p-lead__media { order: -1; }
@media (max-width: 900px) {
  .theme-v3 .v3p-lead { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .theme-v3 .v3p-lead__media { aspect-ratio: 16 / 9; order: 2; }
  .theme-v3 .v3p-lead--flip .v3p-lead__media { order: 2; }
}

/* the intro card gains a photo column on wide screens, a photo band above on smaller ones */
.theme-v3 .v3p-intro { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 4.4fr); }
.theme-v3 .v3p-intro__media { border-radius: 0; min-height: 320px; }
@media (max-width: 1180px) {
  .theme-v3 .v3p-intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .theme-v3 .v3p-intro__media { grid-column: 1 / -1; aspect-ratio: 21 / 8; min-height: 0; }
}
@media (max-width: 860px) {
  .theme-v3 .v3p-intro { grid-template-columns: minmax(0, 1fr); }
  .theme-v3 .v3p-intro__media { aspect-ratio: 16 / 9; }
}

.theme-v3 .v3p-benefits { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; }
.theme-v3 .v3p-benefits__media { border-radius: var(--r-shell); min-height: 320px; }
.theme-v3 .v3p-benefits__media > img, .theme-v3 .v3p-intro__media > img { position: absolute; inset: 0; }
.theme-v3 .v3p-benefits__col { padding: clamp(26px, 3.4vw, 48px); border-radius: var(--r-shell); background: var(--ember); box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: 22px; align-content: start; }
.theme-v3 .v3p-benefits__col--unl { background: radial-gradient(120% 90% at 100% 0%, rgb(var(--candle-glow) / .14), transparent 60%), var(--plum-deep); box-shadow: inset 0 0 0 1px var(--line-strong); }
.theme-v3 .v3p-benefits h3 { font-size: clamp(1.6rem, 2.2vw, 2rem); }
.theme-v3 .v3p-sign { margin-top: clamp(32px, 4vw, 56px); font-family: var(--font-display); font-style: italic; font-size: clamp(1.5rem, 2.4vw, 2.1rem); color: var(--candle-soft); text-align: center; text-wrap: balance; }
@media (max-width: 1180px) {
  .theme-v3 .v3p-benefits { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .theme-v3 .v3p-benefits__media { grid-column: 1 / -1; aspect-ratio: 21 / 8; min-height: 0; }
}
@media (max-width: 860px) {
  .theme-v3 .v3p-benefits { grid-template-columns: minmax(0, 1fr); }
  .theme-v3 .v3p-benefits__media { aspect-ratio: 16 / 9; }
}

.theme-v3 .v3p-gift { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 112px); align-items: center; }
.theme-v3 .v3p-gift__copy { display: grid; gap: 20px; justify-items: start; max-width: 62ch; }
.theme-v3 .v3p-amounts { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.theme-v3 .v3p-amounts li { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--line); color: var(--text); font-family: var(--font-display); font-size: 1.3rem; }
/* a photo of a wrapped gift, with the typographic card resting on its corner */
.theme-v3 .v3p-gift__visual { position: relative; padding: 0 0 clamp(48px, 6vw, 88px) clamp(24px, 4vw, 64px); }
.theme-v3 .v3p-gift__media { aspect-ratio: 4 / 5; width: min(100%, 520px); margin-left: auto; }
.theme-v3 .v3p-giftcard {
  position: absolute; left: 0; bottom: 0; width: min(70%, 380px); aspect-ratio: 1.586; border-radius: 20px; padding: clamp(18px, 2.4vw, 30px);
  display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; isolation: isolate; rotate: -4deg;
  background: radial-gradient(90% 120% at 0% 0%, rgb(var(--candle-glow) / .32), transparent 60%), linear-gradient(150deg, var(--ember-2), var(--plum-deep));
  box-shadow: inset 0 0 0 1px var(--line-strong), 0 40px 90px -30px rgb(0 0 0 / .7), 0 30px 70px -40px rgb(var(--candle-glow) / .45);
}
.theme-v3 .v3p-giftcard::after { content: ""; position: absolute; inset: 10px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--line); pointer-events: none; }
.theme-v3 .v3p-giftcard__mark { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 2.1rem); letter-spacing: .3em; color: var(--text-strong); }
.theme-v3 .v3p-giftcard__line { align-self: end; font-family: var(--font-display); font-style: italic; font-size: clamp(1.05rem, 1.5vw, 1.4rem); line-height: 1.25; color: var(--candle-soft); text-wrap: balance; }
.theme-v3 .v3p-giftcard__foot { font-size: var(--fs-micro); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); margin-top: 6px; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .theme-v3 .v3p-giftcard { transition: rotate 1.2s var(--ease-out), translate 1.2s var(--ease-out); }
  .theme-v3 .v3p-gift__visual:hover .v3p-giftcard { rotate: -1deg; translate: 0 -6px; }
}
@media (max-width: 860px) {
  .theme-v3 .v3p-gift { grid-template-columns: minmax(0, 1fr); }
  .theme-v3 .v3p-gift__visual { padding: 0 0 56px 0; }
  .theme-v3 .v3p-gift__media { aspect-ratio: 4 / 3; width: 100%; }
  .theme-v3 .v3p-giftcard { width: min(64%, 300px); rotate: -3deg; left: 12px; }
}

/* FAQ: heading column beside the questions on wide screens */
.theme-v3 .v3p-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
.theme-v3 .v3p-faq .sec-head { position: sticky; top: 140px; margin-bottom: 0; }
.theme-v3 #membership-faq .faq { margin-inline: 0; max-width: none; }
.theme-v3 .v3p-faq-cta { margin-top: 8px; gap: 8px 28px; }
@media (max-width: 960px) {
  .theme-v3 .v3p-faq { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .theme-v3 .v3p-faq .sec-head { position: static; margin-bottom: clamp(24px, 4vw, 40px); }
}
