/* SIIT Admission — shared form design (Sandbox Bootstrap 5 compatible) */
:root {
    --siit-purple: #70298a;
    --siit-purple-dark: #54206e;
    --siit-purple-soft: #f8f5fb;
    --siit-red: #b71d3c;
    --siit-ink: #30223b;
    --siit-muted: #796c83;
    --siit-border: #e8e0ed;
}
.siit-form-page {
    background: #f8f5fb;
    color: var(--siit-ink);
    padding: 90px 0 85px;
    min-height: 80vh;
}
.siit-form-page .siit-form-intro {
    text-align: left;
    background: #fff;
    border-radius: 18px;
    padding: 26px 32px;
    margin: 0 0 14px;
    border: 1px solid #f1eaf5;
}
.siit-form-page .siit-eyebrow {
    display: block;
    color: var(--siit-purple);
    font-weight: 700;
    letter-spacing: .09em;
    font-size: 11.68px;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.siit-form-page .siit-form-title {
    color: var(--siit-ink);
    font-size: clamp(25.6px, 2.5vw, 32.8px);
    font-weight: 700;
    margin: 0 0 5px;
    line-height: 1.25;
}
.siit-form-page .siit-form-subtitle {
    color: var(--siit-muted);
    font-size: 14.08px;
    margin: 0;
}
.siit-form-page .siit-form-card {
    background: #fff;
    border: 1px solid #f1eaf5;
    border-radius: 18px;
    padding: 28px 30px;
    box-shadow: 0 12px 35px rgba(76,38,92,.035);
}
.siit-form-page .siit-form-section {
    padding: 0 0 22px;
}
.siit-form-page .siit-form-section + .siit-form-section {
    border-top: 1px solid #eee7f2;
    padding-top: 23px;
}
.siit-form-page .siit-section-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 15px;
}
.siit-form-page .siit-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    color: var(--siit-purple);
    font-size: 20px;
}
.siit-form-page .siit-section-title {
    color: var(--siit-ink);
    font-size: 16.32px;
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
}
.siit-form-page .siit-section-note {
    display: none;
}
.siit-form-page .siit-form-section > .siit-field,
.siit-form-page .siit-form-section > .row,
.siit-form-page .siit-form-section > .datalist {
    background: var(--siit-purple-soft);
}
/* Each section's fields form a continuous lavender panel. */
.siit-form-page .siit-form-section > .siit-field,
.siit-form-page .siit-form-section > .row {
    margin: 0;
    padding: 9px 14px;
}
.siit-form-page .siit-form-section > .siit-section-head + .siit-field,
.siit-form-page .siit-form-section > .siit-section-head + .row {
    border-radius: 12px 12px 0 0;
    padding-top: 15px;
}
.siit-form-page .siit-form-section > .siit-field:last-child,
.siit-form-page .siit-form-section > .row:last-child {
    border-radius: 0 0 12px 12px;
    padding-bottom: 15px;
}
.siit-form-page .siit-form-section > .siit-section-head + .siit-field:last-child {
    border-radius: 12px;
}
.siit-form-page .siit-form-section > .row {
    --bs-gutter-x: 14px;
}
.siit-form-page .siit-field {
    margin: 0;
}
.siit-form-page .siit-label {
    display: block;
    color: #675b72;
    font-size: 12.48px;
    font-weight: 600;
    margin: 0 0 6px;
}
.siit-form-page .siit-required {
    color: var(--siit-red);
}
.siit-form-page .siit-control {
    display: block;
    width: 100%;
    height: 43px;
    min-height: 43px;
    padding: 0 12px;
    border: 1px solid var(--siit-border);
    border-radius: 9px;
    background: #fff;
    color: var(--siit-ink);
    font-size: 13.6px;
    font-weight: 400;
    box-shadow: none;
}
.siit-form-page .siit-control::placeholder {
    color: #a99caf;
}
.siit-form-page .siit-control:focus {
    outline: none;
    border-color: var(--siit-purple);
    box-shadow: 0 0 0 3px rgba(112,41,138,.1);
}
.siit-form-page .siit-control.is-invalid {
    border-color: #d04460;
}
.siit-form-page .siit-error {
    color: var(--siit-red);
    font-size: 12.16px;
    margin-top: 5px;
}
.siit-form-page .siit-form-section select.siit-select.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.siit-form-page .select2-container {
    display: block;
    width: 100% !important;
    max-width: 100%;
}
.siit-form-page .select2-container--default .select2-selection--single {
    height: 43px !important;
    min-height: 43px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 32px 0 12px !important;
    border: 1px solid var(--siit-border) !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.siit-form-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 41px !important;
    padding: 0 !important;
    color: var(--siit-ink) !important;
    font-size: 13.6px !important;
}
.siit-form-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 41px !important;
    right: 8px !important;
    top: 0 !important;
}
.siit-form-page .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--siit-purple) !important;
}
.siit-form-page .siit-submit-area {
    padding-top: 4px;
    text-align: center;
}
.siit-form-page .siit-btn-primary {
    display: block;
    width: 100%;
    background: var(--siit-purple);
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    font-size: 14.4px;
    padding: 12px 20px;
    cursor: pointer;
}
.siit-form-page .siit-btn-primary:hover {
    background: var(--siit-purple-dark);
    color: #fff;
}
.siit-form-page .siit-submit-caption {
    color: var(--siit-muted);
    font-size: 12.16px;
    margin: 10px 0 0;
}
.siit-consent-modal .modal-content {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
}
.siit-consent-modal .modal-header {
    border-bottom: 1px solid #eee8f2;
    padding: 22px 26px;
}
.siit-consent-modal .modal-title {
    color: var(--siit-purple);
    font-weight: 700;
}
.siit-consent-modal .modal-body {
    font-size: 13.6px;
    line-height: 1.8;
    color: #41384a;
    max-height: 55vh;
    overflow-y: auto;
    padding: 22px 26px;
}
.siit-consent-modal .modal-body > div {
    margin-bottom: 13px;
}
.siit-consent-modal .modal-footer {
    display: flex;
    flex-direction: column;
    gap: 9px;
    align-items: stretch;
    padding: 18px 26px;
    border-top: 1px solid #eee8f2;
}
.siit-consent-modal .modal-footer .btn {
    margin: 0;
    width: 100%;
    border-radius: 9px;
    white-space: normal;
    font-size: 12.8px;
    padding: 11px;
}
.siit-consent-modal .siit-consent-accept {
    background: var(--siit-purple);
    border-color: var(--siit-purple);
    color: #fff;
}
.siit-consent-modal .siit-consent-guardian {
    background: #f5f0fa;
    border: 1px solid #dfcfe8;
    color: var(--siit-purple-dark);
}
.siit-consent-modal .siit-consent-decline {
    background: #fff;
    border: 1px solid #e4dce8;
    color: #6d6272;
}
@media(max-width:767px) {
    .siit-form-page {
        padding: 65px 0 55px;
    }
    .siit-form-page .siit-form-intro,
    .siit-form-page .siit-form-card {
        padding: 20px 17px;
        border-radius: 14px;
    }
    .siit-form-page .siit-form-section > .row {
        gap: 9px;
    }
}
/* Align 2-column fields with full-width fields */
/* Fix Bootstrap grid inside SIIT form */
.siit-form-page .siit-form-section .row{
    --bs-gutter-x: 16px;
    margin-left: 0;
    margin-right: 0;
}

