:root {
    --maroon:        #0e0205;
    --maroon-mid:    #1e0509;
    --maroon-deep:   #160306;
    --maroon-accent: #7a1e30;
    --maroon-glow:   rgba(122,30,48,.55);
    --gold:          #c9a227;
    --gold-light:    #e8c553;
    --gold-pale:     #f3e2b0;
    --gold-dim:      rgba(201,162,39,.18);
    --cream:         #faf4ec;
    --cream-dark:    #e2cfa8;
    --text-light:    #ecdab8;
    --white:         #ffffff;
    --font-heading:  'Playfair Display', serif;
    --font-body:     'Lora', serif;
    --font-script:   'Great Vibes', cursive;
    --font-arabic:   'Amiri', serif;
    --radius-lg:     20px;
    --radius-md:     14px;
    --radius-sm:     8px;
    --transition:    .35s cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:var(--font-body);background:var(--maroon);color:var(--text-light);overflow-x:hidden;line-height:1.75;-webkit-font-smoothing:antialiased;}

/* ══ KEYFRAMES ══ */
@keyframes floralSway{0%,100%{transform:rotate(-3deg) scale(1);}50%{transform:rotate(3deg) scale(1.03);}}
@keyframes floralSwayR{0%,100%{transform:scaleY(-1) rotate(3deg) scale(1);}50%{transform:scaleY(-1) rotate(-3deg) scale(1.03);}}
@keyframes floatUp{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes petalFall{0%{opacity:0;transform:translateY(0) rotate(0deg);}10%{opacity:.85;}85%{opacity:.5;}100%{opacity:0;transform:translateY(110vh) rotate(700deg) scale(.4);}}
@keyframes progressPulse{0%,100%{width:30%;}50%{width:70%;}}
@keyframes shimmer{0%{background-position:-400px 0;}100%{background-position:400px 0;}}
@keyframes goldPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,162,39,.0);}50%{box-shadow:0 0 0 8px rgba(201,162,39,.12);}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-16px);}to{opacity:1;transform:none;}}

/* ══ NOISE TEXTURE OVERLAY ══ */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.025;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size:200px 200px;}

/* ══ FLORAL BORDER ANIMATION ══ */
.floral-border-top,.floral-border-bottom{display:block;width:100%;pointer-events:none;position:absolute;left:0;right:0;z-index:2;height:auto;}
.floral-border-top{top:-10px;animation:floralSway 9s ease-in-out infinite;transform-origin:center top;}
.floral-border-bottom{bottom:-10px;transform:scaleY(-1);animation:floralSwayR 10s ease-in-out infinite;transform-origin:center bottom;}
.has-floral{position:relative;overflow:visible;}
.has-floral>.container,.has-floral>.tl-center,.has-floral>.cover-inner{position:relative;z-index:3;}

