/* ==========================================================
   DInvite — Tema "Lampung Siger" (Adat Premium)
   Merah marun beludru & emas Lampung. Ornamen hampir nyata (emas timbul
   berpermata, kain tapis bersulam benang emas) dirender sebagai WebP.
   Pembuka: kain tapis tersibak ke samping; siger miring halus mengikuti
   jari/kursor dengan kilau cahaya (relief.js), sinar emas berputar pelan,
   rumbai emas, dan kilau berjatuhan.
   Gerak dimatikan otomatis bila perangkat meminta gerak minimal.
   ========================================================== */
.t-lampung {
    --bg: #3d0911; --bg-2: #4a0c15; --card: #52101a; --ink: #fbeccb; --muted: #dcc29a;
    --accent: #e2b458; --accent-2: #f6dc94; --on-accent: #3d0911; --line: rgba(226,180,88,.38);
    --hero-rgb: 58,8,16; --tint-a: .86; --hero-ink: #fbeccb;
    --velvet: url(../../img/themes/lampung/beludru.webp) 0 0 / 256px 256px;
    --pattern: url(../../img/themes/lampung/pola.svg) 0 0 / 60px 60px;
    --tapis: url(../../img/themes/lampung/pita.webp) center / auto 100% repeat-x;
    --am-seam: linear-gradient(#f6dc94, #b5832c, #f6dc94);
    --gold-text: linear-gradient(100deg, #b98a35 0%, #f7e1a0 22%, #d9a647 40%, #fff2c4 50%, #c99635 62%, #f3d68a 80%, #b4842f 100%);
    color-scheme: dark;
}
@keyframes lpReveal { from { opacity: 0; filter: blur(10px) drop-shadow(0 2px 8px rgba(20,0,4,.55)); letter-spacing: .12em; transform: translateY(10px); } to { opacity: 1; filter: blur(0) drop-shadow(0 2px 8px rgba(20,0,4,.55)); transform: none; } }
@keyframes lpRise { from { opacity: 0; transform: translateY(26px) scale(.97); } }
@keyframes lpSheen { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@keyframes lpSpin { to { transform: rotate(1turn); } }
@keyframes lpGlow { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: .9; transform: scale(1.04); } }
@keyframes lpUnroll { from { clip-path: inset(0 50% 0 50%); } to { clip-path: inset(0 0 0 0); } }
@keyframes lpShine { 0%, 62% { transform: translateX(-120%) skewX(-18deg); } 100% { transform: translateX(240%) skewX(-18deg); } }

/* Huruf: nama bersambung berwarna emas berkilau, judul Cinzel Decorative */
.t-lampung .names { font-family: 'Pinyon Script', 'Great Vibes', cursive; font-weight: 400; color: var(--accent-2);
    background: var(--gold-text); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    animation: lpSheen 7s linear infinite; text-shadow: none; filter: drop-shadow(0 2px 8px rgba(20,0,4,.55)); padding-inline: .12em; }
.t-lampung .names i { font-family: 'Cinzel Decorative', serif; font-style: normal; font-size: .4em; vertical-align: middle; }
.t-lampung .cover .names { font-size: clamp(3.1rem, 13vw, 4.7rem); line-height: 1.22; }
.t-lampung .names--md { animation: none; }
.t-lampung .kicker { font-family: 'Cinzel Decorative', serif; font-weight: 700; font-size: .78rem; letter-spacing: .3em; color: var(--accent); }
.t-lampung .sec__title { font-family: 'Cinzel Decorative', serif; font-weight: 700; font-size: 1.36rem; letter-spacing: .06em; color: var(--accent-2); }
.t-lampung .sec__title::after { content: ''; display: block; width: 230px; height: 35px; margin: .55rem auto 0; background: url(../../img/themes/lampung/pembatas.webp) center / contain no-repeat; }
.t-lampung .reveal .sec__title::after { clip-path: inset(0 50% 0 50%); transition: clip-path 1.4s cubic-bezier(.2,.7,.2,1) .2s; }
.t-lampung .reveal.is-visible .sec__title::after { clip-path: inset(0 0 0 0); }
.t-lampung .cover__date, .t-lampung .hero__date, .t-lampung .aside__date, .t-lampung .thanks, .t-lampung .countdown__date { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; color: var(--accent-2); }
.t-lampung .cover__to strong { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--accent-2); }
.t-lampung .quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.22rem; line-height: 1.75; }
.t-lampung .tm-divider { width: 230px; }

/* Sampul: beludru marun, pita tapis atas-bawah, sorot cahaya di belakang siger */
.t-lampung .am-panel::before { background: url(../../img/themes/lampung/tapis.webp) right top / cover no-repeat, #5c1018;
    box-shadow: inset -18px 0 26px -14px rgba(0,0,0,.6); }
