/* Fase 4: hero acara, jadwal, countdown WITA & status pasca-acara. */
.celebration-section { position:relative; isolation:isolate; width:100%; min-height:820px; background:#261329; overflow:hidden; color:var(--ivory); padding:0; }
.celebration-photo { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--photo-x) var(--photo-y); }
.celebration-shade { position:absolute; z-index:-2; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(31,5,40,.80) 0%,rgba(46,2,59,.51) 31%,rgba(28,5,34,.60) 54%,rgba(25,4,31,.88) 100%); }
.celebration-wave { position:absolute; pointer-events:none; left:0; width:100%; height:44px; color:var(--ivory); z-index:1; }
.celebration-wave--top { top:-1px; }.celebration-wave--bottom { bottom:-1px; }
.celebration-inner { width:min(100%,560px); margin:0 auto; min-height:820px; padding:clamp(94px,15vw,125px) 22px 110px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:32px; text-align:center; text-shadow:0 1px 7px rgba(10,0,15,.18); }
.celebration-header { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; }
.celebration-eyebrow { margin:0; color:var(--ivory); font:600 clamp(11px,2.9vw,14px)/1.5 var(--font-body); letter-spacing:.23em; }
.celebration-title { margin:0; color:var(--ivory); font:400 clamp(36px,9.8vw,50px)/1.4 var(--font-display); text-wrap:balance; }
.celebration-card { width:100%; background:rgba(35,8,45,.51); backdrop-filter:blur(5px); border:1px solid rgba(247,241,232,.68); border-radius:22px; padding:26px clamp(14px,5vw,25px) 24px; box-shadow:0 12px 32px rgba(6,1,11,.15); }
.celebration-event-name { font:600 clamp(19px,5.6vw,26px)/1.4 var(--font-body); letter-spacing:.08em; margin:0; color:var(--ivory); }
.celebration-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:34px 0 22px; }
.celebration-detail { display:flex; flex-direction:column; align-items:center; gap:9px; min-width:0; padding:0 4px; }
.celebration-detail-icon { width:27px; height:27px; fill:none; stroke:var(--ivory); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.celebration-detail-title { letter-spacing:.12em; font:600 10px/1.45 var(--font-body); opacity:.85; }
.celebration-detail strong { font:600 clamp(13px,3.5vw,16px)/1.65 var(--font-body); color:var(--ivory); overflow-wrap:anywhere; text-wrap:pretty; }
.celebration-location { padding-top:17px; border-top:1px solid rgba(247,241,232,.35); color:#F8F0F9; font:500 clamp(12px,3.25vw,15px)/1.75 var(--font-body); overflow-wrap:anywhere; }
.celebration-status { width:100%; min-height:185px; }
.celebration-countdown-heading { font:600 clamp(10px,2.9vw,12px)/1.5 var(--font-body); letter-spacing:.16em; margin:0 0 17px; }
.countdown-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.countdown-cell { min-width:0; padding:14px 2px 12px; display:flex; flex-direction:column; align-items:center; gap:8px; border:1px solid rgba(247,241,232,.35); border-radius:13px; background:rgba(88,74,89,.48); }
.countdown-cell strong { font:700 clamp(22px,6.3vw,32px)/1.2 var(--font-body); font-variant-numeric:tabular-nums; color:var(--ivory); }
.countdown-cell span { font:700 clamp(9px,2.2vw,11px)/1.4 var(--font-body); letter-spacing:.08em; color:#F4E7F6; }
.celebration-status-note { margin:13px auto 0; max-width:330px; font:400 11px/1.6 var(--font-body); color:#EFE1F1; }
.celebration-message { border:1px solid rgba(247,241,232,.45); border-radius:19px; background:rgba(31,7,38,.7); padding:29px 19px; }
.celebration-message h3 { color:var(--ivory); font:400 clamp(28px,7.5vw,40px)/1.4 var(--font-greeting); margin:0 0 16px; }
.celebration-message p { font:400 clamp(14px,3.7vw,16px)/1.8 var(--font-body); margin:0; }
@media(max-width:350px){.celebration-inner{padding-inline:14px;gap:25px}.celebration-card{padding:23px 13px}.celebration-columns{gap:5px}.celebration-detail{padding:0}.countdown-grid{gap:5px}.countdown-cell{border-radius:10px;padding-block:12px}}
@media(min-width:860px){.celebration-section{max-width:520px;margin-inline:auto}.celebration-inner{max-width:520px}}
@media(prefers-reduced-motion:reduce){.celebration-status *{transition:none!important}}
