/* ==========================================================
   DInvite — Tema "Hukum Timbangan Emas" (Profesi Premium)
   Marun kulit & emas untuk pasangan advokat, hakim, jaksa, atau notaris: sampul kulit bertekan emas yang tersibak, timbangan keadilan emas berhias hati yang berkilau seperti benda nyata, palu hakim, dan deretan buku hukum.
   Objek profesi hampir nyata (logam, kayu, kain) dirender sebagai WebP; tanpa lambang resmi instansi.
   Pembuka: panel bertema tersibak ke samping; objek utama miring halus mengikuti jari/kursor
   dengan kilau cahaya (relief.js) dan kilau berjatuhan. Gerak dimatikan bila perangkat meminta gerak minimal.
   ========================================================== */
.t-hukum {
    --bg: #22090c; --bg-2: #2a0c10; --card: #331015; --ink: #f8ebd6; --muted: #d8c3a6;
    --accent: #e2b458; --accent-2: #f6dc94; --on-accent: #22090c; --line: rgba(226,180,88,.38);
    --hero-rgb: 34,9,12; --tint-a: .8; --hero-ink: #f8ebd6;
    --velvet: url(../../img/themes/hukum/tekstur.webp) 0 0 / 256px 256px;
    --pattern: url(../../img/themes/hukum/pola.svg) 0 0 / 60px 60px;
    --tapis: url(../../img/themes/hukum/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 hkReveal { from { opacity: 0; filter: blur(10px) drop-shadow(0 2px 8px rgba(0,3,10,.55)); letter-spacing: .12em; transform: translateY(10px); } to { opacity: 1; filter: blur(0) drop-shadow(0 2px 8px rgba(0,3,10,.55)); transform: none; } }
@keyframes hkRise { from { opacity: 0; transform: translateY(26px) scale(.97); } }
@keyframes hkSheen { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@keyframes hkSpin { to { transform: rotate(1turn); } }
@keyframes hkGlow { 0%, 100% { opacity: .55; transform: scale(.96); } 50% { opacity: .9; transform: scale(1.04); } }
@keyframes hkUnroll { from { clip-path: inset(0 50% 0 50%); } to { clip-path: inset(0 0 0 0); } }
@keyframes hkShine { 0%, 62% { transform: translateX(-120%) skewX(-18deg); } 100% { transform: translateX(240%) skewX(-18deg); } }

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

/* Sampul: beludru marun, pita tapis atas-bawah, sorot cahaya di belakang siger */
.t-hukum .am-panel::before { background: url(../../img/themes/hukum/kain.webp) right top / cover no-repeat, #5a1418;
    box-shadow: inset -18px 0 26px -14px rgba(0,0,0,.6); }
.t-hukum .cover, .t-hukum .hero, .t-hukum .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, var(--tp-latar, none)) center / cover no-repeat, var(--velvet), var(--bg);
    overflow: hidden;
}
.t-hukum .cover::before, .t-hukum .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-hukum .cover::after { inset: auto 0 0; }
.t-hukum .cover .am-garland { top: 26px; }
.t-hukum .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), #2a0c10;
    border: 1.5px solid #c99a45; box-shadow: inset 0 0 0 5px rgba(42,12,16,.95), inset 0 0 0 6px rgba(226,180,88,.45), 0 30px 60px -18px rgba(0,0,0,.9); }
