/* ==========================================================
   DInvite — Tema Floral "Botanica"
   Sage, ivory, dan bunga liar dengan tampilan clean-natural.
   ========================================================== */
.t-botanica {
    --bg: #f3f6ee; --bg-2: #e5ecdf; --card: #fbfcf8; --ink: #304238; --muted: #687a6c;
    --accent: #718d73; --accent-2: #9eb19a; --on-accent: #fbfcf8; --line: rgba(113,141,115,.26);
    --hero-rgb: 243,246,238; --tint-a: .82; --hero-ink: #304238;
    --serif-e: 'Playfair Display', Georgia, serif;
    color-scheme: light;
}
.t-botanica body, .t-botanica { letter-spacing: .005em; }
.t-botanica .page { background-image: linear-gradient(90deg, rgba(113,141,115,.035) 1px, transparent 1px), linear-gradient(rgba(113,141,115,.035) 1px, transparent 1px); background-size: 32px 32px; }
.t-botanica .cover, .t-botanica .hero, .t-botanica .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 14% 12%, rgba(255,255,255,.78), transparent 42%), linear-gradient(135deg, #f9fbf4, var(--bg-2)); }
.t-botanica .cover::before { inset: 17px; border: 1px solid rgba(113,141,115,.35); border-radius: 10px; }
.t-botanica .cover::after { inset: 28px; border: 0; border-top: 1px solid rgba(113,141,115,.28); border-bottom: 1px solid rgba(113,141,115,.28); border-radius: 0; }
.t-botanica .cover__inner { gap: 1.05rem; }
.t-botanica .cover .kicker, .t-botanica .hero .kicker { letter-spacing: .34em; color: var(--accent); }
.t-botanica .cover .names, .t-botanica .hero .names, .t-botanica .aside .names { font-family: var(--serif-e); font-style: italic; font-weight: 400; letter-spacing: -.045em; color: var(--hero-ink); }
.t-botanica .cover .names { font-size: clamp(3.35rem, 13vw, 5.2rem); }
.t-botanica .names i { font-family: var(--serif-e); color: var(--accent); }
.t-botanica .cover__date, .t-botanica .hero__date, .t-botanica .aside__date { font: 500 1rem var(--serif-e); letter-spacing: .11em; color: var(--accent); }
.t-botanica .cover__to strong { font: 500 1.4rem var(--serif-e); }
.t-botanica .tm-house { filter: drop-shadow(0 14px 18px rgba(57,81,62,.16)); }
.t-botanica .cover .tm-house { width: min(240px, 64vw); }
.t-botanica .hero .tm-house { width: min(255px, 66vw); }
.t-botanica .tm-corner { width: clamp(84px, 20vw, 128px); opacity: .88; }
.t-botanica .tm-divider { width: 220px; margin-bottom: 1.1rem; }
.t-botanica .sec { padding-block: 4.7rem; }
.t-botanica .sec__title { font: 500 2.35rem/1.08 var(--serif-e); letter-spacing: -.025em; color: var(--ink); }
.t-botanica .sec__title::after { content: '·  ❧  ·'; margin-top: .5rem; font: 1.1rem var(--serif-e); color: var(--accent); letter-spacing: .18em; }
.t-botanica .lead-txt, .t-botanica .person__parents, .t-botanica .event__addr { color: var(--muted); }
.t-botanica .quote { font: italic 400 1.2rem/1.75 var(--serif-e); }
.t-botanica .ornament { font-size: 0; }
.t-botanica .ornament::before { content: '❧'; font: 2.2rem/1 var(--serif-e); color: var(--accent); }
.t-botanica .event, .t-botanica .lstory__card, .t-botanica .gift-card, .t-botanica .wish { border-radius: 10px; background: rgba(251,252,248,.86); border-color: var(--line); box-shadow: 0 20px 40px -34px rgba(48,66,56,.6); }
.t-botanica .event::before { inset: 7px; border: 1px solid rgba(113,141,115,.2); border-radius: 5px; }
.t-botanica .event h3, .t-botanica .lstory__title { font-family: var(--serif-e); font-weight: 500; color: var(--accent); }
.t-botanica .pframe::before { border-color: var(--accent); border-radius: 12px; }
.t-botanica .pframe::after { background: var(--accent); }
.t-botanica .pframe__arch { border-radius: 8px; background: var(--bg-2); }
.t-botanica .pframe__init { font-family: var(--serif-e); font-style: italic; color: var(--accent); background: radial-gradient(circle at 50% 35%, #fbfcf8, var(--bg-2)); }
.t-botanica .countdown div { border-radius: 8px; background: rgba(251,252,248,.86); border-color: var(--line); }
.t-botanica .countdown b { font-family: var(--serif-e); color: var(--accent); }
.t-botanica .ibtn { border-radius: 7px; border-color: var(--accent); }
.t-botanica .ibtn--solid { background: var(--accent); }
.t-botanica .music { border-radius: 50%; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-botanica .ifoot { border-top-color: var(--line); }
@media (min-width: 960px) {
    .t-botanica .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 14% 12%, rgba(255,255,255,.72), transparent 42%), linear-gradient(135deg, #f9fbf4, var(--bg-2)); }
    .t-botanica .aside::after { content: '✿'; position: absolute; right: 12%; bottom: 10%; font: 3.1rem var(--serif-e); color: rgba(113,141,115,.18); }
}
@media (prefers-reduced-motion: reduce) {
    .t-botanica .tm-house { animation: none; }
}
