/* Font Google dimuat lewat <link> di functions.php (lebih cepat), bukan @import di sini */
:root {
    --cendekia-cream: #FBF6EC;
    --cendekia-cream-deep: #F3EAD6;
    --cendekia-maroon: #6B2737;
    --cendekia-maroon-solid-deep: #45151E;
    --cendekia-gold: #C9A227;
    --cendekia-gold-soft: #E3CD8A;
    --cendekia-ink: #3D2B1F;
    --cendekia-line: rgba(107,39,55,0.16);
}

.cendekia-undangan { font-family: 'Mulish', sans-serif; color: var(--cendekia-ink); background: var(--cendekia-cream); overflow-x: hidden; }
.cendekia-undangan * { box-sizing: border-box; }

.cendekia-eyebrow {
    display: block;
    font-family: 'Mulish', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--cendekia-gold);
    margin-bottom: 16px;
}

.cendekia-divider { display: block; text-align: center; font-size: 16px; color: var(--cendekia-gold); margin-bottom: 18px; }

/* ============ SAMPUL ============ */
.cendekia-cover {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, var(--cendekia-maroon) 0%, var(--cendekia-maroon-solid-deep) 100%);
    transition: opacity 0.6s ease, visibility 0.6s ease;
}
.cendekia-cover.cendekia-cover-tertutup { opacity: 0; visibility: hidden; pointer-events: none; }

.cendekia-cover-lapis-hitam { position: absolute; inset: 0; background: rgba(0,0,0,0.5); z-index: 1; }
/* Panel navy-maroon gelap (bukan putih) di belakang teks putih/emas -- supaya tetap kontras jelas
   dengan atau tanpa foto cover (lihat catatan di templates-undangan/formal untuk alasan lengkapnya). */
.cendekia-cover-lapis-putih {
    position: absolute;
    top: 0; bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 420px; max-width: 90%;
    background: rgba(69,21,30,0.82);
    z-index: 2;
}

.cendekia-cover-frame {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 50px 34px;
    max-width: 400px;
    margin: 20px;
    color: #fff;
}
.cendekia-ornamen {
    display: block;
    width: 64px;
    height: 14px;
    margin: 0 auto 22px auto;
    position: relative;
    animation: cendekia-ornamen-muncul 1.2s ease-out both;
}
.cendekia-ornamen::before {
    content: '';
    position: absolute;
    top: 6px; left: 0; right: 0;
    height: 1px;
    background: var(--cendekia-gold);
}
.cendekia-ornamen::after {
    content: '◆';
    position: absolute;
    top: -7px; left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    color: var(--cendekia-gold);
    background: transparent;
}
@keyframes cendekia-ornamen-muncul {
    from { opacity: 0; transform: scale(0.6); }
    to   { opacity: 1; transform: scale(1); }
}

.cendekia-cover-nama {
    font-family: 'Spectral', serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.3;
    margin: 0 0 12px 0;
    color: #fff;
}
.cendekia-cover-tanggal { font-size: 14px; letter-spacing: 0.5px; color: var(--cendekia-gold-soft); margin-bottom: 6px; }

.cendekia-cover-countdown { display: flex; gap: 10px; justify-content: center; margin: 22px 0; }
.cendekia-cover-cd-box { text-align: center; min-width: 44px; }
.cendekia-cover-cd-angka { display: block; font-family: 'Spectral', serif; font-size: 22px; font-weight: 600; color: #fff; line-height: 1.2; }
.cendekia-cover-cd-label { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--cendekia-gold-soft); }

.cendekia-cover-tamu-kartu { margin: 22px 0; }
.cendekia-cover-tamu-label { margin: 0 0 10px 0; font-size: 12px; color: var(--cendekia-gold-soft); }
.cendekia-cover-tamu-nama-kotak {
    background: #fff;
    border-radius: 6px;
    padding: 14px 18px;
    min-height: 26px;
    margin: 0 0 10px 0;
    font-family: 'Spectral', serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cendekia-maroon);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}
.cendekia-cover-tamu-catatan { margin: 0; font-size: 10px; font-style: italic; color: var(--cendekia-gold-soft); opacity: 0.9; }