.t-hukum .cover__to { margin: .5rem 0 .4rem; }
@media (min-width: 960px) { .t-hukum .cover__inner { width: 380px; } }
.t-hukum .tm-band { display: none; }
.t-hukum .tm-frame { z-index: 1; }
.t-hukum .cover .tm-frame, .t-hukum .hero .tm-frame { inset: 34px 0; }
.t-hukum .tm-corner { width: clamp(64px, 17vw, 104px); }
.t-hukum .tm-house { filter: drop-shadow(0 16px 24px rgba(0,3,10,.6)); }
.t-hukum .cover .tm-house { width: min(250px, 64vw); animation: hkRise 1.5s cubic-bezier(.2,.7,.2,1) both; }
.t-hukum .hero .tm-house { width: min(340px, 86vw); }
.t-hukum .aside .tm-house { width: 380px; }
.t-hukum .tm-house--sm { width: 190px; }
@media (max-height: 740px) { .t-hukum .cover .tm-house { width: min(190px, 52vw); } .t-hukum .cover__inner { gap: .45rem; padding-top: .9rem; } .t-hukum .cover__to { margin: .2rem 0; } }
/* sinar emas berputar pelan di belakang siger */
.t-hukum .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: hkSpin 60s linear infinite; }
.t-hukum .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: hkGlow 5s ease-in-out infinite; }
.t-hukum .lx-tilt--sm::before { display: none; }
.t-hukum .cover .kicker { animation: hkRise 1.1s ease .4s both; }
.t-hukum .cover .names { animation: hkReveal 1.6s cubic-bezier(.2,.7,.2,1) .6s both, hkSheen 7s linear 2.2s infinite; }
.t-hukum .hero .names, .t-hukum .aside .names { animation: hkReveal 1.6s cubic-bezier(.2,.7,.2,1) .2s both, hkSheen 7s linear 1.8s infinite; }
.t-hukum .cover__date { animation: hkRise 1.1s ease .9s both; }
.t-hukum .cover__to { animation: hkRise 1.1s ease 1.05s both; }
.t-hukum .cover .ibtn { animation: hkRise 1.1s ease 1.25s both; }
.t-hukum .am-garland { height: clamp(48px, 13vw, 70px); background-size: auto 100%; filter: drop-shadow(0 6px 6px rgba(0,0,0,.4)); }
.t-hukum .am-fall i { filter: drop-shadow(0 0 6px rgba(255,214,130,.7)); }

/* Halaman: beludru gelap bermotif belah ketupat, pita tapis pemisah */
.t-hukum .page { background: var(--pattern), var(--velvet), var(--bg); }
.t-hukum .sec--tint { background: linear-gradient(rgba(255,214,130,.035), rgba(255,214,130,.035)), var(--pattern), var(--velvet), var(--bg-2); }
.t-hukum .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-hukum .event, .t-hukum .gift, .t-hukum .rsvp, .t-hukum .wish, .t-hukum .qr-card, .t-hukum .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(51,16,21,.92), inset 0 0 0 5px rgba(226,180,88,.28), 0 20px 36px -22px rgba(0,0,0,.85);
}
.t-hukum .event { position: relative; overflow: hidden; padding-top: 2.6rem; }
.t-hukum .event::before { inset: 0 0 auto; height: 22px; border: 0; border-radius: 0; background: var(--tapis); opacity: 1; }
.t-hukum .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: hkShine 8s ease-in-out infinite; pointer-events: none; }
.t-hukum .event h3 { font-family: 'Cinzel Decorative', serif; font-weight: 700; font-size: 1.3rem; letter-spacing: .04em; color: var(--accent-2); }
.t-hukum .event > * { position: relative; }
.t-hukum .reveal .event, .t-hukum .reveal .gift, .t-hukum .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-hukum .reveal.is-visible .event, .t-hukum .reveal.is-visible .gift, .t-hukum .reveal.is-visible .person { opacity: 1; transform: none; filter: none; }
.t-hukum .reveal.is-visible .event:nth-child(2), .t-hukum .reveal.is-visible .gift:nth-child(2), .t-hukum .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-hukum .reveal.is-visible .event:nth-child(3) { transition-delay: .45s; }
.t-hukum .countdown div { border-radius: 6px; background: linear-gradient(180deg, #3a1217, #22090c); 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-hukum .countdown b { font-family: 'Cinzel Decorative', serif; font-weight: 700; color: var(--accent-2); }
.t-hukum .divider { background: var(--accent); }

/* Tombol emas timbul */
.t-hukum .ibtn { border-radius: 999px; border-width: 1.5px; }
.t-hukum .ibtn--solid { position: relative; overflow: hidden; background: linear-gradient(180deg, #f8e2a2 0%, #dcab4e 48%, #b88430 52%, #e7bf66 100%); color: #22090c; border-color: #f6dc94;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 10px 26px -12px rgba(226,180,88,.9); }
.t-hukum .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: hkShine 4.5s ease-in-out infinite 1.5s; pointer-events: none; }
.t-hukum .ibtn--solid:hover { background: linear-gradient(180deg, #fff0bd 0%, #e8b95c 48%, #c8943c 52%, #f0cc77 100%); color: #22090c; }

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

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