/* ppdb.css — fixes: left-panel, footer contrast, centering text, recaptcha visibility */
:root{
    --primary: #0d6efd;
    --primary-dark: #0b5ed7;
    --muted: #6c757d;
    --card-bg: #ffffff;
    --surface: #f8fafc;
    --accent: #00b3e7;
    --footer-bg: #0b2338;
}

*{box-sizing:border-box}
body{background:var(--surface);color:#111}

/* Card / layout tweaks */
.card { border: none; border-radius: 12px; }
.card .row.no-gutters { margin:0; }

/* Left panel (visible on md+) */
.left-panel{
    background: linear-gradient(180deg, rgba(13,110,253,0.95), rgba(59,130,246,0.9));
    color: #fff;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

/* Make sure left-panel content is not too sparse on tall screens */
.left-panel .mb-3 { margin-bottom: 16px; }

/* Ensure form column uses available vertical space */
.col-md-8 { padding: 28px; }

/* Improve reCAPTCHA visibility */
.g-recaptcha { transform: none !important; margin: 8px 0; }

/* Footer (scoped) — increased contrast and readability */
.ppdb-footer{
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    background: var(--footer-bg);
    color:#ffffff;
    text-align:center;
    padding:10px 12px;
    z-index:1030;
    font-size:14px;
    font-weight:600;
    box-shadow: 0 -4px 12px rgba(2,6,23,0.12);
}
@media (max-width:480px){.ppdb-footer{position:static}}

/* Form improvements */
.table-borderless td{vertical-align:top;padding:6px 12px}
.btn-primary{background:var(--primary);border-color:transparent}
.btn-outline-primary{border-color:rgba(255,255,255,0.18);color:#fff}

/* Autocomplete */
.autocomplete-suggestions{border:1px solid #e1e5ee;background:#fff;max-height:220px;overflow-y:auto}
.autocomplete-suggestion{padding:8px 10px;cursor:pointer}
.autocomplete-selected{background:#f1f5f9}

/* Responsive helper */
@media (max-width:767px){
    .card .col-md-4{display:none}
    .card .col-md-8{flex:0 0 100%;max-width:100%}
}

/* Ensure privacy links visible on all sizes, make them more prominent */
a { color: var(--primary); }
.text-center.mt-3.small.text-muted a { color: rgba(0,0,0,0.65); text-decoration: underline; }

/* Counter / stats */
.counter{background:#fff;padding:28px;border-radius:10px}
.counter-count{width:86px;height:86px;line-height:86px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700}
.counter-title{font-size:18px;margin-top:10px}

/* small utilities */
.img-fluid{max-width:100%;height:auto}
.text-primary{color:var(--primary)!important}
.small{text-size:13px}

/* Accessibility focus states */
button:focus, a:focus, input:focus, select:focus { outline: 3px solid rgba(13,110,253,0.15); outline-offset: 2px }

/* Center the 'pastikan data' text properly when table layout present */
.form-section + .text-center { text-align: center; }
