/* ==========================================================
   DInvite — Tema Floral "Petaline"
   Blush, champagne, dan peony line-art dengan nuansa editorial.
   ========================================================== */
.t-petaline {
    --bg: #faf2f0; --bg-2: #f3e2df; --card: #fffaf8; --ink: #4b3134; --muted: #84686a;
    --accent: #b86f78; --accent-2: #d19a9e; --on-accent: #fffaf8; --line: rgba(184,111,120,.25);
    --hero-rgb: 250,242,240; --tint-a: .82; --hero-ink: #4b3134;
    --serif-e: 'Playfair Display', Georgia, serif;
    color-scheme: light;
}
.t-petaline body, .t-petaline { letter-spacing: .01em; }
.t-petaline .page { background-image: radial-gradient(circle at 12% 10%, rgba(184,111,120,.07) 0 1px, transparent 1.5px), radial-gradient(circle at 86% 74%, rgba(193,151,108,.08) 0 1px, transparent 1.5px); background-size: 28px 28px, 34px 34px; }
.t-petaline .cover, .t-petaline .hero, .t-petaline .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(circle at 50% 18%, rgba(255,255,255,.8), transparent 48%), linear-gradient(145deg, #fff9f6, var(--bg-2)); }
.t-petaline .cover::before { inset: 18px; border: 1px solid rgba(184,111,120,.42); border-radius: 26px; }
.t-petaline .cover::after { inset: 27px; border: 1px solid rgba(193,151,108,.28); border-radius: 20px; }
.t-petaline .cover__inner { gap: 1.15rem; }
.t-petaline .cover .kicker, .t-petaline .hero .kicker { letter-spacing: .38em; color: var(--accent); }
.t-petaline .cover .names, .t-petaline .hero .names, .t-petaline .aside .names { font-family: var(--serif-e); font-style: italic; font-weight: 400; letter-spacing: -.04em; color: var(--hero-ink); }
.t-petaline .cover .names { font-size: clamp(3.5rem, 14vw, 5.5rem); }
.t-petaline .names i { font-family: var(--serif-e); color: var(--accent); }
.t-petaline .cover__date, .t-petaline .hero__date, .t-petaline .aside__date { font: 500 1rem var(--serif-e); letter-spacing: .16em; color: var(--accent); }
.t-petaline .cover__to strong { font: 500 1.45rem var(--serif-e); }
.t-petaline .tm-house { filter: drop-shadow(0 14px 20px rgba(110,66,71,.15)); }
.t-petaline .cover .tm-house { width: min(240px, 64vw); margin-bottom: -.2rem; }
.t-petaline .hero .tm-house { width: min(260px, 66vw); }
.t-petaline .tm-corner { width: clamp(84px, 20vw, 125px); opacity: .9; }
.t-petaline .tm-divider { width: 210px; margin-bottom: 1.2rem; }
.t-petaline .sec { padding-block: 4.8rem; }
.t-petaline .sec__title { font: 500 2.3rem/1.1 var(--serif-e); letter-spacing: -.02em; color: var(--ink); }
.t-petaline .sec__title::after { content: '✽'; margin-top: .45rem; font-size: .9rem; color: var(--accent); }
.t-petaline .lead-txt, .t-petaline .person__parents, .t-petaline .event__addr { color: var(--muted); }
.t-petaline .quote { font: italic 400 1.25rem/1.7 var(--serif-e); }
.t-petaline .ornament { font-size: 0; }
.t-petaline .ornament::before { content: '❧'; font: 2.4rem/1 var(--serif-e); color: var(--accent); }
.t-petaline .event, .t-petaline .lstory__card, .t-petaline .gift-card, .t-petaline .wish { border-radius: 18px; background: rgba(255,250,248,.82); border-color: var(--line); box-shadow: 0 20px 40px -32px rgba(93,48,54,.55); }
.t-petaline .event::before { inset: 7px; border: 1px solid rgba(193,151,108,.22); border-radius: 12px; }
.t-petaline .event h3, .t-petaline .lstory__title { font-family: var(--serif-e); font-weight: 500; color: var(--accent); }
.t-petaline .pframe::before { border-color: var(--accent); border-radius: 999px 999px 24px 24px; }
.t-petaline .pframe::after { background: var(--accent); }
.t-petaline .pframe__arch { border-radius: 999px 999px 18px 18px; background: var(--bg-2); }
.t-petaline .pframe__init { font-family: var(--serif-e); font-style: italic; color: var(--accent); background: radial-gradient(circle at 50% 35%, #fffaf8, var(--bg-2)); }
.t-petaline .countdown div { border-radius: 16px; background: rgba(255,250,248,.86); border-color: var(--line); }
.t-petaline .countdown b { font-family: var(--serif-e); color: var(--accent); }
.t-petaline .ibtn { border-radius: 9px; border-color: var(--accent); }
.t-petaline .ibtn--solid { background: var(--accent); }
.t-petaline .music { border-radius: 50%; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-petaline .ifoot { border-top-color: var(--line); }
@media (min-width: 960px) {
    .t-petaline .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(circle at 50% 18%, rgba(255,255,255,.72), transparent 48%), linear-gradient(145deg, #fff9f6, var(--bg-2)); }
    .t-petaline .aside::after { content: '✽'; position: absolute; right: 12%; bottom: 10%; font: 3rem var(--serif-e); color: rgba(184,111,120,.2); }
}
@media (prefers-reduced-motion: reduce) {
    .t-petaline .tm-house { animation: none; }
}
