/* Theme Classic Carousel - Undangan Digital, galeri carousel */
:root{--ivory:#faf8f5;--cream:#f5f0e8;--sand:#e8e0d4;--brown:#8b7355;--brown-dark:#6b5344;--text:#4a4038;--text-light:#7a7068;--white:#fff}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Montserrat',sans-serif;font-weight:400;color:var(--text);background:var(--ivory);line-height:1.6;overflow-x:hidden}

.cover{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--cream) 0%,var(--sand) 100%);transition:opacity .8s ease,visibility .8s ease}
.cover.hidden{opacity:0;visibility:hidden;pointer-events:none}
.cover-inner{text-align:center;padding:1.5rem;max-width:420px}
.cover-label{font-family:'Cormorant Garamond',serif;font-size:clamp(.9rem,2.5vw,1.1rem);letter-spacing:.35em;text-transform:uppercase;color:var(--brown);margin:0 0 .5rem}
.cover-names{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,8vw,4rem);font-weight:400;color:var(--brown-dark);margin:.5rem 0;line-height:1.15}
.cover-names .name-amp{display:block;font-size:.5em;letter-spacing:.1em}
.cover-date{font-size:.85rem;letter-spacing:.15em;color:var(--text-light);margin:1.5rem 0 .5rem}
.cover-to{font-size:.9rem;color:var(--text);margin:1rem 0 1.5rem;line-height:1.5}
.btn-buka{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--brown);border:none;padding:.85rem 2rem;cursor:pointer;transition:background .25s ease,transform .2s ease}
.btn-buka:hover{background:var(--brown-dark);transform:translateY(-2px)}
.cover-floral{position:absolute;left:0;right:0;height:80px;background:linear-gradient(90deg,transparent,var(--sand) 20%,var(--sand) 80%,transparent);opacity:.5}
.cover-floral--t{top:0}.cover-floral--b{bottom:0}

.main-content{opacity:0;visibility:hidden;transition:opacity .6s ease .3s,visibility .6s ease .3s;min-height:100vh}
.main-content.visible{opacity:1;visibility:visible}
.section{padding:4rem 1.5rem;max-width:720px;margin:0 auto}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:400;text-align:center;color:var(--brown-dark);margin:0 0 1.5rem;letter-spacing:.08em}
.section-text{text-align:center;font-size:.95rem;color:var(--text);margin:0;max-width:560px;margin-left:auto;margin-right:auto}

.section-hero{padding-top:5rem;padding-bottom:4rem}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2.5vw,1.2rem);letter-spacing:.4em;text-transform:uppercase;color:var(--brown);margin:0 0 .25rem}
.hero-names{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,6vw,3.5rem);font-weight:400;color:var(--brown-dark);margin:0 0 1.5rem}
.hero-quote{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:var(--text-light);margin:0;max-width:480px;margin-left:auto;margin-right:auto}

/* Couple unified: dua foto berdampingan di tengah, teks di bawah — beda dari Gading */
.section-couple-unified{text-align:center;padding:3rem 1.5rem}
.section-couple-unified .section-title{margin-bottom:1.5rem}
.couple-unified-photos{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.couple-unified-photo{flex:0 1 200px;max-width:240px}
.couple-unified-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:6px;border:1px solid var(--sand)}
@media(max-width:460px){.couple-unified-photo{max-width:100%}}
.couple-unified-names{font-family:'Cormorant Garamond',serif;font-size:clamp(1.25rem,3.5vw,1.6rem);font-weight:600;color:var(--brown-dark);margin:0 0 .5rem}
.couple-unified-parents{font-size:.85rem;color:var(--text-light);margin:0 0 .75rem;line-height:1.6}
.couple-unified-ig{font-size:.9rem}.couple-unified-ig a{color:var(--brown);text-decoration:none}.couple-unified-ig a:hover{text-decoration:underline}

.section-story{background:var(--white);margin:0;max-width:100%}
.countdown{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.countdown-item{text-align:center;min-width:70px}
.countdown-num{display:block;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--brown-dark)}
.countdown-label{font-size:.7rem;letter-spacing:.1em;color:var(--text-light)}