/* ══ COVER ══ */
.cover{position:fixed;inset:0;z-index:9999;
    background:radial-gradient(ellipse 110% 80% at 50% 10%, #3a0a15 0%, #1a0508 45%, #0a0103 100%);
    display:flex;align-items:center;justify-content:center;
    transition:opacity 1s cubic-bezier(.4,0,.2,1),transform 1s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.cover.open{opacity:0;transform:translateY(-100%);pointer-events:none;}
.cover-bg-gradient{position:absolute;inset:0;
    background:radial-gradient(ellipse 70% 55% at 50% 25%, rgba(122,30,48,.5) 0%, transparent 65%),
               radial-gradient(ellipse 50% 40% at 80% 80%, rgba(60,10,20,.4) 0%, transparent 60%);}

/* Petals */
.petals-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.petal{position:absolute;top:-40px;border-radius:50% 20% 50% 20%;opacity:0;animation:petalFall linear infinite;}

/* Cover card */
.cover-inner{
    position:relative;z-index:2;text-align:center;
    padding:clamp(36px,6vw,56px) clamp(28px,5vw,48px);
    border:1px solid rgba(201,162,39,.22);
    border-radius:24px;
    background:rgba(18,3,7,.72);
    backdrop-filter:blur(18px) saturate(160%);
    max-width:92%;width:400px;
    box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(201,162,39,.06),inset 0 1px 0 rgba(201,162,39,.12);
}
.cover-inner::before,.cover-inner::after{content:'';position:absolute;width:52px;height:52px;border-color:rgba(201,162,39,.4);border-style:solid;opacity:1;}
.cover-inner::before{top:14px;left:14px;border-width:1.5px 0 0 1.5px;border-radius:6px 0 0 0;}
.cover-inner::after{bottom:14px;right:14px;border-width:0 1.5px 1.5px 0;border-radius:0 0 6px 0;}
.cover-label{font-size:.68rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold-pale);opacity:.7;margin-bottom:12px;display:block;}
.cover-names{font-family:var(--font-script);font-size:clamp(2.4rem,7.5vw,3.8rem);
    background:linear-gradient(135deg,var(--gold-light),var(--gold),#a07a10);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    text-shadow:none;filter:drop-shadow(0 0 18px rgba(201,162,39,.3));margin:10px 0;}
.cover-divider{color:var(--gold);opacity:.4;margin:6px 0;font-size:1.1rem;letter-spacing:10px;}
.cover-kepada{font-size:.72rem;color:rgba(236,218,184,.5);margin:14px 0 3px;letter-spacing:1.5px;text-transform:uppercase;}
.cover-guest-name{font-size:clamp(.95rem,2.5vw,1.1rem);color:var(--gold-light);font-weight:600;margin:0 0 22px;font-family:var(--font-heading);}
.btn-open{
    display:inline-flex;align-items:center;gap:9px;
    padding:13px 32px;
    background:linear-gradient(135deg,var(--maroon-accent) 0%, #9b2540 50%, #6a1828 100%);
    color:var(--gold-pale);
    border:1px solid rgba(201,162,39,.28);
    border-radius:40px;
    font-family:var(--font-body);font-size:.9rem;letter-spacing:.5px;
    cursor:pointer;transition:all var(--transition);
    box-shadow:0 6px 28px rgba(122,30,48,.55),inset 0 1px 0 rgba(255,255,255,.05);}
.btn-open:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(201,162,39,.2),0 6px 20px rgba(122,30,48,.6);}

/* ══ MAIN ══ */
#main{opacity:0;visibility:hidden;transition:opacity .6s ease;}
#main.show{opacity:1;visibility:visible;}

/* ══ TOP NAV ══ */
.top-nav{
    position:fixed;top:0;left:0;width:100%;z-index:1000;
    padding:12px 24px;
    background:rgba(10,1,3,.88);
    backdrop-filter:blur(20px) saturate(180%);
    border-bottom:1px solid rgba(201,162,39,.1);
    display:flex;align-items:center;justify-content:center;
    gap:clamp(8px,2.5vw,28px);flex-wrap:wrap;
    animation:fadeInDown .5s ease both;}
.top-nav a{
    color:rgba(236,218,184,.6);text-decoration:none;
    font-size:clamp(.6rem,1.4vw,.75rem);letter-spacing:2px;text-transform:uppercase;
    transition:color var(--transition);padding:4px 0;
    border-bottom:1px solid transparent;position:relative;}
.top-nav a::after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--transition);}
.top-nav a:hover,
.top-nav a.active{color:var(--gold);}
.top-nav a:hover::after,
.top-nav a.active::after{width:100%;}

/* ══ AUDIO BAR ══ */
.audio-bar{
    position:fixed;bottom:0;left:0;width:100%;z-index:1000;
    padding:9px 20px;
    background:rgba(8,1,3,.96);
    backdrop-filter:blur(20px);
    border-top:1px solid rgba(201,162,39,.1);
    display:flex;align-items:center;gap:12px;}
.audio-bar-icon{color:var(--gold);font-size:1rem;cursor:pointer;background:none;border:none;padding:4px;}
.audio-bar-text{font-size:.72rem;color:rgba(236,218,184,.5);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.audio-progress{flex:1;max-width:90px;height:2px;background:rgba(201,162,39,.15);border-radius:1px;}
.audio-progress-fill{height:100%;width:35%;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:1px;animation:progressPulse 3s ease-in-out infinite;}

/* ══ SECTIONS ══ */
.section{padding:90px 0;position:relative;overflow:hidden;}
.container{width:100%;max-width:840px;margin:0 auto;padding:0 24px;}

/* ══ SECTION HEADINGS ══ */
.sec-label{font-size:.68rem;letter-spacing:5px;text-transform:uppercase;color:var(--gold);opacity:.65;margin-bottom:10px;display:block;}
.sec-title{font-family:var(--font-heading);font-size:clamp(1.7rem,4.5vw,2.6rem);color:var(--gold);margin-bottom:8px;font-weight:600;}
.sec-ornament{font-size:.85rem;letter-spacing:8px;color:var(--gold);opacity:.4;margin-bottom:36px;}

/* ══ GLASS CARD ══ */
.glass{
    background:rgba(30,5,9,.55);
    backdrop-filter:blur(16px) saturate(140%);
    border:1px solid rgba(201,162,39,.12);
    border-radius:var(--radius-lg);
    box-shadow:0 12px 40px rgba(0,0,0,.5);}

/* ══ SECTION 1: MEMPELAI ══ */
#couple{
    background:radial-gradient(ellipse 90% 70% at 50% 0%, #2a0710 0%, #140305 50%, #0a0102 100%);
    min-height:100vh;display:flex;align-items:center;padding-top:60px;}

.arch{
    border:1px solid rgba(201,162,39,.25);
    border-radius:clamp(70px,16vw,140px) clamp(70px,16vw,140px) 16px 16px;
    padding:clamp(36px,6vw,60px) clamp(24px,4.5vw,48px) clamp(28px,4.5vw,44px);
    max-width:500px;margin:0 auto;position:relative;
    background:linear-gradient(175deg,rgba(122,30,48,.15) 0%,rgba(14,2,5,.55) 100%);
    backdrop-filter:blur(8px);}
.arch::before{content:'';position:absolute;inset:8px;
    border:1px solid rgba(201,162,39,.08);
    border-radius:calc(clamp(70px,16vw,140px) - 6px) calc(clamp(70px,16vw,140px) - 6px) 10px 10px;
    pointer-events:none;}
.arch-corners span{position:absolute;width:18px;height:18px;border-color:rgba(201,162,39,.45);border-style:solid;}
.arch-corners .tl{top:14px;left:14px;border-width:1.5px 0 0 1.5px;}
.arch-corners .tr{top:14px;right:14px;border-width:1.5px 1.5px 0 0;}
.arch-corners .bl{bottom:14px;left:14px;border-width:0 0 1.5px 1.5px;}
.arch-corners .br{bottom:14px;right:14px;border-width:0 1.5px 1.5px 0;}

.bismillah-ar{font-family:var(--font-arabic);font-size:clamp(1.6rem,4.5vw,2.6rem);color:var(--gold);
    filter:drop-shadow(0 0 14px rgba(201,162,39,.25));margin-bottom:10px;word-break:break-word;}
.salam{font-size:clamp(.75rem,2vw,.88rem);color:var(--cream-dark);letter-spacing:.5px;margin-bottom:22px;font-style:italic;opacity:.85;}
.intro-text{font-size:clamp(.82rem,2vw,.92rem);color:rgba(236,218,184,.65);margin-bottom:22px;line-height:1.85;}
.bride-name,.groom-name{
    font-family:var(--font-script);font-size:clamp(2.1rem,6.5vw,3.4rem);
    background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 50%,#a07a10 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    filter:drop-shadow(0 2px 12px rgba(201,162,39,.2));
    margin:6px 0;display:block;}
.parent-info{font-size:clamp(.78rem,2vw,.88rem);color:rgba(236,218,184,.55);margin-bottom:14px;line-height:1.7;}
.couple-divider{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--gold);font-size:.78rem;opacity:.5;}
.couple-divider::before,.couple-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.35),transparent);}

