/* =========================================================================
   Palet warna undangan (hariH) — lapisan di antara shared/undangan.css dan
   undangan/{tema}/style.css. Dipilih lewat `<html data-palet="…">`.

   Keputusan owner 2026-09-12 (evaluasi template): tiga template tetap tiga,
   tapi tiap template menawarkan skema warna pilihan pelanggan. Konsekuensinya
   WARNA bukan lagi milik template: seluruh token warna pindah ke sini, dan
   berkas tema hanya memegang huruf, radius, tracking, dan motif.

   Satu palet = satu blok `:root[data-palet="…"]` berisi SEMUA token warna yang
   dibaca undangan.css. Palet baru = salin satu blok, ganti nilainya, lalu
   `python3 scripts/cek-kontras-palet.py` — angka kontras di komentar tiap
   blok berasal dari skrip itu (ambang: 4,9 di section ber-tint karena butiran
   kertas memakan ±0,15, metode U14; 4,5 di latar polos; 3,0 batas kontrol).

   Palet bawaan per template (harih_palet_bawaan): tema-01 sage · tema-02
   terakota · tema-03 navy — nilainya persis token lama tiap tema, jadi
   undangan yang sudah terbit tidak berubah rupa. Pemilih di form isi data &
   Kelola: undangan_get_palets() di cpt.php (nama tampil + tiga swatch).

   Palet GELAP (color-scheme: dark) wajib menimpa juga token komponen yang
   bawaannya terang: --tint-alt (tint harus LEBIH TERANG), --grain (butiran
   diperhalus supaya tidak terbaca derau), --c-galat, --c-placeholder,
   --c-lightbox-bg, --latar-terang, dan QRIS berlatar putih agar terbaca
   pemindai — skrip cek menolak palet gelap yang melewatkannya.
   ========================================================================= */

/* ---- sage — Hijau Sage & Gading (bawaan tema-01) ----
   ink-soft tint 4,97 · gold-teks tint 4,97 (U14: #82692d → #7c642b, diukur
   per piksel di atas butiran) · line-input 3,11 · badge 6,00 / 5,88 / 5,71 */
:root[data-palet="sage"] {
    color-scheme: only light;   /* C1a — mode gelap paksa (Samsung/Chrome Android) jangan membalik warna */
    --c-page: #e7e2d6;
    --c-bg: #faf7f0;
    --c-surface: #ffffff;
    --c-ink: #34332c;
    --c-ink-soft: #6b6758;
    --c-line: #e6e1d2;
    --c-accent: #3f5c4f;
    --c-accent-ink: #f4f1e7;
    --c-gold: #b4923f;
    --c-gold-teks: #7c642b;
    --c-line-input: #8b887d;
    --shadow: 0 12px 32px rgba(63, 92, 79, .10);
    --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;
    --cover-scrim-rgb: 16, 26, 21;
    --c-badge-hadir: #35604a;  --c-badge-hadir-bg: rgba(63, 92, 79, .12);
    --c-badge-tidak: #5e5a4c;  --c-badge-tidak-bg: rgba(107, 103, 88, .12);
    --c-badge-ragu:  #6f5a24;  --c-badge-ragu-bg:  rgba(180, 146, 63, .16);
}

/* ---- terakota — Terakota & Krem (bawaan tema-02) ----
   ink-soft tint 4,98 (#77685a → #736457) · gold-teks tint 4,97 (#975e36 →
   #905a34) · line-input 3,13 · badge 5,35 / 5,88 / 5,67 */