.t-lampung .cover, .t-lampung .hero, .t-lampung .aside {
    background: radial-gradient(ellipse 70% 46% at 50% 36%, rgba(242,196,106,calc(var(--tint-a) * .2)), transparent 70%),
        linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, var(--velvet), var(--bg);
    overflow: hidden;
}
.t-lampung .cover::before, .t-lampung .cover::after { inset: 0 0 auto; height: 30px; border: 0; border-radius: 0; opacity: 1; z-index: 1;
    background: var(--tapis); box-shadow: 0 6px 14px -6px rgba(0,0,0,.6); }
.t-lampung .cover::after { inset: auto 0 0; }
.t-lampung .cover .am-garland { top: 26px; }
.t-lampung .cover__inner { width: min(330px, calc(100vw - 44px)); padding: 1.2rem 1.1rem 1.6rem; gap: .7rem; border-radius: 170px 170px 16px 16px;
    background: radial-gradient(ellipse 80% 40% at 50% 18%, rgba(255,214,130,.16), transparent 70%), var(--velvet), #4a0c15;
    border: 1.5px solid #c99a45; box-shadow: inset 0 0 0 5px rgba(74,12,21,.95), inset 0 0 0 6px rgba(226,180,88,.45), 0 30px 60px -18px rgba(0,0,0,.9); }
.t-lampung .cover__to { margin: .5rem 0 .4rem; }
@media (min-width: 960px) { .t-lampung .cover__inner { width: 380px; } }
.t-lampung .tm-band { display: none; }
.t-lampung .tm-frame { z-index: 1; }
.t-lampung .cover .tm-frame, .t-lampung .hero .tm-frame { inset: 34px 0; }
.t-lampung .tm-corner { width: clamp(64px, 17vw, 104px); }
.t-lampung .tm-house { filter: drop-shadow(0 16px 24px rgba(20,0,4,.6)); }
.t-lampung .cover .tm-house { width: min(250px, 64vw); animation: lpRise 1.5s cubic-bezier(.2,.7,.2,1) both; }
.t-lampung .hero .tm-house { width: min(290px, 74vw); }
.t-lampung .aside .tm-house { width: 320px; }
.t-lampung .tm-house--sm { width: 190px; }
@media (max-height: 740px) { .t-lampung .cover .tm-house { width: min(190px, 52vw); } .t-lampung .cover__inner { gap: .45rem; padding-top: .9rem; } .t-lampung .cover__to { margin: .2rem 0; } }
/* sinar emas berputar pelan di belakang siger */
.t-lampung .lx-tilt::before { content: ''; position: absolute; left: 50%; top: 52%; width: 150%; aspect-ratio: 1; margin: -75% 0 0 -75%; z-index: -1; pointer-events: none; border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, rgba(255,214,130,.13) 0 5deg, rgba(255,214,130,0) 5deg 15deg);
    -webkit-mask-image: radial-gradient(closest-side, #000 20%, transparent 100%); mask-image: radial-gradient(closest-side, #000 20%, transparent 100%);
    animation: lpSpin 60s linear infinite; }
.t-lampung .lx-tilt::after { content: ''; position: absolute; left: 50%; top: 60%; width: 90%; aspect-ratio: 2; margin: -22.5% 0 0 -45%; z-index: -1; pointer-events: none; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(255,205,120,.32), transparent); animation: lpGlow 5s ease-in-out infinite; }
.t-lampung .lx-tilt--sm::before { display: none; }
.t-lampung .cover .kicker { animation: lpRise 1.1s ease .4s both; }
.t-lampung .cover .names { animation: lpReveal 1.6s cubic-bezier(.2,.7,.2,1) .6s both, lpSheen 7s linear 2.2s infinite; }
.t-lampung .hero .names, .t-lampung .aside .names { animation: lpReveal 1.6s cubic-bezier(.2,.7,.2,1) .2s both, lpSheen 7s linear 1.8s infinite; }
.t-lampung .cover__date { animation: lpRise 1.1s ease .9s both; }
.t-lampung .cover__to { animation: lpRise 1.1s ease 1.05s both; }
.t-lampung .cover .ibtn { animation: lpRise 1.1s ease 1.25s both; }
.t-lampung .am-garland { height: clamp(48px, 13vw, 70px); background-size: auto 100%; filter: drop-shadow(0 6px 6px rgba(0,0,0,.4)); }
.t-lampung .am-fall i { filter: drop-shadow(0 0 6px rgba(255,214,130,.7)); }

/* Halaman: beludru gelap bermotif belah ketupat, pita tapis pemisah */
.t-lampung .page { background: var(--pattern), var(--velvet), var(--bg); }
.t-lampung .sec--tint { background: linear-gradient(rgba(255,214,130,.035), rgba(255,214,130,.035)), var(--pattern), var(--velvet), var(--bg-2); }
.t-lampung .sec--tint::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 18px; background: var(--tapis); opacity: .9; }

