/* ==========================================================
   DInvite — Tema "Tentara Pedang Pora" (koleksi Profesi)
   Hijau zaitun & kuningan. Pembuka: kain loreng yang tergulung ke atas,
   lambang laurel dengan pedang bersilang, sepasang dog tag yang
   bergoyang, dan bintang kuningan berjatuhan. Tanpa lambang resmi.
   Gerak dimatikan otomatis bila perangkat meminta gerak minimal.
   ========================================================== */
.t-tentara {
    --bg: #1f2717; --bg-2: #252f1b; --card: #1a2113; --ink: #efe8d2; --muted: #c2bc9f;
    --accent: #c9a24e; --accent-2: #e8cf8a; --on-accent: #1d2416; --line: rgba(201,162,78,.34);
    --hero-rgb: 29,36,22; --tint-a: .84; --hero-ink: #f3ead0;
    --pattern: url(../../img/themes/tentara/pola.svg) 0 0 / 240px 240px;
    color-scheme: dark;
}
@keyframes tnRise { from { opacity: 0; transform: translateY(26px) scale(.97); } }
@keyframes tnShine { 0%, 60% { transform: translateX(-120%) skewX(-18deg); } 100% { transform: translateX(220%) skewX(-18deg); } }
@keyframes tnStamp { 0% { opacity: 0; transform: scale(1.5); } 60% { opacity: 1; transform: scale(.96); } 100% { transform: scale(1); } }
@keyframes tnFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes tnMarch { from { background-position: 0 0; } to { background-position: 240px 0; } }

/* Huruf: nama bersambung kuningan, judul kapital tegas berjarak lebar */
.t-tentara .names { font-family: 'Great Vibes', cursive; font-weight: 400; color: var(--accent-2); text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.t-tentara .names i { font-family: 'Oswald', sans-serif; font-style: normal; font-weight: 500; font-size: .36em; color: var(--accent); vertical-align: middle; }
.t-tentara .cover .names { font-size: clamp(3.1rem, 13vw, 4.6rem); line-height: 1.15; }
.t-tentara .names--md { color: var(--accent-2); }
.t-tentara .kicker { font-family: 'Oswald', sans-serif; font-weight: 500; letter-spacing: .42em; color: var(--accent); }
.t-tentara .sec__title { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--accent-2); }
.t-tentara .sec__title::after { content: ''; display: block; width: 220px; height: 36px; margin: .5rem auto 0; background: url(../../img/themes/tentara/pembatas.svg) center / contain no-repeat; }
.t-tentara .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-tentara .reveal.is-visible .sec__title::after { transform: none; opacity: 1; }
.t-tentara .cover__date, .t-tentara .hero__date, .t-tentara .aside__date, .t-tentara .countdown__date { font-family: 'Oswald', sans-serif; font-style: normal; font-weight: 500; font-size: 1rem; letter-spacing: .2em; text-transform: uppercase; }
.t-tentara .thanks { font-family: 'Oswald', sans-serif; font-style: normal; letter-spacing: .2em; text-transform: uppercase; font-size: 1.05rem; }
.t-tentara .cover__to strong { font-family: 'Oswald', sans-serif; font-weight: 500; letter-spacing: .06em; color: var(--accent-2); }
.t-tentara .quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.22rem; line-height: 1.75; }

/* Sampul: kain loreng tergulung ke atas, lambang di tengah */
.t-tentara .am-panel::before {
    background: linear-gradient(to top, #c9a24e 0 5px, #141a0e 5px 10px, rgba(0,0,0,0) 10px),
        linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0) 22%),
        url(../../img/themes/tentara/loreng.svg) 0 0 / 240px 240px, #4a5634;
}
.t-tentara .cover::before { inset: 18px; border: 1.5px solid var(--line); border-radius: 0; z-index: 1; }
.t-tentara .cover::after { inset: 25px; border: 1px dashed rgba(201,162,78,.26); border-radius: 0; z-index: 1; opacity: 1; }
.t-tentara .cover__inner { padding: 1.5rem 1.2rem; border-radius: 22px; background: radial-gradient(ellipse at center, rgba(22,28,16,.9) 0%, rgba(22,28,16,.74) 55%, rgba(22,28,16,0) 78%); }
.t-tentara .tm-band { display: none; }
.t-tentara .tm-corner { width: clamp(58px, 16vw, 96px); }
.t-tentara .tm-frame { z-index: 1; }
.t-tentara .cover .tm-house { width: min(170px, 46vw); animation: tnStamp 1.1s cubic-bezier(.2,.8,.2,1) .2s both, tnFloat 6s ease-in-out 1.5s infinite; filter: drop-shadow(0 16px 26px rgba(0,0,0,.6)); }
.t-tentara .hero .tm-house { width: min(220px, 60vw); filter: drop-shadow(0 16px 24px rgba(0,0,0,.55)); }
.t-tentara .aside .tm-house { width: 260px; }
.t-tentara .tm-house--sm { width: 120px; }
.t-tentara .cover .kicker { animation: tnRise 1.1s ease .35s both; }
.t-tentara .cover .names { animation: tnRise 1.2s ease .55s both; }
.t-tentara .cover__date { animation: tnRise 1.1s ease .8s both; }
.t-tentara .cover__to { animation: tnRise 1.1s ease 1s both; }
.t-tentara .cover .ibtn { animation: tnRise 1.1s ease 1.2s both; }

