:root{
  --cream:#fff8f1;--soft:#F2D9CE;--taupe:#A57865;--brown:#683924;--dark:#260F06;
  --gold:#c58e44;--line:rgba(104,57,36,.20)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#ead7ca}
body{margin:0;background:#ead7ca;color:var(--dark);font-family:"DM Sans",sans-serif;overflow-x:hidden}
button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}

/* ===== MOCKUP BACKGROUND ===== */
.splash,.screen{
  min-height:100svh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background-image:url('/assets/wedding-bg.webp');background-size:cover;background-position:center center;background-repeat:no-repeat
}
.splash{position:fixed;inset:0;z-index:50}
.splash::after,.screen::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,248,241,.00) 0%,rgba(255,248,241,.02) 55%,rgba(53,22,10,.04) 100%)
}

/* ===== SPLASH ===== */
.splash-inner{position:relative;z-index:6;text-align:center;width:min(89vw,390px);padding:18px 12px 10px}
.splash-inner::before{content:"";position:absolute;z-index:-1;left:50%;top:49%;transform:translate(-50%,-50%);width:min(82vw,340px);height:72%;border-radius:48%;background:radial-gradient(ellipse at center,rgba(255,248,239,.26) 0%,rgba(255,248,239,.10) 42%,transparent 72%);filter:blur(4px);pointer-events:none}
.af-logo{display:block;object-fit:contain;margin-inline:auto;filter:drop-shadow(0 4px 14px rgba(255,255,255,.75))}
.af-logo-splash{width:164px;max-width:50vw;height:auto;margin-bottom:8px}.af-logo-card{width:128px;height:auto;margin-bottom:8px}.af-logo-thanks{width:120px;height:auto;margin-bottom:14px}
.tiny-title{letter-spacing:5.2px;font-size:12px;font-weight:700;margin:7px 0 13px;color:#7a513f;text-shadow:0 1px 2px rgba(255,248,241,.85),0 0 8px rgba(255,245,229,.35)}
.hero-script,.rsvp-script,.thanks-script{font-family:"Allura",cursive;font-weight:400}
.hero-script{font-size:66px;line-height:.72;margin:0;color:#5a2e1c;text-shadow:0 2px 14px rgba(255,255,255,.95)}
.hero-script span{display:block;font-size:30px;line-height:1.1;margin:9px}.hero-date{font-family:"Cormorant Garamond",serif;letter-spacing:6.2px;font-size:16px;font-weight:700;margin:21px 0 26px;color:#7a513f;text-shadow:0 1px 2px rgba(255,248,241,.88),0 0 8px rgba(255,245,229,.34)}
.primary-btn{border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#a76437,#69361f);padding:14px 27px;font-weight:600;box-shadow:0 10px 28px rgba(86,42,24,.28),0 0 0 1px rgba(255,238,213,.14);transition:transform .25s ease,box-shadow .25s ease}.primary-btn:active{transform:scale(.98)}
.primary-btn b{margin-left:14px;font-size:18px}
#openInvite{animation:invitePulse 3.6s ease-in-out 1.5s infinite}@keyframes invitePulse{0%,82%,100%{box-shadow:0 10px 28px rgba(86,42,24,.28),0 0 0 0 rgba(255,235,206,0)}90%{box-shadow:0 12px 30px rgba(86,42,24,.34),0 0 0 7px rgba(255,235,206,.13)}}.scroll-cue{position:absolute;z-index:6;bottom:18px;text-align:center;font-size:21px;color:#5a2e1c}.scroll-cue small{display:block;font-size:8px;letter-spacing:2px;margin-top:-1px}

/* subtle curtain animation; background remains visible */
.curtain{position:absolute;z-index:5;top:0;bottom:0;width:50%;transition:transform 1.35s cubic-bezier(.75,0,.12,1);filter:drop-shadow(0 0 12px rgba(52,22,11,.18))}
.curtain::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(87,45,29,.54),rgba(242,217,206,.30));backdrop-filter:blur(1px)}
.curtain-left{left:0;clip-path:polygon(0 0,100% 0,78% 20%,67% 46%,79% 72%,67% 100%,0 100%)}
.curtain-right{right:0;clip-path:polygon(0 0,100% 0,100% 100%,33% 100%,21% 72%,33% 46%,22% 20%)}
.splash.open .curtain-left{transform:translateX(-105%)}.splash.open .curtain-right{transform:translateX(105%)}.splash.fade{opacity:0;transition:opacity .5s ease;pointer-events:none}

.music-toggle{display:none;position:fixed;z-index:40;right:16px;bottom:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(104,57,36,.88);color:#fff;font-size:20px;box-shadow:0 9px 25px rgba(38,15,6,.24);backdrop-filter:blur(8px)}
.music-toggle.visible{display:grid;place-items:center}.music-toggle.paused{background:rgba(255,250,246,.94);color:var(--brown)}

/* ===== PAGES ===== */
.screen{padding:18px 12px}.invitation-screen{background-position:center center}.rsvp-screen{background-position:center center}.thankyou-screen{background-position:center center}
.portrait-frame{position:relative;z-index:2;width:min(92vw,410px);border:1px solid rgba(199,142,68,.30);border-radius:24px;background:linear-gradient(180deg,rgba(255,248,240,.79),rgba(255,244,235,.74));box-shadow:0 20px 55px rgba(54,24,12,.14);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);text-align:center}
.portrait-frame:after{content:"";position:absolute;inset:8px;border:1px solid rgba(199,142,68,.18);border-radius:18px;pointer-events:none}

.invitation-card{padding:19px 19px 14px}.parents{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.18;font-weight:600;letter-spacing:.7px}.parents span{display:block}.intro{font-size:11px;line-height:1.45;margin:7px 0}.honorific{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:600;margin:8px 0}
.divider{display:flex;align-items:center;gap:8px;width:72%;margin:12px auto}.divider:before,.divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--taupe))}.divider:after{transform:scaleX(-1)}.divider i{font-style:normal;color:#a35f38}
.couple{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:600;line-height:.98;margin:9px 0}.couple small{display:block;font-size:16px;font-weight:400;margin-top:4px}.heart{font-size:24px;color:#a35f38}
.event-row{display:grid;grid-template-columns:35px 1fr;gap:8px;text-align:left;align-items:start;margin:10px 4px}.event-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(197,142,68,.16);color:#9d5c32;font-size:15px}.event-row label{display:block;letter-spacing:3px;font-size:8px;color:#a16646;margin:0 0 2px}.event-row strong{font-family:"Cormorant Garamond",serif;font-size:15px}.event-row p{font-size:10px;line-height:1.35;margin:2px 0 0}
.location-card{margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.42)}.location-title{font-family:"Cormorant Garamond",serif;font-size:17px;margin-bottom:7px}.location-buttons{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}.location-btn{border-radius:14px;padding:11px 7px;font-size:11px;font-weight:600}.waze{background:#8c4c2b;color:#fff}.maps{background:rgba(255,255,255,.92);color:#57301f;border:1px solid var(--line)}

.rsvp-card{padding:24px 18px 18px}.rsvp-script{font-size:58px;line-height:.78;margin:0 0 6px}.rsvp-title{font-family:"Cormorant Garamond",serif;font-weight:600;letter-spacing:2px;font-size:15px;line-height:1.08}.mini-divider{color:#a35f38;margin:6px}.rsvp-copy{font-size:11px;line-height:1.4;margin:6px 0 13px}form{text-align:left}.form-box{padding:11px 11px 10px;border-radius:14px;border:1px solid rgba(104,57,36,.15);background:rgba(255,255,255,.52);margin-bottom:9px;box-shadow:0 6px 14px rgba(46,19,9,.025)}.form-box>label{display:block;font-size:11px;font-weight:600;margin-bottom:7px;color:#53301f}input,textarea{width:100%;border:1px solid rgba(104,57,36,.15);border-radius:11px;background:rgba(255,255,255,.84);padding:11px;color:var(--dark);outline:none;font-size:12px}textarea{resize:none;min-height:98px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choice input{display:none}.choice span{min-height:52px;display:grid;place-items:center;text-align:center;border:1px solid rgba(104,57,36,.15);border-radius:11px;background:#fffdfb;color:#76523e;font-size:14px}.choice small{display:block;font-size:9px;margin-top:-7px}.choice input:checked+span{background:linear-gradient(135deg,#a45f34,#71391f);color:#fff;border-color:transparent;box-shadow:0 7px 16px rgba(104,57,36,.16)}.helper{text-align:center;font-size:9px;color:#8e6956;margin:-3px 0 7px}.counter{display:flex;justify-content:center;align-items:center;gap:18px}.counter button{width:39px;height:39px;border-radius:11px;border:1px solid rgba(104,57,36,.15);background:#fff;color:#833f22;font-size:20px}.counter strong{min-width:30px;text-align:center}.counter-text{text-align:right;font-size:9px;color:#8e6956;margin-top:4px}.submit-btn{width:100%;margin-top:1px}.form-status{text-align:center;font-size:10px;line-height:1.35;margin-top:7px;min-height:14px}.form-status.ok{color:#456445}.form-status.error{color:#9b342d}

/* page 3 intentionally NO white card — exactly the mockup feel */
.thankyou-content{position:relative;z-index:2;width:min(88vw,390px);text-align:center;padding:14px 14px 24px;text-shadow:0 1px 12px rgba(255,255,255,.65)}
.arabic{font-family:"Times New Roman",serif;font-size:23px;line-height:1.65;margin-top:4px}.translation{font-family:"Cormorant Garamond",serif;font-size:17px;line-height:1.4;margin:5px 0}.surah{font-size:10px;color:#7b4c35}.thanks-script{font-size:37px;line-height:.88;margin:7px 0 5px}.hashtag{font-size:12px;font-weight:600}
.reveal{opacity:0;transform:translateY(16px);transition:.72s ease}.reveal.on{opacity:1;transform:none}

@media(min-width:700px){.portrait-frame{width:410px}.screen{padding-block:28px}}
@media(max-width:360px){.tiny-title{font-size:11px;letter-spacing:4.8px}.hero-date{font-size:15px;letter-spacing:5.4px;font-weight:700}.hero-script{font-size:58px}.af-logo-splash{width:148px}.invitation-card{padding-inline:16px}.couple{font-size:25px}.rsvp-script{font-size:52px}.arabic{font-size:21px}.thanks-script{font-size:34px}}


/* RSVP success popup */
.success-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(38,15,6,.34);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.success-modal.show{display:flex;animation:modalFade .22s ease}
.success-modal-card{width:min(88vw,340px);text-align:center;background:rgba(255,249,244,.97);border:1px solid rgba(197,142,68,.34);border-radius:24px;padding:26px 22px 22px;box-shadow:0 24px 70px rgba(38,15,6,.24);animation:modalPop .28s ease}
.success-heart{font-size:30px;color:#a76437;margin-bottom:4px}
.success-modal-card h3{font-family:"Cormorant Garamond",serif;font-size:28px;margin:0 0 6px;color:#683924}
.success-modal-card p{margin:0 0 18px;font-size:14px;color:#5a3828}
.success-modal-card button{border:0;border-radius:999px;background:linear-gradient(135deg,#a76437,#69361f);color:#fff;padding:11px 24px;font-weight:600;min-width:120px}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalPop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
