/* School Admission Sections - frontend. Colours/fonts come from CSS variables set in Settings. */
.sas-wrap,.sas-wrap *{box-sizing:border-box}
.sas-wrap{
	--sas-primary:#244393;--sas-primary-rgb:36,67,147;--sas-accent:#fbbf24;--sas-accent-rgb:251,191,36;
	--sas-text:#1f2a44;--sas-muted:#5b6785;--sas-card:#fff;--sas-border:#d9e4f7;--sas-radius:14px;
	--sas-fs:14px;--sas-title:22px;--sas-gap:20px;--sas-shadow:0 6px 24px rgba(36,67,147,.10);
	--sas-heading-font:inherit;--sas-body-font:inherit;
	width:100%;font-family:var(--sas-body-font);font-size:var(--sas-fs);line-height:1.5;color:var(--sas-text);
}
.sas-wrap p,.sas-wrap ul,.sas-wrap h3{margin:0;padding:0}
.sas-wrap ul{list-style:none}

/* Grid: 5 -> 3 -> 2 -> 1 */
.sas-grid{display:grid;gap:var(--sas-gap);grid-template-columns:repeat(var(--sas-cols,5),minmax(0,1fr));align-items:stretch}
.sas-cols-1{--sas-cols:1}.sas-cols-2{--sas-cols:2}.sas-cols-3{--sas-cols:3}.sas-cols-4{--sas-cols:4}.sas-cols-5{--sas-cols:5}
@media (max-width:1280px){.sas-cols-4,.sas-cols-5{--sas-cols:3}}
@media (max-width:900px){.sas-cols-3,.sas-cols-4,.sas-cols-5{--sas-cols:2}}
@media (max-width:600px){.sas-wrap .sas-grid{--sas-cols:1}}

/* Card */
.sas-card{
	display:flex;flex-direction:column;min-width:0;padding:22px;background:var(--sas-card);
	border:1px solid var(--sas-border);border-radius:var(--sas-radius);box-shadow:var(--sas-shadow);
}
.sas-single .sas-card{max-width:100%}
.sas-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.sas-head-ico{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
	border-radius:calc(var(--sas-radius) * .7);background:rgba(var(--sas-primary-rgb),.08);color:var(--sas-primary);
}
.sas-head-ico .sas-svg{width:24px;height:24px}
.sas-ico-img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.sas-head-txt{min-width:0}
.sas-title{
	font-family:var(--sas-heading-font);font-size:var(--sas-title);font-weight:700;line-height:1.2;
	color:var(--sas-primary);margin:0 0 4px;
}
.sas-sub{color:var(--sas-muted);font-size:.92em}
.sas-body{flex:1 1 auto;min-width:0}

/* Table: never wraps, scrolls on X */
.sas-table-wrap{
	width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
	border:1px solid var(--sas-border);border-radius:calc(var(--sas-radius) * .7);scrollbar-width:thin;
	scrollbar-color:rgba(var(--sas-primary-rgb),.45) transparent;
}
.sas-table-wrap:focus-visible{outline:2px solid var(--sas-primary);outline-offset:2px}
.sas-table-wrap::-webkit-scrollbar{height:8px}
.sas-table-wrap::-webkit-scrollbar-thumb{background:rgba(var(--sas-primary-rgb),.4);border-radius:8px}
.sas-table{width:100%;min-width:max-content;border-collapse:collapse;border-spacing:0;margin:0;background:transparent}
.sas-table th,.sas-table td{
	padding:10px 16px;text-align:left;white-space:nowrap;vertical-align:middle;
	border:0;border-bottom:1px solid var(--sas-border);font-size:1em;line-height:1.4;color:var(--sas-text);
}
.sas-table thead th{background:rgba(var(--sas-primary-rgb),.08);color:var(--sas-primary);font-weight:600}
.sas-table tbody th{font-weight:500;background:transparent}
.sas-table tbody tr:last-child th,.sas-table tbody tr:last-child td{border-bottom:0}
.sas-table tbody tr:hover{background:rgba(var(--sas-primary-rgb),.04)}

