/* ==========================================================
   DInvite — Tema "Palembang Songket" (adat beranimasi)
   Marun & emas songket. Kain songket tergulung ke atas saat dibuka,
   teratai emas yang mekar, Rumah Limas, kilau benang emas yang melintas,
   dan kilau emas berjatuhan.
   ========================================================== */
.t-songket {
    --bg: #46091a; --bg-2: #3a0714; --card: #2e0610; --ink: #fbeacb; --muted: #e0c08e;
    --accent: #e0b45a; --accent-2: #f7d98d; --on-accent: #3a0812; --line: rgba(224,180,90,.36);
    --hero-rgb: 70,10,24; --tint-a: .86; --hero-ink: #fbe9c4;
    color-scheme: dark;
}
@keyframes sgRise { from { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes sgSheen { 0% { background-position: -150% 0; } 100% { background-position: 250% 0; } }
@keyframes sgShine { 0%, 60% { transform: translateX(-120%) skewX(-18deg); } 100% { transform: translateX(220%) skewX(-18deg); } }

.t-songket .am-panel::before { background: url(../../img/themes/songket/kain.svg) center bottom / auto 100% repeat-x, #5b0e1d; }
/* kilau benang emas melintas di atas kain songket */
.t-songket .am-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255,233,170,.22) 50%, transparent 65%) 0 0 / 260% 100% no-repeat; animation: sgSheen 5s linear infinite; pointer-events: none; }

/* Huruf */
.t-songket .names { font-family: 'Great Vibes', cursive; font-weight: 400; color: var(--accent-2); text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.t-songket .names i { font-family: 'Cinzel', serif; font-style: normal; font-size: .4em; color: var(--accent); vertical-align: middle; }
.t-songket .cover .names { font-size: clamp(3.2rem, 13vw, 4.8rem); line-height: 1.2; }
.t-songket .names--md { color: var(--accent-2); }
.t-songket .kicker { font-family: 'Cinzel', serif; font-weight: 600; letter-spacing: .34em; color: var(--accent); }
.t-songket .sec__title { font-family: 'Cinzel', serif; font-weight: 600; font-size: 1.42rem; letter-spacing: .07em; color: var(--accent-2); }
.t-songket .sec__title::after { content: ''; display: block; width: 210px; height: 42px; margin: .5rem auto 0; background: url(../../img/themes/songket/pembatas.svg) center / contain no-repeat; }
.t-songket .reveal .sec__title::after { opacity: 0; transform: scale(.4) rotate(-30deg); transition: opacity 1s ease .3s, transform 1.3s cubic-bezier(.2,.8,.2,1) .3s; }
.t-songket .reveal.is-visible .sec__title::after { opacity: 1; transform: none; }
.t-songket .cover__date, .t-songket .hero__date, .t-songket .aside__date, .t-songket .thanks, .t-songket .countdown__date { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; }
.t-songket .cover__to strong { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--accent-2); }
.t-songket .quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.22rem; line-height: 1.75; }

/* Sampul: kain songket, teratai, pita pucuk rebung */
.t-songket .tm-band { background-image: url(../../img/themes/songket/pita.svg); background-size: 40px 18px; z-index: 1; }
.t-songket .tm-frame { z-index: 1; }
.t-songket .tm-corner { width: clamp(60px, 16vw, 100px); top: 22px; }
.t-songket .tm-corner--bl, .t-songket .tm-corner--br { top: auto; bottom: 22px; }
.t-songket .cover::before { inset: 24px; border: 1.5px solid var(--line); border-radius: 0; z-index: 1; }
.t-songket .cover::after { display: none; }
.t-songket .cover__inner { padding: 1.5rem 1.2rem; border-radius: 24px; background: radial-gradient(ellipse at center, rgba(46,6,16,.88) 0%, rgba(46,6,16,.74) 55%, rgba(46,6,16,0) 80%); }
.t-songket .tm-house { filter: drop-shadow(0 16px 26px rgba(0,0,0,.6)); }
.t-songket .cover .tm-house { width: min(200px, 54vw); animation: sgRise 1.3s ease both; }
.t-songket .hero .tm-house { width: min(250px, 66vw); }
.t-songket .aside .tm-house { width: 300px; }
.t-songket .tm-house--sm { width: 150px; }
.t-songket .cover .kicker { animation: sgRise 1.1s ease .5s both; }
.t-songket .cover .names { animation: sgRise 1.2s ease .7s both; }
.t-songket .cover__date { animation: sgRise 1.1s ease .9s both; }
.t-songket .cover__to { animation: sgRise 1.1s ease 1.1s both; }
.t-songket .cover .ibtn { animation: sgRise 1.1s ease 1.3s both; }
.t-songket .hero, .t-songket .aside {
    background: radial-gradient(ellipse at 50% 40%, rgba(247,217,141,calc(var(--tint-a) * .14)), transparent 60%),
        linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, var(--bg);
    overflow: hidden;
}
.t-songket .sec--tint { background-color: var(--bg-2); background-image: url(../../img/themes/songket/pola.svg); background-size: 60px 60px; }