/* Bagian pembuka & panel kiri: loreng samar di balik warna zaitun */
.t-tentara .hero, .t-tentara .aside {
    background: radial-gradient(ellipse at 50% 36%, rgba(232,207,138,calc(var(--tint-a) * .12)), transparent 60%),
        linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, var(--pattern), var(--bg);
    overflow: hidden;
}

/* Pita loreng berjalan di bawah bagian pembuka */
.t-tentara .hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: url(../../img/themes/tentara/loreng.svg) 0 0 / 240px 240px; box-shadow: 0 -2px 0 #c9a24e; animation: tnMarch 18s linear infinite; }

/* Kartu: zaitun gelap, garis kuningan, sudut tegas */
.t-tentara .event, .t-tentara .gift, .t-tentara .rsvp, .t-tentara .wish, .t-tentara .qr-card, .t-tentara .lstory__card {
    border-radius: 3px; border: 1px solid var(--line); background: var(--card);
    box-shadow: inset 0 0 0 4px var(--card), inset 0 0 0 5px rgba(201,162,78,.2), 0 18px 34px -20px rgba(0,0,0,.85);
}
.t-tentara .event { position: relative; overflow: hidden; border-left: 4px solid var(--accent); }
.t-tentara .event::before { inset: 9px; border: 1px dashed rgba(201,162,78,.18); border-radius: 2px; }
.t-tentara .event::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(232,207,138,.1), transparent); animation: tnShine 7.5s ease-in-out infinite; pointer-events: none; }
.t-tentara .event h3 { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.35rem; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-2); }
.t-tentara .reveal .event, .t-tentara .reveal .gift, .t-tentara .reveal .person { opacity: 0; transform: translateY(24px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.t-tentara .reveal.is-visible .event, .t-tentara .reveal.is-visible .gift, .t-tentara .reveal.is-visible .person { opacity: 1; transform: none; }
.t-tentara .reveal.is-visible .event:nth-child(2), .t-tentara .reveal.is-visible .gift:nth-child(2), .t-tentara .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-tentara .countdown div { border-radius: 3px; background: #161c10; border-color: var(--line); box-shadow: inset 0 -3px 0 rgba(201,162,78,.55); }
.t-tentara .countdown b { font-family: 'Oswald', sans-serif; font-weight: 500; color: var(--accent-2); }
.t-tentara .countdown small { letter-spacing: .2em; }
.t-tentara .divider { background: var(--accent); }

/* Tombol kuningan */
.t-tentara .ibtn { border-radius: 3px; border-width: 1.5px; font-family: 'Oswald', sans-serif; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-size: .82rem; }
.t-tentara .ibtn--solid { position: relative; overflow: hidden; background: linear-gradient(180deg, #ecd391, #b48d3d); color: #1d2416; border-color: #e8cf8a; box-shadow: 0 10px 26px -12px rgba(201,162,78,.85); }
.t-tentara .ibtn--solid::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: tnShine 4.5s ease-in-out infinite 1.5s; pointer-events: none; }
.t-tentara .ibtn--solid:hover { background: linear-gradient(180deg, #f3e0a8, #c49d4b); color: #1d2416; }

/* The Couple, love story, galeri */
.t-tentara .pframe::before { border-color: var(--accent); border-width: 1.5px; border-radius: 6px; }
.t-tentara .pframe__arch { border-radius: 4px; box-shadow: 0 24px 46px -26px rgba(0,0,0,.9), inset 0 0 0 1px var(--line); }
.t-tentara .pframe::after { box-shadow: 0 0 0 4px var(--bg); }
.t-tentara .lstory::before { background: repeating-linear-gradient(var(--accent) 0 8px, transparent 8px 14px); }
.t-tentara .lstory__dot { border-radius: 2px; transform: rotate(45deg); box-shadow: 0 0 0 4px var(--bg), 0 0 12px 2px rgba(232,207,138,.45); }
.t-tentara .lstory__title, .t-tentara .tale__title { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 1.2rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-2); }
.t-tentara .gslider, .t-tentara .gallery__item { border-radius: 3px; box-shadow: 0 0 0 1px var(--line); }
.t-tentara .sec--tint { background-color: var(--bg-2); background-image: var(--pattern); }
.t-tentara .amp { font-family: 'Great Vibes', cursive; color: var(--accent); }
.t-tentara .ifoot { border-top: 1px solid var(--line); }

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