/* ==========================================================
   DeInvite — Tema "Tirai Ruby"
   Tirai beludru merah delima yang tersibak saat undangan dibuka,
   lalu halaman gading dengan aksen ruby & emas sampanye.
   Sederhana: tanpa taburan/partikel, hanya tirai pembuka.
   ========================================================== */
.t-tirairuby {
    --bg: #fbf6ef; --bg-2: #f5ece0; --card: #fffdf9; --ink: #3b0d14; --muted: #7a5b5f;
    --accent: #9b111e; --accent-2: #b98d4e; --on-accent: #fffaf2; --line: rgba(185,141,78,.38);
    --hero-rgb: 251,246,239; --tint-a: .86; --hero-ink: #3b0d14;
    --velvet:
        linear-gradient(180deg, rgba(0,0,0,.38), transparent 22%, transparent 70%, rgba(0,0,0,.42)),
        repeating-linear-gradient(90deg, #4f0610 0, #7d0c19 14px, #b1172a 26px, #c42236 31px, #9b111e 40px, #6a0913 52px, #4f0610 60px);
    color-scheme: light;
}

/* Huruf: Pinyon Script untuk nama, Italiana untuk judul, Cormorant untuk teks */
.t-tirairuby .names { font-family: 'Pinyon Script', 'Great Vibes', cursive; font-weight: 400; color: var(--accent); }
.t-tirairuby .names i { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: .5em; color: var(--accent-2); vertical-align: middle; }
.t-tirairuby .cover .names { font-size: clamp(2.9rem, 12vw, 4.3rem); line-height: 1.2; color: #f6e3bb; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.t-tirairuby .names--md { color: var(--accent); }
.t-tirairuby .kicker { font-family: 'Italiana', serif; font-size: .78rem; letter-spacing: .38em; color: var(--accent-2); }
.t-tirairuby .sec__title { font-family: 'Italiana', serif; font-weight: 400; font-size: 1.9rem; letter-spacing: .06em; color: var(--accent); }
.t-tirairuby .sec__title::after { content: ''; display: block; width: 200px; height: 18px; margin: .5rem auto 0; background: url(../../img/themes/tirairuby/pembatas.svg) center / contain no-repeat; }
.t-tirairuby .cover__date, .t-tirairuby .hero__date, .t-tirairuby .aside__date, .t-tirairuby .thanks, .t-tirairuby .countdown__date { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; color: var(--accent-2); }
.t-tirairuby .cover__to strong { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: 1.15rem; }
.t-tirairuby .quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; line-height: 1.75; color: var(--ink); }

/* ---- Sampul: tirai beludru tertutup + lambrekin; tersibak ke samping saat dibuka ---- */
.t-tirairuby .cover { background: var(--velvet) !important; color: #f8ead6; }
.t-tirairuby .am-panel::before { background: var(--velvet); }
.t-tirairuby .am-panel::after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 18px; background: linear-gradient(90deg, transparent, rgba(0,0,0,.35)); }
.t-tirairuby .am-panel--b::after { right: auto; left: 0; background: linear-gradient(-90deg, transparent, rgba(0,0,0,.35)); }
.t-tirairuby .am-panel { transition-duration: 1.4s; }
.t-tirairuby .cover .tm-frame::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: clamp(54px, 13vw, 84px); background: url(../../img/themes/tirairuby/lambrekin.svg) top / 100% 100% no-repeat; filter: drop-shadow(0 8px 10px rgba(0,0,0,.35)); }
.t-tirairuby .cover::before, .t-tirairuby .cover::after { display: none; }
.t-tirairuby .cover__inner { position: relative; width: min(300px, calc(100vw - 72px)); gap: .55rem; padding: 2.4rem 1.2rem 2rem; color: #f8ead6;
    background: radial-gradient(ellipse at 50% 40%, rgba(40,4,9,.62), rgba(40,4,9,.82) 70%);
    border-radius: 50% / 42%; box-shadow: 0 0 0 1px rgba(231,200,143,.55), 0 0 0 7px rgba(40,4,9,.35), 0 0 0 8px rgba(231,200,143,.3), 0 30px 60px -24px rgba(0,0,0,.8); }