/* ══ SECTION 2: COUNTDOWN ══ */
#countdown-section{
    background:linear-gradient(160deg,var(--cream) 0%,#f0e4d0 100%);
    color:#1e0509;position:relative;}
#countdown-section::before{content:'';position:absolute;inset:0;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg transform='translate(40,38)' opacity='0.055'%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(0)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(72)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(144)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(216)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(288)'/%3E%3Ccircle r='5' fill='%237a1e30'/%3E%3C/g%3E%3C/svg%3E");
    background-size:80px 80px;}
#countdown-section .sec-title{color:#4a0010;}
#countdown-section .sec-ornament{color:#7a1e30;opacity:.5;}
#countdown-section .sec-label{color:#7a1e30;}
.countdown-grid{display:flex;justify-content:center;gap:clamp(10px,2.5vw,20px);margin:34px 0;flex-wrap:wrap;}
.cd-box{
    text-align:center;
    background:linear-gradient(145deg,#1e0509,#2e080e);
    border:1px solid rgba(201,162,39,.28);
    border-radius:var(--radius-md);
    padding:clamp(14px,3.5vw,22px) clamp(12px,3vw,22px);
    min-width:clamp(70px,17vw,96px);
    box-shadow:0 8px 28px rgba(14,2,5,.35),inset 0 1px 0 rgba(201,162,39,.08);
    animation:goldPulse 4s ease-in-out infinite;}
.cd-number{font-family:var(--font-heading);font-size:clamp(1.7rem,5vw,2.6rem);font-weight:700;
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    display:block;line-height:1.1;}
.cd-label{font-size:clamp(.52rem,1.4vw,.68rem);text-transform:uppercase;letter-spacing:2px;color:var(--cream-dark);margin-top:5px;}
.quote-box{
    background:rgba(255,255,255,.6);
    border-left:3px solid #7a1e30;
    border-radius:0 var(--radius-md) var(--radius-md) 0;
    padding:22px 28px;margin:14px auto;max-width:560px;
    font-style:italic;color:#33060e;
    font-size:clamp(.85rem,2.2vw,.95rem);line-height:2;
    box-shadow:0 4px 20px rgba(122,30,48,.08);}
.quote-ref{font-style:normal;font-weight:700;color:#4a0010;margin-top:10px;display:block;font-size:.82rem;letter-spacing:.5px;}

/* ══ SECTION 3: EVENT ══ */
#event{background:linear-gradient(145deg,#0a0102 0%,#1e0509 60%,#110304 100%);}
#event::before{content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 60% 40% at 50% 50%,rgba(122,30,48,.18) 0%,transparent 70%);}
.event-cards{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    margin:34px auto;max-width:660px;
    border:1px solid rgba(201,162,39,.16);
    border-radius:var(--radius-lg);overflow:hidden;
    box-shadow:0 16px 48px rgba(0,0,0,.5),inset 0 1px 0 rgba(201,162,39,.05);}
.event-card{
    padding:clamp(18px,3.5vw,32px) clamp(12px,2.5vw,22px);
    text-align:center;
    background:rgba(30,5,9,.5);
    position:relative;transition:background var(--transition);}
.event-card:hover{background:rgba(40,8,14,.7);}
.event-card:not(:last-child){border-right:1px solid rgba(201,162,39,.12);}
.event-card-icon{font-size:clamp(1.5rem,3.5vw,2.1rem);color:var(--gold);margin-bottom:12px;opacity:.75;}
.event-card-label{font-size:clamp(.58rem,1.4vw,.7rem);text-transform:uppercase;letter-spacing:2.5px;color:var(--gold);opacity:.55;margin-bottom:7px;}
.event-card-main{font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--gold);font-family:var(--font-heading);font-weight:600;margin-bottom:4px;}
.event-card-value{font-size:clamp(.78rem,2vw,.92rem);color:rgba(236,218,184,.75);line-height:1.6;font-weight:400;}

/* ══ SECTION 4: HAJAT ══ */
#hajat{background:linear-gradient(160deg,#f5ede0 0%,#f0e2cc 100%);}
#hajat .sec-title{color:#4a0010;}
#hajat .sec-ornament{color:#7a1e30;opacity:.5;}
#hajat .sec-label{color:#7a1e30;}
.hajat-list{list-style:none;max-width:520px;margin:0 auto;}
.hajat-list li{
    padding:14px 22px;margin-bottom:10px;
    background:rgba(255,255,255,.7);
    border-left:3px solid #7a1e30;
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
    color:#1e0509;font-size:clamp(.85rem,2.2vw,.95rem);
    box-shadow:0 2px 12px rgba(122,30,48,.06);
    transition:transform var(--transition),box-shadow var(--transition);}
.hajat-list li:hover{transform:translateX(4px);box-shadow:0 4px 18px rgba(122,30,48,.1);}

/* ══ SECTION 5: RSVP & LOKASI ══ */
#rsvp{background:linear-gradient(155deg,#f7efe3 0%,#ede0cc 100%);}
#rsvp::before{content:'';position:absolute;inset:0;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg transform='translate(40,38)' opacity='0.04'%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(0)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(72)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(144)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(216)'/%3E%3Cellipse cx='0' cy='-18' rx='6' ry='11' fill='%237a1e30' transform='rotate(288)'/%3E%3Ccircle r='5' fill='%237a1e30'/%3E%3C/g%3E%3C/svg%3E");
    background-size:80px 80px;}