/* Lists */
.sas-list{display:flex;flex-direction:column}
.sas-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--sas-border);margin:0}
.sas-list li:last-child{border-bottom:0}
.sas-mini-ico{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
	border-radius:8px;background:rgba(var(--sas-primary-rgb),.08);color:var(--sas-primary);
}
.sas-mini-ico .sas-svg{width:17px;height:17px}
.sas-doc-text,.sas-sch-txt{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.sas-round-ico{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
	border-radius:50%;border:2px solid var(--sas-accent);color:var(--sas-primary);background:rgba(var(--sas-accent-rgb),.12);
}
.sas-round-ico .sas-svg{width:18px;height:18px}
.sas-sch-txt strong{display:block;color:var(--sas-primary);font-weight:600;line-height:1.3}
.sas-sch-txt small{display:block;color:var(--sas-muted);font-size:.9em}
.sas-tick{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
	border-radius:50%;background:var(--sas-primary);color:#fff;
}
.sas-tick .sas-svg{width:13px;height:13px;stroke-width:3}

/* Small file/link pill */
.sas-pill{
	flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;
	font-size:.85em;font-weight:600;text-decoration:none;color:var(--sas-primary);
	background:rgba(var(--sas-primary-rgb),.08);border:1px solid rgba(var(--sas-primary-rgb),.18);transition:background .15s,color .15s;
}
.sas-pill .sas-svg{width:13px;height:13px}
.sas-pill:hover,.sas-pill:focus-visible{background:var(--sas-primary);color:#fff}

/* Sibling art */
.sas-art{display:flex;align-items:center;gap:12px;margin-top:14px}
.sas-art img{max-width:90px;height:auto;display:block}
.sas-tagline{font-family:'Caveat',cursive;font-size:1.6em;font-weight:700;line-height:1.1;color:var(--sas-primary);transform:rotate(-3deg)}

.sas-note{margin-top:14px;color:var(--sas-muted);font-size:.92em}
.sas-note p{margin:0 0 .6em}

/* Buttons */
.sas-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:2px}
.sas-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:999px;
	font-family:var(--sas-body-font);font-size:1em;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;
	border:2px solid transparent;transition:transform .15s,box-shadow .15s,background .15s,color .15s;
}
.sas-btn .sas-svg{width:16px;height:16px;stroke-width:2.4}
.sas-btn-primary{background:var(--sas-primary);color:#fff}
.sas-btn-accent{background:var(--sas-accent);color:#1f2a44;box-shadow:0 4px 12px rgba(var(--sas-accent-rgb),.4)}
.sas-btn-outline{background:transparent;color:var(--sas-primary);border-color:var(--sas-primary)}
a.sas-btn:hover,a.sas-btn:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--sas-primary-rgb),.22);text-decoration:none}
.sas-btn-primary:hover{color:#fff}
.sas-btn-outline:hover,.sas-btn-outline:focus-visible{background:var(--sas-primary);color:#fff}
a.sas-btn:focus-visible,a.sas-pill:focus-visible{outline:2px solid var(--sas-primary);outline-offset:2px}
.sas-btn.is-disabled{cursor:default;opacity:.85}

@media (max-width:480px){
	.sas-card{padding:16px}
	.sas-actions .sas-btn{flex:1 1 100%}
	.sas-list li{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.sas-wrap *{transition:none!important}}

/* ===== Important Dates (premium) ===== */
.sas-card.sas-dates{
	position:relative;overflow:hidden;grid-column:1 / -1;padding:30px;border:0;color:var(--sas-dtext,#fff);
	background:linear-gradient(135deg,var(--sas-d1,#244393) 0%,var(--sas-d2,#14275c) 100%);
	box-shadow:0 18px 44px rgba(var(--sas-primary-rgb),.28);
}
.sas-dates>*{position:relative}
.sas-dates .sas-dates-glow{
	position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;pointer-events:none;
	background:radial-gradient(circle,rgba(var(--sas-accent-rgb),.34),transparent 65%);
}
.sas-dates .sas-head{margin-bottom:22px;align-items:center}
.sas-dates .sas-head-ico{width:54px;height:54px;background:rgba(255,255,255,.12);color:var(--sas-accent)}
.sas-dates .sas-head-ico .sas-svg{width:28px;height:28px}
.sas-eyebrow{display:block;margin-bottom:2px;font-size:.95em;font-weight:600;color:var(--sas-accent)}
.sas-dates .sas-title{color:var(--sas-dtext,#fff);font-size:calc(var(--sas-title) * 1.35)}
.sas-dates .sas-sub{color:inherit;opacity:.8}
.sas-dates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin:0;padding:0}
.sas-wrap .sas-dates-grid{list-style:none}
.sas-date{
	position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;margin:0;
	padding:16px;border-radius:calc(var(--sas-radius) * .85);background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.18);transition:transform .2s,background .2s;
}
.sas-date:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
.sas-date.is-first{
	background:rgba(var(--sas-accent-rgb),.15);border-color:var(--sas-accent);
	box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.sas-date-top{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:30px}
.sas-date-ico{
	display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;
	background:rgba(255,255,255,.12);color:var(--sas-accent);
}
.sas-date-ico .sas-svg{width:17px;height:17px}
.sas-date-badge{
	display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.78em;font-weight:700;
	background:var(--sas-accent);color:#1f2a44;
}
.is-live .sas-date-badge::before{
	content:"";width:7px;height:7px;border-radius:50%;background:#16a34a;animation:sas-pulse 1.6s ease-out infinite;
}
@keyframes sas-pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.7)}100%{box-shadow:0 0 0 8px rgba(22,163,74,0)}}
.sas-date-when{
	font-family:var(--sas-heading-font);font-size:1.3em;font-weight:700;line-height:1.25;color:var(--sas-accent);
	font-style:normal;margin-top:4px;
}
.sas-date-title{margin:0;font-family:var(--sas-body-font);font-size:1em;font-weight:600;line-height:1.35;color:var(--sas-dtext,#fff)}
.sas-date-desc{margin:0;font-size:.9em;opacity:.8}
.sas-date-chip{
	margin-top:auto;padding:3px 10px;border-radius:999px;font-size:.82em;font-weight:600;
	background:rgba(255,255,255,.14);color:var(--sas-dtext,#fff);
}
.sas-date-chip+.sas-pill,.sas-date-desc+.sas-pill,.sas-date-title+.sas-pill{margin-top:6px}
.sas-dates .sas-pill{color:var(--sas-dtext,#fff);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.sas-dates .sas-pill:hover,.sas-dates .sas-pill:focus-visible{background:var(--sas-accent);color:#1f2a44;border-color:var(--sas-accent)}
.sas-dates .sas-note,.sas-dates .sas-dates-empty{color:inherit;opacity:.85}
.sas-dates .sas-btn-outline{color:var(--sas-dtext,#fff);border-color:var(--sas-dtext,#fff)}
.sas-dates .sas-btn-outline:hover{background:var(--sas-dtext,#fff);color:var(--sas-primary)}
@media (max-width:600px){.sas-card.sas-dates{padding:20px}}

/* ===== Marquee ===== */
.sas-mq-wrap{max-width:100%}
.sas-mq{
	display:flex;align-items:stretch;width:100%;overflow:hidden;background:var(--mq-bg,#244393);color:var(--mq-color,#fff);
	font-family:var(--sas-body-font);font-size:var(--mq-size,15px);font-weight:var(--mq-weight,500);line-height:1.4;
}
.sas-mq-label{
	position:relative;z-index:1;flex:0 0 auto;display:flex;align-items:center;padding:0 28px 0 16px;white-space:nowrap;
	background:var(--mq-accent,#fbbf24);color:#1f2a44;font-weight:700;
	clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);
}
.sas-mq-view{flex:1 1 auto;min-width:0;overflow:hidden}
.sas-mq-track{display:flex;width:max-content;animation:sas-mq var(--mq-dur,30s) linear infinite;will-change:transform}
.sas-mq.is-rtl .sas-mq-track{animation-direction:reverse}
.sas-mq.pause:hover .sas-mq-track,.sas-mq:focus-within .sas-mq-track{animation-play-state:paused}
.sas-wrap .sas-mq-group{display:flex;flex:0 0 auto;margin:0;padding:0;list-style:none}
.sas-mq-item{display:flex;align-items:center;gap:10px;margin:0;padding:10px 0 10px 24px;white-space:nowrap}
.sas-mq-sep{margin-left:14px;color:var(--mq-accent,#fbbf24)}
.sas-mq-badge{padding:1px 8px;border-radius:999px;font-size:.76em;font-weight:700;background:var(--mq-accent,#fbbf24);color:#1f2a44}
.sas-mq a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.sas-mq a:hover,.sas-mq a:focus-visible{color:var(--mq-accent,#fbbf24)}
@keyframes sas-mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
	.sas-mq-track,.is-live .sas-date-badge::before{animation:none}
	.sas-mq-view{overflow-x:auto}
	.sas-mq-group[aria-hidden="true"]{display:none}
	.sas-date{transition:none}
}
/* Siblings icons (custom image) */
.sas-tick.has-img{background:transparent;width:26px;height:26px;border-radius:0}
.sas-tick .sas-ico-img{width:100%;height:100%;object-fit:contain}
.sas-tick .sas-svg{width:13px;height:13px;stroke-width:3}
