/*
 * Scoala Premium — Commit #8.2
 * Fidelity layer for the supplied school homepage reference.
 * Loaded last on the native front page so it can refine legacy component CSS
 * without changing Elementor widget styling outside the reference homepage.
 */

body.home,
body.front-page { background:#eef3f8; }
body.home .site-content,
body.front-page .site-content { overflow:hidden; }

/* Desktop geometry from the reference: restrained 1120px content rail. */
.reference-home .container,
.sp-topbar .container,
.sp-site-header .container,
.sp-reference-footer .container { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }

/* Top strip */
.sp-topbar { min-height:28px; background:#064889; box-shadow:none; }
.sp-topbar__inner { min-height:28px; }
.sp-topbar__item,
.sp-audience-nav a { font-size:10px; }
.sp-topbar__contact { gap:16px; }
.sp-audience-nav a { padding-inline:13px; }
.sp-socials a { width:29px; }

/* Main navigation */
.sp-site-header { position:relative; top:auto; box-shadow:none; border-top:0; }
.sp-site-header__inner { height:95px; gap:18px; }
.sp-branding { min-width:285px; }
.sp-branding .custom-logo { max-width:255px; max-height:65px; }
.sp-branding__mark { width:53px; height:62px; }
.sp-branding__copy strong { font-size:19px; }
.sp-primary-nav .menu-link { padding-inline:10px; font-size:9.5px; letter-spacing:.01em; }
.sp-primary-nav .menu-item.is-active>.menu-link:after,
.sp-primary-nav .current-menu-item>.menu-link:after { bottom:21px; left:10px; right:10px; }
.sp-search-toggle { width:38px; height:38px; border-radius:5px; background:#064a8b; }

/* Hero */
.sp-hero-slider { height:382px; }
.sp-hero-slide { background-position:center 45%; }
.sp-hero-slide__overlay { background:linear-gradient(90deg,rgba(2,47,91,.96) 0%,rgba(3,56,106,.78) 31%,rgba(4,63,116,.32) 54%,rgba(4,63,116,.02) 78%); }
.sp-hero-slide__content { width:360px; margin:0; transform:translateY(-10px); }
.sp-hero-slide h1 { max-width:350px; margin-bottom:12px; font-size:40px; line-height:1.04; letter-spacing:-.03em; }
@media (min-width:901px){
  .sp-hero-slide__content { width:520px; }
  .sp-hero-slide h1 { max-width:520px; }
  .sp-hero-title__nowrap { white-space:nowrap; }
}
.sp-hero-slide p { max-width:325px; margin-bottom:20px; font-size:13px; line-height:1.46; }
.sp-hero-btn { min-height:37px; padding-inline:18px; font-size:8.5px; border-radius:20px; }
.sp-hero-arrow { width:31px; height:31px; font-size:22px; }
.sp-hero-arrow--prev { left:18px; }
.sp-hero-arrow--next { right:18px; }
.sp-hero-dots { bottom:13px; gap:5px; }
.sp-hero-dot { width:6px; height:6px; }

/* Floating quick links */
.reference-quick { width:min(1100px, calc(100% - 48px))!important; margin-top:-52px; padding:20px 8px 17px; border-radius:10px; box-shadow:0 9px 28px rgba(28,63,98,.14); }
.reference-quick__item { min-height:92px; padding:3px 13px; justify-content:flex-start; }
.reference-quick__icon { width:31px; height:31px; margin-bottom:8px; }
.reference-quick strong { margin-bottom:4px; font-size:10px; line-height:1.2; }
.reference-quick small { max-width:130px; font-size:9px; line-height:1.38; }

/* Three-column information deck */
.reference-feed { gap:11px; padding:18px 0 10px; }
.reference-panel { min-height:346px; padding:13px 14px 11px; border-color:#e6ebf1; border-radius:5px; box-shadow:0 3px 12px rgba(21,55,88,.055); }
.reference-panel>header { margin-bottom:13px; }
.reference-panel h2,
.reference-heading h2,
.reference-partners h2 { font-size:11px; letter-spacing:0; }
.reference-panel header a,
.reference-heading a { font-size:8.5px; }
.reference-story { grid-template-columns:78px 1fr; gap:10px; margin-bottom:9px; padding-bottom:9px; }
.reference-story img,
.reference-story__placeholder { width:78px; height:61px; border-radius:4px; }
.reference-story h3,
.reference-date-item h3,
.reference-event-item h3 { margin:0 0 3px; font:600 10px/1.3 Poppins,sans-serif; }
.reference-story time,
.reference-event-item time { display:block; margin-bottom:3px; color:#1672c5; font-size:8px; line-height:1.3; }
.reference-story p,
.reference-date-item p { margin:0; color:#5e6876; font-size:8px; line-height:1.35; }
.reference-date-item { grid-template-columns:43px 1fr; gap:10px; min-height:72px; margin-bottom:9px; padding-bottom:9px; }
.reference-date { width:43px; align-self:start; overflow:hidden; border:1px solid #d8e2ec; border-radius:4px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.reference-date b { display:block; padding:4px 2px 3px; background:#0759a7; color:#fff; font:700 16px/1 Poppins,sans-serif; text-align:center; }
.reference-date span { display:block; padding:5px 1px 4px; color:#174a7b; font:700 7px/1 Poppins,sans-serif; text-align:center; }
.reference-more { display:inline-block; margin-top:1px; font-size:8.5px; }

/* Events use the distinctive image + calendar badge treatment in the reference. */
.reference-event-item { display:grid; grid-template-columns:78px 43px minmax(0,1fr); gap:9px; align-items:start; min-height:72px; margin-bottom:9px; padding-bottom:9px; border-bottom:1px solid #eef2f6; }
.reference-event-item__image { display:block; width:78px; height:61px; border-radius:4px; overflow:hidden; }
.reference-event-item__image img { width:100%; height:100%; object-fit:cover; }
.reference-event-item__image.reference-story__placeholder { display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#0a57a7,#78a9d4); }
.reference-date--event { width:43px; }
.reference-event-item__content { min-width:0; }
.reference-event-location { margin:2px 0 0!important; color:#525e6d!important; font-size:8px!important; font-weight:400!important; line-height:1.3; }

/* Section headings and labs */
.reference-section { padding:8px 0 12px; }
.reference-heading { margin-bottom:10px; }
.reference-labs { gap:10px; }
.reference-lab { flex-basis:calc((100% - 40px)/5); border-color:#e0e7ef; box-shadow:0 2px 9px rgba(22,58,92,.065); }
.reference-lab__visual { height:91px; }
.reference-lab>div:last-child { min-height:72px; padding:8px 9px; }
.reference-lab h3 { margin-bottom:4px; font-size:9px; line-height:1.25; }
.reference-lab p { font-size:7.5px; line-height:1.35; }
.reference-lab span { width:15px; height:15px; }
.reference-section-arrow { width:28px; height:28px; font-size:19px; }
.reference-section-arrow--prev { left:-34px; }
.reference-section-arrow--next { right:-34px; }

/* Statistics */
.reference-stats { width:min(1100px, calc(100% - 48px)); margin:12px auto 11px; border-radius:5px; background:linear-gradient(90deg,#07539b 0%,#064987 100%); }
.reference-stats__grid { min-height:69px; padding:11px 0; }
.reference-stats__grid>div { min-height:47px; grid-template-columns:39px auto; column-gap:9px; }
.reference-stat-icon,
.reference-stat-icon svg { width:32px; height:32px!important; }
.reference-stats strong { font-size:22px; }
.reference-stats small { font-size:9px; }

/* Gallery */
.reference-gallery { gap:5px; }
.reference-gallery a,
.reference-gallery__placeholder { height:80px; border-radius:4px; }
.reference-gallery a img { transition:transform .25s ease; }
.reference-gallery a:hover img { transform:scale(1.035); }

/* Partners */
.reference-partners { padding:8px 0 14px; background:#fff; }
.reference-partners h2 { margin-bottom:7px; }
.reference-partners__row { min-height:50px; gap:16px; }
.reference-partners__row .reference-partner { min-height:40px; background:transparent; box-shadow:none; }
.reference-partners__row .reference-partner:hover { box-shadow:none; }
.reference-partners__row .reference-partner img { max-width:115px; max-height:34px; }
.reference-partners__row>span { color:#17518a; font:600 11px/1.2 Poppins,sans-serif; }

/* Footer */
.sp-reference-footer { font-size:10px; }
.sp-reference-footer .footer-top { padding:20px 0 17px; }
.sp-reference-footer .footer-grid { grid-template-columns:1.05fr .82fr 1fr 1.38fr; gap:28px; }
.sp-reference-footer .footer-title { margin-bottom:10px; font-size:9px; }
.sp-reference-footer .footer-mini-title { margin:10px 0 6px; font-size:8px; }
.sp-reference-footer p,
.sp-reference-footer li { font-size:8px; line-height:1.45; }
.sp-reference-footer li { margin-bottom:4px; }
.sp-reference-footer .footer-social a { width:22px; height:22px; font-size:9px; }
.sp-reference-footer .footer-map iframe { height:108px; }
.sp-reference-footer .footer-bottom .container { min-height:32px; }
.sp-reference-footer .footer-copyright,
.sp-reference-footer .footer-legal a { font-size:7.5px; }

@media (max-width:1180px) {
  .reference-section-arrow--prev { left:-8px; }
  .reference-section-arrow--next { right:-8px; }
}

@media (max-width:980px) {
  .reference-home .container,
  .sp-topbar .container,
  .sp-site-header .container,
  .sp-reference-footer .container { width:min(94%,1120px); }
  .sp-branding { min-width:0; }
  .sp-hero-slider { height:405px; }
  .reference-panel { min-height:0; }
  .reference-event-item { grid-template-columns:78px 43px minmax(0,1fr); }
  .reference-lab { flex-basis:calc((100% - 20px)/3); }
}

@media (max-width:760px) {
  .sp-site-header__inner { height:76px; }
  .sp-hero-slider { height:410px; }
  .sp-hero-slide__content { width:min(410px,calc(100% - 56px)); transform:none; }
  .sp-hero-slide h1 { font-size:35px; }
  .reference-quick { margin-top:-42px; }
  .reference-feed { grid-template-columns:1fr; }
  .reference-panel { min-height:0; }
  .reference-gallery { grid-template-columns:repeat(4,1fr); }
  .sp-reference-footer .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .reference-home .container,
  .sp-topbar .container,
  .sp-site-header .container,
  .sp-reference-footer .container { width:calc(100% - 28px); }
  .sp-topbar__phone span:last-child { display:inline; }
  .sp-hero-slider { height:390px; }
  .sp-hero-slide__content { width:calc(100% - 22px); }
  .sp-hero-slide h1 { font-size:32px; }
  .sp-hero-slide p { font-size:12px; }
  .reference-quick { width:calc(100% - 28px)!important; }
  .reference-event-item { grid-template-columns:72px 40px minmax(0,1fr); gap:7px; }
  .reference-event-item__image { width:72px; height:56px; }
  .reference-date,
  .reference-date--event { width:40px; }
  .reference-date b { font-size:14px; }
  .reference-lab { flex-basis:82%; }
  .reference-gallery { grid-template-columns:repeat(2,1fr); }
  .reference-gallery a,
  .reference-gallery__placeholder { height:96px; }
  .sp-reference-footer .footer-grid { grid-template-columns:1fr; }
  .sp-reference-footer .footer-map iframe { height:180px; }
}