.cendekia-btn-buka {
    font-family: 'Mulish', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 14px 38px;
    border-radius: 4px;
    border: 1.5px solid var(--cendekia-gold);
    background: transparent;
    color: var(--cendekia-gold-soft);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.cendekia-btn-buka:hover { background: var(--cendekia-gold); color: var(--cendekia-maroon-solid-deep); }

/* ============ ISI ============ */
.cendekia-isi { position: relative; }
.cendekia-section { text-align: center; padding: 34px 24px; border-top: 1px solid var(--cendekia-line); }
.cendekia-judul { font-family: 'Spectral', serif; font-weight: 600; font-size: 22px; margin: 0 0 22px 0; color: var(--cendekia-maroon); }

.cendekia-hero { text-align: center; padding: 52px 24px 26px 24px; }
.cendekia-hero-nama { font-family: 'Spectral', serif; font-weight: 600; font-size: 32px; margin: 8px 0 8px 0; color: var(--cendekia-maroon); }
.cendekia-hero-tanggal { font-size: 13px; letter-spacing: 0.5px; color: var(--cendekia-gold); font-weight: 700; }

.cendekia-foto-unggulan { padding: 0 24px 28px 24px; max-width: 680px; margin: 0 auto; }
.cendekia-foto-unggulan img { width: 100%; border-radius: 8px; display: block; box-shadow: 0 16px 40px rgba(107,39,55,0.18); }

.cendekia-acara-blok { max-width: 420px; margin: 0 auto; }
.cendekia-acara-waktu { font-size: 15px; font-weight: 700; margin-bottom: 4px; color: var(--cendekia-maroon); }
.cendekia-lokasi-nama { font-size: 14px; margin-bottom: 14px; }
.cendekia-dresscode { font-size: 13px; margin-top: 14px; opacity: 0.85; }

.cendekia-btn-outline {
    display: inline-block;
    font-family: 'Mulish', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 22px;
    border-radius: 4px;
    border: 1.5px solid var(--cendekia-maroon);
    color: var(--cendekia-maroon);
    text-decoration: none;
    background: transparent;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.cendekia-btn-outline:hover { background: var(--cendekia-maroon); color: #fff; }

/* Pembicara & Host -- kartu dipakai bareng, flexbox+wrap+center supaya jumlah berapa pun (1 sampai
   banyak) selalu center, tidak nempel rata kiri kalau baris terakhir tidak penuh. */
.cendekia-pembicara-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 640px; margin: 0 auto; }
.cendekia-pembicara-kartu { text-align: center; width: 130px; }
/* Foto berbentuk kapsul/oval potret (lebih tinggi dari lebar, border-radius setengah lebar) --
   bukan lingkaran, mengikuti standar terbaru untuk foto Pembicara/Host di semua tema. */
.cendekia-pembicara-foto { width: 106px; height: 144px; object-fit: cover; border-radius: 53px; margin: 0 auto 12px auto; display: block; box-shadow: 0 8px 20px rgba(107,39,55,0.18); }
.cendekia-pembicara-foto-kosong { display: flex; align-items: center; justify-content: center; background: var(--cendekia-maroon); color: #fff; font-family: 'Spectral', serif; font-weight: 600; font-size: 30px; }
.cendekia-pembicara-nama { font-family: 'Spectral', serif; font-weight: 600; font-size: 15px; margin: 0 0 3px 0; color: var(--cendekia-maroon); }
.cendekia-pembicara-jabatan { font-size: 12px; color: var(--cendekia-ink); opacity: 0.75; margin: 0; line-height: 1.4; }

/* Rundown -- motif garis timeline tipis */
.cendekia-rundown-list { max-width: 460px; margin: 0 auto; text-align: left; }
.cendekia-rundown-baris { display: flex; gap: 14px; padding-bottom: 22px; position: relative; }
.cendekia-rundown-baris:last-child { padding-bottom: 0; }
.cendekia-rundown-waktu { flex-shrink: 0; width: 84px; font-family: 'Spectral', serif; font-weight: 600; font-size: 12px; color: var(--cendekia-maroon); padding-top: 2px; }
.cendekia-rundown-titik { flex-shrink: 0; width: 10px; position: relative; }
.cendekia-rundown-titik::before { content: ''; position: absolute; top: 4px; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: var(--cendekia-gold); }
.cendekia-rundown-baris:not(:last-child) .cendekia-rundown-titik::after { content: ''; position: absolute; top: 14px; left: 4.5px; width: 1px; bottom: -22px; background: var(--cendekia-line); }
.cendekia-rundown-info { flex: 1; }
.cendekia-rundown-kegiatan { font-size: 14px; font-weight: 600; margin: 0 0 2px 0; color: var(--cendekia-ink); }
.cendekia-rundown-pembicara { font-size: 12px; color: var(--cendekia-maroon); margin: 0; }

/* Kado / Sumbangan */
.cendekia-kado-list { text-align: left; max-width: 460px; margin: 0 auto; }
.cendekia-kado-baris {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 4px;
    border-bottom: 1px solid var(--cendekia-line);
}
.cendekia-kado-baris:last-child { border-bottom: none; }
.cendekia-kado-info { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-width: 0; }
.cendekia-kado-bank { font-family: 'Spectral', serif; font-weight: 600; font-size: 15px; color: var(--cendekia-maroon); }
.cendekia-kado-nomor { font-size: 14px; font-weight: 600; letter-spacing: 0.3px; }
.cendekia-kado-pemilik { font-size: 12px; opacity: 0.65; }
.cendekia-kado-salin { font-size: 11px; padding: 8px 16px; flex-shrink: 0; }

/* Galeri */
.cendekia-galeri-grid { column-count: 2; column-gap: 10px; max-width: 640px; margin: 0 auto; }
.cendekia-galeri-item { break-inside: avoid; margin-bottom: 10px; border-radius: 6px; overflow: hidden; }
.cendekia-galeri-item img { width: 100%; height: auto; display: block; transition: transform 0.4s; }
.cendekia-galeri-item:hover img { transform: scale(1.05); }

/* RSVP */
.cendekia-form-rsvp { max-width: 420px; margin: 0 auto; text-align: left; }
.cendekia-form-group { margin-bottom: 16px; }
.cendekia-form-group label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; color: var(--cendekia-maroon); }
.cendekia-label-opsional { font-weight: 400; opacity: 0.6; }
.cendekia-form-group input, .cendekia-form-group select, .cendekia-form-group textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid var(--cendekia-line);
    border-radius: 4px;
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    background: #fff;
    color: var(--cendekia-ink);
}
.cendekia-form-group input:focus, .cendekia-form-group select:focus, .cendekia-form-group textarea:focus {
    outline: none;
    border-color: var(--cendekia-gold);
}
.cendekia-btn-submit { width: 100%; background: var(--cendekia-maroon); color: #fff; border-color: var(--cendekia-maroon); }
.cendekia-btn-submit:hover { background: var(--cendekia-maroon-solid-deep); color: #fff; }
.cendekia-rsvp-pesan { margin-top: 12px; font-size: 13px; text-align: center; }

/* Kutipan & Penutup */
.cendekia-kutipan-ayat-teks { font-family: 'Spectral', serif; font-style: italic; font-size: 16px; line-height: 1.8; max-width: 480px; margin: 0 auto; color: var(--cendekia-maroon); }
.cendekia-pengantar-teks { font-size: 15px; line-height: 1.8; max-width: 520px; margin: 0 auto; color: var(--cendekia-ink); }

.cendekia-penutup { text-align: center; padding: 32px 24px 50px 24px; }
.cendekia-penutup-teks { font-size: 14px; line-height: 1.8; max-width: 460px; margin: 0 auto 20px auto; color: var(--cendekia-ink); }
.cendekia-penutup-nama { font-family: 'Spectral', serif; font-weight: 600; font-size: 21px; color: var(--cendekia-maroon); }

/* Riwayat Konfirmasi */
.cendekia-riwayat-scroll { max-height: 480px; overflow-y: auto; text-align: left; padding-right: 6px; max-width: 460px; margin: 0 auto; }
.cendekia-riwayat-baris { padding: 14px 4px; border-bottom: 1px solid var(--cendekia-line); }
.cendekia-riwayat-baris:last-child { border-bottom: none; }
.cendekia-riwayat-atas { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.cendekia-riwayat-nama { font-size: 14px; color: var(--cendekia-ink); }
.cendekia-riwayat-badge { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 4px; white-space: nowrap; }
.cendekia-riwayat-hadir { background: rgba(107,39,55,0.12); color: var(--cendekia-maroon); }
.cendekia-riwayat-ragu { background: rgba(201,162,39,0.18); color: #7A5F16; }
.cendekia-riwayat-tidak { background: rgba(179,38,30,0.12); color: #8A2620; }
.cendekia-riwayat-ucapan { margin: 0; font-size: 13px; color: var(--cendekia-ink); opacity: 0.85; line-height: 1.6; }
.cendekia-riwayat-kosong { font-size: 13px; opacity: 0.6; text-align: center; }

/* Tombol musik mengambang */
.cendekia-musik-toggle {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 50px;
    height: 50px;
    border-radius: 4px;
    background: var(--cendekia-maroon);
    color: #fff;
    border: none;
    font-size: 18px;
    cursor: pointer;
    z-index: 9999999;
    box-shadow: 0 8px 20px rgba(107,39,55,0.4);
}

@media (max-width: 480px) {
    .cendekia-cover-nama { font-size: 24px; }
    .cendekia-hero-nama { font-size: 26px; }
    .cendekia-cover-cd-box { min-width: 40px; }
    .cendekia-pembicara-kartu { width: 118px; }
    .cendekia-pembicara-foto { width: 96px; height: 130px; border-radius: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .cendekia-cover, .cendekia-galeri-item img, .cendekia-btn-buka, .cendekia-btn-outline, .cendekia-ornamen { transition: none; animation: none; }
}
