/* ════════════════════════════════════════════════════════════
   DORI YUMS — Feature Modules
   Behind the Scenes · Flavor Quiz · Box Builder
   Weddings · Photo Testimonials · Gift Card
   ════════════════════════════════════════════════════════════ */

/* ═══════════════ shared section frame: transparent so global dotted bg shows through ════════ */
.feat-section{
  position:relative;padding:120px 0;overflow:hidden;
  background:transparent;
}
.feat-section + .feat-section{ padding-top:0; }

.feat-divider{
  display:flex;align-items:center;gap:18px;
  width:min(420px,80%);margin:0 auto 56px;
  color:var(--gold);font-family:var(--lat);font-size:11px;letter-spacing:.42em;text-transform:uppercase;
}
.feat-divider::before,.feat-divider::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 40%,var(--gold) 60%,transparent);
  opacity:.6;
}
.feat-divider .ornament{
  display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 12px rgba(212,175,55,.6);
  position:relative;
}
.feat-divider .ornament::before,.feat-divider .ornament::after{
  content:"";position:absolute;top:50%;width:6px;height:1px;background:var(--gold);
}
.feat-divider .ornament::before{ right:14px;}
.feat-divider .ornament::after{ left:14px;}

/* ════════════════════════════════════════════════════════════
   §  BEHIND THE SCENES — atelier images, layered cinematic
   ════════════════════════════════════════════════════════════ */
.atelier-band{ padding-block:120px;position:relative; }
.atelier-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  grid-template-rows:repeat(2, minmax(220px, 24vw));
  gap:14px;
  max-width:860px;margin:0 auto;
}
.atelier-cell{ min-height:0; min-width:0; }
.atelier-cell{
  position:relative;overflow:hidden;border-radius:2px;
  background:#0c0c0c;
  box-shadow:
    0 26px 80px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(212,175,55,.18),
    inset 0 0 0 2px rgba(0,0,0,.4),
    inset 0 0 0 3px rgba(212,175,55,.42);
  transition:transform .8s var(--ease), box-shadow .5s var(--ease);
}
.atelier-cell:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:
    0 38px 110px rgba(0,0,0,.7),
    inset 0 0 0 1px rgba(212,175,55,.3),
    inset 0 0 0 2px rgba(0,0,0,.4),
    inset 0 0 0 3px rgba(232,197,71,.7);
}
.atelier-cell.tall{ grid-row:span 2; }
.atelier-cell image-slot{ width:100%;height:100%;display:block; min-height:100%; }
.atelier-cell .caption{
  position:absolute;left:18px;bottom:14px;z-index:3;
  color:var(--cream);font-family:var(--lat);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;
  padding:6px 10px;border-radius:1px;
  background:rgba(10,10,10,.66);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(212,175,55,.4);
  opacity:0;transform:translateY(6px);transition:.4s var(--ease);
}
.atelier-cell:hover .caption{ opacity:1;transform:translateY(0); }
.atelier-cell::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4));
}
@media (max-width:540px){
  .atelier-grid{ grid-template-columns:1fr;grid-template-rows:auto; }
  .atelier-cell{ min-height:200px; }
}

/* ════════════════════════════════════════════════════════════
   §  FLAVOR QUIZ — 3 micro-questions → suggested macarons
   ════════════════════════════════════════════════════════════ */
