/* ==========================================================
   DInvite — Tema Forest "Mysticwood"
   Hutan tua berkabut, bunga putih, dan cahaya kunang-kunang.
   ========================================================== */
.t-mysticwood {
    --bg: #0d1d2a; --bg-2: #152d3a; --card: #203b45; --ink: #f1eee2; --muted: #b9c6bd;
    --accent: #c6d0b8; --accent-2: #e2b76a; --on-accent: #10202a; --line: rgba(198,208,184,.3);
    --hero-rgb: 8,21,31; --tint-a: .68; --hero-ink: #f1eee2;
    --serif-e: 'Playfair Display', Georgia, serif;
    --am-panel: linear-gradient(135deg, #102536, #091923 55%, #1f4242);
    --am-seam: linear-gradient(#e2b76a, #c6d0b8, #e2b76a);
    color-scheme: dark;
}
@keyframes mwRise { from { opacity: 0; transform: translateY(24px) scale(.96); } }
@keyframes mwFloat { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-6px) rotate(1deg); } }
@keyframes mwGlow { 0%, 100% { opacity: .75; } 50% { opacity: 1; } }
.t-mysticwood body, .t-mysticwood { letter-spacing: .01em; background: linear-gradient(rgba(7,20,29,.72), rgba(7,20,29,.78)), url(../../img/themes/mysticwood/background.jpg) center top / cover fixed no-repeat; }
.t-mysticwood .page { background: transparent; background-image: none; }
.t-mysticwood .cover, .t-mysticwood .hero, .t-mysticwood .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), url(../../img/themes/mysticwood/background.jpg), linear-gradient(145deg, #102536, #07131e); background-position: center; background-size: cover; }
.t-mysticwood .cover::before { inset: 17px; border: 1px solid rgba(198,208,184,.55); border-radius: 24px 6px 24px 6px; }
.t-mysticwood .cover::after { inset: 29px; border: 1px dashed rgba(226,183,106,.36); border-radius: 17px 4px 17px 4px; }
.t-mysticwood .cover__inner { gap: 1rem; padding: 1.45rem 1.3rem; border: 1px solid rgba(198,208,184,.3); border-radius: 18px; background: rgba(8,21,31,.42); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.t-mysticwood .cover .kicker, .t-mysticwood .hero .kicker { letter-spacing: .38em; color: var(--accent-2); }
.t-mysticwood .cover .names, .t-mysticwood .hero .names, .t-mysticwood .aside .names { font-family: var(--serif-e); font-style: italic; font-weight: 400; letter-spacing: -.05em; color: var(--hero-ink); text-shadow: 0 2px 18px rgba(0,0,0,.5); }
.t-mysticwood .cover .names { font-size: clamp(3.3rem, 14vw, 5.25rem); }
.t-mysticwood .names i { font-family: var(--serif-e); color: var(--accent); }
.t-mysticwood .cover__date, .t-mysticwood .hero__date, .t-mysticwood .aside__date { font: 500 1rem var(--serif-e); letter-spacing: .14em; color: var(--accent); }
.t-mysticwood .cover__to strong { font: 500 1.45rem var(--serif-e); }
.t-mysticwood .tm-frame { z-index: 1; }
.t-mysticwood .tm-corner { width: clamp(102px, 24vw, 150px); opacity: .96; }
.t-mysticwood .tm-house { filter: drop-shadow(0 14px 25px rgba(0,0,0,.5)); }
.t-mysticwood .cover .tm-house { width: min(230px, 62vw); animation: mwRise 1.3s ease both, mwFloat 8s ease-in-out 1.3s infinite; }
.t-mysticwood .hero .tm-house { width: min(255px, 66vw); animation: mwGlow 4s ease-in-out infinite; }
.t-mysticwood .tm-house--sm { width: 170px; }
.t-mysticwood .tm-divider { width: 235px; margin-bottom: 1.1rem; }
.t-mysticwood .am-garland { height: clamp(60px, 18vw, 100px); background-size: auto 100%; }
.t-mysticwood .am-fall i { filter: drop-shadow(0 0 6px rgba(226,183,106,.65)); }
.t-mysticwood .sec { padding-block: 4.9rem; }
.t-mysticwood .sec--tint { background: rgba(21,45,58,.62); }
.t-mysticwood .sec__title { font: 500 2.35rem/1.06 var(--serif-e); letter-spacing: -.03em; color: var(--ink); }
.t-mysticwood .sec__title::after { content: '✦'; margin-top: .45rem; font-size: 1rem; color: var(--accent-2); }
.t-mysticwood .lead-txt, .t-mysticwood .person__parents, .t-mysticwood .event__addr { color: var(--muted); }
.t-mysticwood .quote { font: italic 400 1.25rem/1.75 var(--serif-e); }
.t-mysticwood .ornament { font-size: 0; }
.t-mysticwood .ornament::before { content: '✦'; font: 1.9rem/1 var(--serif-e); color: var(--accent-2); }
.t-mysticwood .event, .t-mysticwood .gift, .t-mysticwood .rsvp, .t-mysticwood .wish, .t-mysticwood .qr-card, .t-mysticwood .lstory__card { border-radius: 18px 7px 18px 7px; background: rgba(32,59,69,.9); border-color: var(--line); box-shadow: 0 24px 46px -28px rgba(0,0,0,.75); }
.t-mysticwood .event::before { inset: 7px; border: 1px solid rgba(226,183,106,.23); border-radius: 12px 4px 12px 4px; }
.t-mysticwood .event h3, .t-mysticwood .lstory__title { font-family: var(--serif-e); font-weight: 500; color: var(--accent); }
.t-mysticwood .pframe::before { border-color: var(--accent); border-radius: 18px 18px 34px 34px; }
.t-mysticwood .pframe::after { background: var(--accent-2); box-shadow: 0 0 0 4px var(--bg); }
.t-mysticwood .pframe__arch { border-radius: 12px 12px 28px 28px; background: var(--bg-2); }
.t-mysticwood .pframe__init { font-family: var(--serif-e); font-style: italic; color: var(--accent); background: radial-gradient(circle at 50% 35%, #34535b, var(--bg-2)); }
.t-mysticwood .countdown div { border-radius: 14px 5px 14px 5px; background: rgba(32,59,69,.9); border-color: var(--line); }
.t-mysticwood .countdown b { font-family: var(--serif-e); color: var(--accent-2); }
.t-mysticwood .ibtn { border-radius: 8px; border-color: var(--accent); }
.t-mysticwood .ibtn--solid { background: var(--accent); }
.t-mysticwood .music { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-mysticwood .ifoot { border-top-color: var(--line); }
@media (prefers-reduced-motion: reduce) { .t-mysticwood .tm-house { animation: none; } }
