/* ==========================================================
   DInvite — Tema "Taman Bintang" (koleksi Alam)
   Biru tengah malam & emas. Pembuka: pintu peta bintang yang terbuka,
   medali langit dengan rasi bintang tergambar, fase bulan, bintang
   gantung berayun, bintang jatuh melintas, dan kilau berjatuhan.
   Gerak dimatikan otomatis bila perangkat meminta gerak minimal.
   ========================================================== */
.t-bintang {
    --bg: #0e1533; --bg-2: #131c40; --card: rgba(23,32,72,.82); --ink: #efe6cf; --muted: #b7b9d3;
    --accent: #d4b06a; --accent-2: #f6e2a8; --on-accent: #0e1533; --line: rgba(212,176,106,.3);
    --hero-rgb: 14,21,51; --tint-a: .84; --hero-ink: #f6ead0;
    --pattern: url(../../img/themes/bintang/pola.svg) 0 0 / 64px 64px;
    --am-seam: linear-gradient(#f6e2a8, #a7843f, #f6e2a8);
    color-scheme: dark;
}
@keyframes bnRise { from { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes bnFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes bnShoot { 0%, 78% { opacity: 0; transform: translate(0, 0) rotate(-28deg); } 80% { opacity: 1; } 100% { opacity: 0; transform: translate(-70vw, 36vw) rotate(-28deg); } }
@keyframes bnGlow { 0%, 100% { text-shadow: 0 0 10px rgba(246,226,168,.2); } 50% { text-shadow: 0 0 22px rgba(246,226,168,.55); } }

.t-bintang .names { font-family: 'Great Vibes', cursive; font-weight: 400; color: var(--accent-2); animation: bnGlow 5s ease-in-out infinite; }
.t-bintang .names i { font-family: 'Marcellus', serif; font-style: normal; font-size: .38em; color: var(--accent); vertical-align: middle; }
.t-bintang .cover .names { font-size: clamp(3.1rem, 13vw, 4.6rem); line-height: 1.15; }
.t-bintang .names--md { color: var(--accent-2); animation: none; }
.t-bintang .kicker { font-family: 'Marcellus', serif; letter-spacing: .4em; color: var(--accent); }
.t-bintang .sec__title { font-family: 'Marcellus', serif; font-weight: 400; font-size: 1.7rem; letter-spacing: .12em; color: var(--accent-2); }
.t-bintang .sec__title::after { content: ''; display: block; width: 220px; height: 36px; margin: .45rem auto 0; background: url(../../img/themes/bintang/pembatas.svg) center / contain no-repeat; }
.t-bintang .reveal .sec__title::after { transform: scaleX(.2); opacity: 0; transition: transform 1.2s cubic-bezier(.2,.7,.2,1) .25s, opacity 1s ease .25s; }
.t-bintang .reveal.is-visible .sec__title::after { transform: none; opacity: 1; }
.t-bintang .cover__date, .t-bintang .hero__date, .t-bintang .aside__date, .t-bintang .countdown__date, .t-bintang .thanks { font-family: 'Marcellus', serif; font-style: normal; letter-spacing: .14em; color: var(--accent-2); }
.t-bintang .cover__to strong { font-family: 'Marcellus', serif; font-weight: 400; color: var(--accent-2); }
.t-bintang .quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; line-height: 1.75; }

/* Langit: bintang samar + bintang jatuh di sampul & bagian pembuka */
.t-bintang .am-panel::before { background: url(../../img/themes/bintang/petabintang.svg) right center / auto 100% no-repeat, #0c1430; }
.t-bintang .cover, .t-bintang .hero, .t-bintang .aside {
    background: radial-gradient(ellipse at 50% 30%, rgba(52,72,150,.45), transparent 62%), var(--pattern),
        linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, var(--bg);
    overflow: hidden;
}
.t-bintang .hero::after, .t-bintang .aside::after { content: ''; position: absolute; top: 12%; right: -10%; width: 160px; height: 2px; pointer-events: none;
    background: linear-gradient(90deg, rgba(246,226,168,0), #fff6d8); border-radius: 2px; filter: drop-shadow(0 0 6px #f6e2a8); animation: bnShoot 7s ease-in 2s infinite; }
.t-bintang .cover::before { inset: 18px; border: 1px solid var(--line); border-radius: 200px 200px 14px 14px; z-index: 1; }
.t-bintang .cover::after { inset: 26px; border: 1px dashed rgba(212,176,106,.2); border-radius: 190px 190px 10px 10px; z-index: 1; opacity: 1; }
.t-bintang .cover__inner { padding: 1.4rem 1.2rem; border-radius: 26px; background: radial-gradient(ellipse at center, rgba(12,18,44,.9) 0%, rgba(12,18,44,.72) 55%, rgba(12,18,44,0) 78%); }
.t-bintang .tm-band { display: none; }
.t-bintang .tm-corner { width: clamp(60px, 17vw, 100px); }
.t-bintang .tm-frame { z-index: 1; }
.t-bintang .cover .tm-house { width: min(150px, 40vw); animation: bnRise 1.4s ease both, bnFloat 6s ease-in-out 1.4s infinite; filter: drop-shadow(0 0 26px rgba(246,226,168,.25)); }
.t-bintang .hero .tm-house { width: min(280px, 76vw); filter: none; }
.t-bintang .aside .tm-house { width: 320px; filter: none; }
.t-bintang .tm-house--sm { width: 110px; }
.t-bintang .am-garland { height: clamp(56px, 18vw, 92px); background-size: auto 100%; }
.t-bintang .cover .kicker { animation: bnRise 1.1s ease .35s both; }
.t-bintang .cover .names { animation: bnRise 1.2s ease .55s both, bnGlow 5s ease-in-out 2s infinite; }
.t-bintang .cover__date { animation: bnRise 1.1s ease .8s both; }
.t-bintang .cover__to { animation: bnRise 1.1s ease 1s both; }
.t-bintang .cover .ibtn { animation: bnRise 1.1s ease 1.2s both; }

/* Kartu kaca biru tua bergaris emas, lengkung atas seperti kubah langit */
.t-bintang .event, .t-bintang .gift, .t-bintang .rsvp, .t-bintang .wish, .t-bintang .qr-card, .t-bintang .lstory__card {
    border-radius: 14px; border: 1px solid var(--line); background: var(--card);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 18px 34px -22px rgba(0,0,0,.8);
}
.t-bintang .event { border-radius: 140px 140px 14px 14px; padding-top: 2.6rem; }
.t-bintang .event::before { inset: 8px; border: 1px dashed rgba(212,176,106,.22); border-radius: 132px 132px 8px 8px; }
.t-bintang .event h3 { font-family: 'Marcellus', serif; font-weight: 400; font-size: 1.45rem; letter-spacing: .06em; color: var(--accent-2); }
.t-bintang .reveal .event, .t-bintang .reveal .gift, .t-bintang .reveal .person { opacity: 0; transform: translateY(22px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.t-bintang .reveal.is-visible .event, .t-bintang .reveal.is-visible .gift, .t-bintang .reveal.is-visible .person { opacity: 1; transform: none; }
.t-bintang .reveal.is-visible .event:nth-child(2), .t-bintang .reveal.is-visible .gift:nth-child(2), .t-bintang .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-bintang .countdown div { border-radius: 50%; aspect-ratio: 1; display: grid; place-content: center; padding: 0; background: rgba(23,32,72,.8); border-color: var(--line); box-shadow: inset 0 0 14px rgba(246,226,168,.1); }
.t-bintang .countdown b { font-family: 'Marcellus', serif; color: var(--accent-2); }
.t-bintang .divider { background: var(--accent); }
.t-bintang .ibtn { border-radius: 999px; }
.t-bintang .ibtn--solid { background: linear-gradient(180deg, #f3dc9f, #c09a52); border-color: #f6e2a8; color: #0e1533; box-shadow: 0 0 22px -6px rgba(246,226,168,.6); }
.t-bintang .ibtn--solid:hover { background: linear-gradient(180deg, #f9e8b8, #cfa95e); color: #0e1533; }
.t-bintang .pframe::before { border-color: var(--accent); }
.t-bintang .pframe::after { box-shadow: 0 0 0 4px var(--bg); }
.t-bintang .lstory__dot { box-shadow: 0 0 0 4px var(--bg), 0 0 14px 2px rgba(246,226,168,.55); }
.t-bintang .lstory__title, .t-bintang .tale__title { font-family: 'Marcellus', serif; color: var(--accent-2); }
.t-bintang .sec--tint { background-color: var(--bg-2); background-image: var(--pattern); }
.t-bintang .page { background-image: var(--pattern); }
.t-bintang .amp { font-family: 'Great Vibes', cursive; color: var(--accent); }
.t-bintang .ifoot { border-top: 1px solid var(--line); }

@media (prefers-reduced-motion: reduce) {
    .t-bintang .reveal .event, .t-bintang .reveal .gift, .t-bintang .reveal .person { opacity: 1; transform: none; }
    .t-bintang .reveal .sec__title::after { transform: none; opacity: 1; }
}