.quiz{
  max-width:760px;margin:0 auto;
  background:linear-gradient(155deg,rgba(28,22,12,.85),rgba(15,12,6,.95));
  border:1px solid rgba(212,175,55,.32);
  border-radius:4px;
  padding:54px 44px;
  box-shadow:
    0 40px 100px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(232,197,71,.12);
  position:relative;overflow:hidden;
}
.quiz::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(212,175,55,.1),transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(212,175,55,.08),transparent 50%);
}
.quiz-stage{ position:relative; min-height:280px;}
.quiz-step{
  position:absolute;inset:0;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.quiz-step.is-active{
  position:relative;opacity:1;transform:translateY(0);pointer-events:auto;
}
.quiz-q{
  font-family:var(--ar-head);
  font-size:32px;line-height:1.3;color:var(--champagne);
  text-align:center;margin-bottom:36px;
}
.quiz-options{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.quiz-opt{
  position:relative;
  padding:24px 16px;border-radius:3px;cursor:pointer;
  background:rgba(20,16,8,.5);
  border:1px solid rgba(212,175,55,.25);
  color:var(--cream);
  font-family:var(--ar-head);font-size:18px;
  text-align:center;
  transition:.3s var(--ease);
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.quiz-opt:hover{
  background:rgba(212,175,55,.1);
  border-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 24px rgba(212,175,55,.18);
}
.quiz-opt .icon{
  width:42px;height:42px;color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 4px 10px rgba(212,175,55,.4));
}
.quiz-opt .lat{
  font-family:var(--lat);font-size:11px;letter-spacing:.3em;color:var(--gold);opacity:.7;
}
.quiz-progress{
  display:flex;justify-content:center;gap:8px;margin-top:32px;
}
.quiz-progress .pip{
  width:28px;height:2px;background:rgba(212,175,55,.25);transition:.4s var(--ease);
}
.quiz-progress .pip.is-done{ background:var(--gold);box-shadow:0 0 8px rgba(212,175,55,.5); }
.quiz-result{ text-align:center; }
.quiz-result .eyebrow{ color:var(--gold);font-family:var(--lat);font-size:11px;letter-spacing:.4em;text-transform:uppercase;margin-bottom:10px;display:block;}
.quiz-result h3{ font-family:var(--ar-head);font-size:34px;color:var(--champagne);margin-bottom:18px;}
.quiz-result .picks{
  display:flex;justify-content:center;gap:14px;margin:24px 0 28px;flex-wrap:wrap;
}
.quiz-result .pick{
  width:90px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--lat);font-size:11px;letter-spacing:.2em;color:var(--gold-light);text-transform:uppercase;
}
.quiz-result .pick .puck{
  width:60px;height:60px;border-radius:50%;
  border:2px solid var(--gold);
  box-shadow:0 8px 22px rgba(0,0,0,.5),inset 0 -4px 8px rgba(0,0,0,.2);
}
.quiz-actions{ display:flex;gap:14px;justify-content:center;}
.quiz-restart{
  background:transparent;border:1px solid rgba(212,175,55,.4);color:var(--gold);
  padding:12px 26px;font-family:var(--lat);font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;cursor:pointer;border-radius:2px;transition:.3s var(--ease);
}
.quiz-restart:hover{ background:rgba(212,175,55,.12);border-color:var(--gold);}

@media (max-width:540px){
  .quiz{ padding:38px 22px; }
  .quiz-q{ font-size:24px;margin-bottom:24px;}
  .quiz-options{ grid-template-columns:1fr; gap:10px;}
  .quiz-opt{ flex-direction:row;justify-content:center;}
}

/* ════════════════════════════════════════════════════════════
   §  BOX BUILDER — drag-or-tap macarons into a frame
   ════════════════════════════════════════════════════════════ */
.builder-wrap{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
}
@media (max-width:980px){ .builder-wrap{ grid-template-columns:1fr; gap:36px;} }

/* — left: macaron palette — */
.builder-palette{
  position:relative;
  padding:36px 28px;
  background:linear-gradient(155deg,rgba(20,16,8,.85),rgba(10,8,4,.92));
  border:1px solid rgba(212,175,55,.25);border-radius:3px;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.builder-palette h3{
  font-family:var(--ar-head);font-size:24px;color:var(--champagne);margin-bottom:8px;text-align:center;
}
.builder-palette .pal-sub{
  text-align:center;color:var(--muted);font-family:var(--lat);font-style:italic;font-size:13px;margin-bottom:24px;
}
.pal-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.pal-mac{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  cursor:pointer;padding:8px 4px;border-radius:3px;
  transition:.25s var(--ease);user-select:none;
  background:transparent;border:1px solid transparent;
}
.pal-mac:hover{
  background:rgba(212,175,55,.08);border-color:rgba(212,175,55,.3);
  transform:translateY(-3px);
}
.pal-mac .puck{
  width:52px;height:52px;border-radius:50%;
  box-shadow:
    0 6px 16px rgba(0,0,0,.5),
    inset 0 -3px 6px rgba(0,0,0,.25),
    inset 0 3px 5px rgba(255,255,255,.25);
  transition:.25s var(--ease);
  position:relative;
}
.pal-mac:hover .puck{
  box-shadow:
    0 10px 24px rgba(0,0,0,.6),
    inset 0 -3px 6px rgba(0,0,0,.25),
    inset 0 3px 5px rgba(255,255,255,.3),
    0 0 0 2px var(--gold);
}
.pal-mac .lbl{
  font-family:var(--lat);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-light);text-align:center;line-height:1.2;
}

/* — right: box stage — */
.builder-stage{
  position:sticky;top:100px;
  padding:36px 28px 28px;
  background:linear-gradient(155deg,rgba(28,22,12,.9),rgba(15,12,6,.95));
  border:1px solid rgba(212,175,55,.3);border-radius:3px;
  box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(232,197,71,.12);
  position:relative;
}
.builder-stage h3{
  font-family:var(--ar-head);font-size:24px;color:var(--champagne);text-align:center;margin-bottom:18px;
}
.box-sizes{
  display:flex;gap:8px;justify-content:center;margin-bottom:22px;flex-wrap:wrap;
}
.box-size-btn{
  background:transparent;border:1px solid rgba(212,175,55,.35);
  color:var(--gold);font-family:var(--lat);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:8px 16px;border-radius:2px;cursor:pointer;
  transition:.25s var(--ease);
}
.box-size-btn[aria-pressed="true"]{
  background:var(--gold);color:#1a1408;border-color:var(--gold);box-shadow:0 0 16px rgba(212,175,55,.4);
}
.box-size-btn:hover{ background:rgba(212,175,55,.12); }
.box-size-btn[aria-pressed="true"]:hover{ background:var(--gold-light); }

/* the actual box */
.box-cradle{
  position:relative;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(212,175,55,.1), transparent 60%),
    linear-gradient(180deg,#1a1408,#0e0a04);
  border:1px solid rgba(212,175,55,.4);border-radius:3px;
  padding:22px;
  box-shadow:inset 0 1px 0 rgba(232,197,71,.16),inset 0 -10px 24px rgba(0,0,0,.6);
}
.box-slots{
  display:grid;gap:10px;
  transition:.4s var(--ease);
}
.box-slots.s-6{  grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr);}
.box-slots.s-12{ grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(3,1fr);}
.box-slots.s-20{ grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(4,1fr);}
.box-slots.s-50{ grid-template-columns:repeat(10,1fr); grid-template-rows:repeat(5,1fr);}

