:root{--cream:#fffaf0;--paper:#fffdf8;--ink:#353535;--gold:#b68a3c;--gold2:#d7ad5b;--line:#ead7ad;--dark:#353535}
*{box-sizing:border-box}
html{margin:0;padding:0;width:100%;min-width:0;overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;padding:0;width:100%;min-width:0;background:#f5f1e8;color:var(--ink);font-family:Tajawal,sans-serif;overflow-x:hidden}
/* Clean deterministic center: no transform, no RTL positioning tricks */
main{display:block;width:min(780px,100%);max-width:780px;margin:0 auto;background:var(--paper);overflow:hidden;isolation:isolate}

.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;width:100%;height:100dvh;min-height:100vh;text-align:center;background:radial-gradient(circle at 50% 42%,#fffefb 0,#fff8e9 55%,#f6eddc 100%);overflow:hidden;isolation:isolate;transition:opacity .9s ease,visibility .9s ease}
.opening.hide{opacity:0;visibility:hidden;pointer-events:none}
.opening-bokeh,.bokeh-zone{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.opening-arch{position:absolute;z-index:1;left:50%;top:50%;translate:-50% -50%;width:min(82vw,620px);height:min(68dvh,680px);border:1px solid rgba(182,138,60,.22);border-bottom:0;border-radius:340px 340px 0 0;pointer-events:none}
.open-content{position:relative;z-index:3;width:min(92vw,620px);margin:0 auto;padding:32px 18px;display:grid;justify-items:center;text-align:center}
.open-content>*{max-width:100%;justify-self:center;text-align:center}
.top-line,.bottom-line,.divider,.footer-line{width:130px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);margin:0 auto 28px}
.bottom-line{margin:28px auto 0}
.basmala{font-family:Amiri,serif;font-size:clamp(1.1rem,3vw,1.3rem);margin:0 0 14px}.opening .basmala{color:#9d7432}
.kicker{color:var(--gold2);letter-spacing:5px;font-size:.75rem;margin:0 0 14px}
.opening h1{width:100%;margin:10px auto 18px;font:700 clamp(3.2rem,11vw,5.5rem)/1.25 Amiri,serif;color:#353535;text-align:center}.opening h1 i,.hero em{font-style:normal;color:var(--gold2);padding:0 7px}
.opening-copy{max-width:520px;margin:0 auto 24px;color:#6b6257;line-height:2;text-align:center}
.primary-btn,.secondary-btn{position:relative;z-index:4;border-radius:40px;padding:16px 30px;font:700 1rem Tajawal;cursor:pointer;touch-action:manipulation;transition:.25s}
.primary-btn{border:1px solid var(--gold2);background:#fffdf8;color:#9d7432;min-width:210px}.primary-btn:hover{background:var(--gold2);color:#fffdf8;transform:translateY(-3px)}
.secondary-btn{background:#fff;color:#9d7432;border:1px solid #9d7432;width:100%}

.motion-section{position:relative;overflow:hidden;width:100%}.motion-section>*:not(.bokeh-zone){position:relative;z-index:2}
.bokeh-dot{position:absolute;border-radius:50%;background:rgba(239,190,108,.55);filter:blur(9px);box-shadow:0 0 30px 14px rgba(216,157,73,.13);animation:bokehFloat var(--dur,10s) ease-in-out infinite;pointer-events:none}
.hero{min-height:100svh;display:grid;place-items:center;padding:88px 22px;text-align:center;background:radial-gradient(circle at 50% 0,#ffffff 0,#fffaf0 58%,#f7efdf 100%)}
.hero-arch{position:absolute;z-index:1;left:50%;top:50%;translate:-50% -50%;width:min(82%,620px);height:70%;border:1px solid rgba(184,142,73,.13);border-bottom:0;border-radius:340px 340px 0 0;pointer-events:none}
.hero-content{position:relative;z-index:2;width:min(100%,660px);margin:0 auto;text-align:center;justify-self:center}
.gold{color:#9d7432}.verse{max-width:620px;margin:24px auto;font:1.65rem/2.15 Amiri,serif;color:#4b4b4b;text-align:center}.surah,.soft{color:#77736c;text-align:center}.divider{margin:30px auto}.hero h2{margin:18px auto;font:4.3rem/1.2 Amiri,serif;text-align:center}.badge{display:inline-block;margin:0 auto;border:1px solid #d7bb86;padding:10px 20px;border-radius:30px;color:#9d7432}

.section{width:100%;padding:82px 22px;text-align:center}.section-inner{width:min(100%,620px);margin:0 auto;text-align:center}.heading{margin:0 auto 28px;font:2.25rem Amiri,serif;color:#9a722f;text-align:center}.heading:before,.heading:after{content:'';display:inline-block;width:42px;height:1px;background:#d7bd8b;vertical-align:middle;margin:0 14px}.cards{display:grid;gap:15px}.cards article{background:rgba(255,255,255,.9);border:1px solid #eee1cd;border-radius:22px;padding:25px;box-shadow:0 14px 35px rgba(146,108,43,.06);transition:.35s}.cards article:hover{transform:translateY(-6px)}.cards small,.cards strong{display:block;text-align:center}.cards small{color:#8c857b;margin-bottom:9px}
.countdown{padding:88px 20px;text-align:center;background:linear-gradient(145deg,#fffdf8,#f7eedc);color:#4b4b4b}.light{color:#9d7432}.timer{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin:0 auto}.timer>div{border:1px solid rgba(216,181,109,.35);background:rgba(255,255,255,.045);padding:22px 5px;border-radius:18px}.timer b{display:block;font-size:2.2rem;color:#e1c080}.timer span{font-size:.8rem;color:#77736c}
.location-section{background:#fff9ed}.location{width:100%;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:42px 25px;box-shadow:0 18px 45px rgba(146,108,43,.07);text-align:center}.location h3{margin:0 0 12px;font:2rem Amiri,serif}.location p{color:#77736c}.location a{display:inline-block;margin:15px auto 0;background:#fffdf8;color:#9d7432;text-decoration:none;border-radius:40px;padding:16px 25px;font-weight:700}
form{width:min(100%,560px);margin:25px auto 0;text-align:center}input,textarea{width:100%;padding:17px;border:1px solid #e9decd;border-radius:14px;background:#fffdf8;margin-bottom:13px;font:1rem Tajawal;color:#3f3f3f;outline:none;text-align:right}input:focus,textarea:focus{border-color:#b99355;box-shadow:0 0 0 4px rgba(185,147,85,.08)}textarea{min-height:135px;resize:vertical}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .primary-btn{width:100%;min-width:0;background:#fffdf8;border-color:#d7ad5b;color:#9d7432}.message{min-height:25px;margin:18px auto;color:#9d7432;font-weight:700;text-align:center}.wishes{background:#fffaf2}.submit{width:100%;background:#fffdf8;border-color:#d7ad5b;color:#9d7432}#wishesList{width:min(100%,560px);margin:28px auto}.wish-card{background:#fff;border:1px solid #ebdfcf;border-radius:18px;padding:20px;text-align:right;margin-bottom:13px}.wish-card strong{color:#9d7432}.wish-card p{line-height:1.8;color:#66635f}
footer{position:relative;width:100%;background:linear-gradient(180deg,#fff9ed,#f9f0dc);color:#4b4b4b;text-align:center;padding:65px 20px;overflow:hidden}.footer-inner{position:relative;z-index:2;width:min(100%,600px);margin:0 auto;text-align:center}.footer-line{margin-bottom:25px}footer p{font:1.55rem Amiri,serif}footer small{color:#9d7432}
.reveal,.reveal-up,.reveal-left,.reveal-right,.reveal-scale{opacity:0;transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.reveal,.reveal-up{transform:translateY(38px)}.reveal-left{transform:translateX(-60px)}.reveal-right{transform:translateX(60px)}.reveal-scale{transform:scale(.9)}.visible{opacity:1!important;transform:none!important}
@keyframes bokehFloat{0%{transform:translate3d(0,45px,0) scale(.8);opacity:.05}35%{opacity:.22}60%{transform:translate3d(18px,-34vh,0) scale(1.08);opacity:.3}100%{transform:translate3d(-14px,-88vh,0) scale(.85);opacity:0}}
@media(max-width:540px){.opening h1{font-size:3.7rem}.open-content{padding:26px 12px}.opening-arch{width:86vw;height:64dvh}.hero{padding:72px 16px}.hero h2{font-size:3.2rem}.verse{font-size:1.35rem}.section{padding:65px 16px}.heading{font-size:1.95rem}.heading:before,.heading:after{width:26px;margin:0 8px}.timer{gap:6px}.timer b{font-size:1.55rem}.timer>div{padding:16px 3px}.actions{grid-template-columns:1fr}.basmala{font-size:1.12rem}}

/* V5.2 invitation content refinements */
.invitation-lead{margin:0 0 16px;font-size:1.25rem;color:#4d4d4d}
.host-copy,.groom-role,.match-copy{margin:10px auto;color:#66635f;font-size:1.08rem}
.host-name{color:#a97924!important;font-size:3.55rem!important}
.groom-role{margin-top:16px;color:#8b744e;font-weight:700}
.hero h2{color:#a97924}
.details-section .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.muted-card{display:block;margin-top:8px;color:#888078;font-size:.9rem}
.location-kicker{margin:0 0 4px;color:#888078}
.notice-section{background:linear-gradient(180deg,#fffdf8,#fff7e9)}
.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin:0 auto 28px}
.notice-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:24px;padding:26px 18px;box-shadow:0 14px 35px rgba(146,108,43,.06);text-align:center}
.notice-card p{margin:14px 0 0;line-height:1.9;color:#4f4d49;font-weight:700}
.notice-icon{width:72px;height:72px;margin:0 auto;color:#b68a3c;display:grid;place-items:center}
.notice-icon svg{width:100%;height:100%}
.personal-invite{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px auto 0;color:#a97924;font-family:Amiri,serif;font-size:2rem}
.personal-invite span{display:block;width:74px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
@media(max-width:540px){
  .host-name{font-size:2.9rem!important}
  .invitation-lead{font-size:1.1rem}
  .details-section .cards,.notice-grid{grid-template-columns:1fr}
  .notice-card{padding:22px 16px}
  .personal-invite{font-size:1.7rem}
}


.music-toggle{
  position:fixed;left:18px;bottom:18px;z-index:9999;
  width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(185,150,82,.45);
  background:rgba(255,253,248,.94);color:#b99652;
  box-shadow:0 10px 28px rgba(110,90,55,.14);
  cursor:pointer;font-size:22px;backdrop-filter:blur(10px);
}
.music-toggle.playing{animation:musicPulse 2.2s ease-in-out infinite}
@keyframes musicPulse{
  0%,100%{box-shadow:0 10px 28px rgba(110,90,55,.14)}
  50%{box-shadow:0 0 0 8px rgba(185,150,82,.10),0 12px 32px rgba(110,90,55,.18)}
}

/* Opening RSVP actions */
.opening-rsvp-actions{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;width:min(100%,460px);margin:0 auto 14px}
.opening-rsvp-btn{width:100%;min-width:0!important}
.opening-rsvp-actions .primary-btn{background:#fffdf8;border-color:#d7ad5b;color:#9d7432}
.opening-rsvp-actions .secondary-btn{background:#fff;border-color:#9d7432;color:#9d7432}
.opening-rsvp-actions .primary-btn:hover{background:var(--gold2);color:#fffdf8}
.opening-rsvp-actions .secondary-btn:hover{background:#9d7432;color:#fff}
#wishWhatsappBtn{display:block;width:min(100%,560px);margin:25px auto 0}
@media(max-width:540px){.opening-rsvp-actions{grid-template-columns:1fr;width:min(100%,320px)}}
