/* Celestial — Romantis malam: bulan & bintang */
.tpl-celestial{
  --stars:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 60px 150px,#fff,transparent),radial-gradient(1px 1px at 170px 190px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 90px 230px,#fff,transparent);
  --bg:#0b1030;--bg-alt:#0f163d;--surface:rgba(255,255,255,.045);--text:#d6daf0;--muted:#9aa1c7;--heading:#f4efe0;
  --primary:#e7d9a8;--accent:#8e9bff;--line:rgba(231,217,168,.2);
  --btn-bg:#e7d9a8;--btn-text:#0b1030;
  --cover-bg:#0b1030;--cover-text:#f4efe0;
  --cover-overlay:radial-gradient(ellipse at 50% 30%,rgba(60,70,140,.35),rgba(11,16,48,.9) 70%);
  --hero-overlay:linear-gradient(180deg,rgba(11,16,48,.45),rgba(11,16,48,.95) 85%);
  --cover-pattern:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 60px 150px,#fff,transparent),radial-gradient(1px 1px at 170px 190px,rgba(255,255,255,.7),transparent);--pattern-size:220px 220px;
  --f-display:'Bellefair',serif;--f-script:'Monsieur La Doulaise',cursive;--f-body:'Quicksand',sans-serif;
  --radius:20px;--shadow:0 30px 60px -30px rgba(0,0,0,.8);
  --card-grad:linear-gradient(135deg,#1b2160,#3a3f8f 55%,#c9b98a);
  --fx1:#ffffff;--fx2:#e7d9a8;--fx3:#b9c2ff;
  --r-dur:1.4s;
}
.tpl-celestial.inv{background:#070a22}
.tpl-celestial .inv-main{background-color:var(--bg);background-image:radial-gradient(ellipse at 20% 0%,rgba(142,155,255,.14),transparent 50%),radial-gradient(ellipse at 90% 60%,rgba(231,217,168,.08),transparent 50%),var(--stars);background-size:auto,auto,220px 220px,220px 220px,220px 220px,220px 220px,220px 220px}
.tpl-celestial .cover__art{width:min(52vw,210px);color:var(--primary);margin-bottom:0;filter:drop-shadow(0 0 30px rgba(231,217,168,.45))}
.tpl-celestial .cover__art .orn{animation:clFloat 6s ease-in-out infinite}
@keyframes clFloat{50%{transform:translateY(-8px)}}
.tpl-celestial .cover__kicker,.tpl-celestial .hero__kicker{font-family:var(--f-display);letter-spacing:.45em;font-size:.72rem;color:var(--primary)}
.tpl-celestial .cover__names,.tpl-celestial .hero__names,.tpl-celestial .aside__names{font-size:clamp(3.6rem,17vw,5.4rem);color:#f4efe0;text-shadow:0 0 30px rgba(231,217,168,.35)}
.tpl-celestial .cover__date,.tpl-celestial .hero__date{letter-spacing:.35em;font-size:.9rem}
.tpl-celestial .cover__guest{border-color:var(--line);background:rgba(255,255,255,.04);backdrop-filter:blur(6px);border-radius:16px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.tpl-celestial .btn--open{box-shadow:0 0 40px -6px rgba(231,217,168,.6)}
.tpl-celestial .sec__kicker{font-family:var(--f-display);letter-spacing:.4em;font-size:.72rem}
.tpl-celestial .sec__title{text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1.8rem,8.5vw,2.3rem)}
.tpl-celestial .sec__divider .orn{width:220px}
.tpl-celestial .card,.tpl-celestial .event,.tpl-celestial .cd,.tpl-celestial .wish,.tpl-celestial .wl__item{background:rgba(255,255,255,.045);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tpl-celestial .quote{color:#f4efe0;font-size:1.25rem}
.tpl-celestial .person__frame{aspect-ratio:1}
.tpl-celestial .person__photo,.tpl-celestial .person__mono,.tpl-celestial .person__ill{border-radius:50%;box-shadow:0 0 0 6px rgba(11,16,48,1),0 0 0 7px var(--line),0 0 60px -10px rgba(231,217,168,.5)}
.tpl-celestial .person__frame::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px dashed rgba(231,217,168,.35);animation:spin 40s linear infinite}
.tpl-celestial .person__frame::after{content:"";position:absolute;top:-24px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--primary);box-shadow:0 0 12px var(--primary);transform-origin:4px calc(50% + 24px + (min(62vw,210px) / 2));animation:spin 12s linear infinite}
.tpl-celestial .person__nick{font-size:3.4rem;color:#f4efe0}
.tpl-celestial .person__name{font-family:var(--f-display);font-weight:400;letter-spacing:.06em}
.tpl-celestial .couple__amp{font-size:4rem}
.tpl-celestial .event__name{font-size:3rem;color:#f4efe0}
.tpl-celestial .event__num{color:var(--primary)}
.tpl-celestial .field input,.tpl-celestial .field textarea,.tpl-celestial .field select{background:rgba(255,255,255,.05);color:var(--text)}
.tpl-celestial .field select option{color:#111}
.tpl-celestial .closing__title{font-size:clamp(3.6rem,15vw,4.6rem);color:#f4efe0}
.tpl-celestial .ticket{background:rgba(255,255,255,.06)}
.tpl-celestial .ticket::before,.tpl-celestial .ticket::after{background:var(--bg)}
.tpl-celestial .dock a.is-active{color:#0b1030}
.tpl-celestial .tag{background:rgba(231,217,168,.15)}
.has-ill.tpl-celestial .cover__art{position:absolute;left:50%;top:-24px;transform:translateX(-50%);width:min(76vw,290px);opacity:.45;margin:0;z-index:-1}
