/* ShuleBox marketing forms (register, online admission): sections, pills, plan cards, suffix input. */
.sn-reg-section{border-top:1px solid #e8edf2;padding-top:1.5rem;margin-top:1.75rem}
.sn-reg-section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.sn-reg-section__title{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;margin:0 0 1rem;color:#1d1c1d}
.sn-reg-section__num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#e8f2fa;color:#0a72ba;font-size:.9rem;font-weight:800}
.sn-input-suffix{display:flex;align-items:stretch;border:1px solid #696969;border-radius:4px;overflow:hidden;background:#fff;margin-bottom:.5rem;transition:box-shadow .15s,border-color .15s}
.sn-input-suffix:focus-within{border-color:#0a72ba;box-shadow:0 0 0 3px rgba(10,114,186,.18)}
.sn-input-suffix.is-invalid{border-color:#e01e5a}
.sn-input-suffix .c-form__input{flex:1;min-width:0;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0}
.sn-input-suffix span{display:flex;align-items:center;padding:0 1rem;background:#f4f7fa;border-left:1px solid #dde3ea;font-weight:700;color:#454245;white-space:nowrap}
@media (max-width:480px){.sn-input-suffix span{padding:0 .6rem;font-size:.85rem}}
.sn-checks{display:flex;flex-wrap:wrap;gap:.6rem}
.sn-check{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border:1px solid #d5dee8;border-radius:999px;cursor:pointer;font-weight:600;user-select:none}
.sn-check input{accent-color:#0a72ba}
.sn-check:has(input:checked){border-color:#0a72ba;background:#e8f2fa;color:#0a5a96}
.sn-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}
.sn-plan{position:relative;display:block;border:2px solid #e3e9f0;border-radius:10px;padding:1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:#fff}
.sn-plan input{position:absolute;opacity:0;pointer-events:none}
.sn-plan__name{display:block;font-weight:800;font-size:1.05rem}
.sn-plan__price{display:block;font-weight:800;font-size:1.15rem;color:#0a72ba;margin:.35rem 0 .2rem}
.sn-plan__price small{display:block;font-weight:600;color:#616061;font-size:.78rem}
.sn-plan__hint{display:block;color:#616061;font-size:.85rem;line-height:1.35}
.sn-plan:hover{border-color:#9cc3e3}
.sn-plan:has(input:checked){border-color:#0a72ba;box-shadow:0 0 0 3px rgba(10,114,186,.14)}
.sn-plan:has(input:checked):after{content:"\f00c";font-family:FontAwesome;position:absolute;top:.6rem;right:.7rem;color:#0a72ba}
.sn-pass{position:relative}
.sn-pass button{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#616061;cursor:pointer;padding:.25rem}
.sn-form .o-three-columns{display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:1rem}
@media (max-width:640px){.sn-form .o-three-columns{grid-template-columns:1fr}}
.sn-form select:disabled{background:#f4f7fa;color:#9aa5b1}
.sn-reg-note{color:#616061;font-size:.85rem;margin-top:.75rem}
/* radios (pill style, like the checkboxes) */
.sn-check input[type=radio]{accent-color:#0a72ba}
/* selects: our own chevron (the page bundles hide the native arrow) */
.sn-form select.c-form__select{-webkit-appearance:none;appearance:none;background:#fff url(/img/sn-icons/icon_dropdown.svg) no-repeat right .9rem center/1.1rem;padding-right:2.6rem}
.sn-form select.c-form__select:disabled{background-color:#f4f7fa}
.sn-form input.c-form__input[readonly]{background:#f4f7fa;color:#454245;cursor:default}
.sn-form textarea.c-form__input{min-height:5rem;resize:vertical}
.sn-form .o-two-columns.v--even,.sn-form .o-three-columns{align-items:start}
.sn-card-state{text-align:center;padding:1rem 0}
.sn-card-state .fa{font-size:3rem;color:#8cc63f;display:block;margin-bottom:1rem}
.sn-card-state.v--muted .fa{color:#9aa5b1}
.sn-card-state .sn-ref{display:inline-block;font-size:1.75rem;font-weight:800;letter-spacing:2px;background:#e8f2fa;color:#0b3f6e;border-radius:8px;padding:.6rem 1.4rem;margin:1rem 0}
.sn-sub-title{font-size:1rem;font-weight:800;color:#0a5a96;margin:.5rem 0 .75rem;text-transform:uppercase;letter-spacing:.06em}
.sn-sub-title ~ .sn-sub-title{margin-top:1.5rem}
.sn-form .o-two-columns.v--even > .sn-span-2{grid-column:1 / -1}
