/* Wedding invitation styles - restored and made responsive */
@import url('https://fonts.googleapis.com/css2?family=Italianno&family=Manrope:wght@400;500;600;700;800&family=Pinyon+Script&display=swap');

:root {--gold:#c8942e;--gold-light:#f8df8c;--gold-dark:#5c3b05;--petal:rgba(254,165,165,.8);--color-rose-light:#fdf2f4;--color-rose-dark:#8c1d40;--background:#fdfbf7;--foreground:#2d261e;--muted-foreground:#695e50;--card-bg:rgba(255,255,255,.65);--border:rgba(200,148,46,.4);--shadow-wedding:0 12px 36px -4px rgba(140,29,64,.08),0 4px 14px -2px rgba(200,148,46,.06);--font-display:'Pinyon Script',cursive;--font-secondary:'Italianno',cursive;--font-body:'Manrope',sans-serif;--gradient-gold:linear-gradient(135deg,#f8df8c 0%,#c8942e 50%,#5c3b05 100%);--gradient-gold-h:linear-gradient(90deg,transparent,#c8942e 20%,#f8df8c 50%,#c8942e 80%,transparent);--gradient-paper:linear-gradient(180deg,#fdfbf7 0%,#f8f4e9 100%)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%}body{background:#16080d radial-gradient(circle at center,#2e101b 0%,#0c0205 100%);font-family:var(--font-body);color:var(--foreground);display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}.hidden{display:none!important}.uppercase{text-transform:uppercase}.tracking-widest{letter-spacing:.35em}
.app-container{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;position:relative;z-index:10}.phone-frame{width:100%;height:100vh;position:relative;overflow:hidden;background:var(--background) var(--gradient-paper);display:flex;flex-direction:column}@media (min-width:480px){.phone-frame{width:390px;height:844px;max-height:92vh;border-radius:36px;border:10px solid #281d22;box-shadow:0 25px 60px -15px rgba(0,0,0,.85),0 0 0 3px var(--gold)}}
.screen{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s ease;z-index:1}.screen.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.screen.scrollable{overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen.scrollable::-webkit-scrollbar{display:none}
#cover-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--background)}.cover-flower-border{position:absolute;inset:0;z-index:10;pointer-events:none;border:clamp(.6rem,2.5vw,1.2rem) solid transparent;border-image:radial-gradient(circle,var(--petal) 0 35%,transparent 36%) 24 round;box-shadow:inset 0 0 0 1px var(--gold),inset 0 0 34px rgba(254,165,165,.15)}.cover-image-container{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:1}.cover-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}#cover-screen:hover .cover-image{transform:scale(1.03)}.open-btn{position:absolute;bottom:12%;left:50%;transform:translateX(-50%);z-index:15;background:var(--gradient-paper);border:1px solid var(--gold);color:var(--color-rose-dark);font-family:var(--font-body);font-weight:600;font-size:1.1rem;letter-spacing:.05em;padding:14px 36px;border-radius:50px;cursor:pointer;box-shadow:var(--shadow-wedding);transition:all .3s ease;white-space:nowrap}.open-btn:hover{transform:translate(-50%,-3px);box-shadow:0 15px 30px rgba(140,29,64,.15),0 0 0 2px var(--gold-light);color:var(--gold-dark)}
/* Minimal animated scroll cue: icon only, centered above the CTA */
.cover-scroll-hint{position:absolute;left:50%;bottom:3.5%;transform:translateX(-50%);z-index:16;width:42px;height:42px;border:1px solid rgba(200,148,46,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.52);color:var(--color-rose-dark);box-shadow:0 6px 18px rgba(140,29,64,.14);pointer-events:none;animation:cover-scroll-float 1.8s ease-in-out infinite}.cover-scroll-hint svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.cover-scroll-hint::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(200,148,46,.18);border-radius:50%;animation:cover-scroll-pulse 1.8s ease-out infinite}.open-btn:hover + .cover-scroll-hint{animation-play-state:paused}@keyframes cover-scroll-float{0%,100%{transform:translate(-50%,0);opacity:.85}50%{transform:translate(-50%,7px);opacity:1}}@keyframes cover-scroll-pulse{0%{transform:scale(.85);opacity:.7}80%,100%{transform:scale(1.28);opacity:0}}
#video-screen{background:#000;display:flex;justify-content:center;align-items:center}.video-container{width:100%;height:100%;position:relative}.video-container video,#intro-video{width:100%;height:100%;object-fit:cover}.skip-btn{position:absolute;top:4%;right:4%;z-index:20;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;font-family:var(--font-body);font-size:.85rem;font-weight:500;border-radius:30px;cursor:pointer}
#details-screen{background:var(--background) var(--gradient-paper)}.music-toggle-btn{position:absolute;top:4%;right:6%;width:44px;height:44px;border-radius:50%;background:var(--card-bg);border:1.5px solid var(--gold);cursor:pointer;z-index:99;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px rgba(140,29,64,.1)}.disc-wrapper{width:32px;height:32px;border-radius:50%;background:var(--color-rose-dark);display:flex;justify-content:center;align-items:center}.disc-icon{color:var(--gold-light);font-size:1.1rem}.music-toggle-btn.playing .disc-wrapper{animation:spin 6s linear infinite}.hero-section{position:relative;width:100%;min-height:90vh;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:60px 24px}.names-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;z-index:1}.hero-content{position:relative;z-index:5;width:100%;text-align:center}.section-label{font-size:.8rem;font-weight:700;color:var(--color-rose-dark);letter-spacing:.35em;margin-bottom:24px}.name-script{font-family:var(--font-secondary);font-size:5rem;line-height:.95;color:var(--color-rose-dark);font-weight:400}.parents-text{font-family:var(--font-body);font-size:.8rem;color:var(--muted-foreground);margin-top:8px;font-weight:500}.ampersand{font-family:var(--font-display);font-size:2.2rem;color:var(--gold);margin:16px 0;font-style:italic}.welcome-copy{margin:40px auto 0;font-size:.85rem;line-height:1.7;color:var(--foreground);max-width:90%;font-weight:500;text-align:center}
/* Jain invocation: fixed at the top of the first/details page, with intentional four-line layout */.invocation{position:absolute;top:clamp(82px,11vh,105px);left:50%;transform:translateX(-50%);width:min(92%,350px);margin:0;color:var(--gold-dark);font-family:var(--font-body);font-size:clamp(.62rem,2.55vw,.76rem);line-height:1.45;font-weight:600;text-align:center;letter-spacing:0}.invocation>div{display:block}.invocation-mantra{color:var(--color-rose-dark);font-size:clamp(.68rem,2.75vw,.82rem);font-weight:700;margin-bottom:2px}
.golden-divider{display:flex;justify-content:center;align-items:center;width:90%;height:50px;margin:20px auto;position:relative}.golden-divider::before,.golden-divider::after{content:"";flex:1;height:1px;background:var(--gradient-gold-h)}.golden-divider .ornament{color:var(--gold);font-size:1.2rem;margin:0 14px;letter-spacing:.25em;text-shadow:0 2px 8px rgba(200,148,46,.3);font-family:var(--font-body)}.details-card-section{padding:48px 24px;text-align:center;position:relative;width:100%}.section-title{font-family:var(--font-secondary);font-size:3.2rem;color:var(--color-rose-dark);margin:8px 0 12px;font-weight:500}.subtitle-text{font-size:.85rem;color:var(--muted-foreground);font-style:italic;margin-bottom:30px}.quote-card{font-size:.85rem;font-style:italic;color:var(--muted-foreground);margin-top:24px;padding:0 12px;line-height:1.6}
.scratch-grid-wrapper{position:relative;width:100%;max-width:320px;margin:0 auto}.confetti-anchor{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1px;height:1px;z-index:10}.scratch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:rgba(200,148,46,.15);padding:8px;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-wedding)}.scratch-cell{position:relative;aspect-ratio:1;background:var(--card-bg);border-radius:8px;display:flex;justify-content:center;align-items:center;font-size:1.8rem;font-weight:700;color:var(--color-rose-dark);overflow:hidden;user-select:none}.scratch-cell.static-item{color:var(--gold);font-family:var(--font-body);font-weight:500;font-size:1.6rem;opacity:.7}.cell-hidden-value{font-weight:700;color:var(--color-rose-dark)}.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none;z-index:5;border-radius:8px}.diagonal-match{position:absolute;z-index:15;background:var(--gradient-gold);width:78%;height:5px;box-shadow:0 0 15px var(--gold);border-radius:99px;top:50%;left:11%;transform:rotate(45deg);animation:strike-line .5s ease forwards}@keyframes strike-line{0%{width:0;opacity:0}100%{width:78%;opacity:1}}
.instruction-text{font-size:.8rem;color:var(--color-rose-dark);font-weight:600;letter-spacing:.05em;margin-bottom:24px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:320px;margin:0 auto}.timer-block{position:relative;display:flex;flex-direction:column;align-items:center}.timer-box{width:100%;aspect-ratio:1;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-wedding)}.timer-value{font-size:1.6rem;font-weight:700;color:var(--color-rose-dark)}.timer-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-foreground);margin-top:8px}.heart-scratch-canvas{position:absolute;top:0;left:0;width:100%;aspect-ratio:1;cursor:grab;touch-action:none;z-index:6;clip-path:polygon(50% 100%,42% 92%,30% 82%,18% 70%,8% 56%,2% 42%,0 28%,4% 16%,14% 6%,28% 2%,40% 8%,50% 22%,60% 8%,72% 2%,86% 6%,96% 16%,100% 28%,98% 42%,92% 56%,82% 70%,70% 82%,58% 92%)}.timer-block.scratched .heart-scratch-canvas{display:none}
.events-timeline{display:flex;flex-direction:column;gap:40px;width:100%;max-width:550px;margin:0 auto}.event-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-wedding);text-align:center;display:flex;flex-direction:column}.event-video-frame{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;background:#0c0205}.event-video{width:100%;height:100%;object-fit:cover}.event-details{padding:24px 16px}.event-icon{font-size:1.8rem;color:var(--gold);margin-bottom:8px;display:inline-block}.event-name{font-family:var(--font-secondary);font-size:2.8rem;color:var(--color-rose-dark);font-weight:500;line-height:1;margin-bottom:12px}.event-meta{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:var(--muted-foreground);margin-bottom:6px}.event-meta span.icon{color:var(--gold)}.event-venue{font-weight:600;color:var(--foreground);margin-top:10px;font-size:.85rem}.event-note{font-size:.8rem;font-style:italic;color:var(--muted-foreground);margin-top:10px;line-height:1.5}
.wardrobe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:550px;margin:0 auto}.wardrobe-item{display:flex;flex-direction:column;align-items:center}.wardrobe-card-container{position:relative;width:100%;max-width:140px;aspect-ratio:.72}.trolley-bg{width:100%;height:100%;object-fit:contain}.outfit-img{position:absolute;left:50%;top:14%;height:70%;width:auto;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));transition:transform .4s ease}.wardrobe-item:hover .outfit-img{transform:translateX(-50%) translateY(-3px) scale(1.04)}.wardrobe-item-info{margin-top:12px;text-align:center}.wardrobe-event-name{font-family:var(--font-secondary);font-size:2rem;color:var(--color-rose-dark);line-height:1.1;font-weight:500}.wardrobe-color{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-top:4px}.wardrobe-note{font-size:.75rem;font-style:italic;color:var(--muted-foreground);margin-top:6px}
.venue-header{margin-bottom:24px}.venue-icon{font-size:2.2rem;display:inline-block;margin-bottom:8px}.venue-subtext{font-size:.85rem;color:var(--muted-foreground);font-style:italic;margin-top:4px}.venue-image-container{width:100%;max-width:550px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-wedding);margin:0 auto 24px;border:1px solid var(--border)}.venue-image{width:100%;height:100%;object-fit:cover}.open-map-btn{display:inline-block;background:var(--gradient-gold);color:#fff;font-family:var(--font-body);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;padding:12px 28px;border-radius:30px;text-decoration:none;box-shadow:0 4px 15px rgba(200,148,46,.3);margin-bottom:24px}.map-iframe-container{width:100%;max-width:550px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-wedding);border:1px solid var(--border)}.map-iframe-container iframe{width:100%;height:280px;border:0}
.gallery-slider-wrapper{position:relative;width:100%;overflow:hidden;padding:10px 0}.gallery-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:10px 10%}.gallery-slider::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 75%;aspect-ratio:1;scroll-snap-align:center;border-radius:20px;overflow:hidden;border:2px solid var(--gold);box-shadow:var(--shadow-wedding);cursor:pointer;background:#000;transition:all .4s cubic-bezier(.16,1,.3,1);transform:scale(.92);opacity:.7}.gallery-card.active{transform:scale(1);opacity:1}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.gallery-dot{width:8px;height:8px;border-radius:50%;background:rgba(200,148,46,.3);border:none;cursor:pointer}.gallery-dot.active{width:24px;border-radius:8px;background:var(--color-rose-dark)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}.lightbox.show{display:flex}.lightbox-content{max-width:95%;max-height:90%;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1}.thankyou-section{padding:90px 24px 120px;text-align:center;position:relative;overflow:hidden}.heart-outro{font-size:2rem;color:var(--color-rose-dark);display:block;margin-bottom:20px}.thankyou-msg{font-size:.95rem;line-height:1.8;color:var(--muted-foreground);max-width:600px;margin:22px auto}.signature{font-family:var(--font-secondary);font-size:2rem;color:var(--color-rose-dark);margin-top:12px}.outro-ornaments{margin-top:24px;display:flex;justify-content:center;gap:12px;color:var(--gold);font-size:1.4rem}.glow-container{position:absolute;inset:0;pointer-events:none}.glow-light{position:absolute;width:10px;height:10px;background:var(--gold-light);border-radius:50%;filter:blur(1px);box-shadow:0 0 14px var(--gold-light);animation:glow-float 8s ease-in-out infinite}@keyframes glow-float{0%,100%{transform:translate3d(0,0,0);opacity:.2}50%{transform:translate3d(0,-30px,0);opacity:.85}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:479px){.cover-scroll-hint{bottom:2.2%;width:38px;height:38px}.cover-scroll-hint svg{width:16px;height:16px}.name-script{font-size:4.2rem}.welcome-copy{font-size:.8rem}.section-title{font-size:2.8rem}.details-card-section{padding-left:18px;padding-right:18px}}