.t-tirairuby .cover .kicker, .t-tirairuby .cover__date { color: #e7c88f; }
.t-tirairuby .cover__to small { color: rgba(248,234,214,.78); }
.t-tirairuby .cover__to strong { color: #fff6e6; }
@media (min-width: 960px) { .t-tirairuby .cover__inner { width: 340px; } }
@media (max-height: 700px) { .t-tirairuby .cover__inner { padding-top: 1.6rem; padding-bottom: 1.4rem; gap: .4rem; } }
.t-tirairuby .cover .tm-house { display: none; }           /* sampul cukup tirai + bingkai oval */
.t-tirairuby .tm-band { display: none; }
.t-tirairuby .tm-frame { z-index: 1; }
.t-tirairuby .tm-corner { width: clamp(48px, 13vw, 78px); opacity: .85; }
.t-tirairuby .cover .tm-corner { display: none; }
.t-tirairuby .tm-house { filter: none; }
.t-tirairuby .hero .tm-house { width: min(150px, 42vw); }
.t-tirairuby .aside .tm-house { width: 170px; }
.t-tirairuby .tm-house--sm { width: 120px; }

/* Pembuka & panel kiri: gading lembut dengan pita tirai tipis di kedua sisi */
.t-tirairuby .hero, .t-tirairuby .aside {
    overflow: hidden;
    background:
        linear-gradient(var(--hero-tint), var(--hero-tint)),
        var(--cover, none) center / cover no-repeat,
        radial-gradient(ellipse at 50% 40%, #fffdf9, var(--bg) 70%);
}
.t-tirairuby .hero::before, .t-tirairuby .aside::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 16px; background: var(--velvet); opacity: .9; pointer-events: none; }
.t-tirairuby .hero::after, .t-tirairuby .aside::after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 16px; background: var(--velvet); opacity: .9; pointer-events: none; }
.t-tirairuby .hero__inner, .t-tirairuby .aside__inner { position: relative; z-index: 1; }
.t-tirairuby .sec--tint { background: var(--bg-2); }

/* Kartu gading bergaris emas tipis, aksen ruby */
.t-tirairuby .event, .t-tirairuby .gift, .t-tirairuby .rsvp, .t-tirairuby .wish, .t-tirairuby .qr-card, .t-tirairuby .lstory__card, .t-tirairuby .evinfo__dc, .t-tirairuby .gaddr, .t-tirairuby .glist__item {
    border-radius: 14px; border: 1px solid var(--line); background: var(--card);
    box-shadow: inset 0 0 0 4px var(--card), inset 0 0 0 5px rgba(185,141,78,.18), 0 18px 34px -26px rgba(59,13,20,.45);
}
.t-tirairuby .event { border-top: 3px solid var(--accent); }
.t-tirairuby .event h3 { font-family: 'Italiana', serif; font-size: 1.6rem; letter-spacing: .04em; color: var(--accent); }
.t-tirairuby .countdown div { border-radius: 12px; background: var(--card); border-color: var(--line); box-shadow: inset 0 -3px 0 rgba(155,17,30,.75); }
.t-tirairuby .countdown b { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--accent); }
.t-tirairuby .ibtn { border-radius: 999px; letter-spacing: .03em; }
.t-tirairuby .ibtn--solid { background: linear-gradient(180deg, #b8172a, #86101c); color: #fff6e6; border-color: #b8172a; box-shadow: 0 10px 22px -12px rgba(155,17,30,.8); }
.t-tirairuby .cover .ibtn--solid { background: linear-gradient(180deg, #f6e3bb, #d7ad6b); color: #4a0710; border-color: #f6e3bb; box-shadow: 0 10px 24px -12px rgba(0,0,0,.7); }
.t-tirairuby .gslider, .t-tirairuby .gallery__item { border-radius: 12px; }
.t-tirairuby .divider { background: var(--accent-2); height: 1px; }
.t-tirairuby .amp { font-family: 'Pinyon Script', cursive; color: var(--accent-2); }
.t-tirairuby .pframe, .t-tirairuby .person__photo { border-radius: 50% / 44%; box-shadow: 0 0 0 1.5px var(--accent-2), 0 0 0 7px var(--bg), 0 0 0 8px rgba(155,17,30,.45); }
.t-tirairuby .ifoot { border-top: 1px solid var(--line); }