.box-slot{
  aspect-ratio:1/1;border-radius:50%;
  background:
    radial-gradient(circle at 50% 60%, rgba(0,0,0,.4), transparent 60%),
    rgba(8,5,2,.8);
  border:1px dashed rgba(212,175,55,.25);
  position:relative;
  cursor:pointer;
  transition:.25s var(--ease);
  display:flex;align-items:center;justify-content:center;
}
.box-slot.is-target{
  border-color:var(--gold);
  background:radial-gradient(circle, rgba(212,175,55,.15),transparent 70%);
  transform:scale(1.06);
}
.box-slot.has-mac{
  border-style:solid;border-color:transparent;
  background:transparent;
}
.box-slot .puck{
  width:84%;height:84%;border-radius:50%;
  box-shadow:
    0 4px 10px rgba(0,0,0,.55),
    inset 0 -3px 6px rgba(0,0,0,.25),
    inset 0 3px 5px rgba(255,255,255,.2);
  animation:macDrop .45s cubic-bezier(.4,1.6,.5,1) both;
}
@keyframes macDrop{
  0%{ transform:translateY(-30px) scale(.4);opacity:0;}
  60%{ transform:translateY(0) scale(1.15);opacity:1;}
  100%{ transform:scale(1);}
}
.box-slot .remove-mac{
  position:absolute;top:2px;right:2px;z-index:2;
  width:18px;height:18px;border-radius:50%;
  background:rgba(10,10,10,.85);border:1px solid rgba(212,175,55,.6);
  color:var(--gold);font-size:12px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:.2s var(--ease);cursor:pointer;padding:0;
}
.box-slot.has-mac:hover .remove-mac{ opacity:1; }
.box-slot.s-50 .puck{ box-shadow:0 2px 4px rgba(0,0,0,.5),inset 0 -2px 4px rgba(0,0,0,.25);}

