/* Madrasah At-Towfiq admissions: guided four-step wizard.
   Visual structure inspired by the supplied BNMC application reference;
   identity and styling remain At-Towfiq's own. */
.admissions-page{background:#f7f7f3;color:#18344d}
.admissions-page [hidden]{display:none!important}
.admissions-page h1,.admissions-page h2,.admissions-page h3{letter-spacing:-.025em}
.apply-header{background:#173c58;color:#fff}
.apply-header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:100px}
.apply-identity{display:flex;align-items:center;gap:15px;min-width:0}
.apply-identity img{width:67px;height:67px;object-fit:contain;background:#fff;padding:3px;border-radius:50%}
.apply-identity>span{display:grid;gap:2px}
.apply-identity strong{font:400 23px/1.25 var(--serif);color:#fff}
.apply-identity small{font-size:10px;letter-spacing:.17em;color:#e2c58a;font-weight:800}
.apply-top-links{display:flex;align-items:center;gap:22px}
.apply-top-links a{color:#e7edf1;font-size:12px;font-weight:750;text-decoration:none}
.apply-top-links a:hover{text-decoration:underline;text-underline-offset:5px}
.apply-top-links a:last-child{border:1px solid #92a9b7;padding:10px 14px}
.apply-main{min-height:70vh;padding:36px 0 70px;background:#f6f5f0}
.apply-shell{max-width:1260px}
.apply-page-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:0 0 27px}
.apply-overline{font-size:10px;letter-spacing:.14em;font-weight:850;color:#947c50;margin:0 0 8px}
.apply-page-heading h1{font:400 clamp(28px,2.8vw,40px)/1.3 var(--serif);color:#173953;margin:0 0 8px}
.apply-page-heading p:not(.apply-overline){font-size:13px;color:#697e8b;margin:0}
.apply-back-link{font-size:12px;font-weight:700;color:#2b516b;border-bottom:1px solid #9db2bb;padding-bottom:6px;white-space:nowrap}
.admission-wizard-card{background:#fff;border:1px solid #e1e6e2;border-radius:15px;box-shadow:0 24px 45px #17334e0b;overflow:hidden}
.wizard-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;list-style:none;background:#fcfdfd;border-bottom:1px solid #e1e5e5}
.wizard-stepper li{min-width:0;margin:0}
.wizard-step{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:12px;min-height:77px;padding:12px 9px;background:transparent;border:0;color:#81909b;cursor:pointer;font:600 12px/1.5 var(--sans);text-align:left}
.wizard-step:disabled{cursor:default}
.wizard-step.is-current{color:#163b58;font-weight:850}
.wizard-step.is-complete{color:#2f6f52}
.wizard-step.is-current:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:#173d5a}
.wizard-step.is-complete:not(.is-current):after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#b5cfc0}
.wizard-step-number{display:grid;place-items:center;border:1px solid #d8dfe0;border-radius:50%;background:#fff;width:30px;height:30px;flex:none;font:700 11px var(--sans);color:#8494a0}
.is-current .wizard-step-number{background:#173c58;border-color:#173c58;color:#fff}
.is-complete .wizard-step-number{background:#e8f3ea;border-color:#b7d2bd;color:#277449}
.wizard-step-label{white-space:normal}
.wizard-content{padding:0 clamp(23px,3.1vw,48px) 12px}
.application-status{margin:28px 0 0;display:block;background:#f4f6f6;color:#5e7181;border:1px solid #e1e6e6;border-left:3px solid #a6b4bb;padding:11px 15px;font-size:12px;line-height:1.65}
.application-status.is-active{background:#f1f7f3;border-color:#d1e4d7;border-left-color:#4c936a;color:#315e44}
.application-status.is-unavailable{background:#fff4ee;border-color:#f0d5c7;border-left-color:#cb7f55;color:#794936}
.wizard-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 263px;gap:35px;align-items:start;padding:39px 0 25px}
.wizard-form-main{min-width:0}
.wizard-headline{margin-bottom:27px}
.wizard-kicker{font-size:10px;letter-spacing:.16em;color:#987f4b;font-weight:850;margin:0 0 11px}
.wizard-headline h2{font:400 clamp(27px,2.8vw,38px)/1.24 var(--serif);color:#183e5b;margin:0 0 9px}
.wizard-headline p:not(.wizard-kicker){font-size:12px;color:#73828f;line-height:1.7;margin:0}
.application-fieldset{margin:0;padding:0;border:0;min-width:0}
.application-fieldset+.application-fieldset{border-top:1px solid #e5e9e9;padding-top:26px;margin-top:29px}
.application-fieldset legend{padding:0;margin:0 0 15px;font:400 20px/1.35 var(--serif);color:#1a3c57}
.application-step{display:none}
.application-fieldset-intro{font-size:11px;color:#81909c;line-height:1.75;margin:-7px 0 16px}
.application-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
.application-form-grid>label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;line-height:1.4;color:#263f55;font-weight:750}
.application-form-grid>label>span{color:#ae7746}
.application-form-grid .wide{grid-column:1/-1}
.application-form-grid input:not([type=checkbox]),.application-form-grid textarea,.application-form-grid select{display:block;width:100%;min-height:45px;padding:11px 13px;color:#1d3a50;font:400 13px/1.5 var(--sans);background:#fff;border:1px solid #cdd8d9;border-radius:7px;box-sizing:border-box}
.application-form-grid select{appearance:auto}
.application-form-grid textarea{min-height:78px;resize:vertical}
.application-form-grid input::placeholder,.application-form-grid textarea::placeholder{color:#9aa7b0}
.application-form-grid input:not([type=checkbox]):focus,.application-form-grid textarea:focus,.application-form-grid select:focus{border-color:#57819c;outline:2px solid #91b0bf;outline-offset:1px}
.application-form-grid>label[hidden]{display:none!important}
.application-check-group,.application-consents{display:grid;gap:11px;margin:0;padding:17px;background:#f6f8f9;border:1px solid #e3e8e9;border-radius:8px}
.application-check-group strong,.application-consents h3{color:#28485d;font:750 13px var(--sans);margin:0}
.application-check-group small,.application-consents p{font:400 11px/1.7 var(--sans);color:#718492;margin:0}
.application-check-group label,.application-consents label,.application-parent-confirm label{display:flex;align-items:start;gap:12px;color:#294457;font-size:12px;line-height:1.7;font-weight:600;cursor:pointer}
.application-check-group input,.application-consents input,.application-parent-confirm input{width:17px;height:17px;flex:none;accent-color:#194767;margin:2px 0 0}
.application-check-group>label,.application-consents>label{background:#fff;border:1px solid #e3e8e8;border-radius:6px;padding:12px 13px}
.wizard-side{display:grid;gap:15px;padding-top:41px}
.wizard-aside-box{border:1px solid #e2e6e4;border-radius:11px;background:#fbfcfb;padding:20px}
.wizard-aside-box h3{font:750 13px/1.6 var(--sans);color:#2a4a5c;margin:0 0 11px}
.wizard-aside-box p{font:400 11px/1.85 var(--sans);color:#778691;margin:0 0 12px}
.wizard-aside-box a{display:block;font-size:11px;color:#245878;font-weight:750;line-height:1.8;overflow-wrap:anywhere}
.wizard-aside-box a:hover{text-decoration:underline}
.check-points,.number-points{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.check-points li,.number-points li{position:relative;padding-left:21px;font:400 11px/1.65 var(--sans);color:#687f7b}
.check-points li:before{content:"✓";position:absolute;left:0;color:#3a8b63;font-weight:900}
.number-points{counter-reset:num}
.number-points li{counter-increment:num}
.number-points li:before{content:counter(num) ".";position:absolute;left:0;color:#9c814a;font-weight:850}
.review-sections{display:grid;gap:13px}
.review-group{border:1px solid #dfe6e6;border-radius:9px;overflow:hidden}
.review-group-top{background:#f3f6f6;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #dfe6e6}
.review-group h3{font:750 12px var(--sans);margin:0;color:#234258}
.review-group button{border:0;background:transparent;color:#1e5579;font:750 11px var(--sans);text-decoration:underline;cursor:pointer}
.review-pairs{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;padding:16px}
.review-pair{display:grid;align-content:start;gap:3px;min-width:0}
.review-pair dt{font:750 10px/1.5 var(--sans);color:#81919b}
.review-pair dd{margin:0;color:#25465d;font:500 12px/1.65 var(--sans);overflow-wrap:anywhere;white-space:pre-wrap}
.review-declaration{padding:20px;margin-top:22px;border:1px solid #ded4bd;border-left:3px solid #bda16a;border-radius:8px;background:#fffcf4}
.review-declaration h3{font:700 14px var(--sans);color:#243e50;margin:0 0 16px}
.application-parent-confirm label{font-size:12px;line-height:1.8}
.review-declaration p{font-size:11px;line-height:1.75;color:#647581;margin:14px 0 0}
.wizard-navigation{display:flex;align-items:center;justify-content:space-between;gap:17px;border-top:1px solid #e2e5e5;padding:22px 0 6px}
.wizard-back-actions{display:flex;align-items:center;gap:19px}
.wizard-back-actions a,.wizard-back-button{font:750 12px var(--sans);color:#3b6078}
.wizard-back-button{background:none;border:none;cursor:pointer}
.wizard-next-button,.wizard-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:21px;border:0;border-radius:8px;background:#173e5c;color:#fff;padding:15px 25px;min-height:51px;min-width:160px;font:800 13px var(--sans);cursor:pointer}
.wizard-next-button:hover,.wizard-submit-button:hover{background:#0e2e48}
.wizard-submit-button:disabled{opacity:.5;cursor:not-allowed}
.application-feedback{min-height:20px;color:#963e32;font-size:12px;line-height:1.75;margin:10px 0 0}
.apply-page-footer{background:#f6f5f0;border-top:1px solid #e5e7e4}
.apply-page-footer>.shell{display:flex;justify-content:space-between;gap:20px;padding-block:23px;color:#738391;font-size:11px}
.apply-page-footer a{text-decoration:underline;text-underline-offset:3px}
.wizard-footer-note{font-size:11px;line-height:1.8;color:#7b8790;max-width:940px;margin:20px 2px 0}
.wizard-footer-note a{text-decoration:underline}
.honeypot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.application-success{text-align:center;padding:55px 24px 55px;max-width:700px;margin:auto}
.success-symbol{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e5f5ec;color:#2b7752;font-size:28px}
.application-success h2{font:400 34px var(--serif);margin:18px 0 11px}
.application-success p{font:400 13px/1.85 var(--sans);color:#61778a}
.success-reference{padding:23px;display:grid;justify-items:center;gap:9px;background:#f1f4f4;margin:24px auto;max-width:465px}
.success-reference span{font-size:10px;font-weight:850;letter-spacing:.13em;color:#71828d}
.success-reference strong{font-size:23px;letter-spacing:.04em;color:#19425f;overflow-wrap:anywhere}
.success-reference button{background:#fff;border:1px solid #b5c5cd;border-radius:6px;padding:8px 13px;color:#194768;font-size:11px;font-weight:750}
.application-success>.button{margin-top:15px}
@media(max-width:940px){
 .wizard-body-grid{grid-template-columns:minmax(0,1fr) 215px;gap:23px}
 .wizard-aside-box{padding:15px}
 .wizard-content{padding-inline:25px}
 .wizard-step{gap:7px;font-size:11px}
}
@media(max-width:740px){
 .apply-header-inner{min-height:83px}
 .apply-identity img{width:54px;height:54px}
 .apply-identity strong{font-size:18px}
 .apply-identity small{font-size:8px}
 .apply-main{padding:26px 0 48px}
 .apply-page-heading{display:block}
 .apply-page-heading h1{font-size:30px}
 .apply-back-link{display:inline-flex;margin-top:15px}
 .wizard-body-grid{grid-template-columns:1fr;gap:16px;padding-top:28px}
 .wizard-side{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:0}
 .wizard-content{padding-inline:20px}
 .wizard-step{flex-direction:column;gap:4px;min-height:79px;text-align:center;padding:10px 5px;font-size:9px}
 .wizard-step-number{width:26px;height:26px}
}
@media(max-width:520px){
 .shell{padding-inline:16px}
 .apply-header-inner{gap:10px}
 .apply-identity{gap:10px}
 .apply-identity strong{font-size:15px}
 .apply-identity small{font-size:8px;letter-spacing:.05em}
 .apply-top-links{gap:8px}
 .apply-top-links a{font-size:10px}
 .apply-top-links a:first-child{display:none}
 .apply-top-links a:last-child{padding:8px 10px}
 .apply-page-heading h1{font-size:26px}
 .wizard-stepper{grid-template-columns:repeat(4,minmax(0,1fr))}
 .wizard-step-label{font-size:8px}
 .wizard-content{padding-inline:17px}
 .wizard-body-grid{padding-top:24px}
 .wizard-headline h2{font-size:26px}
 .application-form-grid{grid-template-columns:1fr;gap:17px}
 .application-form-grid .wide{grid-column:auto}
 .wizard-side{grid-template-columns:1fr}
 .wizard-side .wizard-aside-box:last-child{display:none}
 .review-pairs{grid-template-columns:1fr 1fr;gap:12px}
 .wizard-navigation{gap:10px}
 .wizard-next-button,.wizard-submit-button{min-width:120px;padding:13px;font-size:12px;gap:9px}
 .wizard-back-actions{gap:12px}
 .wizard-back-actions a,.wizard-back-button{font-size:11px}
 .apply-page-footer>.shell{display:grid;gap:6px}
}
@media(max-width:370px){.review-pairs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wizard-step{transition:none}}
