/* Public PPDB palette, matching the login header. */
.ais-ppdb-page { --ppdb-orange: #ffa305; --ppdb-ink: #322000; --ppdb-dark: #8a4e00; }
.ais-ppdb-page .ppdb-gender-title { font-size: inherit; font-weight: 400; border: 0; padding: 0; margin-bottom: 8px; }
.ais-ppdb-page .ppdb-gender-options { display: flex; align-items: center; gap: 16px; min-height: 36px; }
.ais-ppdb-page .ppdb-gender-options label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; margin: 0; cursor: pointer; }
.ais-ppdb-page .ppdb-gender-options input { margin: 0; accent-color: #a65f00; }
.ais-ppdb-page .text-primary { color: var(--ppdb-dark) !important; }
.ais-ppdb-page .ppdb-intro .text-muted {
    color: #171717 !important;
    text-shadow: 0 1px 2px rgba(255,255,255,.9);
}
.ais-ppdb-page .border-primary { border-color: var(--ppdb-orange) !important; }
.ais-ppdb-page a { color: var(--ppdb-dark); }
.ais-ppdb-page a:hover { color: #633800; }
.ais-ppdb-page a.ppdb-whatsapp-action {
    background: #146c43;
    border-color: #146c43;
    color: #fff;
    font-weight: 600;
}
.ais-ppdb-page a.ppdb-whatsapp-action:hover,
.ais-ppdb-page a.ppdb-whatsapp-action:focus {
    background: #0e5232;
    border-color: #0e5232;
    color: #fff;
}
.ais-ppdb-page .btn-primary {
    background: var(--ppdb-orange);
    border-color: var(--ppdb-orange);
    color: var(--ppdb-ink);
    font-weight: 600;
}
.ais-ppdb-page .btn-primary:hover,
.ais-ppdb-page .btn-primary:focus,
.ais-ppdb-page .btn-primary:active {
    background: #ed9600 !important;
    border-color: #d78600 !important;
    color: var(--ppdb-ink) !important;
}
.ais-ppdb-page .btn-outline-primary { border-color: var(--ppdb-dark); color: var(--ppdb-dark); }
.ais-ppdb-page .btn-outline-primary:hover { background: var(--ppdb-orange); border-color: var(--ppdb-orange); color: var(--ppdb-ink); }
.ais-ppdb-page .btn-primary:focus,
.ais-ppdb-page .btn-outline-primary:focus { box-shadow: 0 0 0 3px rgba(255,163,5,.25); }
.ais-ppdb-page .form-control:focus,
.ais-ppdb-page .select2-container--focus .select2-selection,
.ais-ppdb-page .select2-container--open .select2-selection { border-color: #db8b00; box-shadow: 0 0 0 2px rgba(255,163,5,.15); }
.ais-ppdb-page .input-group-text { background: #fff3d9; border-color: #e4d7bf; color: #684300; }
.ais-ppdb-page .select2-results__option[aria-selected=true],
.ais-ppdb-page .select2-results__option--highlighted[aria-selected] { background: #fff0ce; color: var(--ppdb-ink); }
.ais-ppdb-page .select2-results__option--highlighted[aria-selected] { background: var(--ppdb-orange); }
.ais-ppdb-page .select2-search__field:focus { border-color: #db8b00; }
.ais-ppdb-page .datepicker table tr td.active,
.ais-ppdb-page .datepicker table tr td.active:hover,
.ais-ppdb-page .datepicker table tr td.active.active,
.ais-ppdb-page .picker__day--selected,
.ais-ppdb-page .picker__day--selected:hover { background: var(--ppdb-orange) !important; color: var(--ppdb-ink) !important; border-color: var(--ppdb-orange) !important; text-shadow: none; }
.ais-ppdb-page .wizard > .steps > ul > li.current > a,
.ais-ppdb-page .wizard > .actions a { background: var(--ppdb-orange); color: var(--ppdb-ink); }
.ais-ppdb-page .wizard > .steps > ul > li.current .number { border-color: var(--ppdb-orange); color: var(--ppdb-dark); }
.ais-ppdb-page .alert-info { background: #fff1d5; border-color: #f0cc85; color: #684300; }
.ais-ppdb-page :focus-visible { outline: 2px solid var(--ppdb-dark); outline-offset: 2px; }
.ais-ppdb-page .ppdb-receipt-panel {
    max-width: 760px;
    margin: 0 auto;
    padding: 28px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(104,67,0,.1);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.ais-ppdb-page .ppdb-receipt-panel .text-muted { color: #3e403d !important; }
@media (max-width: 575.98px) {
    .ais-ppdb-page .ppdb-receipt-panel { padding: 20px 16px; }
}
.ais-ppdb-page.ppdb-is-submitting { overflow: hidden; }
.ais-ppdb-page .ppdb-loading {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(255,248,236,.88);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.ais-ppdb-page .ppdb-loading[hidden] { display: none; }
.ais-ppdb-page .ppdb-loading-card {
    width: 100%;
    max-width: 380px;
    padding: 32px 24px;
    border: 1px solid #f0cc85;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(104,67,0,.12);
    color: var(--ppdb-ink);
    text-align: center;
}
.ais-ppdb-page .ppdb-loading-card strong { display: block; font-size: 17px; margin-bottom: 10px; }
.ais-ppdb-page .ppdb-loading-spinner {
    width: 44px;
    height: 44px;
    margin: 0 auto 22px;
    border: 4px solid #fff0ce;
    border-top-color: #b66e00;
    border-radius: 50%;
    animation: ppdb-submit-spin .8s linear infinite;
}
@keyframes ppdb-submit-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .ais-ppdb-page .ppdb-loading-spinner { animation: none; }
}