.siit-form-page .siit-form-section .row > [class*="col-"]{
    padding-left: 0;
    padding-right: 0;
}

@media(min-width: 768px){
    .siit-form-page .siit-form-section .row > [class*="col-"]:first-child{
        padding-right: 8px;
    }

    .siit-form-page .siit-form-section .row > [class*="col-"]:last-child{
        padding-left: 8px;
    }
}
/* Input height */
.siit-form-page .siit-control{
    height: 54px;
    min-height: 54px;
}

/* Select2 height */
.siit-form-page .select2-container--default .select2-selection--single{
    height: 54px !important;
    min-height: 54px !important;
}

.siit-form-page .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 52px !important;
}

.siit-form-page .select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 52px !important;
}

/* ============================================
   SIIT Apply · Refined registration experience
   Visual-only enhancement; form logic unchanged
   ============================================ */
.siit-form-page {
    --siit-purple: #70419a;
    --siit-purple-dark: #533079;
    --siit-purple-soft: #f8f5fc;
    --siit-ink: #30263e;
    --siit-muted: #766b83;
    --siit-border: #e5ddec;
    background: radial-gradient(ellipse 75% 22% at 92% 0%, #e9def5 0%, transparent 85%),
                radial-gradient(ellipse 50% 28% at 0% 64%, #f0e8fa 0%, transparent 90%),
                linear-gradient(180deg, #fbf9fe 0%, #f6f1fb 100%);
    padding: 72px 0 96px;
}
.siit-form-page .siit-form-intro {
    position: relative;
    overflow: hidden;
    background: linear-gradient(112deg, #4e2d72 0%, #704392 57%, #8c65ab 100%);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(69,36,96,.16);
    padding: 30px 38px 24px;
    margin-bottom: 20px;
    color: #fff;
}
.siit-form-page .siit-form-intro::before {
    content: '';
    position: absolute;
    width: 390px;
    height: 390px;
    border-radius: 50%;
    right: -140px;
    top: -260px;
    border: 60px solid rgba(255,255,255,.045);
    pointer-events: none;
}
.siit-form-page .siit-intro-topline,
.siit-form-page .siit-intro-main,
.siit-form-page .siit-intro-steps { position: relative; z-index: 1; }
.siit-form-page .siit-intro-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.siit-form-page .siit-eyebrow { color:#e9d7fb; font-size:12.16px; letter-spacing:.16em; margin:0; }
.siit-form-page .siit-intro-tag { display:inline-flex; align-items:center; gap:6px; font-size:11.84px; color:#f6ebff; background:rgba(255,255,255,.13); padding:7px 11px; border-radius:99px; white-space:nowrap; }
.siit-form-page .siit-intro-main { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; }
.siit-form-page .siit-form-title { color:#fff; font-size:40px; font-weight:750; letter-spacing:-.035em; line-height:1.14; max-width:570px; margin:0 0 13px; }
.siit-form-page .siit-title-dot { color:#d6b3f1; }
.siit-form-page .siit-form-subtitle { color:#efe3f8; font-size:14.88px; line-height:1.65; max-width:510px; }
.siit-form-page .siit-intro-art { position:relative; flex:0 0 106px; width:106px; height:106px; border:1px solid rgba(255,255,255,.32); border-radius:30px; background:rgba(255,255,255,.11); display:flex; align-items:center; justify-content:center; transform:rotate(8deg); }
.siit-form-page .siit-intro-art > i { font-size:52px; color:#fff; transform:rotate(-8deg); }
.siit-form-page .siit-art-orbit { position:absolute; inset:-10px; border:1px dashed rgba(255,255,255,.23); border-radius:36px; }
.siit-form-page .siit-intro-steps { display:flex; align-items:center; gap:13px; border-top:1px solid rgba(255,255,255,.18); margin-top:29px; padding-top:18px; }
.siit-form-page .siit-step { display:flex; align-items:center; gap:8px; font-size:12.8px; color:#dfd1eb; white-space:nowrap; }
.siit-form-page .siit-step-number { font-size:11.04px; font-weight:800; letter-spacing:.04em; opacity:.8; }
.siit-form-page .siit-step.is-current { color:#fff; font-weight:700; }
.siit-form-page .siit-step.is-current .siit-step-number { background:#fff; color:#65368b; opacity:1; padding:5px 7px; border-radius:7px; }
.siit-form-page .siit-step-line { width:28px; height:1px; background:rgba(255,255,255,.32); }
.siit-form-page .siit-form-card { border:1px solid #eee6f4; border-radius:22px; padding:34px 36px 36px; box-shadow:0 18px 55px rgba(65,34,91,.055); }
.siit-form-page .siit-form-welcome { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:13.44px; line-height:1.5; color:#786b85; background:#f8f5fc; border:1px solid #eee7f5; border-radius:11px; padding:12px 15px; margin-bottom:30px; }
.siit-form-page .siit-form-welcome > i { color:#70419a; font-size:17.6px; margin-right:3px; }
.siit-form-page .siit-form-section { padding-bottom:28px; }
.siit-form-page .siit-form-section + .siit-form-section { border-top:1px solid #eee8f4; padding-top:29px; }
.siit-form-page .siit-section-head { gap:12px; margin-bottom:18px; }
.siit-form-page .siit-section-icon { flex:0 0 40px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; color:#6d3e91; background:#f0e8f8; border:1px solid #e8dcef; border-radius:12px; font-size:21.6px; }
.siit-form-page .siit-section-title { font-size:18.08px; font-weight:750; letter-spacing:-.01em; }
.siit-form-page .siit-section-note { display:block; margin:3px 0 0; font-size:12.8px; color:#91849d; }
.siit-form-page .siit-form-section > .siit-field,
.siit-form-page .siit-form-section > .row { background:#faf8fd; padding-top:12px; padding-bottom:12px; }
.siit-form-page .siit-form-section > .siit-section-head + .siit-field,
.siit-form-page .siit-form-section > .siit-section-head + .row { padding-top:20px; border-radius:14px 14px 0 0; }
.siit-form-page .siit-form-section > .siit-field:last-child,
.siit-form-page .siit-form-section > .row:last-child { padding-bottom:20px; border-radius:0 0 14px 14px; }
.siit-form-page .siit-form-section > .siit-section-head + .siit-field:last-child { border-radius:14px; }
/* Typography hierarchy: labels intentionally larger than typed values. */
.siit-form-page .siit-label { color:#463652; font-size:15.36px; font-weight:700; line-height:1.45; margin-bottom:9px; letter-spacing:.005em; }
.siit-form-page .siit-optional { font-size:12px; font-weight:500; color:#9b8ba7; margin-left:4px; }
.siit-form-page .siit-control { height:52px; min-height:52px; font-size:14px; padding:0 15px; border:1px solid #e3dbe9; border-radius:10px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
.siit-form-page .siit-control::placeholder { color:#aa9eb3; font-size:13.6px; }
.siit-form-page .siit-control:hover { border-color:#cbb9d9; }
.siit-form-page .siit-control:focus { border-color:#8655ac; box-shadow:0 0 0 4px rgba(112,65,154,.11); }
.siit-form-page .select2-container--default .select2-selection--single { height:52px !important; min-height:52px !important; border-radius:10px !important; border-color:#e3dbe9 !important; padding-left:15px !important; }
.siit-form-page .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:50px !important; font-size:14px !important; }
.siit-form-page .select2-container--default .select2-selection--single .select2-selection__arrow { height:50px !important; }
.siit-form-page .select2-container--default.select2-container--focus .select2-selection--single { box-shadow:0 0 0 4px rgba(112,65,154,.11) !important; }
.siit-form-page .siit-submit-area { padding-top:14px; }
.siit-form-page .siit-btn-primary { background:linear-gradient(100deg,#613384,#8553a7); min-height:54px; border-radius:12px; font-size:16px; letter-spacing:.01em; box-shadow:0 9px 24px rgba(100,50,138,.17); transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.siit-form-page .siit-btn-primary:hover { background:linear-gradient(100deg,#542674,#75429a); transform:translateY(-1px); box-shadow:0 13px 27px rgba(100,50,138,.22); }
.siit-form-page .siit-btn-primary:focus-visible { outline:3px solid #b99bd1; outline-offset:3px; }
.siit-form-page .siit-submit-caption { margin-top:13px; font-size:12.8px; }
.siit-consent-modal .modal-content { border-radius:20px; box-shadow:0 24px 80px rgba(42,22,58,.19); }
.siit-consent-modal .modal-title { font-size:18.08px; }
.siit-consent-modal .modal-footer .btn { font-size:14.08px; font-weight:600; }
@media(max-width:767px) {
    .siit-form-page { padding:55px 0 60px; }
    .siit-form-page .siit-form-intro { padding:24px 22px 21px; border-radius:17px; }
    .siit-form-page .siit-intro-art { display:none; }
    .siit-form-page .siit-intro-tag { font-size:10.88px; }
    .siit-form-page .siit-form-title { font-size:30.4px; }
    .siit-form-page .siit-form-card { padding:24px 16px; border-radius:17px; }
    .siit-form-page .siit-intro-steps { gap:7px; }
    .siit-form-page .siit-step { font-size:10.88px; gap:5px; }
    .siit-form-page .siit-step-line { width:12px; }
    .siit-form-page .siit-label { font-size:14.88px; }
    .siit-form-page .siit-form-section .row > [class*="col-"] { padding-left:0 !important; padding-right:0 !important; }
}
@media(max-width:390px) {
    .siit-form-page .siit-intro-tag { display:none; }
    .siit-form-page .siit-step-line { width:5px; }
}

/* Final fixes: visible lavender section panels and stronger type hierarchy */
.siit-form-page { background:linear-gradient(145deg,#f0e6f8 0%,#faf6fd 42%,#e9ddf5 100%) !important; }
.siit-form-page .siit-form-intro { background:linear-gradient(112deg,#4e2d72 0%,#704392 57%,#8c65ab 100%) !important; color:#ffffff !important; }
.siit-form-page .siit-form-section > .siit-field,
.siit-form-page .siit-form-section > .row { background:#f1eaf8 !important; }
.siit-form-page .siit-label { font-size:16px !important; font-weight:700 !important; line-height:23px !important; }
.siit-form-page input.siit-control,
.siit-form-page select.siit-control { font-size:14px !important; }
.siit-form-page input.siit-control::placeholder { font-size:14px !important; }
.siit-form-page .select2-container--default .select2-selection--single .select2-selection__rendered { font-size:14px !important; }
.siit-form-page .siit-section-title { font-size:19px !important; }
.siit-form-page .siit-form-title { font-size:40px !important; }
@media(max-width:767px) { .siit-form-page .siit-form-title {font-size:31px !important;} }
