/* Identitas publik BukuTamuDigital.Web: kertas + tinta + cap stempel. Beda dari Admin (navy/hijau/amber). */
:root {
    --pub-mist: #eef2f6;
    --pub-surface: #ffffff;
    --pub-ink: #1b2430;
    --pub-ink-soft: #5b6776;
    --pub-line: #d5dce4;
    --pub-stamp: #c0392b;
    --pub-stamp-ink: #a52f23;
    --pub-font: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --pub-font-code: 'Courier Prime', 'Courier New', monospace;

    --bs-body-font-family: var(--pub-font);
    --bs-body-color: var(--pub-ink);
    --bs-primary: var(--pub-ink);
    --bs-primary-rgb: 27, 36, 48;
    --bs-link-color: var(--pub-ink);
    --bs-link-color-rgb: 27, 36, 48;
    --bs-link-hover-color: var(--pub-stamp-ink);
    --bs-link-hover-color-rgb: 165, 47, 35;
    --btd-blue: var(--pub-ink);
    --btd-blue-dark: var(--pub-ink);
}

body { font-family: var(--pub-font); }

/* Tombol utama = tinta. Biru bawaan Bootstrap/BTD tidak dipakai lagi di sisi publik. */
.btn-primary {
    --bs-btn-bg: var(--pub-ink);
    --bs-btn-border-color: var(--pub-ink);
    --bs-btn-hover-bg: #2c3948;
    --bs-btn-hover-border-color: #2c3948;
    --bs-btn-active-bg: #0f161f;
    --bs-btn-active-border-color: #0f161f;
    --bs-btn-disabled-bg: var(--pub-ink-soft);
    --bs-btn-disabled-border-color: var(--pub-ink-soft);
}
.btn-outline-primary {
    --bs-btn-color: var(--pub-ink);
    --bs-btn-border-color: var(--pub-ink);
    --bs-btn-hover-bg: var(--pub-ink);
    --bs-btn-hover-border-color: var(--pub-ink);
    --bs-btn-active-bg: var(--pub-ink);
    --bs-btn-active-border-color: var(--pub-ink);
}

/* Cursor: kontrol kustom yang tidak dicover Bootstrap. Disabled tetap not-allowed. */
a[href], button, summary, select, label[for], [role="button"], [role="tab"], [role="switch"],
input[type="checkbox"], input[type="radio"], input[type="submit"], input[type="button"] { cursor: pointer; }
:disabled, [aria-disabled="true"] { cursor: not-allowed; }

/* Fokus keyboard: cincin tinta 2px + celah putih, terlihat di terang maupun gelap. */
:focus-visible {
    outline: 2px solid var(--pub-ink);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px #ffffff;
}
.form-control:focus, .form-select:focus, .btn:focus-visible {
    border-color: var(--pub-ink);
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px var(--pub-ink);
}

/* Cap stempel: momen terdaftar / check-in / sertifikat valid. Teks wajib ada, warna bukan satu-satunya sinyal. */
.pub-stamp {
    display: inline-block;
    padding: .35rem .9rem;
    border: 3px solid var(--pub-stamp);
    border-radius: .35rem;
    color: var(--pub-stamp-ink);
    font-family: var(--pub-font-code);
    font-weight: 700;
    font-size: 1.15rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    transform: rotate(-6deg);
    background: rgba(192, 57, 43, .04);
}
@media (prefers-reduced-motion: no-preference) {
    .pub-stamp { animation: pub-stamp-in .38s cubic-bezier(.2, .9, .3, 1.2) both; }
}
@keyframes pub-stamp-in {
    from { opacity: 0; transform: rotate(-14deg) scale(1.7); }
    to   { opacity: 1; transform: rotate(-6deg) scale(1); }
}

.pub-code { font-family: var(--pub-font-code); letter-spacing: .04em; }
