/* ==========================================================
   DInvite — Tema Floral "Wildflora"
   Bunga liar, lavender, dan aksen butter yellow dalam gaya fresh.
   ========================================================== */
.t-wildflora {
    --bg: #faf7ee; --bg-2: #eeeaf5; --card: #fffdf7; --ink: #453d4b; --muted: #776f7d;
    --accent: #8b739d; --accent-2: #d39a58; --on-accent: #fffdf7; --line: rgba(139,115,157,.25);
    --hero-rgb: 248,245,237; --tint-a: .82; --hero-ink: #453d4b;
    --serif-e: 'Fraunces', Georgia, serif;
    --am-panel: linear-gradient(135deg, #eeeaf5, #e6e0f0 55%, #fbf5df);
    --am-seam: linear-gradient(#d39a58, #8b739d, #d39a58);
    color-scheme: light;
}
@keyframes wfRise { from { opacity: 0; transform: translateY(24px) rotate(-2deg); } }
@keyframes wfFloat { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes wfBlob { 0%, 100% { transform: rotate(-4deg) scale(1); } 50% { transform: rotate(4deg) scale(1.04); } }
.t-wildflora body, .t-wildflora { letter-spacing: .006em; }
.t-wildflora .page { background-image: radial-gradient(circle at 12% 12%, rgba(139,115,157,.08) 0 1px, transparent 1.5px), radial-gradient(circle at 88% 70%, rgba(211,154,88,.08) 0 1px, transparent 1.5px); background-size: 26px 26px, 39px 39px; }
.t-wildflora .cover, .t-wildflora .hero, .t-wildflora .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 82% 18%, rgba(238,234,245,.88), transparent 43%), linear-gradient(145deg, #fffdf7, #eeeaf5); }
.t-wildflora .cover::before { inset: 15px; border: 0; border-radius: 38px 12px 38px 12px; box-shadow: inset 0 0 0 1px rgba(139,115,157,.4); }
.t-wildflora .cover::after { inset: 26px; border: 1px dashed rgba(211,154,88,.38); border-radius: 27px 8px 27px 8px; }
.t-wildflora .cover__inner { gap: 1rem; }
.t-wildflora .cover .kicker, .t-wildflora .hero .kicker { letter-spacing: .34em; color: var(--accent); }
.t-wildflora .cover .names, .t-wildflora .hero .names, .t-wildflora .aside .names { font-family: var(--serif-e); font-style: italic; font-weight: 400; letter-spacing: -.045em; color: var(--hero-ink); }
.t-wildflora .cover .names { font-size: clamp(3.3rem, 14vw, 5.25rem); }
.t-wildflora .names i { font-family: var(--serif-e); color: var(--accent-2); }
.t-wildflora .cover__date, .t-wildflora .hero__date, .t-wildflora .aside__date { font: 500 1rem var(--serif-e); letter-spacing: .1em; color: var(--accent); }
.t-wildflora .cover__to strong { font: 500 1.5rem var(--serif-e); }
.t-wildflora .tm-frame { z-index: 1; }
.t-wildflora .tm-corner { width: clamp(90px, 22vw, 132px); opacity: .9; }
.t-wildflora .tm-house { filter: drop-shadow(0 13px 20px rgba(69,61,75,.16)); }
.t-wildflora .cover .tm-house { width: min(245px, 65vw); animation: wfRise 1.25s ease both, wfFloat 8s ease-in-out 1.25s infinite; }
.t-wildflora .hero .tm-house { width: min(260px, 68vw); animation: wfFloat 8s ease-in-out infinite; }
.t-wildflora .tm-house--sm { width: 170px; }
.t-wildflora .tm-divider { width: 230px; margin-bottom: 1rem; }
.t-wildflora .am-garland { height: clamp(52px, 15vw, 82px); background-size: auto 100%; }
.t-wildflora .am-fall i { filter: drop-shadow(0 2px 4px rgba(139,115,157,.28)); }
.t-wildflora .sec { padding-block: 4.7rem; }
.t-wildflora .sec__title { font: 500 2.35rem/1.06 var(--serif-e); letter-spacing: -.025em; color: var(--ink); }
.t-wildflora .sec__title::after { content: '✽  ✽  ✽'; margin-top: .4rem; font-size: .7rem; color: var(--accent-2); letter-spacing: .5em; }
.t-wildflora .lead-txt, .t-wildflora .person__parents, .t-wildflora .event__addr { color: var(--muted); }
.t-wildflora .quote { font: italic 400 1.25rem/1.72 var(--serif-e); }
.t-wildflora .ornament { font-size: 0; }
.t-wildflora .ornament::before { content: '✽'; font: 2rem/1 var(--serif-e); color: var(--accent-2); }
.t-wildflora .event, .t-wildflora .gift, .t-wildflora .rsvp, .t-wildflora .wish, .t-wildflora .qr-card, .t-wildflora .lstory__card { border-radius: 26px 10px 26px 10px; background: rgba(255,253,247,.88); border-color: var(--line); box-shadow: 0 20px 40px -32px rgba(69,61,75,.55); }
.t-wildflora .event::before { inset: 7px; border: 1px dashed rgba(139,115,157,.25); border-radius: 20px 5px 20px 5px; }
.t-wildflora .event h3, .t-wildflora .lstory__title { font-family: var(--serif-e); font-weight: 500; color: var(--accent); }
.t-wildflora .pframe::before { border-color: var(--accent); border-radius: 16px 16px 36px 36px; }
.t-wildflora .pframe::after { background: var(--accent-2); }
.t-wildflora .pframe__arch { border-radius: 12px 12px 30px 30px; background: var(--bg-2); }
.t-wildflora .pframe__init { font-family: var(--serif-e); font-style: italic; color: var(--accent); background: radial-gradient(circle at 50% 35%, #fffdf7, var(--bg-2)); }
.t-wildflora .countdown div { border-radius: 18px 6px 18px 6px; background: rgba(255,253,247,.9); border-color: var(--line); }
.t-wildflora .countdown b { font-family: var(--serif-e); color: var(--accent); }
.t-wildflora .ibtn { border-radius: 12px 4px 12px 4px; border-color: var(--accent); }
.t-wildflora .ibtn--solid { background: var(--accent); }
.t-wildflora .music { border-radius: 50%; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-wildflora .reveal .sec__title::after { display: inline-block; animation: wfBlob 4s ease-in-out infinite; }
.t-wildflora .ifoot { border-top-color: var(--line); }
@media (min-width: 960px) {
    .t-wildflora .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 82% 18%, rgba(238,234,245,.8), transparent 43%), linear-gradient(145deg, #fffdf7, #eeeaf5); }
    .t-wildflora .aside::after { content: '✽'; position: absolute; right: 12%; bottom: 10%; font: 3.4rem var(--serif-e); color: rgba(139,115,157,.2); animation: wfBlob 5s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) {
    .t-wildflora .tm-house, .t-wildflora .aside::after, .t-wildflora .reveal .sec__title::after { animation: none; }
}
