/* ==========================================================
   DInvite — Tema Floral "Camellia Veil"
   Ivory, terracotta, dan camellia dalam gaya botanical editorial.
   ========================================================== */
.t-camellia {
    --bg: #f8f4eb; --bg-2: #eee3d3; --card: #fffaf0; --ink: #4d3931; --muted: #806b5f;
    --accent: #b46f5b; --accent-2: #c8a36f; --on-accent: #fffaf0; --line: rgba(180,111,91,.26);
    --hero-rgb: 249,246,237; --tint-a: .82; --hero-ink: #4d3931;
    --serif-e: 'Cormorant Garamond', Georgia, serif;
    --am-panel: linear-gradient(135deg, #f0e1d1, #e6d3c0 55%, #f7eddd);
    --am-seam: linear-gradient(#c8a36f, #b46f5b, #c8a36f);
    color-scheme: light;
}
@keyframes cmRise { from { opacity: 0; transform: translateY(22px) scale(.97); } }
@keyframes cmFloat { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-6px) rotate(1deg); } }
@keyframes cmReveal { from { clip-path: inset(0 0 100% 0); opacity: .2; } to { clip-path: inset(0); opacity: 1; } }
.t-camellia body, .t-camellia { letter-spacing: .008em; }
.t-camellia .page { background-image: linear-gradient(90deg, rgba(180,111,91,.035) 1px, transparent 1px), linear-gradient(rgba(180,111,91,.035) 1px, transparent 1px); background-size: 30px 30px; }
.t-camellia .cover, .t-camellia .hero, .t-camellia .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 50% 10%, rgba(255,255,255,.78), transparent 48%), linear-gradient(140deg, #fffaf0, var(--bg-2)); }
.t-camellia .cover::before { inset: 18px; border: 1px solid rgba(180,111,91,.4); border-radius: 8px; }
.t-camellia .cover::after { inset: 29px; border: 0; border-top: 1px solid rgba(200,163,111,.4); border-bottom: 1px solid rgba(200,163,111,.4); border-radius: 0; }
.t-camellia .cover__inner { gap: .95rem; }
.t-camellia .cover .kicker, .t-camellia .hero .kicker { font-family: var(--serif-e); font-size: .9rem; letter-spacing: .3em; color: var(--accent); }
.t-camellia .cover .names, .t-camellia .hero .names, .t-camellia .aside .names { font-family: var(--serif-e); font-style: italic; font-weight: 600; letter-spacing: -.045em; color: var(--hero-ink); }
.t-camellia .cover .names { font-size: clamp(3.5rem, 14vw, 5.6rem); line-height: 1.03; }
.t-camellia .names i { font-family: var(--serif-e); color: var(--accent); }
.t-camellia .cover__date, .t-camellia .hero__date, .t-camellia .aside__date { font: 600 1.1rem var(--serif-e); letter-spacing: .13em; color: var(--accent); }
.t-camellia .cover__to strong { font: 600 1.55rem var(--serif-e); }
.t-camellia .tm-frame { z-index: 1; }
.t-camellia .tm-corner { width: clamp(88px, 21vw, 128px); opacity: .91; }
.t-camellia .tm-house { filter: drop-shadow(0 14px 20px rgba(94,62,44,.16)); }
.t-camellia .cover .tm-house { width: min(240px, 64vw); animation: cmRise 1.35s ease both, cmFloat 7s ease-in-out 1.35s infinite; }
.t-camellia .hero .tm-house { width: min(260px, 67vw); }
.t-camellia .tm-house--sm { width: 165px; }
.t-camellia .tm-divider { width: 225px; margin-bottom: 1.05rem; }
.t-camellia .am-garland { height: clamp(56px, 16vw, 88px); background-size: auto 100%; }
.t-camellia .am-fall i { filter: drop-shadow(0 2px 4px rgba(180,111,91,.28)); }
.t-camellia .sec { padding-block: 4.7rem; }
.t-camellia .sec__title { font: 600 2.45rem/1 var(--serif-e); letter-spacing: -.02em; color: var(--ink); }
.t-camellia .sec__title::after { content: '❧'; margin-top: .4rem; font: 1.45rem var(--serif-e); color: var(--accent); }
.t-camellia .lead-txt, .t-camellia .person__parents, .t-camellia .event__addr { color: var(--muted); }
.t-camellia .quote { font: italic 500 1.3rem/1.68 var(--serif-e); }
.t-camellia .ornament { font-size: 0; }
.t-camellia .ornament::before { content: '✿'; font: 2rem/1 var(--serif-e); color: var(--accent); }
.t-camellia .event, .t-camellia .gift, .t-camellia .rsvp, .t-camellia .wish, .t-camellia .qr-card, .t-camellia .lstory__card { border-radius: 9px; background: rgba(255,250,240,.9); border-color: var(--line); box-shadow: 0 20px 40px -32px rgba(77,57,49,.6); }
.t-camellia .event::before { inset: 7px; border: 1px solid rgba(200,163,111,.3); border-radius: 4px; }
.t-camellia .event h3, .t-camellia .lstory__title { font-family: var(--serif-e); font-weight: 600; color: var(--accent); }
.t-camellia .pframe::before { border-color: var(--accent); border-radius: 12px; }
.t-camellia .pframe::after { background: var(--accent-2); }
.t-camellia .pframe__arch { border-radius: 8px; background: var(--bg-2); }
.t-camellia .pframe__init { font-family: var(--serif-e); font-style: italic; color: var(--accent); background: radial-gradient(circle at 50% 35%, #fffaf0, var(--bg-2)); }
.t-camellia .countdown div { border-radius: 8px; background: rgba(255,250,240,.9); border-color: var(--line); }
.t-camellia .countdown b { font-family: var(--serif-e); color: var(--accent); }
.t-camellia .ibtn { border-radius: 7px; border-color: var(--accent); }
.t-camellia .ibtn--solid { background: var(--accent); }
.t-camellia .music { border-radius: 50%; background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.t-camellia .reveal .sec__title { clip-path: inset(0 0 100% 0); opacity: .2; transition: clip-path 1s cubic-bezier(.2,.7,.2,1), opacity .8s ease; }
.t-camellia .reveal.is-visible .sec__title { clip-path: inset(0); opacity: 1; }
.t-camellia .ifoot { border-top-color: var(--line); }
@media (min-width: 960px) {
    .t-camellia .aside { background-image: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none), radial-gradient(ellipse at 50% 10%, rgba(255,255,255,.72), transparent 48%), linear-gradient(140deg, #fffaf0, var(--bg-2)); }
    .t-camellia .aside::after { content: '✿'; position: absolute; right: 12%; bottom: 10%; font: 3rem var(--serif-e); color: rgba(180,111,91,.2); }
}
@media (prefers-reduced-motion: reduce) {
    .t-camellia .tm-house { animation: none; }
    .t-camellia .reveal .sec__title { clip-path: none; opacity: 1; }
}