:root[data-palet="terakota"] {
    color-scheme: only light;
    --c-page: #ecdfd2;
    --c-bg: #fbf6f0;
    --c-surface: #ffffff;
    --c-ink: #3a2e26;
    --c-ink-soft: #736457;
    --c-line: #ecdccd;
    --c-accent: #a15436;
    --c-accent-ink: #faf3ea;
    --c-gold: #be7a4a;
    --c-gold-teks: #905a34;
    --c-line-input: #93857a;
    --shadow: 0 12px 32px rgba(161, 84, 54, .10);
    --cover-fallback: linear-gradient(180deg, #c97c4f 0%, #a15436 55%, #6f3120 100%);
    --cover-overlay: linear-gradient(180deg, rgba(59, 30, 18, .24) 0%, rgba(59, 30, 18, .58) 100%);
    --cover-ink: #faf1e6;
    --cover-scrim-rgb: 38, 19, 11;
    --c-badge-hadir: #3d6a4a;  --c-badge-hadir-bg: rgba(67, 120, 80, .12);
    --c-badge-tidak: #665849;  --c-badge-tidak-bg: rgba(119, 104, 90, .12);
    --c-badge-ragu:  #834f2c;  --c-badge-ragu-bg:  rgba(190, 122, 74, .16);
}

/* ---- navy — Biru Malam & Emas (bawaan tema-03, GELAP) ----
   gold 6,68 di navy (peran teks memakai nilai yang sama) · line-input 3,17
   (arah TERANG) · badge 6,64 / 6,45 / 6,25 · galat 6,00 · placeholder 5,22 */
:root[data-palet="navy"] {
    color-scheme: only dark;
    --c-page: #0c1220;
    --c-bg: #131b2e;
    --c-surface: #1b2540;
    --c-ink: #e8e4d8;
    --c-ink-soft: #c2bcaa;
    --c-line: #2a3452;
    --c-accent: #c9a45c;
    --c-accent-ink: #171f33;
    --c-gold: #c9a45c;
    --c-gold-teks: #c9a45c;
    --c-line-input: #6b7080;
    --shadow: 0 14px 34px rgba(0, 0, 0, .35);
    --cover-fallback:
        radial-gradient(1.5px 1.5px at 22% 26%, rgba(240, 234, 217, .55) 50%, transparent 51%),
        radial-gradient(1px 1px at 66% 16%, rgba(240, 234, 217, .40) 50%, transparent 51%),
        radial-gradient(1.2px 1.2px at 82% 40%, rgba(240, 234, 217, .45) 50%, transparent 51%),
        radial-gradient(1px 1px at 38% 52%, rgba(240, 234, 217, .35) 50%, transparent 51%),
        radial-gradient(1.4px 1.4px at 12% 66%, rgba(240, 234, 217, .40) 50%, transparent 51%),
        radial-gradient(1px 1px at 54% 78%, rgba(240, 234, 217, .30) 50%, transparent 51%),
        linear-gradient(180deg, #223154 0%, #131c33 55%, #0b1122 100%);
    --cover-overlay: linear-gradient(180deg, rgba(8, 12, 24, .18) 0%, rgba(8, 12, 24, .66) 100%);
    --cover-ink: #f0ead9;
    --cover-scrim-rgb: 6, 9, 18;
    --c-badge-hadir: #9fd4ae;  --c-badge-hadir-bg: rgba(122, 190, 140, .16);
    --c-badge-tidak: #b9c0d2;  --c-badge-tidak-bg: rgba(160, 168, 190, .14);
    --c-badge-ragu:  #dcc08a;  --c-badge-ragu-bg:  rgba(201, 164, 92, .18);
    /* Token komponen untuk latar gelap */
    --tint-alt: rgba(255, 255, 255, .035);
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E");
    --c-galat: #e08a71;
    --c-placeholder: rgba(232, 228, 216, .6);
    --c-lightbox-bg: rgba(6, 9, 18, .95);
    --latar-terang: .55;   /* sampul terang di sisi navy terlalu menyala */
}
/* QRIS wajib berlatar terang agar bisa dipindai dari layar gelap. */
:root[data-palet="navy"] .qris img { background: #ffffff; padding: 10px; }

/* ---- dusty — Biru Kabut & Putih Gading ----
   Palet baru 12 Sep: biru abu lembut untuk pasangan yang menginginkan kesan
   tenang tanpa hijau. Angka kontras: lihat keluaran cek-kontras-palet.py. */
:root[data-palet="dusty"] {
    color-scheme: only light;
    --c-page: #dfe3e8;
    --c-bg: #f5f7f9;
    --c-surface: #ffffff;
    --c-ink: #2c3138;
    --c-ink-soft: #5d6570;
    --c-line: #e0e4ea;
    --c-accent: #4d6a86;
    --c-accent-ink: #f3f6f9;
    --c-gold: #b39c66;
    --c-gold-teks: #6a5f3a;
    --c-line-input: #868d96;
    --shadow: 0 12px 32px rgba(77, 106, 134, .10);
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #5f7d9b 0%, #4d6a86 46%, #35506a 100%);
    --cover-overlay: linear-gradient(180deg, rgba(26, 38, 52, .30) 0%, rgba(26, 38, 52, .62) 100%);
    --cover-ink: #f3f6f9;
    --cover-scrim-rgb: 14, 22, 32;
    --c-badge-hadir: #2f6449;  --c-badge-hadir-bg: rgba(63, 120, 90, .12);
    --c-badge-tidak: #565c65;  --c-badge-tidak-bg: rgba(110, 115, 122, .12);
    --c-badge-ragu:  #66582c;  --c-badge-ragu-bg:  rgba(179, 156, 102, .18);
}

/* ---- burgundy — Anggur Merah & Krem Mawar ----
   Palet baru 12 Sep: merah anggur dalam, hangat dan formal — lazim untuk
   resepsi malam dan adat. */
:root[data-palet="burgundy"] {
    color-scheme: only light;
    --c-page: #e9dfdc;
    --c-bg: #faf4f2;
    --c-surface: #ffffff;
    --c-ink: #3a2b2e;
    --c-ink-soft: #6f595d;
    --c-line: #ecdedb;
    --c-accent: #6e2a35;
    --c-accent-ink: #f8efec;
    --c-gold: #b8905a;
    --c-gold-teks: #7a5d2f;
    --c-line-input: #96878a;
    --shadow: 0 12px 32px rgba(110, 42, 53, .10);
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #8a3644 0%, #6e2a35 46%, #4a1c24 100%);
    --cover-overlay: linear-gradient(180deg, rgba(46, 17, 23, .30) 0%, rgba(46, 17, 23, .62) 100%);
    --cover-ink: #f8efec;
    --cover-scrim-rgb: 30, 11, 15;
    --c-badge-hadir: #3d6a4a;  --c-badge-hadir-bg: rgba(67, 120, 80, .12);
    --c-badge-tidak: #665254;  --c-badge-tidak-bg: rgba(112, 90, 94, .12);
    --c-badge-ragu:  #785a2b;  --c-badge-ragu-bg:  rgba(184, 144, 90, .16);
}

/* ---- monokrom — Arang & Gading ----
   Palet baru 12 Sep: tanpa warna, hanya arang dan gading; "emas" digantikan
   taupe supaya ornamen tetap terlihat sebagai ornamen, bukan garis hitam. */
:root[data-palet="monokrom"] {
    color-scheme: only light;
    --c-page: #e4e2dd;
    --c-bg: #f7f6f2;
    --c-surface: #ffffff;
    --c-ink: #262625;
    --c-ink-soft: #5e5d59;
    --c-line: #e2e0da;
    --c-accent: #2f2f2d;
    --c-accent-ink: #f5f4ef;
    --c-gold: #8f8570;
    --c-gold-teks: #5c5647;
    --c-line-input: #8e8c86;
    --shadow: 0 12px 32px rgba(38, 38, 37, .10);
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #4a4a47 0%, #2f2f2d 46%, #1c1c1b 100%);
    --cover-overlay: linear-gradient(180deg, rgba(20, 20, 19, .30) 0%, rgba(20, 20, 19, .62) 100%);
    --cover-ink: #f5f4ef;
    --cover-scrim-rgb: 14, 14, 13;
    --c-badge-hadir: #35604a;  --c-badge-hadir-bg: rgba(63, 92, 79, .12);
    --c-badge-tidak: #55544e;  --c-badge-tidak-bg: rgba(95, 94, 90, .12);
    --c-badge-ragu:  #655a43;  --c-badge-ragu-bg:  rgba(143, 133, 112, .18);
}

/* ---- zamrud — Zamrud & Emas (GELAP, Sprint 5 12 Sep) ----
   Hijau zamrud dalam untuk segmen "luxury" yang tidak ingin navy. Struktur token
   sama persis dengan navy: emas berperan aksen sekaligus teks. */
:root[data-palet="zamrud"] {
    color-scheme: only dark;
    --c-page: #08120e;
    --c-bg: #10201a;
    --c-surface: #1a2e25;
    --c-ink: #e8ece2;
    --c-ink-soft: #c1c9ba;
    --c-line: #27392f;
    --c-accent: #d0b06a;
    --c-accent-ink: #14201a;
    --c-gold: #d0b06a;
    --c-gold-teks: #d0b06a;
    --c-line-input: #6f7d73;
    --shadow: 0 14px 34px rgba(0, 0, 0, .38);
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #1f3d31 0%, #10201a 52%, #08120e 100%);
    --cover-overlay: linear-gradient(180deg, rgba(6, 16, 12, .18) 0%, rgba(6, 16, 12, .66) 100%);
    --cover-ink: #eef1e6;
    --cover-scrim-rgb: 5, 12, 9;
    --c-badge-hadir: #a6d9b3;  --c-badge-hadir-bg: rgba(122, 190, 140, .16);
    --c-badge-tidak: #c3cbc0;  --c-badge-tidak-bg: rgba(170, 180, 170, .14);
    --c-badge-ragu:  #e0c78f;  --c-badge-ragu-bg:  rgba(208, 176, 106, .18);
    --tint-alt: rgba(255, 255, 255, .035);
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E");
    --c-galat: #e69a83;
    --c-placeholder: rgba(232, 236, 226, .6);
    --c-lightbox-bg: rgba(5, 12, 9, .95);
    --latar-terang: .55;
}
:root[data-palet="zamrud"] .qris img { background: #ffffff; padding: 10px; }

/* ---- arang — Arang & Emas (GELAP, Sprint 5 12 Sep) ----
   Hitam arang hangat tanpa rona, emas sebagai satu-satunya warna: "moody" yang
   paling netral — cocok untuk foto berwarna kuat. */
:root[data-palet="arang"] {
    color-scheme: only dark;
    --c-page: #0e0e0d;
    --c-bg: #181817;
    --c-surface: #232322;
    --c-ink: #eceae2;
    --c-ink-soft: #c5c1b6;
    --c-line: #313130;
    --c-accent: #d4b46e;
    --c-accent-ink: #1b1a17;
    --c-gold: #d4b46e;
    --c-gold-teks: #d4b46e;
    --c-line-input: #75736c;
    --shadow: 0 14px 34px rgba(0, 0, 0, .42);
    --cover-fallback: radial-gradient(120% 90% at 50% 0%, #34332f 0%, #181817 52%, #0e0e0d 100%);
    --cover-overlay: linear-gradient(180deg, rgba(10, 10, 9, .18) 0%, rgba(10, 10, 9, .68) 100%);
    --cover-ink: #f0eee6;
    --cover-scrim-rgb: 8, 8, 7;
    --c-badge-hadir: #a9d6b2;  --c-badge-hadir-bg: rgba(122, 190, 140, .16);
    --c-badge-tidak: #c6c3ba;  --c-badge-tidak-bg: rgba(175, 172, 165, .14);
    --c-badge-ragu:  #e2ca93;  --c-badge-ragu-bg:  rgba(212, 180, 110, .18);
    --tint-alt: rgba(255, 255, 255, .035);
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E");
    --c-galat: #e79c86;
    --c-placeholder: rgba(236, 234, 226, .6);
    --c-lightbox-bg: rgba(8, 8, 7, .95);
    --latar-terang: .55;
}
:root[data-palet="arang"] .qris img { background: #ffffff; padding: 10px; }