/* Galeri carousel */
.section-gallery--carousel{background:var(--white);margin:0;max-width:100%;padding-left:0;padding-right:0}
.section-gallery--carousel .section-title{margin-bottom:1rem}
.gallery-carousel-wrap{position:relative;max-width:560px;margin:0 auto;padding:0 3rem}
.gallery-carousel{overflow:hidden;border-radius:8px}
.gallery-carousel-track{display:flex;transition:transform .4s ease;will-change:transform}
.gallery-carousel-slide{flex:0 0 100%;padding:0 .5rem}
.gallery-carousel-slide img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;border-radius:4px}
.gallery-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--sand);background:var(--white);color:var(--brown);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,color .2s;z-index:2}
.gallery-carousel-btn:hover{background:var(--brown);color:var(--white)}
.gallery-carousel-btn--prev{left:.5rem}
.gallery-carousel-btn--next{right:.5rem}
.gallery-carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap}
.gallery-carousel-dots .dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--sand);cursor:pointer;padding:0;transition:background .2s}
.gallery-carousel-dots .dot.active{background:var(--brown)}

.section-resepsi{text-align:center}
.resepsi-date,.resepsi-time{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--brown-dark);margin:.25rem 0}
.resepsi-venue{font-size:.9rem;color:var(--text);margin:1rem auto 1.25rem;max-width:480px}
.btn-maps{display:inline-block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--brown);padding:.7rem 1.5rem;text-decoration:none;transition:background .25s ease}
.btn-maps:hover{background:var(--brown-dark)}
.save-the-date{font-size:.8rem;font-style:italic;color:var(--text-light);margin:1.5rem 0 0}

.section-rsvp{background:var(--cream);margin:0;max-width:100%}
.rsvp-intro{text-align:center;font-size:.9rem;color:var(--text-light);margin:0 0 1.5rem}
.rsvp-form{max-width:400px;margin:0 auto}
.rsvp-form input[type="text"],.rsvp-form textarea{width:100%;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;border:1px solid var(--sand);background:var(--white);margin-bottom:1rem}
.rsvp-form textarea{resize:vertical;min-height:80px}
.rsvp-choice-label{font-size:.85rem;margin:0 0 .5rem}
.rsvp-choices{display:flex;gap:1.5rem;margin-bottom:1rem}
.rsvp-choices label{font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.4rem}
.rsvp-note{font-size:.75rem;color:var(--text-light);margin:0 0 1rem}
.btn-submit{font-family:'Montserrat',sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--brown);border:none;padding:.8rem 2rem;width:100%;cursor:pointer;transition:background .25s ease}
.btn-submit:hover{background:var(--brown-dark)}

.section-gift{text-align:center}
.gift-card{background:var(--cream);border:1px solid var(--sand);padding:1.5rem 2rem;max-width:320px;margin:0 auto 1rem}
.gift-bank{font-weight:600;color:var(--brown-dark);margin:0 0 .25rem}
.gift-label{font-size:.8rem;color:var(--text-light);margin:.25rem 0}
.gift-number{font-family:'Cormorant Garamond',serif;font-size:1.5rem;letter-spacing:.1em;margin:.5rem 0}
.gift-name{font-size:.9rem;margin:0 0 .75rem}
.btn-copy{font-size:.75rem;letter-spacing:.1em;color:var(--brown);background:transparent;border:1px solid var(--brown);padding:.4rem 1rem;cursor:pointer;transition:background .2s,color .2s}
.btn-copy:hover{background:var(--brown);color:var(--white)}
.gift-doa{font-size:.85rem;font-style:italic;color:var(--text-light);max-width:480px;margin:0 auto}

.footer{background:var(--brown-dark);color:var(--cream);text-align:center;padding:2.5rem 1.5rem}
.footer-made{font-size:.8rem;margin:0 0 1rem}
.footer-social{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}
.footer-social a{color:var(--cream);font-size:.85rem;text-decoration:none}
.footer-social a:hover{text-decoration:underline}
.footer-thanks{font-size:.95rem;margin:0}
.footer-thanks strong{font-family:'Cormorant Garamond',serif;font-weight:600}