/* Kartu: marun bergaris emas dengan pinggiran pucuk rebung */
.t-songket .event, .t-songket .gift, .t-songket .rsvp, .t-songket .wish, .t-songket .qr-card, .t-songket .lstory__card {
    border-radius: 4px; border: 1px solid var(--line); background: var(--card);
    box-shadow: inset 0 0 0 4px var(--card), inset 0 0 0 5px rgba(224,180,90,.24), 0 18px 34px -20px rgba(0,0,0,.85);
}
.t-songket .event { position: relative; overflow: hidden; padding-top: 2.6rem; }
.t-songket .event::before { inset: 0 0 auto; height: 18px; border: 0; border-radius: 0; background: url(../../img/themes/songket/pita.svg) 0 0 / 40px 18px repeat-x; opacity: .95; }
.t-songket .event::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(247,217,141,.14), transparent); animation: sgShine 7s ease-in-out infinite; pointer-events: none; }
.t-songket .event h3 { font-family: 'Cinzel', serif; font-weight: 600; font-size: 1.35rem; letter-spacing: .06em; color: var(--accent-2); }
.t-songket .reveal .event, .t-songket .reveal .gift, .t-songket .reveal .person { opacity: 0; transform: translateY(24px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.t-songket .reveal.is-visible .event, .t-songket .reveal.is-visible .gift, .t-songket .reveal.is-visible .person { opacity: 1; transform: none; }
.t-songket .reveal.is-visible .event:nth-child(2), .t-songket .reveal.is-visible .gift:nth-child(2), .t-songket .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-songket .countdown div { border-radius: 4px; background: #2a050e; border-color: var(--line); box-shadow: inset 0 -3px 0 rgba(224,180,90,.55); }
.t-songket .countdown b { font-family: 'Cinzel', serif; color: var(--accent-2); }
.t-songket .divider { background: var(--accent); }

.t-songket .ibtn { border-radius: 4px; border-width: 1.5px; }
.t-songket .ibtn--solid { position: relative; overflow: hidden; background: linear-gradient(180deg, #f7d98d, #c6913a); color: #3a0812; border-color: #f7d98d; box-shadow: 0 10px 26px -12px rgba(224,180,90,.85); }
.t-songket .ibtn--solid::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.65), transparent); animation: sgShine 4.5s ease-in-out infinite 1.5s; pointer-events: none; }
.t-songket .ibtn--solid:hover { background: linear-gradient(180deg, #ffe7ad, #d8a44a); color: #3a0812; }

.t-songket .pframe::before { border-color: var(--accent); border-width: 1.5px; }
.t-songket .lstory__dot { box-shadow: 0 0 0 4px var(--bg), 0 0 14px 2px rgba(247,217,141,.5); }
.t-songket .lstory__title { font-family: 'Cinzel', serif; font-size: 1.15rem; letter-spacing: .04em; color: var(--accent-2); }
.t-songket .gslider, .t-songket .gallery__item { border-radius: 4px; box-shadow: 0 0 0 1px var(--line); }
.t-songket .amp { font-family: 'Great Vibes', cursive; color: var(--accent); }
.t-songket .music { border-radius: 4px; }
.t-songket .ifoot { border-top: 0; background: url(../../img/themes/songket/pita.svg) top / 40px 18px repeat-x; padding-top: 2.6rem; }

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