/* Kartu: beludru bergaris emas ganda, pita tapis di atas, kilau emas melintas */
.t-lampung .event, .t-lampung .gift, .t-lampung .rsvp, .t-lampung .wish, .t-lampung .qr-card, .t-lampung .lstory__card {
    border-radius: 6px; border: 1px solid var(--line); background: linear-gradient(rgba(255,214,130,.035), rgba(0,0,0,.08)), var(--velvet), var(--card);
    box-shadow: inset 0 0 0 4px rgba(82,16,26,.9), inset 0 0 0 5px rgba(226,180,88,.28), 0 20px 36px -22px rgba(0,0,0,.85);
}
.t-lampung .event { position: relative; overflow: hidden; padding-top: 2.6rem; }
.t-lampung .event::before { inset: 0 0 auto; height: 22px; border: 0; border-radius: 0; background: var(--tapis); opacity: 1; }
.t-lampung .event::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(246,220,148,.12), transparent); animation: lpShine 8s ease-in-out infinite; pointer-events: none; }
.t-lampung .event h3 { font-family: 'Cinzel Decorative', serif; font-weight: 700; font-size: 1.3rem; letter-spacing: .04em; color: var(--accent-2); }
.t-lampung .event > * { position: relative; }
.t-lampung .reveal .event, .t-lampung .reveal .gift, .t-lampung .reveal .person { opacity: 0; transform: translateY(26px) scale(.98); filter: blur(4px); transition: opacity 1.1s ease, transform 1.1s cubic-bezier(.2,.7,.2,1), filter 1.1s ease; }
.t-lampung .reveal.is-visible .event, .t-lampung .reveal.is-visible .gift, .t-lampung .reveal.is-visible .person { opacity: 1; transform: none; filter: none; }
.t-lampung .reveal.is-visible .event:nth-child(2), .t-lampung .reveal.is-visible .gift:nth-child(2), .t-lampung .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-lampung .reveal.is-visible .event:nth-child(3) { transition-delay: .45s; }
.t-lampung .countdown div { border-radius: 6px; background: linear-gradient(180deg, #5a121c, #3d0911); border-color: var(--line); box-shadow: inset 0 1px 0 rgba(246,220,148,.25), inset 0 -3px 0 rgba(226,180,88,.55); }
.t-lampung .countdown b { font-family: 'Cinzel Decorative', serif; font-weight: 700; color: var(--accent-2); }
.t-lampung .divider { background: var(--accent); }

/* Tombol emas timbul */
.t-lampung .ibtn { border-radius: 999px; border-width: 1.5px; }
.t-lampung .ibtn--solid { position: relative; overflow: hidden; background: linear-gradient(180deg, #f8e2a2 0%, #dcab4e 48%, #b88430 52%, #e7bf66 100%); color: #3d0911; border-color: #f6dc94;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 26px -12px rgba(226,180,88,.9); }
.t-lampung .ibtn--solid::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: lpShine 4.5s ease-in-out infinite 1.5s; pointer-events: none; }
.t-lampung .ibtn--solid:hover { background: linear-gradient(180deg, #fff0bd 0%, #e8b95c 48%, #c8943c 52%, #f0cc77 100%); color: #3d0911; }

/* The Couple, love story, galeri */
.t-lampung .pframe::before { border-color: var(--accent); border-width: 1.5px; }
.t-lampung .pframe::after { box-shadow: 0 0 0 4px var(--bg); }
.t-lampung .pframe__arch { box-shadow: 0 24px 46px -26px rgba(0,0,0,.9), 0 0 0 1px var(--line); }
.t-lampung .lstory__dot { background: var(--accent); box-shadow: 0 0 0 4px var(--bg), 0 0 14px 2px rgba(246,220,148,.55); }
.t-lampung .lstory__title, .t-lampung .tale__title { font-family: 'Cinzel Decorative', serif; font-weight: 700; font-size: 1.1rem; color: var(--accent-2); }
.t-lampung .gslider, .t-lampung .gallery__item { border-radius: 6px; box-shadow: 0 0 0 1px var(--line); }
.t-lampung .amp { font-family: 'Pinyon Script', cursive; color: var(--accent); }
.t-lampung .music { border-radius: 999px; }
.t-lampung .ifoot { border-top: 1px solid var(--line); }

@media (prefers-reduced-motion: reduce) {
    .t-lampung .names { animation: none !important; }
    .t-lampung .lx-tilt::before, .t-lampung .lx-tilt::after { animation: none; }
    .t-lampung .reveal .event, .t-lampung .reveal .gift, .t-lampung .reveal .person { opacity: 1; transform: none; filter: none; }
    .t-lampung .reveal .sec__title::after { clip-path: none; }
}