#rsvp .sec-title{color:#4a0010;}
#rsvp .sec-label{color:#7a1e30;}
#rsvp .sec-ornament{color:#7a1e30;opacity:.5;}
.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}

/* RSVP form */
.rsvp-form-wrap{
    background:rgba(255,255,255,.75);
    border:1px solid rgba(122,30,48,.12);
    border-radius:var(--radius-lg);
    padding:clamp(18px,3.5vw,28px);
    box-shadow:0 8px 32px rgba(122,30,48,.08);}
.rsvp-form-wrap h5{color:#4a0010;font-size:clamp(.78rem,2vw,.88rem);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:18px;font-weight:600;}
.form-field{margin-bottom:13px;}
.form-field input,.form-field select,.form-field textarea{
    width:100%;padding:11px 14px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(122,30,48,.18);
    border-radius:var(--radius-sm);
    font-family:var(--font-body);font-size:.88rem;color:#1e0509;
    transition:border-color var(--transition),box-shadow var(--transition);outline:none;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
    border-color:#7a1e30;box-shadow:0 0 0 3px rgba(122,30,48,.1);}
.form-field textarea{resize:none;}
.btn-rsvp{
    width:100%;padding:12px;
    background:linear-gradient(135deg,#4a0010,#7a1e30 50%,#9b2540);
    color:var(--gold-pale);border:none;
    border-radius:var(--radius-sm);
    font-family:var(--font-body);font-size:.9rem;
    cursor:pointer;transition:all var(--transition);letter-spacing:.5px;
    box-shadow:0 4px 16px rgba(122,30,48,.3);}
.btn-rsvp:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(122,30,48,.45);}
.wishes-list{max-height:150px;overflow-y:auto;margin-top:14px;}
.wish-item{padding:10px 13px;background:rgba(255,255,255,.6);border-radius:var(--radius-sm);margin-bottom:8px;border-left:3px solid #7a1e30;font-size:.82rem;color:#1e0509;}
.wish-item .wish-name{font-weight:700;color:#4a0010;margin-bottom:3px;}
.wish-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.63rem;margin-left:6px;}

/* RSVP map side */
.map-sec-title{color:#4a0010;font-size:clamp(.78rem,2vw,.88rem);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px;font-weight:600;}
.map-wrap{border-radius:var(--radius-md);overflow:hidden;border:2px solid rgba(122,30,48,.18);box-shadow:0 6px 24px rgba(0,0,0,.1);margin-bottom:14px;}
.map-wrap iframe{display:block;width:100%;height:210px;border:none;}
.btn-maps{
    display:block;text-align:center;padding:11px;
    background:linear-gradient(135deg,#4a0010,#7a1e30);
    color:var(--gold-pale);border-radius:var(--radius-sm);
    text-decoration:none;font-size:.88rem;
    transition:all var(--transition);
    box-shadow:0 4px 16px rgba(122,30,48,.3);}
.btn-maps:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(122,30,48,.45);}

/* ── KADO DIGITAL ── */
.kado-section{margin-top:30px;}
.kado-section-header{
    display:flex;align-items:center;gap:13px;margin-bottom:18px;
    padding:13px 18px;
    background:linear-gradient(135deg,rgba(74,0,16,.07),rgba(122,30,48,.04));
    border-radius:var(--radius-sm);border-left:3px solid #7a1e30;}
.kado-section-header>.fas{font-size:1.4rem;color:#7a1e30;flex-shrink:0;}
.kado-title{color:#4a0010;font-size:clamp(.8rem,2vw,.9rem);letter-spacing:1px;font-weight:700;margin:0 0 2px;text-transform:uppercase;}
.kado-subtitle{font-size:.73rem;color:rgba(74,0,16,.5);margin:0;}
.kado-card-v2{
    background:#fff;border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);
    border:1px solid rgba(0,0,0,.05);
    transition:transform var(--transition),box-shadow var(--transition);}
.kado-card-v2:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.12);}
.kado-card-accent{height:4px;width:100%;}
.kado-card-body{display:flex;align-items:center;gap:14px;padding:14px 16px 10px;}
.kado-bank-logo{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.15);}
.kado-card-info{flex:1;}
.kado-bank-name{font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin:0 0 3px;}
.kado-number{font-family:'Courier New',monospace;font-size:clamp(1.05rem,2.8vw,1.22rem);font-weight:800;letter-spacing:3px;color:#1a0508;margin:3px 0 4px;}
.kado-name{font-size:.77rem;color:#777;margin:0;}
.kado-name strong{color:#333;}
.btn-copy-v2{
    display:flex;align-items:center;justify-content:center;gap:7px;
    width:calc(100% - 32px);margin:0 16px 14px;padding:9px;
    background:var(--btn-color,#7a1e30);color:#fff;border:none;
    border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;
    cursor:pointer;letter-spacing:.5px;transition:all .25s;opacity:.88;}
.btn-copy-v2:hover{opacity:1;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.18);}
.btn-copy-v2.copied{opacity:1;filter:brightness(1.15);}

/* ══ FOOTER ══ */
footer{
    background:linear-gradient(180deg,#0a0102 0%,#040001 100%);
    padding:50px 0 80px;text-align:center;position:relative;}
footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:200px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.3),transparent);}
.footer-quote{font-style:italic;color:rgba(236,218,184,.5);font-size:clamp(.82rem,2vw,.9rem);max-width:460px;margin:0 auto 18px;line-height:1.9;}
.footer-quote strong{color:var(--gold);}
.footer-credit{font-size:.73rem;color:rgba(201,162,39,.35);letter-spacing:1.5px;}

/* ══ ANIMATIONS ══ */
.fade-up{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.4,0,.2,1);}
.fade-up.vis{opacity:1;transform:none;}
.fade-left{opacity:0;transform:translateX(-32px);transition:opacity .85s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.4,0,.2,1);}
.fade-left.vis{opacity:1;transform:none;}
.fade-right{opacity:0;transform:translateX(32px);transition:opacity .85s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.4,0,.2,1);}
.fade-right.vis{opacity:1;transform:none;}
.delay-1{transition-delay:.12s;}
.delay-2{transition-delay:.24s;}
.delay-3{transition-delay:.36s;}
.delay-4{transition-delay:.48s;}

/* ══ FLOATING ROSE ORNAMENTS ══ */
.rose-corner{position:absolute;pointer-events:none;z-index:0;opacity:.06;font-size:clamp(80px,20vw,180px);line-height:1;color:var(--gold);user-select:none;}

/* ══ GOLD DIVIDER ══ */
.gold-divider{display:flex;align-items:center;gap:10px;margin:0 auto 28px;max-width:280px;color:var(--gold);opacity:.35;}
.gold-divider::before,.gold-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.gold-divider span{font-size:.9rem;white-space:nowrap;}

/* ══ LOVE STORY TIMELINE ══ */
#love-story{background:linear-gradient(165deg,#0a0102 0%,#1e0509 55%,#0e0204 100%);}
#love-story::before{content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(122,30,48,.12) 0%,transparent 70%);}
.tl-center{position:relative;max-width:500px;margin:36px auto 0;padding:0 0 10px;}
.tl-center-line{position:absolute;left:50%;transform:translateX(-50%);top:0;bottom:0;width:1px;
    background:linear-gradient(180deg,transparent,rgba(201,162,39,.3) 12%,rgba(201,162,39,.3) 88%,transparent);
    pointer-events:none;}
.tlc-item{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:40px;position:relative;z-index:1;}
.tlc-dot{
    width:52px;height:52px;border-radius:50%;
    background:linear-gradient(135deg,#5a1220,#7a1e30);
    border:2px solid rgba(201,162,39,.35);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);font-size:.95rem;
    box-shadow:0 0 0 6px rgba(201,162,39,.05),0 6px 20px rgba(0,0,0,.45);
    margin-bottom:16px;flex-shrink:0;
    transition:transform var(--transition);}
.tlc-item:hover .tlc-dot{transform:scale(1.08);}
.tlc-card{
    background:rgba(22,3,6,.65);
    border:1px solid rgba(201,162,39,.13);
    border-radius:var(--radius-md);
    padding:18px 26px;max-width:330px;
    backdrop-filter:blur(10px);
    box-shadow:0 8px 28px rgba(0,0,0,.35);
    transition:transform var(--transition),border-color var(--transition);}
.tlc-item:hover .tlc-card{transform:translateY(-3px);border-color:rgba(201,162,39,.22);}
.tlc-year{display:block;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.65;margin-bottom:6px;font-family:var(--font-heading);}
.tlc-title{font-family:var(--font-heading);font-size:clamp(1rem,2.5vw,1.12rem);color:var(--gold-light);font-weight:600;margin:0 0 8px;}
.tlc-desc{font-size:clamp(.8rem,2vw,.87rem);color:rgba(236,218,184,.6);line-height:1.8;margin:0;}

/* ══ ADD TO CALENDAR ══ */
.cal-btn-wrap{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px;}
.btn-cal{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 20px;border-radius:28px;font-size:.82rem;font-weight:600;
    cursor:pointer;border:none;text-decoration:none;
    transition:all var(--transition);letter-spacing:.3px;}
.btn-cal.gcal{background:linear-gradient(135deg,#1a73e8,#4285f4);color:#fff;box-shadow:0 4px 16px rgba(26,115,232,.3);}
.btn-cal.gcal:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,115,232,.4);}
.btn-cal.ical{background:linear-gradient(135deg,#3a3a3a,#5a5a5a);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2);}
.btn-cal.ical:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);}

/* ══ FLOATING SHARE ══ */
.share-fab{position:fixed;bottom:72px;right:18px;z-index:998;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.share-main-btn{
    width:50px;height:50px;border-radius:50%;
    background:linear-gradient(135deg,#7a1e30,#4a0010);
    color:var(--gold);border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
    box-shadow:0 6px 20px rgba(0,0,0,.4);transition:all var(--transition);}
.share-main-btn:hover{transform:scale(1.1);box-shadow:0 8px 28px rgba(122,30,48,.5);}
.share-options{display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(12px);pointer-events:none;transition:all var(--transition);}
.share-options.open{opacity:1;transform:none;pointer-events:auto;}
.share-opt-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:24px;border:none;cursor:pointer;font-size:.8rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform var(--transition);}
.share-opt-btn:hover{transform:translateX(-4px);}
.share-opt-btn.wa{background:#25D366;color:#fff;}
.share-opt-btn.copy-link{background:#fff;color:#333;}

/* ══ POST EVENT OVERLAY ══ */
.post-event-overlay{position:fixed;inset:0;z-index:10000;
    background:radial-gradient(ellipse 90% 70% at 50% 10%,#2a0710 0%,#0a0102 70%);
    display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;}
.post-event-card{max-width:420px;padding:44px 36px;
    border:1px solid rgba(201,162,39,.22);border-radius:24px;
    background:rgba(20,3,7,.75);backdrop-filter:blur(16px);
    box-shadow:0 30px 80px rgba(0,0,0,.6);}
.post-event-emoji{font-size:3rem;margin-bottom:18px;}
.post-event-title{font-family:var(--font-heading);font-size:clamp(1.4rem,4vw,1.9rem);color:var(--gold);margin-bottom:10px;}
.post-event-desc{color:rgba(236,218,184,.7);font-size:clamp(.85rem,2vw,.95rem);line-height:1.85;margin-bottom:22px;}
.post-event-names{font-family:var(--font-script);font-size:clamp(1.9rem,5vw,2.6rem);
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    display:block;margin-bottom:8px;}

/* ══ RESPONSIVE ══ */
@media(max-width:600px){
    .rsvp-grid{grid-template-columns:1fr;}
    .event-cards{grid-template-columns:1fr;border-radius:var(--radius-md);}
    .event-card:not(:last-child){border-right:none;border-bottom:1px solid rgba(201,162,39,.12);}
    .section{padding:64px 0;}
    .tlc-card{max-width:290px;}
    .btn-cal{padding:9px 16px;font-size:.78rem;}
}
@media(max-width:380px){
    .countdown-grid{gap:7px;}
    .cd-box{min-width:62px;padding:11px 8px;}
    .top-nav a{font-size:.56rem;letter-spacing:1px;}
    .tlc-card{max-width:250px;padding:13px 15px;}
    .cover-inner{padding:30px 20px;}
}