/* counter + total */
.box-counter{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:18px;padding:14px 18px;
  background:rgba(0,0,0,.4);border:1px solid rgba(212,175,55,.25);border-radius:2px;
}
.box-counter .lbl{
  font-family:var(--lat);font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;
}
.box-counter .val{
  font-family:var(--ar-head);font-size:22px;color:var(--champagne);
}
.box-counter .val .lat{ font-family:var(--lat);font-size:18px;color:var(--gold);}
.box-fill-actions{
  display:flex;gap:8px;margin-top:12px;justify-content:center;
}
.box-fill-actions button{
  background:transparent;border:1px solid rgba(212,175,55,.3);color:var(--gold-light);
  font-family:var(--lat);font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;
  padding:8px 14px;border-radius:2px;cursor:pointer;transition:.25s var(--ease);
}
.box-fill-actions button:hover{ background:rgba(212,175,55,.12);color:var(--gold); }

/* gift card option */
.gift-toggle{
  margin-top:16px;display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;background:rgba(20,16,8,.5);border-radius:2px;
  border:1px solid rgba(212,175,55,.2);transition:.25s var(--ease);
}
.gift-toggle:hover{ border-color:rgba(212,175,55,.45);}
.gift-check{
  width:22px;height:22px;border-radius:2px;flex-shrink:0;
  border:1px solid var(--gold);background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:.2s var(--ease);
}
.gift-check[aria-checked="true"]{ background:var(--gold);}
.gift-check svg{ width:14px;height:14px;color:#1a1408;opacity:0;transition:.2s var(--ease);}
.gift-check[aria-checked="true"] svg{ opacity:1;}
.gift-info{ flex:1;}
.gift-info .lbl{
  font-family:var(--ar-head);font-size:15px;color:var(--cream);display:block;margin-bottom:2px;
}
.gift-info .sub{
  font-family:var(--lat);font-style:italic;font-size:11.5px;color:var(--muted);
}
.gift-fields{
  display:none;margin-top:10px;flex-direction:column;gap:8px;
}
.gift-fields.is-open{ display:flex;animation:fadeIn .35s var(--ease) both;}
@keyframes fadeIn{ from{opacity:0;transform:translateY(-4px);} to{opacity:1;transform:translateY(0);}}
.gift-fields input,.gift-fields textarea{
  width:100%;background:rgba(0,0,0,.4);border:1px solid rgba(212,175,55,.3);
  color:var(--cream);font-family:var(--ar-body);font-size:14px;padding:10px 12px;
  border-radius:2px;outline:none;transition:border-color .2s var(--ease);
  resize:vertical;
}
.gift-fields input:focus,.gift-fields textarea:focus{ border-color:var(--gold);}
html[dir="ltr"] .gift-fields input,html[dir="ltr"] .gift-fields textarea{ font-family:var(--lat);}

/* checkout */
.box-checkout{
  width:100%;margin-top:18px;
  background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));
  color:#1a1408;font-family:var(--ar-head);font-size:18px;
  border:none;border-radius:2px;padding:18px;cursor:pointer;
  letter-spacing:.06em;
  box-shadow:0 12px 30px rgba(0,0,0,.5),0 0 24px rgba(212,175,55,.2),inset 0 1px 0 rgba(255,255,255,.4);
  transition:.3s var(--ease);
  position:relative;overflow:hidden;
}
.box-checkout:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 36px rgba(212,175,55,.4),inset 0 1px 0 rgba(255,255,255,.4);
}
.box-checkout:disabled{
  opacity:.4;cursor:not-allowed;transform:none;
}
.box-checkout .lat{ font-family:var(--lat);}

@media (max-width:540px){
  .pal-grid{ grid-template-columns:repeat(3,1fr);}
  .box-slots.s-50{ grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(10,1fr);}
}

/* ════════════════════════════════════════════════════════════
   §  WEDDINGS & EVENTS  — premium tier
   ════════════════════════════════════════════════════════════ */
.weddings{
  position:relative;padding:140px 0;
  background:transparent;
}
.weddings::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 12% 30%, rgba(212,175,55,.04), transparent 35%),
    radial-gradient(circle at 88% 70%, rgba(212,175,55,.04), transparent 35%);
  pointer-events:none;
}
.wed-wrap{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center;
  position:relative;
}
@media (max-width:980px){ .wed-wrap{ grid-template-columns:1fr;gap:40px;} }

