/* ==========================================================
   DInvite — Tema "Amazonia" (Hutan hujan Amazon)
   Rimbun & megah: daun monstera, pisang & pakis raksasa membingkai layar,
   bunga heliconia merah, sulur liana menjuntai, berkas cahaya menembus
   kanopi, kabut, kunang-kunang, kupu-kupu morpho biru yang terbang.
   Pembuka: tirai dedaunan tersibak. Gelap zamrud + emas + merah heliconia.
   Hiasan dipasang amazonia.js; gerak dimatikan bila diminta perangkat.
   ========================================================== */
.t-amazonia {
    --bg: #0d2a1f; --bg-2: #10342a; --card: rgba(10,38,28,.72); --ink: #f3f1e4; --muted: #b9cdb9;
    --accent: #e9c46a; --accent-2: #ff6a3d; --on-accent: #0d2a1f; --line: rgba(233,196,106,.3);
    --jade: #2e8b57; --lime: #a7d46f; --morpho: #2fb7ff; --deep: #071a13;
    --hero-rgb: 7,26,19; --tint-a: .5; --hero-ink: #f3f1e4;
    --jungle: radial-gradient(90% 60% at 50% 0%, rgba(167,212,111,.22), transparent 60%), radial-gradient(120% 80% at 50% 110%, #04140e, transparent 60%), linear-gradient(180deg, #103a2a, #0b2a1f 55%, #071a13);
    --am-seam: linear-gradient(transparent, transparent);
    --ease: cubic-bezier(.22,.61,.12,1);
    color-scheme: dark;
}
@keyframes azSwayL { 0%, 100% { rotate: -1.4deg; } 50% { rotate: 1.6deg; } }
@keyframes azSwayT { 0%, 100% { rotate: .8deg; } 50% { rotate: -1deg; } }
@keyframes azRays { 0%, 100% { opacity: .55; transform: translateX(-3%) skewX(-18deg); } 50% { opacity: .9; transform: translateX(3%) skewX(-18deg); } }
@keyframes azMist { from { transform: translateX(-20%); } to { transform: translateX(0); } }
@keyframes azUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes azGrow { from { opacity: 0; transform: translateY(40px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes azFlap { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(.25); } }
@keyframes azTick { from { opacity: 0; transform: translateY(-40%); } to { opacity: 1; transform: none; } }

/* ---------- Huruf ---------- */
.t-amazonia { font-family: 'Lato', 'Plus Jakarta Sans', sans-serif; color: var(--ink); background: var(--deep); }
.t-amazonia .page { background: var(--jungle), var(--bg); background-attachment: scroll; }
.t-amazonia .names { font-family: 'Great Vibes', cursive; font-weight: 400; font-style: normal; color: var(--ink); line-height: 1.05; text-shadow: 0 4px 24px rgba(0,0,0,.45); }
.t-amazonia .names i { font-family: 'Cinzel', serif; font-style: normal; font-size: .42em; color: var(--accent); vertical-align: .3em; }
.t-amazonia .cover .names { font-size: clamp(3.4rem, 16vw, 4.8rem); }
.t-amazonia .names--lg { font-size: clamp(3.8rem, 18vw, 5.4rem); }
.t-amazonia .names--xl { font-size: clamp(4rem, 6vw, 6rem); }
.t-amazonia .names--md { font-size: 2.4rem; }
.t-amazonia .kicker { font: 600 .74rem/1 'Cinzel', serif; letter-spacing: .38em; text-transform: uppercase; color: var(--accent); padding-left: .38em; }
.t-amazonia .sec { padding: 4.6rem 1.6rem; }
.t-amazonia .sec__title { font: 600 clamp(1.7rem, 7.5vw, 2.2rem)/1.2 'Cinzel', serif; letter-spacing: .06em; color: var(--ink); }
.t-amazonia .sec__title::after { content: ''; display: block; width: 150px; height: 14px; margin: .7rem auto 0;
    background: radial-gradient(circle, var(--accent-2) 0 3px, transparent 3.5px) center / 14px 14px no-repeat, linear-gradient(90deg, transparent, var(--accent) 40%, transparent 46%, transparent 54%, var(--accent) 60%, transparent) center / 100% 1px no-repeat; }
.t-amazonia .cover__date, .t-amazonia .hero__date, .t-amazonia .aside__date, .t-amazonia .countdown__date { font: 600 .86rem/1.4 'Cinzel', serif; font-style: normal; letter-spacing: .24em; text-transform: uppercase; color: var(--ink); }
.t-amazonia .lead-txt, .t-amazonia .person__parents, .t-amazonia .story { line-height: 1.8; color: var(--muted); }
.t-amazonia .quote { font: italic 400 1.12rem/1.8 'Lato', sans-serif; color: var(--ink); }
.t-amazonia .thanks { font: 400 2.8rem 'Great Vibes', cursive; color: var(--accent); }
.t-amazonia .amp { font: 400 3.2rem 'Great Vibes', cursive; color: var(--accent); }
.t-amazonia .ornament { color: var(--accent); }
.t-amazonia .divider { background: linear-gradient(90deg, transparent, var(--accent), transparent); }
.t-amazonia .muted { color: var(--muted); }

/* ---------- Tombol ---------- */
.t-amazonia .ibtn { border-radius: 999px; border: 1px solid var(--accent); color: var(--accent); background: transparent; font: 600 .74rem/1 'Cinzel', serif; letter-spacing: .18em; text-transform: uppercase; transition: background .35s, color .35s, transform .25s; }
.t-amazonia .ibtn:hover { background: var(--accent); color: var(--deep); }
.t-amazonia .ibtn--solid { background: linear-gradient(135deg, #f1d488, #d9a441); border-color: transparent; color: #0b2419; box-shadow: 0 14px 30px -12px rgba(233,196,106,.6); }
.t-amazonia .ibtn--solid:hover { background: linear-gradient(135deg, #f7e0a0, #e2b052); color: #0b2419; }
.t-amazonia #openBtn:hover { transform: translateY(-2px); }

/* ==========================================================
   PEMANDANGAN HUTAN (sampul, pembuka, panel kiri, penutup)
   ========================================================== */
.t-amazonia .az-host { overflow: hidden; isolation: isolate; }
.t-amazonia .az-host:not(.cover) { position: relative; }
.t-amazonia .az-scene { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; background: var(--jungle); }
.t-amazonia .az-depth { position: absolute; inset: -4%; background: url(../../img/themes/amazonia/tirai.webp) center / auto 115% repeat-x; filter: blur(7px) brightness(.4) saturate(1.1); opacity: .85; transform: translate3d(0, var(--py2, 0px), 0) scale(1.05); }
.t-amazonia .az-rays { position: absolute; top: -10%; left: 10%; width: 90%; height: 85%; opacity: .7; mix-blend-mode: screen;
    background: repeating-linear-gradient(90deg, rgba(255,246,190,0) 0 22px, rgba(255,246,190,.16) 30px, rgba(255,246,190,0) 46px, rgba(255,246,190,0) 70px);
    -webkit-mask: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 85%); mask: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 85%);
    transform: skewX(-18deg); animation: azRays 9s ease-in-out infinite; }
.t-amazonia .az-glow { position: absolute; left: 50%; top: -18%; width: 130%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(255,240,170,.35), rgba(167,212,111,.08) 55%, transparent); }
.t-amazonia .az-mist { position: absolute; left: 0; bottom: 6%; width: 200%; height: 30%; background: radial-gradient(40% 60% at 25% 60%, rgba(220,240,220,.28), transparent 70%), radial-gradient(35% 50% at 72% 50%, rgba(220,240,220,.22), transparent 70%); animation: azMist 26s linear infinite alternate; }
.t-amazonia .az-top { position: absolute; top: -6px; left: 50%; width: max(100%, 620px); transform: translate3d(-50%, var(--py, 0px), 0); }
.t-amazonia .az-top img { display: block; width: 100%; height: auto; transform-origin: 50% 0; animation: azSwayT 9s ease-in-out infinite; filter: drop-shadow(0 16px 20px rgba(0,0,0,.4)); }
.t-amazonia .az-side { position: absolute; bottom: -7%; width: min(108vw, 520px); transform: translate3d(0, calc(var(--py, 0px) * -.6), 0); }
.t-amazonia .az-side img { display: block; width: 100%; height: auto; transform-origin: 0 100%; animation: azSwayL 8s ease-in-out infinite; filter: drop-shadow(0 -6px 20px rgba(0,0,0,.35)); }
.t-amazonia .az-side--l { left: -12%; }
.t-amazonia .az-side--r { right: -12%; }
.t-amazonia .az-side--r img { transform: scaleX(-1); transform-origin: 100% 100%; animation-delay: -4s; }
.t-amazonia .az-shade { position: absolute; inset: 0; background: radial-gradient(70% 55% at 50% 45%, transparent 30%, rgba(4,18,12,.55)); }
/* Kupu-kupu morpho: terbang mengikuti jalur acak (JS), sayap mengepak */
.t-amazonia .az-fly { position: absolute; left: 0; top: 0; width: 62px; z-index: 2; pointer-events: none; will-change: transform; }
.t-amazonia .az-fly img { display: block; width: 100%; animation: azFlap .32s ease-in-out infinite; filter: drop-shadow(0 0 10px rgba(47,183,255,.45)); }

/* ---------- Sampul ---------- */
.t-amazonia .cover, body.t-amazonia .cover.has-photo { background: var(--deep); color: var(--ink); place-items: center; padding: 2rem 1.4rem; }
.t-amazonia .cover::before, .t-amazonia .cover::after { display: none; }
.t-amazonia .cover .tm-house, .t-amazonia .cover .lx-tilt { display: none; }
.t-amazonia .cover__inner { position: relative; z-index: 3; gap: .6rem; width: min(330px, calc(100vw - 64px)); padding: 1.9rem 1.3rem 1.7rem; border-radius: 200px 200px 24px 24px;
    background: linear-gradient(180deg, rgba(8,32,23,.55), rgba(8,32,23,.82)); border: 1px solid rgba(233,196,106,.55);
    box-shadow: inset 0 0 0 6px rgba(8,32,23,.4), inset 0 0 0 7px rgba(233,196,106,.25), 0 30px 60px -20px rgba(0,0,0,.7);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: azGrow 1.3s var(--ease) .2s both; }
.t-amazonia .cover .kicker { margin-top: 1.4rem; }
.t-amazonia .cover__to { margin: .3rem 0 .6rem; }
.t-amazonia .cover__to small { color: var(--muted); }
.t-amazonia .cover__to strong { font: 600 1.3rem 'Cinzel', serif; color: var(--ink); }
.t-amazonia .am-panel::before { background: url(../../img/themes/amazonia/tirai.webp) center / cover no-repeat, #0b3a24; }
.t-amazonia .am-panel { transition: transform 1.8s cubic-bezier(.65,.02,.2,1) .15s; box-shadow: inset -40px 0 50px -30px rgba(0,0,0,.6); }
.t-amazonia .am-panel--b { box-shadow: inset 40px 0 50px -30px rgba(0,0,0,.6); }
body.am-has-opening.t-amazonia .cover.is-open .cover__inner { animation: none; opacity: 0; transform: scale(.94); transition: opacity .45s, transform .6s; }
@media (max-height: 700px) { .t-amazonia .cover__inner { padding: 1.3rem 1.1rem 1.2rem; gap: .4rem; } .t-amazonia .cover .kicker { margin-top: .6rem; } }

/* ---------- Bagian pembuka & panel kiri ---------- */
.t-amazonia .hero, .t-amazonia .aside, body.t-amazonia .hero.has-photo, body.t-amazonia .aside.has-photo { min-height: 100svh; background: var(--deep); color: var(--ink); place-items: center; padding: 6rem 1.5rem 6rem; }
.t-amazonia .hero .tm-house, .t-amazonia .aside .tm-house, .t-amazonia .hero .lx-tilt, .t-amazonia .aside .lx-tilt { display: none; }
.t-amazonia .hero__inner, .t-amazonia .aside__inner { position: relative; z-index: 3; }
.t-amazonia .hero__scroll { border-color: rgba(243,241,228,.6); color: var(--ink); }
.t-amazonia .az-portrait { width: min(190px, 48vw); aspect-ratio: 3 / 4; margin: 0 auto .4rem; border-radius: 999px 999px 18px 18px; background: var(--cover, var(--tp-hero, none)) center 25% / cover no-repeat;
    box-shadow: 0 0 0 1px rgba(233,196,106,.7), 0 0 0 7px rgba(8,32,23,.6), 0 0 0 8px rgba(233,196,106,.35), 0 26px 50px -20px rgba(0,0,0,.75); }
body.t-amazonia:not(.is-locked) .hero .az-portrait { animation: azGrow 1.4s var(--ease) .3s both; }
body.t-amazonia:not(.is-locked) .hero .kicker { animation: azUp 1.2s var(--ease) .6s both; }
body.t-amazonia:not(.is-locked) .hero .names { animation: azUp 1.5s var(--ease) .85s both; }
body.t-amazonia:not(.is-locked) .hero__date { animation: azUp 1.2s var(--ease) 1.15s both; }
.t-amazonia .hero .countdown div { background: rgba(8,32,23,.55); }

/* ==========================================================
   ISI
   ========================================================== */
.t-amazonia .reveal { opacity: 0; transform: translateY(26px); transition: opacity 1.1s var(--ease), transform 1.2s var(--ease); }
.t-amazonia .reveal.is-visible { opacity: 1; transform: none; }
.t-amazonia .sec--tint, .t-amazonia .sec--countdown { background: radial-gradient(80% 50% at 50% 0%, rgba(167,212,111,.12), transparent 70%), linear-gradient(180deg, #0a2219, #0d2c21); }
/* Daun di sudut bagian (parallax & bergoyang) */
.t-amazonia .az-leaf { position: absolute; z-index: 0; pointer-events: none; width: min(46vw, 230px); }
.t-amazonia .az-leaf img { display: block; width: 100%; transform: translate3d(0, var(--py, 0px), 0); transform-origin: 0 100%; animation: azSwayL 9s ease-in-out infinite; opacity: .92; }
.t-amazonia .az-leaf--bl { left: -14%; bottom: -12px; }
.t-amazonia .az-leaf--tr { right: -14%; top: -30px; rotate: 180deg; }
.t-amazonia .az-leaf--br { right: -14%; bottom: -12px; }
.t-amazonia .az-leaf--br img { scale: -1 1; }
.t-amazonia .az-host > :not(.az-scene):not(.az-leaf):not(.am-open):not(.az-fly) { position: relative; z-index: 1; }
.t-amazonia .cover .am-open { z-index: 2; }

/* Mempelai */
.t-amazonia .pframe::before { border: 1px solid var(--accent); border-radius: 999px 999px 22px 22px; box-shadow: inset 0 0 0 5px rgba(8,32,23,.6); }
.t-amazonia .pframe::after { background: var(--accent-2); box-shadow: 0 0 0 4px var(--bg); }
.t-amazonia .pframe__arch { border-radius: 999px 999px 18px 18px; box-shadow: 0 24px 44px -24px rgba(0,0,0,.8); background: var(--jungle); }
.t-amazonia .pframe__init { font: 400 4.2rem 'Great Vibes', cursive; color: var(--accent); }
.t-amazonia .person__soc .psoc { background: rgba(233,196,106,.15); color: var(--accent); border: 1px solid rgba(233,196,106,.4); }

/* Hitung mundur */
.t-amazonia .countdown div { border-radius: 18px; border: 1px solid rgba(233,196,106,.35); background: rgba(8,32,23,.6); box-shadow: inset 0 0 20px rgba(167,212,111,.08); }
.t-amazonia .countdown b { display: block; overflow: hidden; font: 600 2.1rem/1.1 'Cinzel', serif; color: var(--accent); font-variant-numeric: lining-nums tabular-nums; }
.t-amazonia .countdown b.az-tick { animation: azTick .6s var(--ease); }
.t-amazonia .countdown small { color: var(--muted); letter-spacing: .14em; text-transform: uppercase; font-size: .58rem; }

/* Kartu acara, love story, hadiah, RSVP */
.t-amazonia .event, .t-amazonia .lstory__card, .t-amazonia .gift, .t-amazonia .rsvp, .t-amazonia .wish, .t-amazonia .qr-card {
    border-radius: 22px; border: 1px solid var(--line); background: var(--card); color: var(--ink); box-shadow: 0 24px 50px -30px rgba(0,0,0,.75); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.t-amazonia .event::before { display: none; }
.t-amazonia .event h3 { font: 400 2.4rem 'Great Vibes', cursive; color: var(--accent); }
.t-amazonia .event__date { font-family: 'Cinzel', serif; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.t-amazonia .sec--tint .event p, .t-amazonia .sec--tint .event small, .t-amazonia .sec--tint .event span, .t-amazonia .event__addr { color: var(--muted); }
.t-amazonia .event__place, .t-amazonia .sec--tint .event strong { color: var(--ink); }
.t-amazonia .event__map { border-radius: 14px; border-color: var(--line); }
.t-amazonia .qr-card { color: var(--ink); }
.t-amazonia .lstory::before { background: linear-gradient(var(--line), var(--accent), var(--line)); }
.t-amazonia .lstory__dot { background: var(--accent-2); box-shadow: 0 0 0 4px var(--bg), 0 0 14px rgba(255,106,61,.7); }
.t-amazonia .lstory__title, .t-amazonia .tale__title { font: 600 1.3rem 'Cinzel', serif; color: var(--accent); }
.t-amazonia .lstory__date { color: var(--lime); letter-spacing: .16em; text-transform: uppercase; font-size: .68rem; }
.t-amazonia .lstory__text, .t-amazonia .wish p { color: var(--muted); }
.t-amazonia .gallery__item, .t-amazonia .gslider__slide, .t-amazonia .gslider__slide img { border-radius: 18px; }
.t-amazonia .gallery__item { box-shadow: 0 0 0 1px var(--line); }
.t-amazonia .gslider__dots button.is-active { background: var(--accent); }
.t-amazonia .gslider__nav { background: rgba(8,32,23,.8); color: var(--accent); }
.t-amazonia .ifld > span { color: var(--accent); }
.t-amazonia .ifld input, .t-amazonia .ifld textarea, .t-amazonia .ifld select { border-radius: 12px; border-color: rgba(233,196,106,.3); background: rgba(4,18,12,.5); color: var(--ink); }
.t-amazonia .ifld input::placeholder, .t-amazonia .ifld textarea::placeholder { color: rgba(185,205,185,.6); }
.t-amazonia .ifld input:focus, .t-amazonia .ifld textarea:focus, .t-amazonia .ifld select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(233,196,106,.15); outline: none; }
.t-amazonia .att label span { border-radius: 12px; }
.t-amazonia .wishes__title { font-family: 'Cinzel', serif; color: var(--ink); }
.t-amazonia .wish__head strong { color: var(--accent); }

/* Penutup */
.t-amazonia .sec--closing { min-height: 90svh; display: grid; place-content: center; padding: 7rem 1.6rem 12rem; background: var(--deep); }
.t-amazonia .sec--closing .tm-house, .t-amazonia .sec--closing .lx-tilt { display: none; }
.t-amazonia .ifoot { border-top: 1px solid var(--line); background: var(--deep); }
.t-amazonia .am-rise i { filter: blur(.3px); mix-blend-mode: screen; }

@media (min-width: 960px) {
    .t-amazonia .sec { padding-inline: 2.4rem; }
    .t-amazonia .aside .az-side { width: 360px; }
}

@media (prefers-reduced-motion: reduce) {
    .t-amazonia .az-rays, .t-amazonia .az-mist, .t-amazonia .az-top img, .t-amazonia .az-side img, .t-amazonia .az-leaf img, .t-amazonia .az-fly img, .t-amazonia .countdown b.az-tick,
    .t-amazonia .cover *, body.t-amazonia .hero * { animation: none !important; }
    .t-amazonia .az-fly { display: none; }
    .t-amazonia .reveal { opacity: 1; transform: none; transition: none; }
    .t-amazonia .am-panel { transition-duration: .01s; }
}

body.t-amazonia #cover .cover__inner { z-index: 3; }
/* Panel kanan tidak dicerminkan agar tirai daun terlihat alami (tidak simetris) */
.t-amazonia .am-panel--b::before { transform: none; background-position: 72% 40%; background-size: auto 112%; }
