/* =========================================================================
   Tema 01 — Botanical Elegan (hariH)
   Skin di atas undangan/shared/undangan.css: palet sage tua + gading + emas,
   tipografi Cormorant Garamond (satu keluarga, lihat :root), ornamen botani
   SVG inline (tanpa file gambar — ringan & bebas request eksternal).
   Menambah tema baru = duplikasi folder ini + daftarkan di undangan_get_temas()
   dan blok @font-face di bawah.
   ========================================================================= */

/* Font SELF-HOSTED sejak 2026-08-07 (G1.2) — sebelumnya halaman undangan
   memanggil Google Fonts, yang berarti rantai SERIAL: HTML → CSS googleapis
   (0,34 dtk) → woff2 gstatic (0,33 dtk), ke dua domain pihak ketiga, sebelum
   teks tampil dalam font yang benar. Dibangun oleh scripts/buat-font-web.py
   dari .ttf di aset/font (berkas .ttf JANGAN dihapus — generator kartu OG
   masih memakainya lewat GD). Lisensi OFL dicatat di docs/aset-lisensi.md.

   Satu berkas menutup weight 400/500/600 sekaligus karena sumbernya variable
   font — karena itu `font-weight: 300 700` (rentang), bukan satu @font-face
   per weight seperti kiriman Google.

   Dipecah latin / latin-ext dengan unicode-range persis seperti yang Google
   lakukan: latin-ext menambah 55 KB dan hanya diunduh bila nama yang dirender
   benar-benar memuat karakternya. */
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../../aset/font/cormorant-garamond-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../../aset/font/cormorant-garamond-latinext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Italic dipakai di empat tempat oleh shared/undangan.css — yang paling kentara
   ampersand 46px di .mempelai-amp. Tanpa face italik sungguhan browser
   mensintesis oblique, dan pada serif sebesar itu perbedaannya terlihat. */
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 300 700;
    font-display: swap;
    src: url('../../aset/font/cormorant-garamond-italic-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 300 700;
    font-display: swap;
    src: url('../../aset/font/cormorant-garamond-italic-latinext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {

    /* C1a — kunci ke satu skema. Tanpa ini mode gelap PAKSA
       (Samsung Internet, Chrome Android) membalik warna undangan
       sendiri: krem jadi abu, dan kontras yang sudah dihitung batal. */
    color-scheme: only light;

    /* KONSEP: klasik formal — SATU keluarga serif untuk seluruh halaman.
       Tidak ada sans sama sekali. Micro-label memakai serif kapital
       ber-tracking lebar, yang di dunia cetak justru bacaan paling "terukir".
       Ini yang membuat tema-01 terbaca sebagai undangan cetak tradisional,
       bukan halaman web ber-heading serif. */
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Cormorant Garamond', Georgia, serif;
    --font-label: 'Cormorant Garamond', Georgia, serif;

    --c-page: #e7e2d6;
    --c-bg: #faf7f0;
    --c-surface: #ffffff;
    --c-ink: #34332c;
    --c-ink-soft: #6b6758; /* C1b — 3,76 → 5,30:1, lolos WCAG AA. Token ini mewarnai .lokasi-alamat 14px */
    --c-line: #e6e1d2;
    --c-accent: #3f5c4f;      /* sage tua */
    --c-accent-ink: #f4f1e7;  /* gading */
    --c-gold: #b4923f;
    /* U14 — peran TEKS dipisah dari peran ornamen. `--c-gold` tetap dipakai
       garis, kutip display, ampersand, dan ikon (di sana kontras tinggi tidak
       dibutuhkan); tapi sebagai warna teks ia cuma 2,59:1 di section ber-tint —
       gagal AA di sepuluh judul section, jam susunan acara, dan NAMA BANK
       tempat tamu transfer. Dihitung: 4,61:1 ber-tint · 5,24:1 di atas putih. */
    --c-gold-teks: #82692d;
    /* U15 — batas kontrol form. `--c-line` cuma 1,15:1 terhadap latar section,
       jadi kotak isian RSVP praktis tidak punya tepi. 3,11:1 (SC 1.4.11). */
    --c-line-input: #8b887d;
    --radius: 3px;        /* sudut tegas — kartu cetak, bukan kartu aplikasi */
    --radius-btn: 2px;
    --shadow: 0 12px 32px rgba(63, 92, 79, .10);

    /* Cover tanpa foto: gradasi sage dalam */
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #4d6e5f 0%, #3f5c4f 46%, #2e463b 100%);
    --cover-overlay: linear-gradient(180deg, rgba(28, 42, 35, .30) 0%, rgba(28, 42, 35, .62) 100%);
    --cover-ink: #f7f4ea;

    /* Ornamen pembatas: garis — daun — belah ketupat — daun — garis (emas) */
    --ornament: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20160%2040'%20fill='none'%3E%3Cpath%20d='M6%2020h44'%20stroke='%23b4923f'%20stroke-width='1'/%3E%3Cpath%20d='M110%2020h44'%20stroke='%23b4923f'%20stroke-width='1'/%3E%3Cpath%20d='M80%2011l7%209-7%209-7-9z'%20stroke='%23b4923f'%20stroke-width='1'/%3E%3Cpath%20d='M58%2020c4-7%2010-9%2010-9s-1%208-6%2011'%20stroke='%23b4923f'%20stroke-width='1'/%3E%3Cpath%20d='M102%2020c-4-7-10-9-10-9s1%208%206%2011'%20stroke='%23b4923f'%20stroke-width='1'/%3E%3C/svg%3E");
}

/* Cormorant bertubuh kecil & ramping: ukuran teks dinaikkan dan weight
   sedikit ditebalkan supaya tetap nyaman dibaca di HP. */
.section-intro, .prose, .lokasi-alamat, .mempelai-ortu, .penutup-teks {
    font-size: 17px;
}
.section-intro, .prose { line-height: 1.9; }
.acara-tanggal, .lokasi-nama, .ucapan-nama { font-weight: 600; }
/* (Baris `.field input … { font-size: 16px }` dicabut U2 — 16px kini jadi
   bawaan di undangan.css sehingga ketiga tema kebagian, bukan tema-01 saja.) */
/* Label serif kapital: tracking lebih lebar dari sans agar tidak terlihat rapat */
.cover-eyebrow { letter-spacing: .4em; text-indent: .4em; }
.btn { letter-spacing: .24em; text-indent: .24em; font-size: 13px; }

/* Tekstur halus latar luar kolom (terlihat di desktop) */
body.undangan-body {
    background-image: repeating-linear-gradient(45deg, rgba(63, 92, 79, .035) 0 2px, transparent 2px 14px);
}

/* Gate tanpa foto: bingkai ganda emas ala kartu undangan cetak — bingkai
   layar penuh, bukan kotak kecil di tengah. */
.gate:not(.has-photo) .gate-inner { margin: 14px; box-shadow: inset 0 0 0 1px rgba(180, 146, 63, .55); }
.gate:not(.has-photo) .gate-inner::before {
    content: '';
    position: absolute;
    inset: 7px;
    box-shadow: inset 0 0 0 1px rgba(180, 146, 63, .28);
    pointer-events: none;
}

/* Tombol buka di atas foto/gradasi gelap: gading transparan */
.gate .btn-open {
    background: rgba(244, 241, 231, .14);
    box-shadow: inset 0 0 0 1.5px rgba(244, 241, 231, .9);
    color: var(--cover-ink);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.arch-inisial { background: linear-gradient(180deg, #f0ebdc, #f7f4ea); }

.section-intro, .prose { line-height: 1.85; }

/* Kartu acara: aksen garis emas di kiri */
.acara-card { border-left: 2px solid var(--c-gold); }