.wed-feature-frame{
  aspect-ratio:3/4;width:100%;max-width:460px;justify-self:center;
}
.wed-feature-frame .art{ background:#100c06;}

.wed-text{ color:var(--cream);}
.wed-text .eyebrow{
  color:var(--gold);font-family:var(--lat);font-size:11.5px;letter-spacing:.42em;text-transform:uppercase;
}
.wed-text h2{
  font-family:var(--ar-head);font-size:54px;line-height:1.15;color:var(--champagne);
  margin:14px 0 22px;
  text-wrap:balance;
}
.wed-text .wed-lede{
  font-family:var(--ar-body);font-size:18px;line-height:1.85;color:var(--mid);
  margin-bottom:32px;max-width:560px;
}
.wed-features{
  display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-bottom:36px;
}
.wed-feat{
  display:flex;gap:14px;align-items:flex-start;
}
.wed-feat .ic{
  width:38px;height:38px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);border:1px solid rgba(212,175,55,.4);border-radius:50%;
  background:rgba(212,175,55,.05);
}
.wed-feat .ic svg{ width:18px;height:18px;}
.wed-feat h4{
  font-family:var(--ar-head);font-size:16px;color:var(--cream);margin-bottom:3px;
}
.wed-feat p{
  font-family:var(--lat);font-style:italic;font-size:12.5px;color:var(--muted);line-height:1.45;
}
html[dir="rtl"] .wed-feat p{ font-family:var(--ar-body);font-style:normal;font-size:13.5px;}

.wed-tiers{
  display:flex;gap:14px;margin-bottom:30px;flex-wrap:wrap;
}
.wed-tier{
  flex:1;min-width:140px;
  padding:18px 18px 16px;
  background:linear-gradient(160deg,rgba(28,22,12,.7),rgba(15,12,6,.85));
  border:1px solid rgba(212,175,55,.3);border-radius:3px;
  transition:.3s var(--ease);
  position:relative;
}
.wed-tier:hover{
  border-color:var(--gold);
  box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 24px rgba(212,175,55,.15);
  transform:translateY(-3px);
}
.wed-tier .lat{ font-family:var(--lat);font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:6px;}
.wed-tier .qty{ font-family:var(--ar-head);font-size:30px;color:var(--champagne);line-height:1;display:block;margin-bottom:8px;}
.wed-tier .from{ font-family:var(--lat);font-style:italic;font-size:11.5px;color:var(--muted);}
.wed-tier .from b{ color:var(--gold-light);font-weight:600;font-style:normal;}

.wed-cta{
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 32px;border-radius:2px;cursor:pointer;
  background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));
  color:#1a1408;font-family:var(--ar-head);font-size:17px;
  border:none;text-decoration:none;
  box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 24px rgba(212,175,55,.2);
  transition:.3s var(--ease);
}
.wed-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 48px rgba(0,0,0,.6),0 0 36px rgba(212,175,55,.4);
}
.wed-cta svg{ width:18px;height:18px;}

@media (max-width:540px){
  .wed-text h2{ font-size:36px;}
  .wed-features{ grid-template-columns:1fr;}
}

/* ════════════════════════════════════════════════════════════
   §  PHOTO TESTIMONIALS  — replaces text-only reviews
   ════════════════════════════════════════════════════════════ */
.ptest-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  max-width:1200px;margin:0 auto;
}
@media (max-width:860px){ .ptest-grid{ grid-template-columns:1fr 1fr;} }
@media (max-width:540px){ .ptest-grid{ grid-template-columns:1fr;} }

