/*
 * Școala Premium — Build 002 UI/UX design system.
 * Loaded last on the public site to normalize shared components without
 * changing page content or Elementor structures.
 */
:root{
  --sp-radius-xs:6px;
  --sp-radius-sm:8px;
  --sp-radius-md:12px;
  --sp-radius-lg:16px;
  --sp-radius-pill:999px;
  --sp-border-color:color-mix(in srgb,var(--sp-text,#1f2937) 14%,transparent);
  --sp-muted:color-mix(in srgb,var(--sp-text,#1f2937) 68%,transparent);
  --sp-shadow-sm:0 4px 14px rgba(13,54,94,.06);
  --sp-shadow-md:0 10px 28px rgba(13,54,94,.09);
  --sp-shadow-lg:0 18px 42px rgba(13,54,94,.13);
  --sp-transition-fast:160ms ease;
  --sp-transition:240ms ease;
  --sp-space-1:4px;
  --sp-space-2:8px;
  --sp-space-3:12px;
  --sp-space-4:16px;
  --sp-space-5:24px;
  --sp-space-6:32px;
  --sp-space-7:48px;
  --sp-space-8:64px;
  --sp-content-width:1320px;
}

/* Base rhythm and readable content. */
body{line-height:1.65}
.container,.sp-container,.sp-elementor-shell{width:min(var(--sp-content-width),calc(100% - 48px));margin-inline:auto}
:where(p,li){overflow-wrap:anywhere}
:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}
:where(p,.sp-lead,.sp-heading__description){text-wrap:pretty}

/* Shared buttons. */
:where(.btn,.sp-btn,.sp-elementor-btn,.sp-hero-btn,.hero__button,.button:not(.wp-color-result),input[type="submit"],button[type="submit"]){
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 20px;
  border:1px solid transparent;
  border-radius:var(--sp-radius-sm);
  font-family:var(--sp-font-body,'Inter',sans-serif);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:background-color var(--sp-transition-fast),border-color var(--sp-transition-fast),color var(--sp-transition-fast),box-shadow var(--sp-transition-fast),transform var(--sp-transition-fast);
}
:where(.btn,.sp-btn--primary,.sp-elementor-btn--primary,.sp-hero-btn--primary,.hero__button--primary){background:var(--sp-primary,#064480);color:#fff}
:where(.btn,.sp-btn--primary,.sp-elementor-btn--primary,.sp-hero-btn--primary,.hero__button--primary):hover{background:var(--sp-secondary,#0b5da8);color:#fff;box-shadow:var(--sp-shadow-sm);transform:translateY(-1px)}
:where(.sp-btn--secondary,.sp-elementor-btn--light,.sp-hero-btn--secondary,.hero__button--secondary,.btn-outline){background:transparent;color:var(--sp-primary,#064480);border-color:color-mix(in srgb,var(--sp-primary,#064480) 42%,transparent)}
:where(.sp-btn--secondary,.sp-elementor-btn--light,.sp-hero-btn--secondary,.hero__button--secondary,.btn-outline):hover{background:color-mix(in srgb,var(--sp-primary,#064480) 8%,#fff);border-color:var(--sp-primary,#064480);color:var(--sp-primary,#064480)}

/* Shared form controls. */
:where(input[type="text"],input[type="email"],input[type="url"],input[type="tel"],input[type="search"],input[type="number"],input[type="date"],select,textarea){
  width:100%;
  min-height:44px;
  padding:10px 13px;
  border:1px solid var(--sp-border-color);
  border-radius:var(--sp-radius-sm);
  background:#fff;
  color:var(--sp-text,#1f2937);
  font:inherit;
  line-height:1.45;
  transition:border-color var(--sp-transition-fast),box-shadow var(--sp-transition-fast),background-color var(--sp-transition-fast);
}
textarea{min-height:130px;resize:vertical}
:where(input,select,textarea)::placeholder{color:color-mix(in srgb,var(--sp-text,#1f2937) 50%,transparent)}
:where(input[type="text"],input[type="email"],input[type="url"],input[type="tel"],input[type="search"],input[type="number"],input[type="date"],select,textarea):focus{border-color:var(--sp-primary,#064480);box-shadow:0 0 0 3px color-mix(in srgb,var(--sp-primary,#064480) 15%,transparent);outline:0}

/* Shared surface/card treatment. */
:where(.sp-archive-card,.sp-search-card,.sp-contact-card,.sp-teacher-card,.sp-document-row,.sp-el-contact__info,.sp-el-teacher,.sp-el-document,.sp-home-panel,.sp-lab-card,.sp-elementor-post-card){
  border:1px solid var(--sp-border-color);
  border-radius:var(--sp-radius-md);
  background:#fff;
  box-shadow:var(--sp-shadow-sm);
}
:where(.sp-archive-card,.sp-search-card,.sp-teacher-card,.sp-el-teacher,.sp-el-document,.sp-home-panel,.sp-lab-card,.sp-elementor-post-card){transition:transform var(--sp-transition),box-shadow var(--sp-transition),border-color var(--sp-transition)}
:where(.sp-archive-card,.sp-search-card,.sp-teacher-card,.sp-el-teacher,.sp-el-document,.sp-home-panel,.sp-lab-card,.sp-elementor-post-card):hover{border-color:color-mix(in srgb,var(--sp-primary,#064480) 28%,transparent);box-shadow:var(--sp-shadow-md)}

/* Metadata, badges and chips. */
:where(.sp-archive-card__meta,.sp-search-card__meta,.sp-teacher-card__meta,.sp-event-meta){font-size:13px;color:var(--sp-muted)}
:where(.sp-chip,.sp-badge,.sp-search-card__type){display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:var(--sp-radius-pill);background:color-mix(in srgb,var(--sp-primary,#064480) 9%,#fff);color:var(--sp-primary,#064480);font-size:12px;font-weight:700;line-height:1.2}

/* Inner-page hero and breadcrumbs use one component language. */
:where(.sp-page-hero,.sp-search-hero,.sp-el-page-hero){background:linear-gradient(135deg,var(--sp-primary,#064480),var(--sp-secondary,#0b5da8));color:#fff}
:where(.sp-breadcrumbs,.sp-el-breadcrumb){display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.45}
:where(.sp-breadcrumbs,.sp-el-breadcrumb) a{color:#fff;font-weight:600;text-decoration:none}
:where(.sp-breadcrumbs,.sp-el-breadcrumb) a:hover{text-decoration:underline;text-underline-offset:3px}

/* Pagination has consistent target sizes everywhere. */
:where(.nav-links,.sp-pagination,.sp-search-pagination ul.page-numbers){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
:where(.nav-links .page-numbers,.sp-pagination .page-numbers,.sp-search-pagination a.page-numbers,.sp-search-pagination span.page-numbers){box-sizing:border-box;width:42px;min-width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sp-border-color);border-radius:var(--sp-radius-sm);background:#fff;color:var(--sp-primary,#064480);font-size:15px;font-weight:700;line-height:1;text-align:center;text-decoration:none}
:where(.nav-links .page-numbers,.sp-pagination .page-numbers,.sp-search-pagination .page-numbers).current{background:var(--sp-primary,#064480);border-color:var(--sp-primary,#064480);color:#fff}
:where(.nav-links a.page-numbers,.sp-pagination a.page-numbers,.sp-search-pagination a.page-numbers):hover{background:color-mix(in srgb,var(--sp-primary,#064480) 8%,#fff);border-color:color-mix(in srgb,var(--sp-primary,#064480) 45%,transparent)}

/* Tables generated by editors/modules. */
:where(.entry-content,.elementor-widget-container) table{width:100%;border-collapse:collapse;border-spacing:0;margin-block:24px;font-size:15px}
:where(.entry-content,.elementor-widget-container) th,:where(.entry-content,.elementor-widget-container) td{padding:12px 14px;border:1px solid var(--sp-border-color);text-align:left;vertical-align:top}
:where(.entry-content,.elementor-widget-container) th{background:color-mix(in srgb,var(--sp-primary,#064480) 7%,#fff);color:var(--sp-text,#1f2937);font-weight:700}

/* Header/footer polish without changing the established top-bar height. */
.sp-primary-nav .menu-link{font-size:var(--sp-font-size-menu,14px)}
.sp-socials a .sp-social-icon{transform:scale(1.08);transform-origin:center}
.sp-reference-footer .footer-social a,.footer-social a{font-size:14px}
.footer-legal{flex-wrap:wrap;row-gap:8px}

/* Elementor editor/frontend parity. */
.elementor-editor-active :where(.sp-archive-card,.sp-search-card,.sp-teacher-card,.sp-el-teacher,.sp-el-document,.sp-home-panel,.sp-lab-card,.sp-elementor-post-card):hover{transform:none}
.sp-elementor-section-heading,.sp-home-panel__head,.reference-heading{gap:16px}

/* Responsive audit. */
@media(max-width:900px){
  .container,.sp-container,.sp-elementor-shell{width:min(100% - 32px,var(--sp-content-width))}
  .sp-content-page .entry-content{width:100%}
  .sp-contact-grid,.sp-el-contact{gap:20px}
  :where(.entry-content,.elementor-widget-container){overflow-wrap:anywhere}
  :where(.entry-content,.elementor-widget-container) table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:600px){
  .container,.sp-container,.sp-elementor-shell{width:min(100% - 24px,var(--sp-content-width))}
  :where(.sp-page-hero,.sp-search-hero,.sp-el-page-hero){padding-block:38px}
  :where(.sp-page-hero h1,.sp-search-hero h1,.sp-el-page-hero h1){font-size:clamp(28px,9vw,38px)}
  .sp-breadcrumbs,.sp-el-breadcrumb{font-size:13px;gap:6px}
  .sp-content-page{padding-block:36px 52px}
  .sp-content-page .entry-content p,.sp-content-page .entry-content li{font-size:16px;line-height:1.7}
  .sp-search-card__body,.sp-archive-card__body,.sp-teacher-card__body{padding:18px}
  .sp-search-pagination,.nav-links{overflow-x:auto;justify-content:flex-start;padding-bottom:4px}
  .footer-bottom .container{align-items:flex-start;flex-direction:column;padding-block:14px;gap:10px}
  .footer-legal a{padding-inline:0 12px}
}

@media(prefers-reduced-motion:reduce){
  :where(.sp-archive-card,.sp-search-card,.sp-teacher-card,.sp-el-teacher,.sp-el-document,.sp-home-panel,.sp-lab-card,.sp-elementor-post-card):hover{transform:none}
}


/* Build 005 — requested production layout fixes. */
/* Main navigation stays on a white surface on every public page. */
.sp-site-header{
  background:#fff!important;
  color:var(--sp-text,#1f2937);
}
.sp-site-header .sp-primary-nav .menu-link{color:#172335}
.sp-site-header .sp-primary-nav .menu-item.is-active>.menu-link,
.sp-site-header .sp-primary-nav .current-menu-item>.menu-link,
.sp-site-header .sp-primary-nav .menu-link:hover{color:var(--sp-primary,#064480)}

/* Breadcrumbs use a distinct blue bar consistently on every page type. */
.sp-breadcrumbs,
.sp-el-breadcrumb{
  box-sizing:border-box;
  width:100%;
  margin-top:18px;
  padding:11px 15px;
  border-radius:8px;
  background:linear-gradient(135deg,var(--sp-primary,#064480),var(--sp-secondary,#0b5da8));
  color:#fff;
  box-shadow:0 4px 14px rgba(3,52,97,.14);
}
.sp-breadcrumbs__current,
.sp-el-breadcrumb span:last-child{color:rgba(255,255,255,.88)}

/* Build 006 — final layout alignment and Elementor breadcrumb hardening. */
:root{--sp-content-width:1320px}

/* One shared desktop rail for topbar, header, content and footer. */
.container,
.sp-container,
.sp-elementor-shell,
.sp-topbar .container,
.sp-site-header .container,
.sp-reference-footer .container{
  box-sizing:border-box;
  width:min(var(--sp-content-width),calc(100% - 48px))!important;
  max-width:var(--sp-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Native and Elementor page content use the same rail as the navigation. */
.sp-content-page,
.sp-content-page .entry-content,
.scoala-elementor-page--full-width .elementor-section.sp-el-section>.elementor-container,
.scoala-elementor-page--full-width .elementor-section.sp-el-page-hero>.elementor-container{
  box-sizing:border-box;
  width:min(var(--sp-content-width),calc(100% - 48px))!important;
  max-width:var(--sp-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.sp-content-page{padding-left:0!important;padding-right:0!important}

/* A template-level breadcrumb strip guarantees blue breadcrumbs even for old Elementor page data. */
.sp-global-breadcrumb-bar{
  width:100%;
  background:linear-gradient(135deg,var(--sp-primary,#064480),var(--sp-secondary,#0b5da8));
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
.sp-global-breadcrumb-bar__inner{
  box-sizing:border-box;
  width:min(var(--sp-content-width),calc(100% - 48px));
  max-width:var(--sp-content-width);
  margin-inline:auto;
  padding:12px 0;
}
.sp-global-breadcrumb-bar .sp-breadcrumbs{
  width:auto;
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.sp-global-breadcrumb-bar .sp-breadcrumbs,
.sp-global-breadcrumb-bar .sp-breadcrumbs a,
.sp-global-breadcrumb-bar .sp-breadcrumbs__current{color:#fff}
.sp-global-breadcrumb-bar .sp-breadcrumbs__current{opacity:.88}

/* The homepage hero is a true viewport-width visual; only its text stays on the shared rail. */
.reference-home{width:100%;max-width:none;overflow:visible}
.reference-home>.sp-hero-slider,
.scoala-elementor-page--full-width .sp-el-home-hero,
.scoala-elementor-page--full-width .sp-el-home-hero .sp-hero-slider,
.elementor-widget-scoala-premium-hero-slider .sp-hero-slider{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
.scoala-elementor-page--full-width .sp-el-home-hero,
.scoala-elementor-page--full-width .sp-el-home-hero>.elementor-container,
.scoala-elementor-page--full-width .sp-el-home-hero>.elementor-container>.elementor-column,
.scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-wrap,
.scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-scoala-premium-hero-slider{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.sp-hero-slide__inner{
  width:min(var(--sp-content-width),calc(100% - 48px))!important;
  max-width:var(--sp-content-width)!important;
  margin-inline:auto!important;
}

@media(max-width:900px){
  .container,.sp-container,.sp-elementor-shell,
  .sp-topbar .container,.sp-site-header .container,.sp-reference-footer .container,
  .sp-content-page,.sp-content-page .entry-content,
  .scoala-elementor-page--full-width .elementor-section.sp-el-section>.elementor-container,
  .scoala-elementor-page--full-width .elementor-section.sp-el-page-hero>.elementor-container,
  .sp-global-breadcrumb-bar__inner,.sp-hero-slide__inner{
    width:calc(100% - 32px)!important;
  }
}
@media(max-width:600px){
  .container,.sp-container,.sp-elementor-shell,
  .sp-topbar .container,.sp-site-header .container,.sp-reference-footer .container,
  .sp-content-page,.sp-content-page .entry-content,
  .scoala-elementor-page--full-width .elementor-section.sp-el-section>.elementor-container,
  .scoala-elementor-page--full-width .elementor-section.sp-el-page-hero>.elementor-container,
  .sp-global-breadcrumb-bar__inner,.sp-hero-slide__inner{
    width:calc(100% - 24px)!important;
  }
}

/* Build 007 — Elementor inner-page title block replaces the separate breadcrumb bar. */
body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child,
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child,
body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child,
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child{
  background:linear-gradient(135deg,var(--sp-primary,#064480),var(--sp-secondary,#0b5da8))!important;
  color:#fff!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child > .elementor-container,
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child,
body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child > .elementor-container,
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child{
  width:min(var(--sp-content-width),calc(100% - 48px))!important;
  max-width:var(--sp-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child .elementor-heading-title,
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child .elementor-heading-title,
body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child .elementor-heading-title,
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child .elementor-heading-title{
  color:#fff!important;
  margin:0 0 8px!important;
}
body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child .elementor-widget-text-editor,
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child .elementor-widget-text-editor,
body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child .elementor-widget-text-editor,
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child .elementor-widget-text-editor{
  color:rgba(255,255,255,.92)!important;
  margin:0!important;
}
body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child .elementor-widget-text-editor p:last-child,
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child .elementor-widget-text-editor p:last-child,
body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child .elementor-widget-text-editor p:last-child,
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child .elementor-widget-text-editor p:last-child{
  margin-bottom:0!important;
}
/* Build 006 breadcrumb bar is intentionally disabled on Elementor pages. */
.scoala-elementor-page--full-width + .sp-global-breadcrumb-bar,
.sp-global-breadcrumb-bar{display:none!important}
@media(max-width:767px){
  body:not(.home) .scoala-elementor-page--full-width > .elementor > .elementor-section:first-child > .elementor-container,
  body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child,
  body:not(.home) .scoala-elementor-page--full-width > .elementor-section:first-child > .elementor-container,
  body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child{
    width:calc(100% - 32px)!important;
  }
}


/* Build 009 — verified homepage header + hero title fixes. */
/* Remove every possible visual separator between top bar and main header. */
body.home .sp-topbar,
body.front-page .sp-topbar{
  margin-bottom:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.home .sp-site-header,
body.front-page .sp-site-header,
body.home .sp-topbar + .sp-site-header,
body.front-page .sp-topbar + .sp-site-header{
  margin-top:0!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.home .sp-topbar::before,
body.home .sp-topbar::after,
body.home .sp-site-header::before,
body.home .sp-site-header::after,
body.front-page .sp-topbar::before,
body.front-page .sp-topbar::after,
body.front-page .sp-site-header::before,
body.front-page .sp-site-header::after{
  display:none!important;
  content:none!important;
}

/* The two words of the school name are an indivisible typographic unit. */
.sp-hero-title__nowrap{
  display:inline-block!important;
  white-space:nowrap!important;
}
@media(min-width:901px){
  .sp-hero-slide__content{
    width:min(680px,58vw)!important;
    max-width:680px!important;
  }
  .sp-hero-slide h1{
    max-width:680px!important;
  }
}

/* Build 011: homepage Elementor hero wrapper must collapse to the slider height. */
.home .scoala-elementor-page--full-width .sp-el-home-hero,
.home .scoala-elementor-page--full-width .sp-el-home-hero > .elementor-container,
.home .scoala-elementor-page--full-width .sp-el-home-hero > .elementor-container > .elementor-column,
.home .scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-wrap,
.home .scoala-elementor-page--full-width .sp-el-home-hero .elementor-element-populated,
.home .scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-scoala-premium-hero-slider,
.home .scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-container {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.home .scoala-elementor-page--full-width .sp-el-home-hero > .elementor-container {
  align-items: stretch !important;
}

.home .scoala-elementor-page--full-width .sp-el-home-hero .elementor-widget-scoala-premium-hero-slider {
  margin-bottom: 0 !important;
}

/* Build 012: neutralize Elementor's extended column gap only for the homepage hero. */
.home .scoala-elementor-page--full-width .sp-el-home-hero
> .elementor-container.elementor-column-gap-extended
> .elementor-column
> .elementor-element-populated {
  padding: 0 !important;
}


/* Build 013: exact Elementor wrapper fix for the homepage hero.
 * Elementor frontend.min.css adds 15px padding to .elementor-column-gap-extended
 * populated columns. hero.js marks only the populated wrapper that actually owns
 * the Scoala Premium hero slider, so no other Elementor column loses spacing. */
.home .sp-home-hero-populated {
  padding: 0 !important;
  margin: 0 !important;
}

/* Modern-browser CSS fallback before JS executes. */
.home .elementor-column-gap-extended
> .elementor-column
> .elementor-element-populated:has(.elementor-widget-scoala-premium-hero-slider) {
  padding: 0 !important;
}


/* PP-01 — About hero cleanup: parent wrapper must not create visible blue gutters. */
body:not(.home) .scoala-elementor-page--full-width > .elementor > .e-con:first-child:has(.elementor-widget-scoala-premium-hero),
body:not(.home) .scoala-elementor-page--full-width > .e-con:first-child:has(.elementor-widget-scoala-premium-hero){
  padding-top:0!important;
  padding-bottom:0!important;
}
body:not(.home) .scoala-elementor-page--full-width .elementor-widget-scoala-premium-hero,
body:not(.home) .scoala-elementor-page--full-width .elementor-widget-scoala-premium-hero > .elementor-widget-container,
body:not(.home) .scoala-elementor-page--full-width .sp-premium-hero{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* PP-05 — Shared button interaction system.
 * Normalizes geometry and interaction feedback while preserving each
 * component's semantic colour variant. Circular navigation controls are
 * intentionally excluded from this system.
 */
:root{
  --sp-button-min-height:48px;
  --sp-button-padding-y:12px;
  --sp-button-padding-x:22px;
  --sp-button-radius:12px;
  --sp-button-font-size:14px;
  --sp-button-focus:0 0 0 4px color-mix(in srgb,var(--sp-accent,#f6b400) 42%,transparent);
  --sp-button-shadow-hover:0 10px 24px rgba(13,54,94,.16);
  --sp-button-transition:220ms ease;
}

:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
){
  box-sizing:border-box;
  min-height:var(--sp-button-min-height);
  padding:var(--sp-button-padding-y) var(--sp-button-padding-x);
  border-radius:var(--sp-button-radius);
  font-family:var(--sp-font-body,'Inter',sans-serif);
  font-size:var(--sp-button-font-size);
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:
    transform var(--sp-button-transition),
    box-shadow var(--sp-button-transition),
    background-color var(--sp-button-transition),
    border-color var(--sp-button-transition),
    color var(--sp-button-transition);
}

:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
):hover{
  transform:translateY(-2px);
}

:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
):focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
  box-shadow:var(--sp-button-focus);
}

:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
):active{
  transform:translateY(0);
  box-shadow:none;
}

:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
)[aria-disabled="true"],
:where(
  .btn,
  .button:not(.wp-color-result),
  .elementor-button,
  .sp-btn,
  .sp-elementor-btn,
  .sp-hero-btn,
  .sp-premium-hero__button,
  .sp-about-cta__button,
  .hero__button,
  input[type="submit"],
  button[type="submit"]
):disabled{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
  transform:none;
  box-shadow:none;
}

/* Primary buttons share one elevation model. */
:where(
  .btn,
  .sp-btn--primary,
  .sp-elementor-btn--primary,
  .sp-hero-btn--primary,
  .hero__button--primary,
  input[type="submit"],
  button[type="submit"]
):hover{
  box-shadow:var(--sp-button-shadow-hover);
}

/* Accent calls-to-action retain the school's yellow accent, but use the
 * same dimensions, radius and motion as every other button. */
.sp-about-cta__button,
.sp-premium-hero__button--primary,
.sp-elementor-btn--accent{
  border-radius:var(--sp-button-radius);
}
.sp-about-cta__button:hover,
.sp-premium-hero__button--primary:hover,
.sp-elementor-btn--accent:hover{
  box-shadow:var(--sp-button-shadow-hover);
}

/* Outline/light variants receive the same border weight and focus geometry. */
:where(
  .sp-btn--secondary,
  .sp-btn--ghost,
  .sp-elementor-btn--light,
  .sp-elementor-btn--outline-light,
  .sp-hero-btn--secondary,
  .sp-premium-hero__button--secondary,
  .hero__button--secondary,
  .btn-outline
){
  border-width:1px;
  border-style:solid;
}

/* Keep CTA icon movement subtle and synchronized with the button. */
.sp-about-cta__button-icon{
  transition:transform var(--sp-button-transition);
}
.sp-about-cta__button:hover .sp-about-cta__button-icon{
  transform:translateX(3px);
}

@media(max-width:600px){
  :root{
    --sp-button-min-height:46px;
    --sp-button-padding-y:11px;
    --sp-button-padding-x:18px;
  }
}

/* HM-18 — Univet typography system.
 * Bitter is the display face used by the reference for headings, while Inter
 * remains the highly legible UI/body face. Important declarations neutralize
 * legacy Poppins rules and Elementor-generated typography on existing pages. */
html body,
body :is(
  p,
  li,
  a,
  button,
  input,
  textarea,
  select,
  label,
  small,
  time,
  blockquote,
  th,
  td,
  dt,
  dd,
  .sp-premium-hero__eyebrow,
  .sp-about-eyebrow,
  .sp-page-hero__eyebrow,
  .sp-search-hero__eyebrow,
  .sp-home-eyebrow,
  .sp-topbar,
  .sp-breadcrumbs
){
  font-family:var(--sp-font-body,'Inter',Arial,sans-serif)!important;
}

body :is(h1,h2,h3,h4,h5,h6),
body :is(h1,h2,h3,h4,h5,h6) :is(a,span,strong,em),
body :is(
  .sp-branding__copy strong,
  .sp-home-life-card__content strong,
  .sp-home-result-card strong,
  .sp-home-event-card__date strong,
  .sp-home-laboratory-card__placeholder span,
  .reference-stats strong,
  .reference-date b,
  .reference-date span,
  .reference-partners__row>span
){
  font-family:var(--sp-font-heading,'Bitter',Georgia,serif)!important;
}

@media(prefers-reduced-motion:reduce){
  :where(
    .btn,
    .button:not(.wp-color-result),
    .elementor-button,
    .sp-btn,
    .sp-elementor-btn,
    .sp-hero-btn,
    .sp-premium-hero__button,
    .sp-about-cta__button,
    .hero__button,
    input[type="submit"],
    button[type="submit"]
  ){
    transition:none!important;
  }
  :where(
    .btn,
    .button:not(.wp-color-result),
    .elementor-button,
    .sp-btn,
    .sp-elementor-btn,
    .sp-hero-btn,
    .sp-premium-hero__button,
    .sp-about-cta__button,
    .hero__button,
    input[type="submit"],
    button[type="submit"]
  ):hover,
  :where(
    .btn,
    .button:not(.wp-color-result),
    .elementor-button,
    .sp-btn,
    .sp-elementor-btn,
    .sp-hero-btn,
    .sp-premium-hero__button,
    .sp-about-cta__button,
    .hero__button,
    input[type="submit"],
    button[type="submit"]
  ):active{
    transform:none!important;
  }
  .sp-about-cta__button-icon{transition:none!important}
  .sp-about-cta__button:hover .sp-about-cta__button-icon{transform:none!important}
}


/* PP-07 — CSS cleanup.
 * Superseded Build 005 rail/hero overrides were removed in favor of Build 006,
 * duplicate declarations were collapsed, and non-essential !important usage in
 * the current polish layer was reduced without changing rendered geometry. */

/* Homepage unified rail — match the 1320px geometry used by the approved
 * About page and header. Theme-managed sections may still be stored by
 * Elementor as boxed sections, so the outer section is released first and
 * every component shell is then aligned to the same content rail. */

/* Elementor frontend.min.css adds 15px to populated columns saved with
 * `column-gap-extended`. Homepage components already own their spacing. */
body.home .elementor-column-gap-extended>.elementor-column>.elementor-element-populated,
.scoala-elementor-page--homepage .elementor-column-gap-extended>.elementor-column>.elementor-element-populated{
  padding:0!important;
}

body.home .elementor-section.sp-el-section,
.scoala-elementor-page--homepage .elementor-section.sp-el-section{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

body.home .elementor-section.sp-el-section>.elementor-container,
.scoala-elementor-page--homepage .elementor-section.sp-el-section>.elementor-container,
body.home .elementor-section.sp-el-section .elementor-widget-wrap,
.scoala-elementor-page--homepage .elementor-section.sp-el-section .elementor-widget-wrap,
body.home .elementor-section.sp-el-section .elementor-widget-container,
.scoala-elementor-page--homepage .elementor-section.sp-el-section .elementor-widget-container{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners,
  .e-con.sp-el-section,
  .e-con.sp-el-home-benefits,
  .e-con.sp-el-home-partners
){
  position:relative!important;
  left:50%!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners
)>.elementor-container,
.scoala-elementor-page--homepage :is(
  .e-con.sp-el-section,
  .e-con.sp-el-home-benefits,
  .e-con.sp-el-home-partners
)>.e-con-inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.scoala-elementor-page--homepage :is(
  .e-con.sp-el-section,
  .e-con.sp-el-home-benefits,
  .e-con.sp-el-home-partners
) .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners
)>.elementor-container>.elementor-column,
.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners
)>.elementor-container>.elementor-column>.elementor-element-populated,
.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners
) .elementor-widget-wrap,
.scoala-elementor-page--homepage :is(
  .elementor-section.sp-el-section,
  .elementor-section.sp-el-home-benefits,
  .elementor-section.sp-el-home-partners
) .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.scoala-elementor-page--homepage :is(
  .sp-about-shell,
  .sp-elementor-shell,
  .sp-home-benefits__shell,
  .sp-home-programs__shell,
  .sp-home-life__shell,
  .sp-home-teachers__shell,
  .sp-home-results__shell,
  .sp-home-news__shell,
  .sp-home-events__shell,
  .sp-home-laboratories__shell
){
  box-sizing:border-box!important;
  width:min(var(--sp-content-width,1320px),calc(100% - 48px))!important;
  max-width:var(--sp-content-width,1320px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:900px){
  .scoala-elementor-page--homepage :is(
    .sp-about-shell,
    .sp-elementor-shell,
    .sp-home-benefits__shell,
    .sp-home-programs__shell,
    .sp-home-life__shell,
    .sp-home-teachers__shell,
    .sp-home-results__shell,
    .sp-home-news__shell,
    .sp-home-events__shell,
    .sp-home-laboratories__shell
  ){width:calc(100% - 32px)!important}
}

@media(max-width:600px){
  .scoala-elementor-page--homepage :is(
    .sp-about-shell,
    .sp-elementor-shell,
    .sp-home-benefits__shell,
    .sp-home-programs__shell,
    .sp-home-life__shell,
    .sp-home-teachers__shell,
    .sp-home-results__shell,
    .sp-home-news__shell,
    .sp-home-events__shell,
    .sp-home-laboratories__shell
  ){width:calc(100% - 24px)!important}
}

/* HM-14 — The legacy Homepage document can keep DE CE NOI and BINE AȚI
 * VENIT inside Elementor's 1140px boxed container. Release those two section
 * wrappers themselves (not only their populated-column padding), then let the
 * component shells use the same 1320px rail as the About page. */
body.home .scoala-elementor-page--homepage :is(
  .elementor-section.sp-home-v2-why,
  .elementor-section.sp-home-v2-intro,
  .e-con.sp-home-v2-why,
  .e-con.sp-home-v2-intro
){
  position:relative!important;
  left:50%!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

body.home .scoala-elementor-page--homepage :is(
  .elementor-section.sp-home-v2-why,
  .elementor-section.sp-home-v2-intro
)>.elementor-container,
body.home .scoala-elementor-page--homepage :is(
  .e-con.sp-home-v2-why,
  .e-con.sp-home-v2-intro
)>.e-con-inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

body.home .scoala-elementor-page--homepage :is(
  .sp-home-v2-why,
  .sp-home-v2-intro
) :is(
  .elementor-column,
  .elementor-element-populated,
  .elementor-widget-wrap,
  .elementor-widget,
  .elementor-widget-container
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.scoala-elementor-page--homepage .sp-home-v2-why .sp-about-why,
.scoala-elementor-page--homepage .sp-home-v2-intro .sp-about-story{
  position:relative!important;
  left:50%!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
}

/* HM-15 — Live-document selector. The current Elementor document no longer
 * carries the historical `sp-home-v2-*` classes on its top sections. Select
 * the boxed section by the widget type that it actually contains and remove
 * Elementor's computed 1140px max-width. This reproduces the About page
 * geometry: full-width section plus a centered 1320px inner shell. */
body.home .scoala-elementor-page--homepage
.elementor-section.elementor-section-boxed:has(.elementor-widget-scoala-premium-about-why)
>.elementor-container,
body.home .scoala-elementor-page--homepage
.elementor-section.elementor-section-boxed:has(.elementor-widget-scoala-premium-about-story)
>.elementor-container{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.home .scoala-elementor-page--homepage
.elementor-widget-scoala-premium-about-why .sp-about-why,
body.home .scoala-elementor-page--homepage
.elementor-widget-scoala-premium-about-story .sp-about-story{
  position:relative!important;
  left:0!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

@supports not selector(section:has(*)){
  body.home .scoala-elementor-page--homepage
  .elementor-widget-scoala-premium-about-why .sp-about-why,
  body.home .scoala-elementor-page--homepage
  .elementor-widget-scoala-premium-about-story .sp-about-story{
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
  }
}

/* HM-16 — Univet-style Hero buttons. Keep the control itself geometrically
 * fixed on hover; feedback comes only from colour, border and shadow changes. */
body.home :is(.sp-hero-btn,.sp-premium-hero__button){
  transform:none!important;
  transition:
    box-shadow var(--sp-button-transition),
    background-color var(--sp-button-transition),
    border-color var(--sp-button-transition),
    color var(--sp-button-transition)!important;
}

body.home :is(
  .sp-hero-btn,
  .sp-premium-hero__button
):is(:hover,:focus,:active){
  transform:none!important;
}

/* HM-17 — Univet-style icons for the live homepage "De ce noi" widget.
 * The icon sits in a white circular medallion, centred over the card edge,
 * while the card copy follows the same centred visual axis. */
body.home .elementor-widget-scoala-premium-about-why .sp-about-why__grid{
  row-gap:30px!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card,
body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card--soft{
  display:flex!important;
  min-height:305px!important;
  margin-top:55px!important;
  padding:78px 34px 34px!important;
  flex-direction:column!important;
  align-items:center!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:center!important;
  box-shadow:0 4px 30px rgba(16,38,74,.07)!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon{
  position:absolute!important;
  top:-55px!important;
  left:50%!important;
  display:grid!important;
  width:110px!important;
  height:110px!important;
  margin:0!important;
  padding:30px!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#10264a!important;
  font-size:50px!important;
  line-height:1!important;
  box-shadow:0 4px 30px rgba(16,38,74,.09)!important;
  transform:translateX(-50%)!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon i{
  display:block!important;
  width:50px!important;
  height:50px!important;
  color:inherit!important;
  font-size:50px!important;
  line-height:50px!important;
  text-align:center!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon svg{
  display:block!important;
  width:50px!important;
  height:50px!important;
  color:inherit!important;
  fill:currentColor!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon svg path{
  fill:currentColor!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card:hover .sp-about-why-card__icon{
  background:#fff!important;
  color:#0f6eb5!important;
  transform:translateX(-50%)!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card :is(h3,p){
  width:100%;
  text-align:center!important;
}

body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__link{
  margin-right:auto!important;
  margin-left:auto!important;
}

@media(max-width:900px){
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card,
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card--soft{
    min-height:280px!important;
    margin-top:48px!important;
    padding:70px 28px 30px!important;
  }

  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon{
    top:-48px!important;
    width:96px!important;
    height:96px!important;
    padding:27px!important;
    font-size:42px!important;
  }

  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon i,
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon svg{
    width:42px!important;
    height:42px!important;
    font-size:42px!important;
    line-height:42px!important;
  }
}

@media(max-width:600px){
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why__grid{
    row-gap:18px!important;
  }

  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card,
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card--soft{
    min-height:0!important;
    margin-top:42px!important;
    padding:62px 25px 28px!important;
  }

  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon{
    top:-42px!important;
    width:84px!important;
    height:84px!important;
    padding:24px!important;
    font-size:36px!important;
  }

  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon i,
  body.home .elementor-widget-scoala-premium-about-why .sp-about-why-card__icon svg{
    width:36px!important;
    height:36px!important;
    font-size:36px!important;
    line-height:36px!important;
  }
}

/* HM-19 — Univet-style Hero button colour interaction.
 * Elementor stores the normal colours in post-specific CSS with greater
 * specificity, so each interactive state is declared explicitly here. The
 * button remains geometrically fixed; only colour, border and shadow change. */
body.home :is(
  .sp-hero-btn--primary,
  .sp-premium-hero__button--primary
){
  border-color:#f5b82e!important;
  background:#f5b82e!important;
  color:#10264a!important;
  box-shadow:0 8px 22px rgba(0,0,0,.15)!important;
  transition:
    background-color .3s ease,
    border-color .3s ease,
    color .3s ease,
    box-shadow .3s ease!important;
}

body.home :is(
  .sp-hero-btn--primary,
  .sp-premium-hero__button--primary
):is(:hover,:focus-visible){
  border-color:var(--sp-primary,#064480)!important;
  background:var(--sp-primary,#064480)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(5,31,70,.28)!important;
}

body.home :is(
  .sp-hero-btn--secondary,
  .sp-premium-hero__button--secondary
){
  border-color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
  transition:
    background-color .3s ease,
    border-color .3s ease,
    color .3s ease,
    box-shadow .3s ease!important;
}

body.home :is(
  .sp-hero-btn--secondary,
  .sp-premium-hero__button--secondary
):is(:hover,:focus-visible){
  border-color:#fff!important;
  background:#fff!important;
  color:var(--sp-primary,#064480)!important;
  box-shadow:0 12px 28px rgba(5,31,70,.20)!important;
}

body.home :is(
  .sp-hero-btn--primary,
  .sp-premium-hero__button--primary,
  .sp-hero-btn--secondary,
  .sp-premium-hero__button--secondary
) :is(span,strong){
  color:inherit!important;
}

/* ED-01 — Shared editorial system for Știri and Anunțuri. ---------------- */
.scoala-elementor-page--full-width .elementor-section.sp-el-editorial-hero,
.scoala-elementor-page--full-width .elementor-section.sp-el-editorial-content{
  margin:0!important;
  padding:0!important;
}

.scoala-elementor-page--full-width .elementor-section.sp-el-editorial-hero>.elementor-container,
.scoala-elementor-page--full-width .elementor-section.sp-el-editorial-content>.elementor-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.scoala-elementor-page--full-width :is(.sp-el-editorial-hero,.sp-el-editorial-content)
>.elementor-container>.elementor-column>.elementor-element-populated{
  padding:0!important;
}

.sp-el-editorial-hero :is(.elementor-widget,.elementor-widget-container){
  width:100%!important;
  margin:0!important;
}

.sp-el-editorial-hero .sp-premium-hero--page{
  min-height:400px!important;
}

.sp-el-editorial-hero .sp-premium-hero__overlay{
  background:linear-gradient(90deg,rgba(4,35,77,.96) 0%,rgba(4,49,96,.83) 45%,rgba(5,52,99,.34) 76%,rgba(5,52,99,.16) 100%);
}

.sp-el-editorial-hero .sp-premium-hero__container{
  width:min(1320px,calc(100% - 48px))!important;
}

.sp-el-editorial-hero .sp-premium-hero__content{
  max-width:720px!important;
  padding-block:74px!important;
}

.sp-el-editorial-hero .sp-premium-hero__breadcrumb{
  margin-bottom:20px;
  color:rgba(255,255,255,.78);
}

.sp-el-editorial-hero .sp-premium-hero__eyebrow{
  margin-bottom:13px;
  border-color:rgba(255,255,255,.44);
  background:rgba(5,35,75,.25);
  font-family:Inter,Arial,sans-serif!important;
}

.sp-el-editorial-hero .sp-premium-hero__title{
  margin-bottom:14px;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(42px,5vw,62px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}

.sp-el-editorial-hero .sp-premium-hero__description{
  max-width:680px;
  margin:0;
  font-size:18px;
  line-height:1.7;
}

.sp-el-editorial-content{
  background:#f3f7fb;
}

.sp-el-editorial-content :is(.elementor-widget,.elementor-widget-container){
  width:100%;
}

.sp-editorial-listing,
.sp-announcements-page{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  padding:82px 0 96px!important;
}

.sp-editorial-listing .sp-elementor-section-heading,
.sp-announcements-page__head{
  display:flex;
  max-width:760px;
  margin:0 0 34px;
  flex-direction:column;
  align-items:flex-start;
}

.sp-editorial-kicker{
  display:block;
  margin:0 0 10px;
  color:#0f6eb5;
  font:800 12px/1.3 Inter,Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sp-editorial-listing .sp-elementor-section-heading h2,
.sp-announcements-page__head h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(32px,3.4vw,46px);
  line-height:1.12;
  letter-spacing:-.025em;
}

.sp-editorial-listing .sp-elementor-posts__grid{
  gap:28px!important;
}

.sp-editorial-listing .sp-elementor-posts__grid:has(>.sp-editorial-card:only-child){
  grid-template-columns:minmax(0,430px)!important;
  justify-content:center;
}

.sp-editorial-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dde7f1!important;
  border-radius:18px!important;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.07)!important;
  transform:none!important;
  transition:border-color .25s ease,box-shadow .25s ease!important;
}

.sp-editorial-card:hover{
  border-color:rgba(15,110,181,.34)!important;
  box-shadow:0 18px 46px rgba(16,38,74,.12)!important;
  transform:none!important;
}

.sp-editorial-card .sp-elementor-post-card__image{
  position:relative;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#dceaf8 0%,#f5f9fd 100%);
}

.sp-editorial-card .sp-elementor-post-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  border-bottom:1px solid rgba(16,38,74,.06);
  background:linear-gradient(180deg,transparent 65%,rgba(7,42,82,.12));
  pointer-events:none;
}

.sp-editorial-card .sp-elementor-post-card__image img{
  transition:transform .45s ease;
}

.sp-editorial-card:hover .sp-elementor-post-card__image img{
  transform:scale(1.035);
}

.sp-editorial-card .sp-elementor-post-card__image>span{
  background:linear-gradient(135deg,#dceaf8,#f8fbfe);
  color:#0f6eb5;
  font-family:Bitter,Georgia,serif;
  font-size:58px;
}

.sp-editorial-card .sp-elementor-post-card__body{
  display:flex;
  min-height:255px;
  padding:26px 27px 28px!important;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
}

.sp-editorial-card__type{
  display:inline-flex;
  margin:0 0 10px;
  padding:5px 9px;
  border-radius:999px;
  background:#e9f3fc;
  color:#0f6eb5;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sp-editorial-card time{
  color:#71829a!important;
  font-size:12px!important;
  font-weight:650!important;
  letter-spacing:.035em;
  text-transform:none!important;
}

.sp-editorial-card h3{
  margin:11px 0 11px!important;
  font-family:Bitter,Georgia,serif!important;
  font-size:23px!important;
  line-height:1.28!important;
  letter-spacing:-.02em;
}

.sp-editorial-card h3 a{
  color:#10264a!important;
}

.sp-editorial-card p{
  margin:0 0 22px;
  color:#5b6b82!important;
  font-size:15px;
  line-height:1.7!important;
}

.sp-editorial-card .sp-elementor-post-card__more{
  display:inline-flex;
  min-height:36px;
  margin-top:auto;
  align-items:center;
  gap:7px;
  color:#0865ad!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.sp-editorial-card .sp-elementor-post-card__more:is(:hover,:focus-visible),
.sp-announcement-card__more:is(:hover,:focus-visible),
.sp-announcement-card__file:is(:hover,:focus-visible){
  color:#10264a!important;
  text-decoration:underline;
  text-underline-offset:4px;
}

.sp-announcements-page__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.sp-announcement-card{
  display:grid;
  min-height:250px;
  padding:29px;
  grid-template-columns:76px minmax(0,1fr);
  gap:22px;
  border:1px solid #dde7f1;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.07);
  transition:border-color .25s ease,box-shadow .25s ease;
}

.sp-announcement-card:hover{
  border-color:rgba(15,110,181,.34);
  box-shadow:0 18px 46px rgba(16,38,74,.12);
}

.sp-announcement-card__date{
  align-self:start;
  overflow:hidden;
  border:1px solid #cfe0ef;
  border-radius:13px;
  background:#fff;
  text-align:center;
  box-shadow:0 7px 18px rgba(16,38,74,.08);
}

.sp-announcement-card__date b{
  display:block;
  padding:12px 4px 9px;
  background:#0f6eb5;
  color:#fff;
  font:750 28px/1 Inter,Arial,sans-serif;
}

.sp-announcement-card__date span{
  display:block;
  padding:7px 4px 8px;
  color:#0f6eb5;
  font:800 10px/1 Inter,Arial,sans-serif;
  letter-spacing:.09em;
}

.sp-announcement-card__body{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}

.sp-announcement-card__category{
  display:inline-flex;
  margin:0 0 10px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff3d8;
  color:#9a6500;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.sp-announcement-card h3{
  margin:0 0 11px;
  font-family:Bitter,Georgia,serif!important;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.02em;
}

.sp-announcement-card h3 a{
  color:#10264a;
  text-decoration:none;
}

.sp-announcement-card p{
  margin:0 0 19px;
  color:#5b6b82;
  font-size:15px;
  line-height:1.7;
}

.sp-announcement-card__actions{
  display:flex;
  margin-top:auto;
  gap:10px 18px;
  flex-wrap:wrap;
}

.sp-announcement-card__more,
.sp-announcement-card__file{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:6px;
  color:#0865ad;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.sp-announcement-card__file{
  color:#8a5d08;
}

.sp-editorial-empty{
  grid-column:1/-1;
  padding:44px;
  border:1px dashed #bfd0e0;
  border-radius:18px;
  background:#fff;
  text-align:center;
}

.sp-editorial-empty strong{
  display:block;
  margin-bottom:8px;
  color:#10264a;
  font-family:Bitter,Georgia,serif;
  font-size:22px;
}

.sp-editorial-empty p{
  margin:0;
  color:#5b6b82;
}

.sp-editorial-pagination{
  margin-top:42px;
}

.sp-editorial-pagination .page-numbers{
  display:flex;
  margin:0;
  padding:0;
  justify-content:center;
  gap:8px;
  list-style:none;
}

.sp-editorial-pagination .page-numbers .page-numbers{
  display:grid;
  width:42px;
  height:42px;
  padding:0;
  place-items:center;
  border:1px solid #d8e4ef;
  border-radius:50%;
  background:#fff;
  color:#0b5da8;
  font-weight:750;
  text-decoration:none;
}

.sp-editorial-pagination .page-numbers .current,
.sp-editorial-pagination .page-numbers a:hover{
  border-color:#0b5da8;
  background:#0b5da8;
  color:#fff;
}

/* ED-02 — Readable individual article/announcement pages. */
.sp-editorial-single-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:430px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#082c5d;
}

.sp-editorial-single-hero__media,
.sp-editorial-single-hero__overlay{
  position:absolute;
  inset:0;
}

.sp-editorial-single-hero__media{
  z-index:-2;
  background-image:url('../images/school/scoala-exterior-hero.webp');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}

.sp-editorial-single-hero__overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(4,34,76,.97) 0%,rgba(4,45,88,.88) 52%,rgba(5,52,99,.34) 100%);
}

.sp-editorial-single-hero__shell{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto;
  padding-block:74px;
}

.sp-editorial-single-hero__breadcrumb{
  display:flex;
  margin-bottom:20px;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:600;
}

.sp-editorial-single-hero__breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.sp-editorial-single-hero__breadcrumb a:hover{
  color:#fff;
}

.sp-editorial-single-hero__eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(5,35,75,.24);
  color:#fff;
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sp-editorial-single-hero h1{
  max-width:940px;
  margin:0 0 17px;
  color:#fff;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(38px,4.7vw,60px);
  line-height:1.08;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.sp-editorial-single-hero__meta{
  display:flex;
  gap:9px 22px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.82);
  font-size:14px;
}

.sp-editorial-single-hero__meta span::before{
  content:"•";
  margin-right:22px;
  color:#f5b82e;
}

.sp-editorial-single{
  padding:76px 24px 96px;
  background:#f3f7fb;
}

.sp-editorial-single__article{
  box-sizing:border-box;
  width:min(var(--sp-content-width,1320px),100%);
  margin-inline:auto;
  overflow:hidden;
  border:1px solid #dde7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 42px rgba(16,38,74,.09);
}

.sp-editorial-single__image{
  margin:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e6eff8;
}

.sp-editorial-single__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.sp-editorial-single__content{
  padding:46px 54px 30px;
  color:#44546a;
  font-size:17px;
  line-height:1.82;
}

.sp-editorial-single__content>:first-child{
  margin-top:0;
}

.sp-editorial-single__content>:last-child{
  margin-bottom:0;
}

.sp-editorial-single__content :is(h2,h3,h4){
  margin-top:1.65em;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  line-height:1.22;
}

.sp-editorial-single__content h2{font-size:32px}
.sp-editorial-single__content h3{font-size:25px}
.sp-editorial-single__content a{color:#0865ad;text-underline-offset:3px}

.sp-editorial-single__document{
  display:flex;
  margin:12px 54px 34px;
  padding:22px 24px;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border:1px solid #f1d9a5;
  border-radius:14px;
  background:#fff8e8;
}

.sp-editorial-single__document div{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
}

.sp-editorial-single__document div span{
  color:#9a6500;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sp-editorial-single__document strong{
  color:#10264a;
  font-family:Bitter,Georgia,serif;
  font-size:17px;
}

.sp-editorial-single__document>a{
  display:inline-flex;
  min-height:44px;
  padding:10px 17px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #0b5da8;
  border-radius:999px;
  background:#0b5da8;
  color:#fff;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .25s ease,color .25s ease;
}

.sp-editorial-single__document>a:hover{
  background:#fff;
  color:#0b5da8;
}

.sp-editorial-single__footer{
  margin:0 54px;
  padding:24px 0 34px;
  border-top:1px solid #e4ebf2;
}

.sp-editorial-single__footer a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.sp-editorial-single__footer a:hover{
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px){
  .sp-el-editorial-hero .sp-premium-hero__container,
  .sp-editorial-listing,
  .sp-announcements-page,
  .sp-editorial-single-hero__shell{
    width:calc(100% - 32px)!important;
  }

  .sp-editorial-listing .sp-elementor-posts__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .sp-announcements-page__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:600px){
  .sp-el-editorial-hero .sp-premium-hero--page,
  .sp-editorial-single-hero{
    min-height:360px!important;
  }

  .sp-el-editorial-hero .sp-premium-hero__container,
  .sp-editorial-listing,
  .sp-announcements-page,
  .sp-editorial-single-hero__shell{
    width:calc(100% - 24px)!important;
  }

  .sp-el-editorial-hero .sp-premium-hero__content,
  .sp-editorial-single-hero__shell{
    padding-block:52px!important;
  }

  .sp-el-editorial-hero .sp-premium-hero__title,
  .sp-editorial-single-hero h1{
    font-size:36px!important;
  }

  .sp-el-editorial-hero .sp-premium-hero__description{
    font-size:16px;
  }

  .sp-editorial-listing,
  .sp-announcements-page{
    padding:56px 0 68px!important;
  }

  .sp-editorial-listing .sp-elementor-posts__grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .sp-editorial-listing .sp-elementor-section-heading,
  .sp-announcements-page__head{
    margin-bottom:26px;
  }

  .sp-editorial-card .sp-elementor-post-card__body{
    min-height:0;
    padding:23px 22px 25px!important;
  }

  .sp-announcement-card{
    min-height:0;
    padding:22px;
    grid-template-columns:62px minmax(0,1fr);
    gap:16px;
  }

  .sp-announcement-card__date b{
    font-size:23px;
  }

  .sp-announcement-card h3{
    font-size:20px;
  }

  .sp-editorial-single{
    padding:42px 12px 62px;
  }

  .sp-editorial-single__article{
    border-radius:15px;
  }

  .sp-editorial-single__content{
    padding:30px 23px 22px;
    font-size:16px;
    line-height:1.75;
  }

  .sp-editorial-single__content h2{font-size:27px}
  .sp-editorial-single__content h3{font-size:23px}

  .sp-editorial-single__document{
    margin:10px 23px 25px;
    padding:20px;
    align-items:stretch;
    flex-direction:column;
  }

  .sp-editorial-single__document>a{
    width:100%;
    white-space:normal;
  }

  .sp-editorial-single__footer{
    margin:0 23px;
    padding-bottom:27px;
  }

  .sp-editorial-single-hero__meta span::before{
    margin-right:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  .sp-editorial-card .sp-elementor-post-card__image img,
  .sp-editorial-card,
  .sp-announcement-card{
    transition:none!important;
  }
}

/* LAB-01 — Premium Laboratoare listing. ---------------------------------- */
.sp-laboratories-page{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  padding:82px 0 96px!important;
}

.sp-laboratories-page__head{
  max-width:800px;
  margin-bottom:38px;
}

.sp-laboratories-page__head h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(32px,3.4vw,46px);
  line-height:1.12;
  letter-spacing:-.025em;
}

.sp-laboratories-page__head p{
  max-width:740px;
  margin:14px 0 0;
  color:#5b6b82;
  font-size:17px;
  line-height:1.75;
}

.sp-laboratories-page__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.sp-laboratory-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dde7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.07);
  transition:border-color .25s ease,box-shadow .25s ease;
}

.sp-laboratory-card:hover{
  border-color:rgba(15,110,181,.34);
  box-shadow:0 18px 46px rgba(16,38,74,.12);
}

.sp-laboratory-card__media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:4/3;
  background:linear-gradient(145deg,#e8f1f7,#d6e5ef);
  text-decoration:none;
}

.sp-laboratory-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 64%,rgba(5,43,85,.17));
  pointer-events:none;
}

.sp-laboratory-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

.sp-laboratory-card:hover .sp-laboratory-card__media img{
  transform:scale(1.04);
}

.sp-laboratory-card__placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  background:radial-gradient(circle at 28% 23%,rgba(255,255,255,.8),transparent 31%),linear-gradient(145deg,#eaf3f9,#d7e6f0);
}

.sp-laboratory-card__placeholder>span{
  display:grid;
  width:82px;
  height:82px;
  place-items:center;
  border:1px solid rgba(18,97,168,.2);
  border-radius:50%;
  background:rgba(255,255,255,.76);
  color:#1261a8;
  font:800 18px/1 Bitter,Georgia,serif;
  letter-spacing:.09em;
  box-shadow:0 12px 28px rgba(16,38,74,.08);
}

.sp-laboratory-card__body{
  display:flex;
  min-height:260px;
  padding:27px 27px 29px;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
}

.sp-laboratory-card__kicker{
  margin-bottom:10px;
  color:#0f6eb5;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sp-laboratory-card h3{
  margin:0 0 11px;
  font-family:Bitter,Georgia,serif!important;
  font-size:23px;
  line-height:1.28;
  letter-spacing:-.02em;
}

.sp-laboratory-card h3 a{
  color:#10264a;
  text-decoration:none;
}

.sp-laboratory-card p{
  margin:0 0 22px;
  color:#5b6b82;
  font-size:15px;
  line-height:1.7;
}

.sp-laboratory-card__link{
  display:inline-flex;
  min-height:36px;
  margin-top:auto;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.sp-laboratory-card__link:is(:hover,:focus-visible){
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

.sp-laboratories-page__empty{
  display:flex;
  min-height:210px;
  padding:38px 44px;
  align-items:center;
  justify-content:center;
  gap:26px;
  border:1px dashed #bfd0e0;
  border-radius:20px;
  background:#fff;
  text-align:left;
}

.sp-laboratories-page__empty-icon{
  display:grid;
  flex:0 0 78px;
  width:78px;
  height:78px;
  place-items:center;
  border-radius:50%;
  background:#e9f3fc;
  color:#0f6eb5;
  font:800 16px/1 Bitter,Georgia,serif;
  letter-spacing:.08em;
}

.sp-laboratories-page__empty strong{
  display:block;
  margin-bottom:8px;
  color:#10264a;
  font-family:Bitter,Georgia,serif;
  font-size:23px;
}

.sp-laboratories-page__empty p{
  max-width:630px;
  margin:0;
  color:#5b6b82;
  font-size:15px;
  line-height:1.7;
}

/* LAB-02 — Individual laboratory page. */
.sp-laboratory-single-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:450px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#082c5d;
}

.sp-laboratory-single-hero__media,
.sp-laboratory-single-hero__overlay{
  position:absolute;
  inset:0;
}

.sp-laboratory-single-hero__media{
  z-index:-2;
  background-image:url('../images/school/clasa-digitala.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}

.sp-laboratory-single-hero__overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(4,34,76,.97) 0%,rgba(4,45,88,.87) 52%,rgba(5,52,99,.32) 100%);
}

.sp-laboratory-single-hero__shell{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto;
  padding-block:76px;
}

.sp-laboratory-single-hero__breadcrumb{
  display:flex;
  margin-bottom:20px;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:600;
}

.sp-laboratory-single-hero__breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.sp-laboratory-single-hero__breadcrumb a:hover{color:#fff}

.sp-laboratory-single-hero__eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(5,35,75,.24);
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sp-laboratory-single-hero h1{
  max-width:900px;
  margin:0 0 17px;
  color:#fff;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(40px,5vw,62px);
  line-height:1.07;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.sp-laboratory-single-hero p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:17px;
  line-height:1.72;
}

.sp-laboratory-single{
  padding:76px 24px 96px;
  background:#f3f7fb;
}

.sp-laboratory-single__article{
  box-sizing:border-box;
  width:min(980px,100%);
  margin-inline:auto;
  padding:54px 60px 34px;
  border:1px solid #dde7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 42px rgba(16,38,74,.09);
}

.sp-laboratory-single__intro{
  max-width:780px;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid #e1e9f1;
}

.sp-laboratory-single__intro>span{
  display:block;
  margin-bottom:10px;
  color:#0f6eb5;
  font:800 11px/1.3 Inter,Arial,sans-serif;
  letter-spacing:.13em;
}

.sp-laboratory-single__intro h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(29px,3vw,39px);
  line-height:1.18;
  letter-spacing:-.025em;
}

.sp-laboratory-single__content{
  color:#44546a;
  font-size:17px;
  line-height:1.82;
}

.sp-laboratory-single__content>:first-child{margin-top:0}
.sp-laboratory-single__content>:last-child{margin-bottom:0}

.sp-laboratory-single__content :is(h2,h3,h4){
  margin-top:1.65em;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  line-height:1.22;
}

.sp-laboratory-single__content h2{font-size:31px}
.sp-laboratory-single__content h3{font-size:25px}
.sp-laboratory-single__content a{color:#0865ad;text-underline-offset:3px}

.sp-laboratory-single__footer{
  margin-top:35px;
  padding-top:24px;
  border-top:1px solid #e1e9f1;
}

.sp-laboratory-single__footer a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.sp-laboratory-single__footer a:hover{
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px){
  .sp-laboratories-page,
  .sp-laboratory-single-hero__shell{
    width:calc(100% - 32px)!important;
  }

  .sp-laboratories-page__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .sp-laboratories-page,
  .sp-laboratory-single-hero__shell{
    width:calc(100% - 24px)!important;
  }

  .sp-laboratories-page{
    padding:56px 0 68px!important;
  }

  .sp-laboratories-page__head{
    margin-bottom:27px;
  }

  .sp-laboratories-page__head p{
    font-size:16px;
  }

  .sp-laboratories-page__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .sp-laboratory-card__body{
    min-height:0;
    padding:23px 22px 25px;
  }

  .sp-laboratories-page__empty{
    min-height:0;
    padding:30px 23px;
    flex-direction:column;
    text-align:center;
  }

  .sp-laboratory-single-hero{
    min-height:380px;
  }

  .sp-laboratory-single-hero__shell{
    padding-block:54px;
  }

  .sp-laboratory-single-hero h1{
    font-size:36px;
  }

  .sp-laboratory-single{
    padding:42px 12px 62px;
  }

  .sp-laboratory-single__article{
    padding:32px 23px 26px;
    border-radius:15px;
  }

  .sp-laboratory-single__content{
    font-size:16px;
    line-height:1.75;
  }
}

@media(prefers-reduced-motion:reduce){
  .sp-laboratory-card,
  .sp-laboratory-card__media img{
    transition:none!important;
  }
}

/* PRJ-01 — Premium Proiecte listing. ------------------------------------- */
.sp-editorial-listing--projects .sp-elementor-section-heading p{
  max-width:740px;
  margin:14px 0 0;
  color:#5b6b82;
  font-size:17px;
  line-height:1.75;
}

.sp-project-card .sp-editorial-card__type{
  background:#fff3d8;
  color:#956100;
}

.sp-project-card .sp-elementor-post-card__image{
  aspect-ratio:4/3;
  background:linear-gradient(145deg,#edf3f8,#dbe8f1);
}

.sp-project-card .sp-elementor-post-card__image>span{
  background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.82),transparent 32%),linear-gradient(145deg,#eaf3f9,#d7e6f0);
  color:#0f6eb5;
}

.sp-project-card .sp-elementor-post-card__body{
  min-height:260px;
}

.sp-project-card .sp-elementor-post-card__more{
  color:#956100!important;
}

.sp-project-card .sp-elementor-post-card__more:is(:hover,:focus-visible){
  color:#10264a!important;
}

.sp-projects-empty{
  display:flex;
  min-height:210px;
  padding:38px 44px;
  align-items:center;
  justify-content:center;
  gap:26px;
  text-align:left;
}

.sp-projects-empty__icon{
  display:grid;
  flex:0 0 78px;
  width:78px;
  height:78px;
  place-items:center;
  border-radius:50%;
  background:#fff3d8;
  color:#956100;
  font:800 15px/1 Bitter,Georgia,serif;
  letter-spacing:.07em;
}

.sp-projects-empty strong{
  font-size:23px;
}

.sp-projects-empty p{
  max-width:630px;
  font-size:15px;
  line-height:1.7;
}

/* PRJ-02 — Individual project page. */
.sp-project-single-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:450px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#082c5d;
}

.sp-project-single-hero__media,
.sp-project-single-hero__overlay{
  position:absolute;
  inset:0;
}

.sp-project-single-hero__media{
  z-index:-2;
  background-image:url('../images/school/creatie-elevi.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}

.sp-project-single-hero__overlay{
  z-index:-1;
  background:
    radial-gradient(circle at 75% 35%,rgba(245,184,46,.14),transparent 28%),
    linear-gradient(90deg,rgba(4,34,76,.97) 0%,rgba(4,45,88,.87) 52%,rgba(5,52,99,.31) 100%);
}

.sp-project-single-hero__shell{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto;
  padding-block:76px;
}

.sp-project-single-hero__breadcrumb{
  display:flex;
  margin-bottom:20px;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:600;
}

.sp-project-single-hero__breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.sp-project-single-hero__breadcrumb a:hover{color:#fff}

.sp-project-single-hero__eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(5,35,75,.24);
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sp-project-single-hero h1{
  max-width:920px;
  margin:0 0 17px;
  color:#fff;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(40px,5vw,62px);
  line-height:1.07;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.sp-project-single-hero p{
  max-width:730px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:17px;
  line-height:1.72;
}

.sp-project-single{
  padding:76px 24px 96px;
  background:#f3f7fb;
}

.sp-project-single__article{
  box-sizing:border-box;
  width:min(980px,100%);
  margin-inline:auto;
  padding:54px 60px 34px;
  border:1px solid #dde7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 42px rgba(16,38,74,.09);
}

.sp-project-single__intro{
  max-width:790px;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid #e1e9f1;
}

.sp-project-single__intro>span{
  display:block;
  margin-bottom:10px;
  color:#956100;
  font:800 11px/1.3 Inter,Arial,sans-serif;
  letter-spacing:.13em;
}

.sp-project-single__intro h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(29px,3vw,39px);
  line-height:1.18;
  letter-spacing:-.025em;
}

.sp-project-single__content{
  color:#44546a;
  font-size:17px;
  line-height:1.82;
}

.sp-project-single__content>:first-child{margin-top:0}
.sp-project-single__content>:last-child{margin-bottom:0}

.sp-project-single__content :is(h2,h3,h4){
  margin-top:1.65em;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  line-height:1.22;
}

.sp-project-single__content h2{font-size:31px}
.sp-project-single__content h3{font-size:25px}
.sp-project-single__content a{color:#0865ad;text-underline-offset:3px}

.sp-project-single__footer{
  margin-top:35px;
  padding-top:24px;
  border-top:1px solid #e1e9f1;
}

.sp-project-single__footer a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.sp-project-single__footer a:hover{
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px){
  .sp-project-single-hero__shell{
    width:calc(100% - 32px);
  }
}

@media(max-width:600px){
  .sp-editorial-listing--projects .sp-elementor-section-heading p{
    font-size:16px;
  }

  .sp-projects-empty{
    min-height:0;
    padding:30px 23px;
    flex-direction:column;
    text-align:center;
  }

  .sp-project-single-hero__shell{
    width:calc(100% - 24px);
    padding-block:54px;
  }

  .sp-project-single-hero{
    min-height:380px;
  }

  .sp-project-single-hero h1{
    font-size:36px;
  }

  .sp-project-single{
    padding:42px 12px 62px;
  }

  .sp-project-single__article{
    padding:32px 23px 26px;
    border-radius:15px;
  }

  .sp-project-single__content{
    font-size:16px;
    line-height:1.75;
  }
}

@media(prefers-reduced-motion:reduce){
  .sp-project-card .sp-elementor-post-card__image img{
    transition:none!important;
  }
}

/* GAL-01 — Premium gallery albums. --------------------------------------- */
.sp-gallery-page{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  padding:82px 0 96px!important;
}

.sp-gallery-page__head{
  max-width:800px;
  margin-bottom:38px;
}

.sp-gallery-page__head h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(32px,3.4vw,46px);
  line-height:1.12;
  letter-spacing:-.025em;
}

.sp-gallery-page__head p{
  max-width:740px;
  margin:14px 0 0;
  color:#5b6b82;
  font-size:17px;
  line-height:1.75;
}

.sp-gallery-filters{
  display:flex;
  margin:-2px 0 38px;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.sp-gallery-filter{
  display:inline-flex;
  min-height:44px;
  padding:9px 16px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #d6e3ee;
  border-radius:999px;
  background:#fff;
  color:#34516f;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(16,38,74,.04);
  transition:color .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
}

.sp-gallery-filter>span{
  display:grid;
  min-width:24px;
  height:24px;
  padding-inline:6px;
  place-items:center;
  border-radius:999px;
  background:#edf4fa;
  color:#1261a8;
  font-size:11px;
}

.sp-gallery-filter:is(:hover,:focus-visible),
.sp-gallery-filter.is-active{
  border-color:#0f6eb5;
  background:#0f6eb5;
  color:#fff;
  box-shadow:0 9px 22px rgba(15,110,181,.2);
}

.sp-gallery-filter:is(:hover,:focus-visible)>span,
.sp-gallery-filter.is-active>span{
  background:rgba(255,255,255,.2);
  color:#fff;
}

.sp-gallery-page__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.sp-gallery-album-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dde7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.07);
  transition:border-color .25s ease,box-shadow .25s ease;
}

.sp-gallery-album-card:hover{
  border-color:rgba(15,110,181,.34);
  box-shadow:0 18px 46px rgba(16,38,74,.12);
}

.sp-gallery-album-card__media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:4/3;
  background:linear-gradient(145deg,#e8f1f7,#d6e5ef);
  text-decoration:none;
}

.sp-gallery-album-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(4,35,73,.28));
  pointer-events:none;
}

.sp-gallery-album-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.sp-gallery-album-card:hover .sp-gallery-album-card__media img{
  transform:scale(1.045);
}

.sp-gallery-album-card__placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.82),transparent 31%),linear-gradient(145deg,#eaf3f9,#d7e6f0);
}

.sp-gallery-album-card__placeholder>span{
  display:grid;
  width:86px;
  height:86px;
  place-items:center;
  border:1px solid rgba(18,97,168,.2);
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:#1261a8;
  font:800 15px/1 Bitter,Georgia,serif;
  letter-spacing:.08em;
  box-shadow:0 12px 28px rgba(16,38,74,.08);
}

.sp-gallery-album-card__count{
  position:absolute;
  z-index:2;
  right:16px;
  bottom:15px;
  display:inline-flex;
  min-height:30px;
  padding:6px 10px;
  align-items:center;
  border:1px solid rgba(255,255,255,.44);
  border-radius:999px;
  background:rgba(5,35,75,.64);
  color:#fff;
  font:750 11px/1 Inter,Arial,sans-serif;
  backdrop-filter:blur(4px);
}

.sp-gallery-album-card__body{
  display:flex;
  min-height:205px;
  padding:25px 27px 28px;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
}

.sp-gallery-album-card__kicker{
  margin-bottom:9px;
  color:#0f6eb5;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.sp-gallery-album-card h3{
  margin:0 0 11px;
  font-family:Bitter,Georgia,serif!important;
  font-size:23px;
  line-height:1.28;
  letter-spacing:-.02em;
}

.sp-gallery-album-card h3 a{
  color:#10264a;
  text-decoration:none;
}

.sp-gallery-album-card p{
  margin:0 0 20px;
  color:#5b6b82;
  font-size:15px;
  line-height:1.7;
}

.sp-gallery-album-card__link{
  display:inline-flex;
  min-height:36px;
  margin-top:auto;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.sp-gallery-album-card__link:is(:hover,:focus-visible){
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

.sp-gallery-page__empty{
  display:flex;
  min-height:210px;
  padding:38px 44px;
  align-items:center;
  justify-content:center;
  gap:26px;
  border:1px dashed #bfd0e0;
  border-radius:20px;
  background:#fff;
  text-align:left;
}

.sp-gallery-page__empty-icon{
  display:grid;
  flex:0 0 82px;
  width:82px;
  height:82px;
  place-items:center;
  border-radius:50%;
  background:#e9f3fc;
  color:#0f6eb5;
  font:800 14px/1 Bitter,Georgia,serif;
  letter-spacing:.07em;
}

.sp-gallery-page__empty strong{
  display:block;
  margin-bottom:8px;
  color:#10264a;
  font-family:Bitter,Georgia,serif;
  font-size:23px;
}

.sp-gallery-page__empty p{
  max-width:650px;
  margin:0;
  color:#5b6b82;
  font-size:15px;
  line-height:1.7;
}

/* GAL-02 — Individual album and accessible lightbox. */
.sp-gallery-single-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:450px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#082c5d;
}

.sp-gallery-single-hero__media,
.sp-gallery-single-hero__overlay{
  position:absolute;
  inset:0;
}

.sp-gallery-single-hero__media{
  z-index:-2;
  background-image:url('../images/school/activitate-artistica-eleva.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}

.sp-gallery-single-hero__overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(4,34,76,.97) 0%,rgba(4,45,88,.86) 50%,rgba(5,52,99,.28) 100%);
}

.sp-gallery-single-hero__shell{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px));
  margin-inline:auto;
  padding-block:76px;
}

.sp-gallery-single-hero__breadcrumb{
  display:flex;
  margin-bottom:20px;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:600;
}

.sp-gallery-single-hero__breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.sp-gallery-single-hero__breadcrumb a:hover{color:#fff}

.sp-gallery-single-hero__eyebrow{
  display:inline-flex;
  padding:6px 11px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(5,35,75,.24);
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sp-gallery-single-hero__meta{
  display:flex;
  margin-bottom:14px;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
}

.sp-gallery-single-hero__category{
  display:inline-flex;
  min-height:27px;
  padding:5px 11px;
  align-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
}

.sp-gallery-single-hero__category:is(:hover,:focus-visible){
  border-color:#fff;
  background:#fff;
  color:#0a3e78;
}

.sp-gallery-single-hero h1{
  max-width:920px;
  margin:0 0 16px;
  color:#fff;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(40px,5vw,62px);
  line-height:1.07;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.sp-gallery-single-hero p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:15px;
  font-weight:650;
}

.sp-gallery-single{
  padding:76px 24px 96px;
  background:#f3f7fb;
}

.sp-gallery-single__article{
  box-sizing:border-box;
  width:min(1320px,100%);
  margin-inline:auto;
}

.sp-gallery-single__content{
  width:min(880px,100%);
  margin:0 auto 36px;
  padding:34px 40px;
  border:1px solid #dde7f1;
  border-radius:18px;
  background:#fff;
  color:#44546a;
  font-size:17px;
  line-height:1.8;
  box-shadow:0 10px 32px rgba(16,38,74,.06);
}

.sp-gallery-single__content>:first-child{margin-top:0}
.sp-gallery-single__content>:last-child{margin-bottom:0}

.sp-gallery-single__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.sp-gallery-single__item{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:16px;
  background:#dce7f1;
  box-shadow:0 8px 24px rgba(16,38,74,.08);
}

.sp-gallery-single__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,filter .3s ease;
}

.sp-gallery-single__item::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(4,37,78,0);
  transition:background-color .3s ease;
  pointer-events:none;
}

.sp-gallery-single__zoom{
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(6,48,96,.68);
  color:#fff;
  font:400 29px/1 Inter,Arial,sans-serif;
  opacity:0;
  transform:translate(-50%,-44%);
  transition:opacity .3s ease,transform .3s ease;
  backdrop-filter:blur(4px);
}

.sp-gallery-single__item:is(:hover,:focus-visible) img{
  transform:scale(1.04);
}

.sp-gallery-single__item:is(:hover,:focus-visible)::after{
  background:rgba(4,37,78,.26);
}

.sp-gallery-single__item:is(:hover,:focus-visible) .sp-gallery-single__zoom{
  opacity:1;
  transform:translate(-50%,-50%);
}

.sp-gallery-single__empty{
  padding:42px;
  border:1px dashed #bfd0e0;
  border-radius:18px;
  background:#fff;
  color:#5b6b82;
  text-align:center;
}

.sp-gallery-single__footer{
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid #dce5ee;
}

.sp-gallery-single__footer a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:8px;
  color:#0865ad;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.sp-gallery-single__footer a:hover{
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

body.sp-gallery-lightbox-open{
  overflow:hidden;
}

.sp-gallery-lightbox[hidden]{display:none!important}

.sp-gallery-lightbox{
  position:fixed;
  z-index:100000;
  inset:0;
  display:grid;
  padding:32px 82px;
  place-items:center;
  background:rgba(2,16,34,.94);
  backdrop-filter:blur(8px);
}

.sp-gallery-lightbox figure{
  display:flex;
  max-width:min(1200px,calc(100vw - 190px));
  max-height:calc(100vh - 64px);
  margin:0;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.sp-gallery-lightbox img{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 120px);
  width:auto;
  height:auto;
  border-radius:12px;
  box-shadow:0 22px 70px rgba(0,0,0,.4);
}

.sp-gallery-lightbox figcaption{
  min-height:20px;
  flex:1;
  color:rgba(255,255,255,.82);
  font-size:14px;
  text-align:left;
}

.sp-gallery-lightbox__meta{
  display:flex;
  width:100%;
  min-height:24px;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.sp-gallery-lightbox__meta>[data-sp-gallery-counter]{
  flex:0 0 auto;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}

.sp-gallery-lightbox button{
  position:absolute;
  display:grid;
  width:48px;
  height:48px;
  padding:0;
  place-items:center;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}

.sp-gallery-lightbox button:hover,
.sp-gallery-lightbox button:focus-visible{
  border-color:#fff;
  background:rgba(255,255,255,.2);
}

.sp-gallery-lightbox__close{
  top:20px;
  right:22px;
  font-size:28px;
}

.sp-gallery-lightbox__prev,
.sp-gallery-lightbox__next{
  top:50%;
  font-size:38px;
  transform:translateY(-50%);
}

.sp-gallery-lightbox__prev{left:22px}
.sp-gallery-lightbox__next{right:22px}

@media(max-width:900px){
  .sp-gallery-page,
  .sp-gallery-single-hero__shell{
    width:calc(100% - 32px)!important;
  }

  .sp-gallery-page__grid,
  .sp-gallery-single__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .sp-gallery-page,
  .sp-gallery-single-hero__shell{
    width:calc(100% - 24px)!important;
  }

  .sp-gallery-page{
    padding:56px 0 68px!important;
  }

  .sp-gallery-page__head{
    margin-bottom:27px;
  }

  .sp-gallery-filters{
    margin-bottom:30px;
    gap:8px;
  }

  .sp-gallery-filter{
    min-height:40px;
    padding:8px 13px;
    font-size:12px;
  }

  .sp-gallery-page__head p{
    font-size:16px;
  }

  .sp-gallery-page__grid,
  .sp-gallery-single__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .sp-gallery-album-card__body{
    min-height:0;
    padding:23px 22px 25px;
  }

  .sp-gallery-page__empty{
    min-height:0;
    padding:30px 23px;
    flex-direction:column;
    text-align:center;
  }

  .sp-gallery-single-hero{
    min-height:380px;
  }

  .sp-gallery-single-hero__shell{
    padding-block:54px;
  }

  .sp-gallery-single-hero h1{
    font-size:36px;
  }

  .sp-gallery-single{
    padding:42px 12px 62px;
  }

  .sp-gallery-single__content{
    margin-bottom:24px;
    padding:26px 23px;
    font-size:16px;
  }

  .sp-gallery-lightbox{
    padding:64px 12px 74px;
  }

  .sp-gallery-lightbox figure{
    max-width:100%;
    max-height:calc(100vh - 138px);
  }

  .sp-gallery-lightbox img{
    max-height:calc(100vh - 180px);
  }

  .sp-gallery-lightbox__close{
    top:12px;
    right:12px;
  }

  .sp-gallery-lightbox__prev,
  .sp-gallery-lightbox__next{
    top:auto;
    bottom:12px;
    transform:none;
  }

  .sp-gallery-lightbox__prev{left:calc(50% - 58px)}
  .sp-gallery-lightbox__next{right:calc(50% - 58px)}
}

@media(prefers-reduced-motion:reduce){
  .sp-gallery-album-card,
  .sp-gallery-album-card__media img,
  .sp-gallery-single__item img,
  .sp-gallery-single__item::after,
  .sp-gallery-single__zoom,
  .sp-gallery-filter{
    transition:none!important;
  }
}

/* CON-01 — Premium Contact page. ----------------------------------------- */
.sp-el-contact-premium-wrap{
  background:#f3f7fb;
}

.sp-contact-page{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  padding:82px 0 96px!important;
}

.sp-contact-page__head{
  max-width:790px;
  margin:0 0 38px;
}

.sp-contact-page__eyebrow,
.sp-contact-card-premium small,
.sp-contact-map-premium__head small,
.sp-contact-page__hours small{
  display:block;
  color:#0f6eb5;
  font:800 12px/1.35 Inter,Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.sp-contact-page__eyebrow{
  margin-bottom:10px;
}

.sp-contact-page__head h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(34px,3.6vw,48px);
  line-height:1.1;
  letter-spacing:-.03em;
}

.sp-contact-page__head p{
  max-width:720px;
  margin:17px 0 0;
  color:#596b84;
  font:400 17px/1.75 Inter,Arial,sans-serif;
}

.sp-contact-page__grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:28px;
  align-items:stretch;
}

.sp-contact-card-premium,
.sp-contact-map-premium{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce6f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 38px rgba(16,38,74,.075);
}

.sp-contact-card-premium{
  padding:34px;
}

.sp-contact-card-premium__head{
  display:flex;
  align-items:center;
  gap:15px;
  padding-bottom:24px;
  border-bottom:1px solid #e4ebf2;
}

.sp-contact-card-premium__head>span,
.sp-contact-page__detail-icon,
.sp-contact-page__hours-icon{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  border-radius:14px;
  background:#e9f3fc;
  color:#0865ad;
}

.sp-contact-card-premium__head>span{
  width:54px;
  height:54px;
}

.sp-contact-card-premium__head svg{
  width:27px;
  height:27px;
}

.sp-contact-card-premium h3,
.sp-contact-map-premium h3,
.sp-contact-page__hours h3{
  margin:4px 0 0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:26px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.sp-contact-page__details{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.sp-contact-page__details li{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:15px;
  align-items:start;
  padding:20px 0;
  border-bottom:1px solid #e8eef4;
}

.sp-contact-page__details li::before{
  display:none!important;
}

.sp-contact-page__details li:last-child{
  border-bottom:0;
}

.sp-contact-page__detail-icon{
  width:48px;
  height:48px;
}

.sp-contact-page__detail-icon svg{
  width:22px;
  height:22px;
}

.sp-contact-page__details small{
  margin:1px 0 5px;
  color:#718096;
  font-size:10px;
  letter-spacing:.11em;
}

.sp-contact-page__details :is(a,div>span){
  display:block;
  overflow-wrap:anywhere;
  color:#243b5a;
  font:600 15px/1.55 Inter,Arial,sans-serif;
}

.sp-contact-page__details a{
  text-decoration:none;
}

.sp-contact-page__details a+a{
  margin-top:4px;
}

.sp-contact-page__details a:hover,
.sp-contact-page__details a:focus-visible{
  color:#0865ad;
  text-decoration:underline;
  text-underline-offset:3px;
}

.sp-contact-page__actions{
  display:flex;
  margin-top:25px;
  gap:11px;
  flex-wrap:wrap;
}

.sp-contact-page__button{
  display:inline-flex;
  min-height:48px;
  padding:11px 19px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:2px solid #0865ad;
  border-radius:9px;
  font:800 13px/1.2 Inter,Arial,sans-serif;
  text-decoration:none!important;
  transform:none!important;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease!important;
}

.sp-contact-page__button--primary{
  background:#0865ad;
  color:#fff!important;
}

.sp-contact-page__button--secondary{
  background:#fff;
  color:#0865ad!important;
}

.sp-contact-page__button--primary:is(:hover,:focus-visible){
  border-color:#f2b705;
  background:#f2b705;
  color:#10264a!important;
  box-shadow:0 10px 24px rgba(16,38,74,.14);
  transform:none!important;
}

.sp-contact-page__button--secondary:is(:hover,:focus-visible){
  border-color:#0865ad;
  background:#0865ad;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(16,38,74,.14);
  transform:none!important;
}

.sp-contact-map-premium{
  display:flex;
  min-height:560px;
  flex-direction:column;
}

.sp-contact-map-premium__head{
  display:flex;
  min-height:105px;
  padding:27px 30px 24px;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.sp-contact-map-premium__head h3{
  font-size:25px;
}

.sp-contact-map-premium__head>a{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:7px;
  color:#0865ad;
  font:800 13px/1.4 Inter,Arial,sans-serif;
  text-decoration:none;
}

.sp-contact-map-premium__head>a:is(:hover,:focus-visible){
  color:#10264a;
  text-decoration:underline;
  text-underline-offset:4px;
}

.sp-contact-map-premium__frame{
  min-height:455px;
  flex:1 1 auto;
  border-top:1px solid #dce6f0;
  background:#dce8f2;
}

.sp-contact-map-premium iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:455px;
  border:0;
}

.sp-contact-page__hours{
  display:grid;
  margin-top:28px;
  padding:28px 32px;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  border:1px solid #d7e5f1;
  border-radius:18px;
  background:linear-gradient(110deg,#e7f2fc 0%,#f7fbff 64%,#fff8df 100%);
}

.sp-contact-page__hours-icon{
  width:58px;
  height:58px;
  background:#fff;
  box-shadow:0 7px 20px rgba(16,38,74,.08);
}

.sp-contact-page__hours-icon svg{
  width:27px;
  height:27px;
}

.sp-contact-page__hours h3{
  font-size:23px;
}

.sp-contact-page__hours p{
  margin:6px 0 0;
  color:#596b84;
  font:400 14px/1.6 Inter,Arial,sans-serif;
}

.sp-contact-page__hours>a{
  display:inline-flex;
  min-height:44px;
  padding:10px 16px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #b8d0e4;
  border-radius:8px;
  background:#fff;
  color:#0865ad;
  font:800 13px/1.2 Inter,Arial,sans-serif;
  text-decoration:none;
  transform:none!important;
  transition:border-color .22s ease,color .22s ease,box-shadow .22s ease!important;
}

.sp-contact-page__hours>a:is(:hover,:focus-visible){
  border-color:#0865ad;
  color:#10264a;
  box-shadow:0 8px 20px rgba(16,38,74,.1);
  transform:none!important;
}

@media(max-width:980px){
  .sp-contact-page{
    width:calc(100% - 32px)!important;
  }

  .sp-contact-page__grid{
    grid-template-columns:1fr;
  }

  .sp-contact-map-premium{
    min-height:520px;
  }
}

@media(max-width:680px){
  .sp-contact-page{
    width:calc(100% - 24px)!important;
    padding:56px 0 68px!important;
  }

  .sp-contact-page__head{
    margin-bottom:28px;
  }

  .sp-contact-page__head h2{
    font-size:34px;
  }

  .sp-contact-page__head p{
    font-size:16px;
  }

  .sp-contact-card-premium{
    padding:24px 21px;
  }

  .sp-contact-card-premium__head{
    align-items:flex-start;
  }

  .sp-contact-card-premium h3,
  .sp-contact-map-premium h3{
    font-size:23px;
  }

  .sp-contact-page__details li{
    grid-template-columns:44px minmax(0,1fr);
    gap:13px;
    padding:17px 0;
  }

  .sp-contact-page__detail-icon{
    width:44px;
    height:44px;
  }

  .sp-contact-page__actions{
    flex-direction:column;
  }

  .sp-contact-page__button{
    width:100%;
  }

  .sp-contact-map-premium{
    min-height:0;
  }

  .sp-contact-map-premium__head{
    padding:23px 21px;
    align-items:flex-start;
    flex-direction:column;
  }

  .sp-contact-map-premium__frame,
  .sp-contact-map-premium iframe{
    min-height:360px;
  }

  .sp-contact-page__hours{
    padding:24px 21px;
    grid-template-columns:50px minmax(0,1fr);
    align-items:start;
  }

  .sp-contact-page__hours-icon{
    width:50px;
    height:50px;
  }

  .sp-contact-page__hours>a{
    grid-column:1/-1;
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .sp-contact-page__button,
  .sp-contact-page__hours>a{
    transition:none!important;
  }
}

/* HR-01 — Contextual inner-page heroes and reliable active navigation. ---- */
body:not(.home){--sp-page-hero-image:url('../images/heroes/hero-about.webp')}
body.sp-page-slug-despre-noi{--sp-page-hero-image:url('../images/heroes/hero-about.webp')}
body.sp-page-slug-stiri,
body.sp-content-type-post{--sp-page-hero-image:url('../images/heroes/hero-news.webp')}
body.sp-page-slug-anunturi,
body.sp-content-type-anunt{--sp-page-hero-image:url('../images/heroes/hero-announcements.webp')}
body.sp-page-slug-laboratoare,
body.sp-content-type-laborator{--sp-page-hero-image:url('../images/heroes/hero-laboratories.webp')}
body.sp-page-slug-proiecte,
body.sp-content-type-proiect{--sp-page-hero-image:url('../images/heroes/hero-projects.webp')}
body.sp-page-slug-galerie,
body.sp-content-type-galerie{--sp-page-hero-image:url('../images/heroes/hero-gallery.webp')}
body.sp-page-slug-contact{--sp-page-hero-image:url('../images/heroes/hero-contact.webp')}
body.sp-page-slug-elevi{--sp-page-hero-image:url('../images/school/sala-clasa.jpg')}
body.sp-page-slug-parinti{--sp-page-hero-image:url('../images/school/alee-scoala.jpg')}
body.sp-page-slug-profesori{--sp-page-hero-image:url('../images/school/clasa-digitala.jpg')}
body.sp-page-slug-conducere{--sp-page-hero-image:url('../images/school/intrare-scoala.jpg')}
body.sp-page-slug-oferta-educationala{--sp-page-hero-image:url('../images/school/activitate-sportiva.jpg')}
body.sp-page-slug-termeni-si-conditii,
body.sp-page-slug-politica-de-confidentialitate,
body.sp-page-slug-gdpr,
body.sp-page-slug-sitemap{--sp-page-hero-image:url('../images/heroes/hero-legal.webp')}

body:not(.home) .sp-el-editorial-hero .sp-premium-hero__media{
  background-image:var(--sp-page-hero-image)!important;
  background-position:center center!important;
  background-size:cover!important;
}

body:not(.home) .sp-el-editorial-hero .sp-premium-hero__eyebrow,
.sp-el-about-premium-hero .elementor-widget-heading:has(h4),
.sp-el-about-premium-hero h4{
  display:none!important;
}

body:not(.home) .elementor-section.sp-el-page-hero,
body:not(.home) .sp-page-hero{
  min-height:400px;
  padding:0!important;
  background-color:#07396b!important;
  background-image:linear-gradient(90deg,rgba(4,35,77,.96) 0%,rgba(4,49,96,.83) 45%,rgba(5,52,99,.34) 76%,rgba(5,52,99,.16) 100%),var(--sp-page-hero-image)!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}

body:not(.home) .elementor-section.sp-el-page-hero>.elementor-container{
  display:flex;
  width:min(1320px,calc(100% - 48px))!important;
  min-height:400px;
  align-items:center;
}

body:not(.home) .elementor-section.sp-el-page-hero :is(.elementor-heading-title,.elementor-widget-text-editor),
body:not(.home) .sp-page-hero :is(h1,p){
  color:#fff!important;
  text-shadow:0 2px 18px rgba(2,22,48,.22);
}

.sp-site-header .sp-primary-nav :is(
  .menu-item.is-active,
  .current-menu-item,
  .current_page_item,
  .current-menu-parent,
  .current-menu-ancestor
)>a.menu-link{
  color:#0870cb!important;
}

.sp-site-header .sp-primary-nav :is(
  .menu-item.is-active,
  .current-menu-item,
  .current_page_item,
  .current-menu-parent,
  .current-menu-ancestor
)>a.menu-link::after{
  content:"";
  position:absolute;
  right:11px;
  bottom:20px;
  left:11px;
  height:2px;
  border-radius:2px;
  background:#0870cb;
}

/* LEG-01 — Terms, Privacy, GDPR and Sitemap. ------------------------------ */
.sp-el-legal-premium-wrap{
  background:#f3f7fb;
}

.sp-legal-page{
  box-sizing:border-box;
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  padding:82px 0 96px!important;
}

.sp-legal-page__head{
  max-width:820px;
  margin-bottom:38px;
}

.sp-legal-page__head>span{
  display:block;
  margin-bottom:10px;
  color:#0f6eb5;
  font:800 12px/1.35 Inter,Arial,sans-serif;
  letter-spacing:.14em;
}

.sp-legal-page__head h2{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:clamp(34px,3.6vw,48px);
  line-height:1.1;
  letter-spacing:-.03em;
}

.sp-legal-page__head p{
  max-width:740px;
  margin:17px 0 0;
  color:#596b84;
  font:400 17px/1.75 Inter,Arial,sans-serif;
}

.sp-legal-page__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.sp-legal-card{
  position:relative;
  min-width:0;
  padding:32px 32px 31px 86px;
  overflow:hidden;
  border:1px solid #dce6f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.065);
  transition:border-color .22s ease,box-shadow .22s ease;
}

.sp-legal-card:last-child:nth-child(odd){
  grid-column:1/-1;
}

.sp-legal-card:hover{
  border-color:rgba(15,110,181,.35);
  box-shadow:0 16px 40px rgba(16,38,74,.1);
}

.sp-legal-card__number{
  position:absolute;
  top:31px;
  left:29px;
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:11px;
  background:#e9f3fc;
  color:#0865ad;
  font:800 12px/1 Inter,Arial,sans-serif;
}

.sp-legal-card h3,
.sp-sitemap-card h3,
.sp-legal-page__contact h3{
  margin:0;
  color:#10264a;
  font-family:Bitter,Georgia,serif!important;
  font-size:23px;
  line-height:1.25;
  letter-spacing:-.018em;
}

.sp-legal-card>div{
  margin-top:13px;
  color:#596b84;
  font:400 15px/1.75 Inter,Arial,sans-serif;
}

.sp-legal-card>div :is(p,ul){
  margin-top:0;
}

.sp-legal-card>div :last-child{
  margin-bottom:0;
}

.sp-legal-card ul{
  padding-left:20px;
}

.sp-legal-card li+li{
  margin-top:5px;
}

.sp-legal-page__contact{
  display:grid;
  margin-top:28px;
  padding:27px 30px;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  border:1px solid #d5e4f1;
  border-radius:17px;
  background:linear-gradient(110deg,#e7f2fc 0%,#f9fcff 68%,#fff8df 100%);
}

.sp-legal-page__contact-icon{
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#0865ad;
  font:800 23px/1 Bitter,Georgia,serif;
  box-shadow:0 7px 20px rgba(16,38,74,.08);
}

.sp-legal-page__contact h3{
  font-size:21px;
}

.sp-legal-page__contact p{
  margin:5px 0 0;
  color:#596b84;
  font:400 14px/1.6 Inter,Arial,sans-serif;
}

.sp-legal-page__contact>a{
  display:inline-flex;
  min-height:44px;
  padding:10px 17px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #0865ad;
  border-radius:8px;
  background:#0865ad;
  color:#fff;
  font:800 13px/1.2 Inter,Arial,sans-serif;
  text-decoration:none;
  transform:none!important;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease;
}

.sp-legal-page__contact>a:is(:hover,:focus-visible){
  border-color:#f2b705;
  background:#f2b705;
  color:#10264a;
  box-shadow:0 9px 22px rgba(16,38,74,.13);
  transform:none!important;
}

.sp-sitemap-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.sp-sitemap-card{
  padding:30px 31px 28px;
  border:1px solid #dce6f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 32px rgba(16,38,74,.065);
}

.sp-sitemap-card h3{
  padding-bottom:18px;
  border-bottom:1px solid #e5edf4;
}

.sp-sitemap-card ul{
  margin:14px 0 0!important;
  padding:0!important;
  list-style:none!important;
}

.sp-sitemap-card li::before{
  display:none!important;
}

.sp-sitemap-card li+li{
  border-top:1px solid #eef3f7;
}

.sp-sitemap-card a{
  display:flex;
  min-height:45px;
  padding:9px 2px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#3e536f;
  font:700 14px/1.45 Inter,Arial,sans-serif;
  text-decoration:none;
}

.sp-sitemap-card a span:last-child{
  color:#0f6eb5;
  transition:transform .2s ease;
}

.sp-sitemap-card a:is(:hover,:focus-visible){
  color:#0865ad;
}

.sp-sitemap-card a:is(:hover,:focus-visible) span:last-child{
  transform:translateX(3px);
}

@media(max-width:900px){
  body:not(.home) .elementor-section.sp-el-page-hero>.elementor-container,
  .sp-legal-page{
    width:calc(100% - 32px)!important;
  }
}

@media(max-width:680px){
  body:not(.home) .elementor-section.sp-el-page-hero,
  body:not(.home) .elementor-section.sp-el-page-hero>.elementor-container,
  body:not(.home) .sp-page-hero{
    min-height:360px;
  }

  .sp-site-header .sp-primary-nav :is(
    .menu-item.is-active,
    .current-menu-item,
    .current_page_item,
    .current-menu-parent,
    .current-menu-ancestor
  )>a.menu-link::after{
    display:none;
  }

  .sp-legal-page{
    width:calc(100% - 24px)!important;
    padding:56px 0 68px!important;
  }

  .sp-legal-page__head{
    margin-bottom:28px;
  }

  .sp-legal-page__head h2{
    font-size:34px;
  }

  .sp-legal-page__head p{
    font-size:16px;
  }

  .sp-legal-page__grid,
  .sp-sitemap-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .sp-legal-card:last-child:nth-child(odd){
    grid-column:auto;
  }

  .sp-legal-card{
    padding:25px 22px 25px 72px;
  }

  .sp-legal-card__number{
    top:24px;
    left:20px;
  }

  .sp-legal-page__contact{
    padding:23px 21px;
    grid-template-columns:48px minmax(0,1fr);
    align-items:start;
  }

  .sp-legal-page__contact-icon{
    width:48px;
    height:48px;
  }

  .sp-legal-page__contact>a{
    grid-column:1/-1;
    width:100%;
  }

  .sp-sitemap-card{
    padding:25px 22px;
  }
}

@media(prefers-reduced-motion:reduce){
  .sp-legal-card,
  .sp-legal-page__contact>a,
  .sp-sitemap-card a span:last-child{
    transition:none!important;
  }
}

/* COM-01 — Community, leadership and educational offer pages. ------------ */
.sp-el-community-premium-wrap{background:#f3f7fb}
.sp-community-page{box-sizing:border-box;width:min(1320px,calc(100% - 48px))!important;max-width:1320px!important;margin-inline:auto!important;padding:82px 0 96px!important}
.sp-community-page__head{max-width:840px;margin:0 0 38px}
.sp-community-kicker{display:block;margin:0 0 10px;color:#0f6eb5;font:800 12px/1.35 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.sp-community-page__head h2{margin:0;color:#10264a;font-family:Bitter,Georgia,serif!important;font-size:clamp(35px,3.7vw,50px);line-height:1.08;letter-spacing:-.035em}
.sp-community-page__head p{max-width:760px;margin:18px 0 0;color:#596b84;font:400 17px/1.75 Inter,Arial,sans-serif}
.sp-community-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-community-card{min-width:0;padding:31px 30px 29px;border:1px solid #dce6f0;border-radius:19px;background:#fff;box-shadow:0 10px 32px rgba(16,38,74,.065);transition:border-color .22s ease,box-shadow .22s ease}
.sp-community-card:hover{border-color:#bed6e9;box-shadow:0 14px 38px rgba(16,38,74,.095)}
.sp-community-card__icon{display:grid;width:58px;height:58px;margin:0 0 23px;place-items:center;border-radius:15px;background:#e8f3fc;color:#0868b3}
.sp-community-card:nth-child(2) .sp-community-card__icon{background:#fff2d7;color:#b87800}
.sp-community-card__icon svg{width:28px;height:28px}
.sp-community-card h3,.sp-community-feature h3,.sp-community-directory h3,.sp-community-links h3{margin:0;color:#10264a;font-family:Bitter,Georgia,serif!important;letter-spacing:-.025em}
.sp-community-card h3{font-size:23px;line-height:1.2}
.sp-community-card p{min-height:78px;margin:13px 0 19px;color:#5c6e86;font:400 15.5px/1.68 Inter,Arial,sans-serif}
.sp-community-card>a{display:inline-flex;align-items:center;gap:10px;color:#0768b6;font:800 14px/1.3 Inter,Arial,sans-serif;text-decoration:none}
.sp-community-card>a span{transition:transform .2s ease}
.sp-community-card>a:hover span,.sp-community-card>a:focus-visible span{transform:translateX(4px)}
.sp-community-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;margin-top:32px;padding:44px;align-items:center;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#063d76,#0871bd);box-shadow:0 18px 42px rgba(7,64,117,.18);color:#fff}
.sp-community-feature .sp-community-kicker{color:#9bd1fa}
.sp-community-feature h3{color:#fff;font-size:clamp(28px,3vw,39px);line-height:1.12}
.sp-community-feature__content p{max-width:650px;margin:16px 0 24px;color:rgba(255,255,255,.84);font:400 16px/1.75 Inter,Arial,sans-serif}
.sp-community-button{display:inline-flex;min-height:48px;padding:0 20px;align-items:center;justify-content:center;gap:12px;border:1px solid #fff;border-radius:9px;background:#fff;color:#075a9e;font:800 14px/1.2 Inter,Arial,sans-serif;text-decoration:none;box-shadow:0 9px 22px rgba(2,30,62,.17);transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}
.sp-community-button:hover,.sp-community-button:focus-visible{background:#f4b400;border-color:#f4b400;color:#10264a;box-shadow:0 12px 26px rgba(2,30,62,.22)}
.sp-community-feature__list{display:grid;gap:13px;margin:0!important;padding:0!important;list-style:none!important}
.sp-community-feature__list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:center;color:#fff;font:600 15.5px/1.45 Inter,Arial,sans-serif}
.sp-community-feature__list li>span:first-child{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:rgba(255,255,255,.1);color:#ffd561;font-weight:900}
.sp-community-directory{margin-top:32px;padding:43px 0 0;border-top:1px solid #dce6f0}
.sp-community-directory>header{max-width:720px;margin-bottom:27px}
.sp-community-directory h3{font-size:clamp(29px,3vw,40px);line-height:1.12}
.sp-community-directory>header p{margin:13px 0 0;color:#5c6e86;font:400 16px/1.7 Inter,Arial,sans-serif}
.sp-community-teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.sp-community-teacher{min-width:0;overflow:hidden;border:1px solid #dce6f0;border-radius:17px;background:#fff;box-shadow:0 9px 28px rgba(16,38,74,.06)}
.sp-community-teacher__media{display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;background:#e9f3fc;color:#0868b3}
.sp-community-teacher__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sp-community-teacher:hover .sp-community-teacher__media img{transform:scale(1.035)}
.sp-community-teacher__media svg{width:44px;height:44px}
.sp-community-teacher>div{padding:19px 20px 21px}
.sp-community-teacher h4{margin:0;font:700 19px/1.28 Bitter,Georgia,serif}
.sp-community-teacher h4 a{color:#10264a;text-decoration:none}
.sp-community-teacher p{margin:8px 0 0;color:#63748a;font:400 14px/1.55 Inter,Arial,sans-serif}
.sp-community-directory__notice{display:flex;max-width:760px;padding:25px 27px;align-items:center;gap:18px;border:1px solid #dce6f0;border-radius:16px;background:#fff}
.sp-community-directory__notice>span{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:14px;background:#e9f3fc;color:#0868b3}
.sp-community-directory__notice svg{width:26px;height:26px}
.sp-community-directory__notice h4{margin:0;color:#10264a;font:700 20px/1.3 Bitter,Georgia,serif}
.sp-community-directory__notice p{margin:6px 0 0;color:#63748a;font:400 14.5px/1.6 Inter,Arial,sans-serif}
.sp-community-links{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:34px;margin-top:32px;padding:34px 36px;align-items:center;border:1px solid #dce6f0;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(16,38,74,.055)}
.sp-community-links h3{font-size:25px;line-height:1.18}
.sp-community-links__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.sp-community-links__grid a{display:flex;min-width:0;min-height:48px;padding:0 16px;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e0e9f2;border-radius:10px;background:#f8fbfe;color:#153155;font:700 14px/1.35 Inter,Arial,sans-serif;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.sp-community-links__grid a:hover,.sp-community-links__grid a:focus-visible{border-color:#a7cce8;background:#eaf5fd;color:#0566b4}

@media(max-width:1000px){
  .sp-community-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-community-card:last-child:nth-child(odd){grid-column:1/-1}
  .sp-community-teachers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sp-community-feature{grid-template-columns:1fr;gap:28px}
  .sp-community-links{grid-template-columns:1fr}
}
@media(max-width:720px){
  .sp-community-page{width:calc(100% - 32px)!important;padding:66px 0 78px!important}
  .sp-community-card-grid{grid-template-columns:1fr;gap:18px}
  .sp-community-card:last-child:nth-child(odd){grid-column:auto}
  .sp-community-card p{min-height:0}
  .sp-community-feature{padding:32px 27px}
  .sp-community-teachers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-community-links{padding:29px 26px}
}
@media(max-width:520px){
  .sp-community-page{width:calc(100% - 24px)!important;padding:56px 0 68px!important}
  .sp-community-page__head{margin-bottom:28px}
  .sp-community-page__head h2{font-size:34px}
  .sp-community-page__head p{font-size:16px}
  .sp-community-card{padding:26px 23px}
  .sp-community-feature{padding:28px 22px;border-radius:18px}
  .sp-community-feature__list li{grid-template-columns:35px minmax(0,1fr)}
  .sp-community-feature__list li>span:first-child{width:35px;height:35px}
  .sp-community-button{width:100%}
  .sp-community-teachers{grid-template-columns:1fr}
  .sp-community-directory__notice{align-items:flex-start;padding:22px}
  .sp-community-links{padding:25px 21px}
  .sp-community-links__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .sp-community-card,.sp-community-card>a span,.sp-community-button,.sp-community-teacher__media img,.sp-community-links__grid a{transition:none!important}
}

/* MOB-01 — Keep header search and menu controls inside narrow viewports. ---- */
@media(max-width:900px){
  .sp-site-header__inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:12px!important;
    align-items:center;
  }

  .sp-site-header__inner>.sp-branding{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    overflow:hidden;
  }

  .sp-site-header__inner>.sp-branding :is(
    .sp-branding__link,
    .sp-branding__link--default,
    .custom-logo-link
  ){
    box-sizing:border-box;
    min-width:0!important;
    width:100%;
    max-width:100%!important;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__copy{
    min-width:0;
    max-width:100%;
  }

  .sp-site-header__inner>.sp-header-actions{
    position:relative!important;
    right:auto!important;
    left:auto!important;
    width:auto!important;
    min-width:max-content;
    max-width:none!important;
    margin:0!important;
    justify-self:end;
    flex:0 0 auto;
    transform:none!important;
  }

  .sp-site-header__inner>.sp-header-actions :is(.sp-search-toggle,.sp-menu-toggle){
    flex:0 0 auto;
  }
}

@media(max-width:600px){
  .sp-site-header .sp-site-header__inner{
    width:calc(100% - 24px)!important;
    height:82px;
    column-gap:8px!important;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__link--default{
    gap:8px;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__school-seal{
    width:44px;
    height:44px;
    flex:0 0 44px;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__copy strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__copy small{
    display:block;
    overflow:hidden;
    margin-top:3px;
    font-size:8px!important;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .sp-site-header__inner>.sp-header-actions{
    gap:4px;
  }

  .sp-site-header__inner>.sp-header-actions .sp-search-toggle{
    width:38px;
    height:38px;
  }

  .sp-site-header__inner>.sp-header-actions .sp-menu-toggle{
    width:38px;
    height:38px;
    padding:6px;
  }
}

@media(max-width:380px){
  .sp-site-header .sp-site-header__inner{
    width:calc(100% - 16px)!important;
    column-gap:6px!important;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__school-seal{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .sp-site-header__inner>.sp-branding .sp-branding__copy strong{
    font-size:11px!important;
  }
}

/* MOB-02 — Univet-inspired mobile navigation and current-page state. ------- */
html.sp-menu-open,
html.sp-menu-open body{
  overflow:hidden;
}

.mobile-menu{
  z-index:10020;
}

.mobile-menu__overlay{
  background:rgba(1,18,36,.76);
  backdrop-filter:blur(2px);
}

.mobile-menu__panel{
  box-sizing:border-box;
  width:min(420px,90vw);
  max-width:100%;
  height:100vh;
  height:100dvh;
  padding:0 30px 32px;
  border:0;
  background:linear-gradient(180deg,#064878 0%,#063f70 100%);
  color:#fff;
  box-shadow:-18px 0 46px rgba(0,20,42,.28);
  overscroll-behavior:contain;
}

.mobile-menu__header{
  min-height:128px;
  padding:25px 42px 24px 0;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.17);
}

.mobile-menu__brand{
  display:flex;
  min-width:0;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
}

.mobile-menu__brand-mark{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  background:#fff;
}

.mobile-menu__brand-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.mobile-menu__brand-copy strong{
  color:#fff;
  font:700 15px/1.25 var(--sp-font-heading,'Bitter',Georgia,serif)!important;
  letter-spacing:-.01em;
}

.mobile-menu__brand-copy small{
  margin-top:5px;
  color:rgba(255,255,255,.72);
  font:600 9px/1.3 var(--sp-font-body,'Inter',Arial,sans-serif)!important;
}

.mobile-menu__close{
  position:absolute;
  top:0;
  right:0;
  display:grid;
  width:52px;
  height:52px;
  padding:0;
  place-items:center;
  border:0;
  border-radius:0;
  background:#ffc32a;
  color:#092b4d;
  font:400 34px/1 Arial,sans-serif!important;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}

.mobile-menu__close:is(:hover,:focus-visible){
  background:#fff;
  color:#064878;
}

.mobile-menu__navigation{
  padding:17px 0 8px;
}

.mobile-menu__navigation :is(.mobile-navigation,.sub-menu){
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.mobile-menu__navigation :is(.mobile-navigation,.sub-menu)>li{
  position:relative;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.mobile-menu__navigation :is(.mobile-navigation,.sub-menu)>li::marker{
  content:"";
}

.mobile-menu__navigation .menu-link{
  position:relative;
  display:flex;
  min-height:52px;
  padding:13px 4px 12px 0;
  align-items:center;
  gap:10px;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;
  font:700 16px/1.35 var(--sp-font-body,'Inter',Arial,sans-serif)!important;
  text-decoration:none;
  transition:color .2s ease,padding-left .2s ease,background-color .2s ease;
}

.mobile-menu__navigation .menu-link:is(:hover,:focus-visible){
  padding-left:13px;
  color:#ffd04b;
}

.mobile-menu__navigation :is(
  .current-menu-item,
  .current_page_item,
  .current_page_parent,
  .current_page_ancestor,
  .current-menu-parent,
  .current-menu-ancestor,
  .is-active
)>.menu-link{
  padding-left:18px;
  color:#ffd04b!important;
}

.mobile-menu__navigation :is(
  .current-menu-item,
  .current_page_item,
  .current_page_parent,
  .current_page_ancestor,
  .current-menu-parent,
  .current-menu-ancestor,
  .is-active
)>.menu-link::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffc32a;
  box-shadow:0 0 0 4px rgba(255,195,42,.14);
  transform:translateY(-50%);
}

.mobile-menu__navigation .sub-menu{
  padding-left:17px!important;
}

.mobile-menu__navigation .sub-menu .menu-link{
  min-height:44px;
  font-size:14px!important;
  color:rgba(255,255,255,.82);
}

.mobile-menu__contact{
  margin-top:20px;
  padding:24px 0 0;
  border-top:1px solid rgba(255,255,255,.17);
}

.mobile-menu__contact h4{
  margin:0 0 13px;
  color:#fff;
  font:700 18px/1.3 var(--sp-font-heading,'Bitter',Georgia,serif)!important;
}

.mobile-menu__contact-item{
  margin:7px 0;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.mobile-menu__contact-item a{
  color:inherit;
  text-decoration:none;
}

.mobile-menu__contact-item a:is(:hover,:focus-visible){
  color:#ffd04b;
}

.mobile-menu__footer{
  padding-top:21px;
}

.mobile-menu__footer .btn{
  width:100%;
  min-height:49px;
  padding:12px 20px;
  justify-content:center;
  gap:11px;
  border:1px solid #ffc32a;
  border-radius:7px;
  background:#ffc32a;
  color:#102b49;
  font:800 14px/1.2 var(--sp-font-body,'Inter',Arial,sans-serif)!important;
  box-shadow:none;
  transform:none!important;
}

.mobile-menu__footer .btn:is(:hover,:focus-visible){
  border-color:#fff;
  background:#fff;
  color:#064878;
  transform:none!important;
}

@media(max-width:480px){
  .mobile-menu__panel{
    width:min(380px,92vw);
    padding-right:24px;
    padding-left:24px;
  }

  .mobile-menu__header{
    min-height:112px;
    padding-right:36px;
  }

  .mobile-menu__brand-mark{
    width:50px;
    height:50px;
    flex-basis:50px;
  }

  .mobile-menu__brand-copy strong{
    font-size:13px!important;
  }

  .mobile-menu__close{
    width:48px;
    height:48px;
    font-size:31px!important;
  }

  .mobile-menu__navigation .menu-link{
    min-height:49px;
    font-size:15px!important;
  }
}

/* FTR-01 — Center legal separators between their neighbouring links. ------- */
.footer-legal a{
  padding-right:10px!important;
  padding-left:10px!important;
}

.footer-legal a:first-child{
  padding-left:0!important;
}

.footer-legal a:last-child{
  padding-right:0!important;
  border-right:0!important;
}

@media(max-width:600px){
  .footer-legal a{
    padding-right:8px!important;
    padding-left:8px!important;
  }

  .footer-legal a:first-child{
    padding-left:0!important;
  }

  .footer-legal a:last-child{
    padding-right:0!important;
  }
}

/* v1.6.12 — Match the About hero to the interior-page hero heights.
   Override the saved Elementor widget height without changing its content. */
.scoala-elementor-page--full-width .elementor-element-ab01hero .sp-premium-hero--page{
  min-height:400px!important;
}
@media(max-width:680px){
  .scoala-elementor-page--full-width .elementor-element-ab01hero .sp-premium-hero--page{
    min-height:360px!important;
  }
}