.ptest-card{
  position:relative;
  background:linear-gradient(160deg,rgba(28,22,12,.7),rgba(15,12,6,.9));
  border:1px solid rgba(212,175,55,.22);border-radius:3px;
  overflow:hidden;
  transition:.4s var(--ease);
}
.ptest-card:hover{
  transform:translateY(-4px);
  border-color:rgba(212,175,55,.5);
  box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 30px rgba(212,175,55,.12);
}
.ptest-photo{
  aspect-ratio:4/5;position:relative;
  background:#0c0c0c;
  border-bottom:1px solid rgba(212,175,55,.22);
}
.ptest-photo image-slot{ width:100%;height:100%;display:block;}
.ptest-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.55));
}
.ptest-ig{
  position:absolute;top:12px;right:12px;z-index:2;
  width:30px;height:30px;border-radius:50%;
  background:rgba(10,10,10,.7);border:1px solid rgba(212,175,55,.4);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  text-decoration:none;transition:.25s var(--ease);
}
.ptest-ig:hover{ background:var(--gold);color:#1a1408;}
.ptest-ig svg{ width:14px;height:14px;}
.ptest-body{ padding:22px 22px 24px;}
.ptest-quote{
  font-family:var(--ar-head);font-size:18px;line-height:1.55;color:var(--gold-light);
  margin-bottom:14px;text-wrap:pretty;
}
html[dir="ltr"] .ptest-quote{ font-family:var(--lat);font-style:italic;font-size:16px;}
.ptest-byline{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding-top:14px;border-top:1px solid rgba(212,175,55,.18);
}
.ptest-author{
  font-family:var(--ar-body);font-size:13.5px;color:var(--gold-light);
}
html[dir="ltr"] .ptest-author{ font-family:var(--lat);}
.ptest-stars{ color:var(--gold);font-size:13px;letter-spacing:.05em;}

/* ════════════════════════════════════════════════════════════
   §  CONFIRMATION OVERLAY — premium "receipt" before WA
   ════════════════════════════════════════════════════════════ */
.confirm-veil{
  position:fixed;inset:0;z-index:9000;
  background:rgba(5,3,1,.85);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .4s var(--ease);
  padding:24px;
}
.confirm-veil.is-open{ opacity:1;pointer-events:auto;}

.receipt{
  width:min(520px,100%);max-height:90vh;overflow-y:auto;
  background:
    linear-gradient(180deg,#fbf3df 0%, #f0e4c5 100%);
  color:#2c2010;
  border-radius:4px;
  box-shadow:
    0 50px 120px rgba(0,0,0,.7),
    0 0 0 1px rgba(212,175,55,.6),
    0 0 0 4px rgba(15,12,6,.4),
    0 0 0 5px rgba(212,175,55,.5);
  transform:translateY(20px) scale(.96);opacity:0;
  transition:.5s cubic-bezier(.5,1.4,.4,1);
  position:relative;
}
.confirm-veil.is-open .receipt{ transform:translateY(0) scale(1);opacity:1;}
.receipt::before,.receipt::after{
  content:"";position:absolute;left:0;right:0;height:14px;
  background-image:radial-gradient(circle at 7px 7px, #2c2010 4px, transparent 4.5px);
  background-size:14px 14px;background-position:0 0;
}
.receipt::before{ top:-7px;}
.receipt::after{ bottom:-7px;}
.receipt-inner{ padding:36px 38px;}

.receipt-head{
  text-align:center;border-bottom:1px dashed rgba(60,40,20,.4);padding-bottom:18px;margin-bottom:18px;
}
.receipt-head .brand{
  font-family:var(--ar-head);font-size:28px;color:#2c2010;letter-spacing:.04em;
  margin-bottom:4px;
}
.receipt-head .tag{
  font-family:var(--lat);font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;color:#8a6f3a;
}
.receipt-head .num{
  display:inline-block;margin-top:8px;font-family:var(--lat);font-size:11px;
  letter-spacing:.3em;color:#5a4422;
}

.receipt-section{
  margin-bottom:18px;
}
.receipt-section .label{
  font-family:var(--lat);font-size:10px;letter-spacing:.35em;text-transform:uppercase;
  color:#8a6f3a;margin-bottom:8px;
}
.receipt-line{
  display:flex;justify-content:space-between;padding:6px 0;
  font-family:var(--ar-body);font-size:14.5px;color:#2c2010;
  border-bottom:1px dotted rgba(60,40,20,.2);
}
.receipt-line:last-child{ border-bottom:none;}
.receipt-line .qty{ font-family:var(--lat);color:#8a6f3a;}
html[dir="ltr"] .receipt-line{ font-family:var(--lat);}

.receipt-total{
  margin-top:14px;padding-top:14px;border-top:2px solid #2c2010;
  display:flex;justify-content:space-between;align-items:baseline;
}
.receipt-total .t-lbl{ font-family:var(--ar-head);font-size:18px;}
.receipt-total .t-val{ font-family:var(--lat);font-size:24px;font-weight:700;color:#2c2010;}

.receipt-gift{
  margin-top:16px;padding:14px 18px;background:rgba(212,175,55,.18);
  border:1px dashed rgba(60,40,20,.5);border-radius:2px;
}
.receipt-gift .label{ color:#5a4422;}
.receipt-gift .to{ font-family:var(--ar-head);font-size:16px;color:#2c2010;}
.receipt-gift .msg{ font-family:var(--ar-body);font-style:italic;font-size:13.5px;color:#3a2c14;margin-top:4px;}
html[dir="ltr"] .receipt-gift .to,
html[dir="ltr"] .receipt-gift .msg{ font-family:var(--lat);}

.receipt-actions{
  display:flex;gap:10px;margin-top:24px;
}
.receipt-btn{
  flex:1;padding:14px;border-radius:2px;border:none;cursor:pointer;
  font-family:var(--ar-head);font-size:15px;
  transition:.25s var(--ease);
}
.receipt-btn.primary{
  background:#25D366;color:white;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 8px 22px rgba(37,211,102,.4);
}
.receipt-btn.primary:hover{ background:#1da855;transform:translateY(-1px);}
.receipt-btn.primary svg{ width:18px;height:18px;}
.receipt-btn.secondary{
  background:transparent;color:#5a4422;border:1px solid rgba(60,40,20,.4);
}
.receipt-btn.secondary:hover{ background:rgba(60,40,20,.08);}
.receipt-close{
  position:absolute;top:18px;right:18px;width:30px;height:30px;border-radius:50%;
  background:rgba(60,40,20,.1);border:none;cursor:pointer;color:#5a4422;
  display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;
  transition:.25s var(--ease);z-index:3;
}
.receipt-close:hover{ background:rgba(60,40,20,.2);color:#2c2010;}

/* receipt — Dori Yums theme (warmer cream) */
html[data-theme="maison"] .receipt{
  background:linear-gradient(180deg,#fff7e8 0%,#fde9da 100%);
}

@media (max-width:540px){
  .receipt-inner{ padding:28px 22px;}
  .receipt-head .brand{ font-size:22px;}
}

/* ════════════════════════════════════════════════════════════
   §  IG COMMENT TESTIMONIALS — authentic Instagram thread
   ════════════════════════════════════════════════════════════ */
.ig-frame{
  max-width:560px;margin:0 auto;
  background:#fff;color:#0f0f0f;
  border-radius:14px;
  box-shadow:
    0 26px 72px rgba(0,0,0,.5),
    0 0 0 1px rgba(212,175,55,.4),
    0 0 0 4px rgba(15,12,6,.4),
    0 0 0 5px rgba(212,175,55,.55);
  overflow:hidden;
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
  direction:ltr;text-align:left;
}
.ig-head{
  padding:14px 16px;
  border-bottom:1px solid #efefef;
  display:flex;align-items:center;gap:11px;
}
.ig-head .av{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,#feda77,#f58529,#dd2a7b,#8134af,#515bd4);
  padding:2px;flex-shrink:0;
}
.ig-head .av-inner{
  width:100%;height:100%;border-radius:50%;
  background:#fff;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.ig-head .av-inner img{ width:100%;height:100%;object-fit:cover;}
.ig-head .meta{ flex:1;line-height:1.2;}
.ig-head .meta b{ font-size:14px;font-weight:600;color:#0f0f0f;}
.ig-head .meta .sub{ font-size:11.5px;color:#737373;}
.ig-head .more{ color:#262626;font-size:22px;line-height:1;letter-spacing:.05em;}

.ig-thread{
  padding:14px 16px 6px;
  display:flex;flex-direction:column;gap:18px;
  max-height:560px;overflow-y:auto;
}
.ig-thread::-webkit-scrollbar{ width:4px;}
.ig-thread::-webkit-scrollbar-thumb{ background:#ddd;border-radius:2px;}

.ig-cmt{
  display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:flex-start;
}
.ig-cmt.indent{ padding-inline-start:46px;grid-template-columns:32px 1fr auto;gap:9px;}
.ig-cmt .cmt-av{
  width:36px;height:36px;border-radius:50%;
  background:#dbdbdb;overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:#fff;
  background-size:cover;background-position:center;
}
.ig-cmt.indent .cmt-av{ width:32px;height:32px;font-size:12px;}
.ig-cmt .cmt-body{ font-size:14px;line-height:1.45;min-width:0;color:#0f0f0f;}
.ig-cmt .cmt-body .user{ font-weight:600;color:#0f0f0f;}
.ig-cmt .cmt-body .ts{ color:#737373;font-size:12px;margin-inline-start:6px;font-weight:400;}
.ig-cmt .cmt-body .by-author{
  display:inline-flex;align-items:center;gap:3px;
  margin-inline-start:6px;color:#737373;font-size:12px;
}
.ig-cmt .cmt-body .by-author::before{
  content:"❤️";font-size:10px;
}
.ig-cmt .cmt-body .at{ color:#00376b;}
.ig-cmt .cmt-body .text{ display:block;margin-top:2px;color:#0f0f0f;white-space:pre-wrap;}
.ig-cmt .cmt-body .cmt-img{
  margin-top:6px;border-radius:12px;overflow:hidden;
  width:230px;aspect-ratio:1/1;
  background:linear-gradient(180deg,#3aa6ff,#2f95ed);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:32px;
  position:relative;
}
.ig-cmt .cmt-body .cmt-img::before{
  content:"GORGEOUS";
  font-family:'Anton','Bebas Neue','Impact',sans-serif;
  font-size:46px;font-weight:900;letter-spacing:.01em;
  background:linear-gradient(180deg,#ffc1d6,#ff85aa);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:1.5px #fff;
  filter:drop-shadow(0 3px 0 rgba(180,40,90,.6));
}
.ig-cmt .cmt-body .cmt-img::after{
  content:"🙌";position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  font-size:72px;
  filter:saturate(1.2) brightness(.95);
}
.ig-cmt .cmt-body .actions{
  margin-top:6px;display:flex;gap:14px;align-items:center;
  font-size:12px;font-weight:600;color:#737373;
}
.ig-cmt .cmt-body .more-replies{
  display:flex;align-items:center;gap:10px;font-size:12px;color:#737373;font-weight:600;
  margin-top:6px;
}
.ig-cmt .cmt-body .more-replies::before{
  content:"";width:24px;height:1px;background:#dbdbdb;
}
.ig-cmt .cmt-heart{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  font-size:11px;color:#737373;font-weight:600;
  padding-top:6px;min-width:14px;
}
.ig-cmt .cmt-heart svg{ width:14px;height:14px;color:#ed4956;}
.ig-cmt .cmt-heart.empty svg{ color:#262626;fill:none;}

.ig-foot{
  padding:8px 16px 14px;border-top:1px solid #efefef;
}
.ig-foot .row{ display:flex;align-items:center;gap:14px;color:#0f0f0f;}
.ig-foot .row .grow{ flex:1;}
.ig-foot .row svg{ width:24px;height:24px;}
.ig-foot .likes{ margin-top:8px;font-size:14px;font-weight:600;}
.ig-foot .src{
  margin-top:6px;font-size:11px;color:#737373;letter-spacing:.04em;
  display:flex;align-items:center;gap:6px;text-transform:uppercase;
}
.ig-foot .src a{ color:#00376b;text-decoration:none;font-weight:600;text-transform:none;}
.ig-foot .src a:hover{ text-decoration:underline;}

html[data-theme="maison"] .ig-frame{
  box-shadow:
    0 26px 72px rgba(58,31,31,.25),
    0 0 0 1px rgba(184,134,11,.5),
    0 0 0 4px rgba(58,31,31,.4),
    0 0 0 5px rgba(184,134,11,.65);
}

@media (max-width:540px){
  .ig-cmt{ grid-template-columns:32px 1fr auto;gap:9px;}
  .ig-cmt .cmt-av{ width:32px;height:32px;}
  .ig-cmt.indent{ padding-inline-start:36px;grid-template-columns:28px 1fr auto;}
  .ig-cmt.indent .cmt-av{ width:28px;height:28px;}
  .ig-cmt .cmt-body{ font-size:13px;}
  .ig-cmt .cmt-body .cmt-img{ width:180px;}
  .ig-cmt .cmt-body .cmt-img::before{ font-size:34px;}
  .ig-cmt .cmt-body .cmt-img::after{ font-size:56px;bottom:24px;}
}
