/*
 * VIRAL public website · LMS visual alignment
 * V4.4 — 2026-08-27
 * Keeps the existing public-site structure and functionality, while bringing
 * the visual language closer to lms.autoscoala.md: flatter surfaces, strong
 * VIRAL blue, restrained shadows, compact controls and section separators.
 */

:root{
  --ink:#111827;
  --ink-2:#344054;
  --muted:#667085;
  --line:#e4e7ec;
  --blue:#0b45e5;
  --blue-2:#0b45e5;
  --blue-3:#eef3ff;
  --yellow:#f3c847;
  --orange:#f79009;
  --green:#12a87a;
  --paper:#f7f8fa;
  --surface:#ffffff;
  --soft:#f5f7fa;
  --soft-2:#fffaf0;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04),0 3px 10px rgba(16,24,40,.04);
  --shadow:0 10px 28px rgba(16,24,40,.08);
  --radius:18px;
  --radius-sm:12px;
  --header:78px;
}

body{background:var(--paper);color:var(--ink)}
.container{width:min(calc(100% - 40px),1380px)}
.section{padding:84px 0}.section-sm{padding:56px 0}
.soft,.soft-warm{background:var(--soft)}

/* top bar + navigation */
.announcement{background:#0b45e5;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.announcement .container{min-height:36px}
.announcement a{color:#fff4b8;text-decoration:underline;text-underline-offset:3px}
.site-header{background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line)}
.site-header.scrolled{box-shadow:0 4px 16px rgba(16,24,40,.06)}
.nav-wrap{height:var(--header);gap:22px}
.brand{gap:0;min-width:176px;flex:0 0 auto}
.brand-logo{display:block;width:176px;height:auto;max-height:46px;object-fit:contain;object-position:left center}
.desktop-nav{gap:2px}
.desktop-nav a{padding:10px 11px;border-radius:8px;color:#475467;font-size:.91rem;font-weight:750}
.desktop-nav a.active{background:var(--blue-3);color:var(--blue);box-shadow:inset 0 -2px 0 rgba(11,69,229,.18)}
.desktop-nav a:hover{background:#f2f4f7;color:var(--ink)}
.phone-link small{color:#98a2b3}.phone-link strong{color:#1d2939}
.menu-toggle{border-radius:10px;box-shadow:none}
.mobile-menu{background:#fff;border-top:1px solid var(--line)}
.mobile-menu a{border-bottom:1px solid #f0f1f3}

/* buttons / controls */
.btn{border-radius:10px;padding:13px 20px;font-weight:800;box-shadow:none;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(11,69,229,.16)}
.btn-primary:hover{background:#083bc9;box-shadow:0 5px 14px rgba(11,69,229,.18)}
.btn-yellow{background:var(--yellow);color:#1d2939;box-shadow:none}
.btn-yellow:hover{background:#e8bb33}
.btn-outline{background:#fff;color:#344054;border:1px solid #d0d5dd}
.btn-outline:hover{border-color:#98a2b3;background:#f9fafb}
.btn-soft{background:var(--blue-3);color:var(--blue)}
.btn-sm{padding:10px 15px}.btn-lg{padding:15px 22px}

/* hero */
.hero{padding:76px 0 88px;background:linear-gradient(180deg,#fff 0,#f6f8fc 100%);border-bottom:1px solid var(--line)}
.hero::after{display:none}
.hero-grid{gap:62px}
.eyebrow{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#475467;font-size:.78rem;text-transform:uppercase;letter-spacing:.095em}
.eyebrow-dot{width:5px;height:18px;border-radius:2px;background:var(--yellow);box-shadow:none;animation:none}
.hero h1,.page-hero h1,.wide-cta h2{font-family:Manrope,Inter,system-ui,sans-serif;letter-spacing:-.045em}
.hero h1{font-size:clamp(3rem,5.4vw,5rem);line-height:1.01;margin:18px 0 20px}
.hero h1 span,.gradient-text{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--blue)}
.hero-lead{color:#667085;font-size:1.08rem;line-height:1.7}
.proof-row{gap:8px}.proof-row span{border-radius:8px;background:#fff;border:1px solid var(--line);font-size:.84rem;box-shadow:none}.proof-row b{color:var(--blue)}
.hero-stage{min-height:560px}.blob{display:none}
.hero-card{padding:20px;border-radius:20px;background:#fff;border:1px solid #dfe3e8;box-shadow:0 12px 34px rgba(16,24,40,.08);backdrop-filter:none;animation:none}
.hero-card-head{margin-bottom:12px}.status{border-radius:7px;background:#ecfdf3;color:#067647}
.road-scene{border-radius:14px}
.next-class{padding-top:14px}
.floating-note{border-radius:10px;border-color:#e4e7ec;box-shadow:0 4px 12px rgba(16,24,40,.07);animation:none}

/* headings and recurring section language */
.section-heading{position:relative;align-items:end;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.section-heading::after{content:"";position:absolute;left:0;bottom:-1px;width:74px;height:3px;background:var(--yellow)}
.kicker{padding:0;border-radius:0;background:transparent;color:#667085;font-size:.74rem;font-weight:850;letter-spacing:.11em}
.section-heading h2{font-family:Manrope,Inter,system-ui,sans-serif;letter-spacing:-.035em;color:#101828}
.section-heading p{color:#667085}

.page-hero{padding:64px 0 70px;background:#fff;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.55rem,4.6vw,4.35rem);line-height:1.02}
.page-hero p{color:#667085}
.page-hero-card{padding:22px;border-radius:14px;background:#f8f9fb;border:1px solid var(--line);border-left:3px solid var(--yellow);box-shadow:none;backdrop-filter:none}
.breadcrumb{color:#98a2b3}.breadcrumb a:hover{color:var(--blue)}

/* cards / panels */
.card,.contact-card,.form-card,.certificate-preview,.article-toc,.article-aside-card,.article-author,.blog-card,.blog-featured{
  border-radius:16px!important;
  border-color:var(--line)!important;
  box-shadow:var(--shadow-sm)!important;
}
.card:hover,.blog-card:hover{box-shadow:0 7px 20px rgba(16,24,40,.08)!important}
.category-card,.price-card,.review-card,.branch-card,.team-card{border-top:3px solid transparent}
.category-card:hover,.price-card:hover,.review-card:hover,.branch-card:hover,.team-card:hover{border-top-color:var(--blue)}
.icon-box,.category-letter{border-radius:10px!important}
.tag,.mini-pill{border-radius:8px;background:#fff;border-color:var(--line);box-shadow:none}

.stat-band{border-radius:16px;box-shadow:none;border-color:var(--line);position:relative}
.stat-band::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:linear-gradient(90deg,var(--blue) 0 78%,var(--yellow) 78% 100%)}
.stat strong{color:#101828}.stat span{color:#667085}
.data-note{color:#667085}

/* interactive / comparison / info surfaces */
.zone-step,.zone-panel,.compare-panel,.calculator,.guide-box,.timeline-item,.info-box,.notice,.accordion-item,.faq-item{
  border-radius:14px!important;
}
.zone-step.active{border-color:rgba(11,69,229,.34)!important;box-shadow:inset 3px 0 0 var(--blue)}

/* forms */
.field input,.field select,.field textarea,.blog-search input,.newsletter-form input{
  border-radius:10px!important;
  border-color:#d0d5dd!important;
  box-shadow:none!important;
  background:#fff!important;
}
.field input:focus,.field select:focus,.field textarea:focus,.blog-search input:focus,.newsletter-form input:focus{
  border-color:#84a8ff!important;
  box-shadow:0 0 0 3px rgba(11,69,229,.10)!important;
}
.checkbox{gap:10px}

/* tables */
.info-table{border-radius:14px;box-shadow:none;border-color:var(--line)}
.info-table th{background:#f8f9fb;color:#475467}
.info-table td{color:#344054}

/* blog */
.blog-hero,.article-hero{background:#fff;border-bottom:1px solid var(--line)}
.blog-hero h1,.article-hero h1{font-family:Manrope,Inter,system-ui,sans-serif;letter-spacing:-.045em}
.blog-featured-copy{border-radius:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.blog-filter{border-radius:8px;box-shadow:none}.blog-filter.active{background:var(--blue-3);border-color:#cbd8ff}
.blog-category{border-radius:7px}
.article-cover{border-radius:18px;box-shadow:var(--shadow-sm)}
.article-callout{border-radius:12px}.article-checklist li{border-radius:10px}
.newsletter{border-radius:18px;background:#101828;box-shadow:none}

/* CTAs */
.wide-cta{border-radius:18px!important;box-shadow:none!important}

/* footer */
.site-footer{background:#111827;color:#d0d5dd;padding-top:56px}
.site-footer .brand{display:inline-flex;min-width:0;background:#fff;border-radius:10px;padding:9px 12px}
.site-footer .brand-logo{width:174px;max-height:42px}
.footer-about{color:#98a2b3}.footer-title{color:#fff}.footer-links a,.footer-contact a,.footer-contact span{color:#b8c0cc}
.footer-links a:hover,.footer-contact a:hover{color:#fff}
.footer-bottom{border-top-color:#344054;color:#98a2b3}

/* mobile */
.mobile-action-bar{left:8px;right:8px;bottom:8px;border-radius:12px;background:#fff;backdrop-filter:none;box-shadow:0 8px 26px rgba(16,24,40,.16)}
.mobile-action-bar a{border-radius:8px!important}

@media(max-width:1180px){
  .brand{min-width:158px}.brand-logo{width:158px}
  .desktop-nav a{padding-inline:9px;font-size:.87rem}
  .phone-link{display:none}
}

@media(max-width:980px){
  .brand{min-width:170px}.brand-logo{width:170px}
  .hero-grid{gap:36px}
}

@media(max-width:760px){
  .container{width:min(calc(100% - 28px),1380px)}
  .section{padding:62px 0}.section-sm{padding:44px 0}
  .announcement{font-size:.79rem}.announcement .container{gap:8px;justify-content:space-between;text-align:left}
  .nav-wrap{height:70px}.brand{min-width:145px}.brand-logo{width:145px;max-height:40px}
  .hero{padding:52px 0 62px}.hero h1{font-size:clamp(2.55rem,12vw,3.7rem)}
  .hero-stage{min-height:0}.hero-card{border-radius:16px}.floating-note{display:none}
  .section-heading{display:block;padding-bottom:18px}.section-heading p{margin-top:12px}
  .page-hero{padding:48px 0 54px}.page-hero-card{border-left-width:3px}
  .site-footer{padding-top:46px}.site-footer .brand-logo{width:160px}
}

@media(max-width:760px){
  .announcement .container{min-height:34px;white-space:nowrap;overflow:hidden}
  .announcement .container span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .announcement .container a{flex:0 0 auto;white-space:nowrap}
}

/* ================================================================
   V4.5 · Unified VIRAL / LMS refinement · 2026-08-27
   ================================================================ */

:root{
  --lms-navy:#101828;
  --lms-blue:#0b45e5;
  --lms-blue-hover:#083bc9;
  --lms-blue-soft:#eef3ff;
  --lms-yellow:#f3c847;
  --lms-border:#e4e7ec;
  --lms-bg:#f7f8fa;
  --lms-muted:#667085;
}

html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a,button,input,select,textarea{font-family:inherit}
:focus-visible{outline:3px solid rgba(11,69,229,.22);outline-offset:2px}

/* Header now behaves like the public face of the LMS rather than a separate product. */
.announcement{font-size:.82rem;font-weight:650}
.announcement .container{display:flex;align-items:center;justify-content:center;gap:18px;min-height:36px}
.announcement .container span{opacity:.94}
.announcement a{font-weight:850;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.72)}
.announcement a:hover{border-bottom-color:var(--lms-yellow);color:#fff}

.site-header{box-shadow:none}
.nav-wrap{height:76px}
.brand-logo{width:170px;max-height:44px}
.desktop-nav{gap:0}
.desktop-nav a{position:relative;background:transparent!important;border-radius:0;padding:27px 10px 24px;color:#475467;font-size:.88rem}
.desktop-nav a::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:transparent}
.desktop-nav a:hover{color:var(--lms-navy)}
.desktop-nav a.active{color:var(--lms-blue);box-shadow:none}
.desktop-nav a.active::after{background:var(--lms-blue)}
.nav-actions{gap:8px}

.lms-header-link{
  min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;
  border:1px solid #cfd9f8;border-radius:9px;background:#f8faff;color:var(--lms-blue);
  font-size:.82rem;font-weight:800;white-space:nowrap;transition:.18s ease;
}
.lms-header-link:hover{background:var(--lms-blue-soft);border-color:#aabef5;color:var(--lms-blue-hover)}
.lms-header-link__mark{display:inline-grid;place-items:center;min-width:33px;height:24px;padding:0 5px;border-radius:6px;background:var(--lms-blue);color:#fff;font-size:.67rem;letter-spacing:.04em;font-weight:900}
.lms-header-link__text{color:#344054}
.lms-header-link__arrow{font-size:.9rem;line-height:1}

/* Less decorative, more institutional / product-grade surfaces. */
.hero{background:#fff;padding-top:72px}
.hero-grid{align-items:center}
.hero-copy{max-width:760px}
.hero h1{max-width:790px}
.hero-card{border-radius:14px;border-color:#d8dde5;box-shadow:0 12px 30px rgba(16,24,40,.07)}
.road-scene{border-radius:10px}
.floating-note{border-radius:8px;box-shadow:0 3px 10px rgba(16,24,40,.07)}
.proof-row span{padding:9px 11px}

.section-heading{margin-bottom:28px}
.section-heading::after{width:56px;height:3px}
.section-heading h2{font-size:clamp(1.95rem,3vw,3rem)}

.card,.contact-card,.form-card,.certificate-preview,.article-toc,.article-aside-card,.article-author,.blog-card,.blog-featured,
.price-card,.review-card,.branch-card,.team-card,.stat-band,.info-table,.wide-cta{
  border-radius:12px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
.card:hover,.blog-card:hover,.price-card:hover,.review-card:hover,.branch-card:hover,.team-card:hover{
  transform:none!important;box-shadow:0 5px 14px rgba(16,24,40,.06)!important;
}

.btn{border-radius:8px;min-height:42px}
.btn-sm{min-height:38px}
.btn-primary{background:var(--lms-blue)}
.btn-primary:hover{background:var(--lms-blue-hover)}
.btn-yellow{background:var(--lms-yellow)}

.page-hero{padding-top:58px;padding-bottom:60px}
.page-hero-card{border-radius:10px}
.kicker{color:#667085}

/* Tables/forms mirror the compact LMS language. */
.field input,.field select,.field textarea,.blog-search input,.newsletter-form input{border-radius:8px!important;min-height:44px}
.info-table{border-radius:10px!important}
.info-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;font-weight:800}

/* Footer: true reversed/white VIRAL mark, no white capsule behind it. */
.site-footer{background:#0d1424;padding-top:58px}
.site-footer .footer-brand{display:inline-flex;background:transparent!important;padding:0!important;border-radius:0!important}
.site-footer .footer-brand-logo{width:176px;max-height:44px;filter:none}
.footer-title{color:#fff;font-size:.75rem;letter-spacing:.12em}
.footer-about{margin-top:20px;line-height:1.65}
.footer-bottom{border-top-color:#253047}
.mobile-lms-link{color:var(--lms-blue)!important;font-weight:900!important;background:var(--lms-blue-soft)!important;border-radius:8px!important;padding:12px 14px!important;margin:6px 0!important}

/* Professional visual rhythm on large screens. */
@media(min-width:1181px){
  .container{width:min(calc(100% - 56px),1400px)}
}

@media(max-width:1320px){
  .desktop-nav a{padding-inline:8px;font-size:.84rem}
  .brand{min-width:150px}.brand-logo{width:150px}
  .lms-header-link__text{display:none}
}

@media(max-width:1180px){
  .lms-header-link__text{display:inline}
}

@media(max-width:980px){
  .lms-header-link{display:none}
  .nav-wrap{height:70px}
}

@media(max-width:760px){
  .announcement .container{justify-content:space-between;gap:10px}
  .announcement .container span{font-size:.74rem}
  .announcement .container a{font-size:.74rem}
  .brand-logo{width:145px}
  .hero{padding-top:48px}
  .hero h1{letter-spacing:-.05em}
  .site-footer .footer-brand-logo{width:160px}
}


/* ================================================================
   V4.6 · Header controls unified with LMS button language · 2026-08-27
   ================================================================ */

.nav-actions{align-items:center;gap:10px;flex-wrap:nowrap}

.nav-actions .btn-primary,
.nav-actions .lang-switch,
.nav-actions .global-search-trigger{
  min-height:48px;
  border:1px solid #cfd9f8;
  border-radius:14px;
  background:#f8faff;
  color:var(--lms-blue);
  box-shadow:none;
}

.nav-actions .btn-primary{
  padding:0 18px;
  font-size:.96rem;
  font-weight:850;
}

.nav-actions .btn-primary:hover{
  background:var(--lms-blue-soft);
  border-color:#aabef5;
  color:var(--lms-blue-hover);
  box-shadow:none;
}

.lang-switch{
  display:inline-flex;
  align-items:center;
  padding:4px;
  gap:4px;
}

.lang-switch button{
  min-width:48px;
  height:38px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#667085;
  font-weight:850;
  font-size:.94rem;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}

.lang-switch button:hover{
  color:var(--lms-blue-hover);
}

.lang-switch button.active{
  background:var(--lms-blue-soft);
  color:var(--lms-blue);
  box-shadow:inset 0 0 0 1px rgba(11,69,229,.06);
}

.global-search-trigger{
  width:48px;
  min-width:48px;
  height:48px;
  padding:0;
  font-size:1.16rem;
  line-height:1;
}

.nav-actions .global-search-trigger:hover{
  background:var(--lms-blue-soft);
  border-color:#aabef5;
  color:var(--lms-blue-hover);
}

@media(max-width:1320px){
  .nav-actions .btn-primary{padding-inline:16px}
  .lang-switch button{min-width:44px;padding-inline:12px}
}

@media(max-width:1180px){
  .nav-actions{gap:8px}
  .nav-actions .btn-primary,
  .nav-actions .lang-switch,
  .nav-actions .global-search-trigger{min-height:46px;border-radius:13px}
  .lang-switch button{height:36px;min-width:42px;font-size:.9rem}
  .global-search-trigger{width:46px;min-width:46px;height:46px}
}

@media(max-width:980px){
  .lang-switch{display:none}
}

@media(max-width:760px){
  .nav-actions .global-search-trigger{display:inline-flex!important}
}


/* ================================================================
   V4.7 · Global design refresh for all pages · 2026-08-27
   ================================================================ */

body{
  background:linear-gradient(180deg,#f8fafc 0,#f5f7fa 100%);
}

.section.surface,
.page-hero,
.blog-hero,
.article-hero{
  background:#fff;
}

.soft,
.soft-warm,
.people-soft{
  background:#f6f8fb!important;
}

.section{
  position:relative;
}

.section-heading{
  margin-bottom:32px;
}

.section-heading h2,
.wide-cta h2,
.article-body h2,
.article-body h3,
.blog-card h3,
.price-card .price,
.polaroid-caption strong{
  font-family:Manrope,Inter,system-ui,sans-serif!important;
}

.card,
.feature,
.v4-feature,
.price-card,
.review-card,
.branch-card,
.team-card,
.fleet-card,
.document-item,
.schedule-item,
.calendar-card,
.gallery-tile,
.portal-card,
.review-summary,
.application-card,
.license-advisor,
.compare-panel,
.compare-option,
.enrollment-shell,
.certificate-preview,
.contact-card,
.form-card,
.article-toc,
.article-aside-card,
.article-author,
.blog-card,
.blog-featured,
.wide-cta,
.polaroid-note,
.map-card,
.zone-stage,
.hero-card,
.info-table,
.stat-band{
  border:1px solid #e4e7ec!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.04)!important;
}

.card:hover,
.feature:hover,
.v4-feature:hover,
.price-card:hover,
.review-card:hover,
.branch-card:hover,
.team-card:hover,
.fleet-card:hover,
.document-item:hover,
.schedule-item:hover,
.gallery-tile:hover,
.portal-card:hover,
.blog-card:hover,
.polaroid-card:hover{
  box-shadow:0 8px 24px rgba(16,24,40,.07)!important;
  border-color:#d0d5dd!important;
}

.category-card,
.price-card,
.review-card,
.branch-card,
.team-card,
.fleet-card,
.document-item,
.schedule-item,
.portal-card,
.blog-card,
.v4-feature,
.feature,
.compare-option,
.gallery-tile{
  position:relative;
  overflow:hidden;
}

.category-card::before,
.price-card::before,
.review-card::before,
.branch-card::before,
.team-card::before,
.fleet-card::before,
.document-item::before,
.schedule-item::before,
.portal-card::before,
.blog-card::before,
.v4-feature::before,
.feature::before,
.compare-option::before,
.gallery-tile::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--lms-blue) 0 74%,var(--lms-yellow) 74% 100%);
  opacity:.95;
}

.page-hero .container,
.hero-grid,
.split,
.branch-layout,
.zone-layout,
.article-layout{
  align-items:start;
}

.page-hero{
  padding-top:60px;
  padding-bottom:62px;
}

.page-hero-card,
.article-toc,
.article-aside-card,
.article-author,
.review-summary,
.price-note,
.zone-step,
.compare-option,
.calendar-grid div,
.fleet-specs span,
.article-checklist li,
.article-share button,
.article-share a,
.spots,
.event-pill,
.blog-filter{
  border-radius:10px!important;
}

.page-hero-card{
  border-left:4px solid var(--lms-yellow)!important;
  background:linear-gradient(180deg,#fff,#fafbfc)!important;
}

.hero-card-head strong,
.card h3,
.feature strong,
.v4-feature strong,
.price-card strong,
.branch-card strong,
.team-card strong,
.fleet-body strong,
.document-item strong,
.schedule-item strong,
.portal-card strong,
.article-aside-card h3{
  color:#101828;
}

p,
.card p,
.feature p,
.v4-feature p,
.price-card li,
.branch-card span,
.team-card p,
.fleet-body p,
.document-item p,
.schedule-item p,
.portal-card p,
.article-body,
.article-author p,
.footer-about,
.footer-links a,
.footer-contact a,
.footer-contact span{
  color:#667085;
}

.info-table th,
.calendar-grid b,
.footer-title,
.kicker{
  letter-spacing:.08em;
}

.info-table th{
  background:#f8fafc!important;
}

.info-table tr + tr td{
  border-top:1px solid #eef2f6;
}

.field label,
label,
.mini-label{
  color:#344054;
  font-weight:800;
}

.field input,
.field select,
.field textarea,
.newsletter-form input,
.blog-search input,
.search-field input{
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  min-height:46px;
}

.field input::placeholder,
.field textarea::placeholder,
.newsletter-form input::placeholder,
.blog-search input::placeholder,
.search-field input::placeholder{
  color:#98a2b3;
}

.btn,
.article-share button,
.article-share a,
.blog-filter,
.gallery-open,
.gallery-zoom{
  font-weight:800;
}

.article-cover,
.blog-featured,
.gallery-tile,
.fleet-media,
.polaroid-photo,
.road-scene,
.zone-scene,
.map-card,
.video-story,
.calendar-grid div{
  overflow:hidden;
}

.blog-featured-copy,
.article-callout,
.price-note,
.zone-meta span,
.proof-row span,
.tag,
.mini-pill,
.spots,
.event-pill{
  box-shadow:none!important;
}

.price-card.featured{
  transform:none;
}

.schedule-item,
.review-summary,
.portal-card,
.document-item,
.feature,
.v4-feature{
  padding:20px!important;
}

.fleet-body,
.blog-card-body{
  padding:20px!important;
}

.calendar-card,
.map-card,
.certificate-preview,
.enrollment-shell{
  padding:22px!important;
}

.polaroid-wall{
  gap:22px!important;
  padding:10px 0 0!important;
}

.polaroid-card{
  transform:none!important;
  padding:12px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.04)!important;
}

.polaroid-card::before{
  display:none!important;
}

.polaroid-photo{
  border-radius:10px!important;
  background:#f8fafc!important;
}

.polaroid-badge{
  left:20px;
  top:20px;
  border:1px solid #dbe5ff;
  background:#f8faff;
  box-shadow:none!important;
}

.polaroid-caption{
  text-align:left;
  padding:14px 4px 2px!important;
}

.polaroid-caption strong{
  font-size:1rem!important;
}

.polaroid-caption span{
  font-size:.84rem!important;
}

.polaroid-card.empty{
  border-style:solid!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}

.video-story{
  min-height:360px;
  border-radius:16px!important;
  border:1px solid #d7dce3!important;
  box-shadow:0 6px 18px rgba(16,24,40,.08)!important;
}

.video-story-content{
  background:linear-gradient(transparent,rgba(8,29,46,.92) 34%);
}

.play-button{
  width:54px;
  height:54px;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
}

.gallery-open,
.gallery-zoom{
  border-radius:8px!important;
}

.footer-grid{
  gap:26px;
}

.footer-links,
.footer-contact{
  display:grid;
  gap:10px;
}

.footer-bottom{
  margin-top:28px;
  padding-top:18px;
}

.mobile-action-bar{
  border:1px solid #e4e7ec;
}

@media(max-width:1180px){
  .section-heading{margin-bottom:28px}
  .polaroid-wall{gap:18px!important}
}

@media(max-width:760px){
  .page-hero{padding-top:44px;padding-bottom:48px}
  .section-heading{margin-bottom:22px}
  .schedule-item,
  .review-summary,
  .portal-card,
  .document-item,
  .feature,
  .v4-feature,
  .calendar-card,
  .map-card,
  .certificate-preview,
  .enrollment-shell,
  .fleet-body,
  .blog-card-body{padding:18px!important}
  .polaroid-wall{gap:14px!important}
  .polaroid-card{padding:9px!important}
}


/* ================================================================
   V4.8 · Premium unified public website / LMS ecosystem · 2026-08-27
   ================================================================ */

:root{
  --viral-blue:#0b45e5;
  --viral-blue-dark:#083bc9;
  --viral-blue-50:#f5f8ff;
  --viral-blue-100:#eef3ff;
  --viral-yellow:#f3c847;
  --viral-navy:#0f172a;
  --viral-text:#1d2939;
  --viral-muted:#667085;
  --viral-border:#e4e7ec;
  --viral-border-strong:#d0d5dd;
  --viral-canvas:#f6f8fb;
  --viral-card:#ffffff;
}

/* ---------- Header / ecosystem navigation ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #e6e9ef!important;
  box-shadow:0 1px 0 rgba(16,24,40,.02)!important;
}
.site-header.scrolled{
  box-shadow:0 8px 24px rgba(16,24,40,.07)!important;
}
.nav-wrap{
  min-height:78px;
  gap:20px;
}
.brand{
  min-width:164px!important;
}
.brand-logo{
  width:164px!important;
  max-height:43px!important;
}
.desktop-nav{
  min-width:0;
  flex:1 1 auto;
  justify-content:center;
}
.desktop-nav a{
  padding:28px 10px 24px!important;
  color:#475467!important;
  font-weight:750!important;
}
.desktop-nav a:hover{
  color:var(--viral-navy)!important;
}
.desktop-nav a.active{
  color:var(--viral-blue)!important;
}
.desktop-nav a.active::after{
  height:3px!important;
  border-radius:3px 3px 0 0;
}
.nav-actions{
  flex:0 0 auto;
  padding:5px;
  border:1px solid #e7ebf1;
  border-radius:16px;
  background:#fbfcfe;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.lms-header-link,
.nav-actions .btn-primary,
.nav-actions .lang-switch,
.nav-actions .global-search-trigger{
  min-height:46px!important;
  border-radius:11px!important;
  border-color:#d8e0f4!important;
  background:#fff!important;
}
.lms-header-link{
  padding:7px 10px!important;
}
.lms-header-link__mark{
  height:28px!important;
  min-width:38px!important;
  border-radius:7px!important;
  font-size:.72rem!important;
}
.nav-actions .btn-primary{
  color:var(--viral-blue)!important;
  padding-inline:16px!important;
}
.lms-header-link:hover,
.nav-actions .btn-primary:hover,
.nav-actions .global-search-trigger:hover{
  background:var(--viral-blue-100)!important;
  border-color:#b9c8f5!important;
  color:var(--viral-blue-dark)!important;
}
.lang-switch button.active{
  background:var(--viral-blue-100)!important;
}

/* ---------- Global page rhythm ---------- */
body{
  background:var(--viral-canvas)!important;
  color:var(--viral-text)!important;
}
main{
  overflow:hidden;
}
.section{
  padding:80px 0!important;
}
.section-sm{
  padding:52px 0!important;
}
.section.surface,
.page-hero,
.blog-hero,
.article-hero{
  background:#fff!important;
}
.soft,.soft-warm,.people-soft{
  background:#f7f9fc!important;
}
.section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.56fr);
  gap:28px;
  align-items:end!important;
  padding-bottom:20px!important;
  margin-bottom:32px!important;
}
.section-heading::after{
  width:62px!important;
  background:linear-gradient(90deg,var(--viral-blue) 0 68%,var(--viral-yellow) 68% 100%)!important;
}
.section-heading h2{
  margin-top:7px;
  max-width:860px;
  line-height:1.08;
}
.section-heading p{
  max-width:520px;
  justify-self:end;
  line-height:1.65;
}
.kicker{
  color:#667085!important;
  font-size:.73rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}

/* ---------- Inner page hero ---------- */
.page-hero{
  position:relative;
  padding:58px 0 62px!important;
  border-bottom:1px solid #e8ebf0!important;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(11,69,229,.035),transparent 42%,rgba(243,200,71,.04));
}
.page-hero .container{
  position:relative;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr)!important;
  gap:46px!important;
  align-items:center!important;
}
.page-hero h1{
  max-width:900px;
  margin:12px 0 18px!important;
  font-size:clamp(2.7rem,4.8vw,4.4rem)!important;
  line-height:1.01!important;
}
.page-hero p{
  max-width:800px;
  line-height:1.7;
}
.breadcrumb{
  font-size:.82rem!important;
  color:#98a2b3!important;
}
.breadcrumb span{
  color:#c1c7d0;
}
.page-hero-card{
  padding:22px 24px!important;
  border:1px solid #e4e7ec!important;
  border-left:4px solid var(--viral-yellow)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 22px rgba(16,24,40,.05)!important;
}
.page-hero-card strong{
  font-size:1rem!important;
  color:#101828!important;
}
.page-hero-card ul{
  margin-top:13px!important;
  gap:8px!important;
}
.page-hero-card li{
  font-size:.9rem;
  line-height:1.5;
}

/* ---------- General cards / modules ---------- */
.card,
.feature,
.v4-feature,
.price-card,
.review-card,
.branch-card,
.team-card,
.fleet-card,
.document-item,
.schedule-item,
.calendar-card,
.gallery-tile,
.portal-card,
.review-summary,
.application-card,
.license-advisor,
.compare-panel,
.compare-option,
.enrollment-shell,
.certificate-preview,
.contact-card,
.form-card,
.article-toc,
.article-aside-card,
.article-author,
.blog-card,
.blog-featured,
.wide-cta,
.polaroid-note,
.map-card,
.zone-stage,
.hero-card,
.info-table,
.stat-band{
  border-color:#e3e7ed!important;
  border-radius:14px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 22px rgba(16,24,40,.035)!important;
}
.card:hover,
.feature:hover,
.v4-feature:hover,
.price-card:hover,
.review-card:hover,
.branch-card:hover,
.team-card:hover,
.fleet-card:hover,
.document-item:hover,
.schedule-item:hover,
.gallery-tile:hover,
.portal-card:hover,
.blog-card:hover{
  border-color:#ccd4df!important;
  box-shadow:0 10px 28px rgba(16,24,40,.07)!important;
}
.card h3,
.price-card h3,
.blog-card h3,
.fleet-body h3,
.team-card h3,
.branch-card strong,
.schedule-item strong,
.document-item strong,
.v4-feature strong,
.feature strong{
  letter-spacing:-.015em;
}

/* ---------- Tables ---------- */
.info-table{
  overflow:hidden;
}
.info-table table{
  border-collapse:separate;
  border-spacing:0;
}
.info-table th{
  height:46px;
  background:#f8fafc!important;
  color:#475467!important;
  font-size:.74rem!important;
  text-transform:uppercase;
  letter-spacing:.06em!important;
}
.info-table td{
  min-height:48px;
  color:#344054!important;
}
.info-table tr:hover td{
  background:#fbfcff;
}

/* ---------- Forms / wizard ---------- */
.form-card,
.enrollment-shell,
.license-advisor,
.compare-panel{
  padding:26px!important;
}
.field{
  gap:7px;
}
.field label,
.form-card label{
  color:#344054!important;
  font-size:.84rem;
  font-weight:800!important;
}
.field input,
.field select,
.field textarea,
.blog-search input,
.newsletter-form input,
.search-field input{
  min-height:46px!important;
  border-radius:9px!important;
  background:#fff!important;
  border:1px solid #d0d5dd!important;
}
.field input:hover,
.field select:hover,
.field textarea:hover,
.blog-search input:hover,
.search-field input:hover{
  border-color:#b8c0cc!important;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.blog-search input:focus,
.search-field input:focus{
  border-color:#8da9f6!important;
  box-shadow:0 0 0 3px rgba(11,69,229,.09)!important;
}
.wizard-progress span{
  border-radius:10px!important;
}
.wizard-progress b{
  border-radius:8px!important;
}
.wizard-step{
  animation:none!important;
}

/* ---------- Home / category / instructional feature modules ---------- */
.hero{
  padding-top:70px!important;
  padding-bottom:82px!important;
  background:linear-gradient(180deg,#fff 0,#f8faff 100%)!important;
}
.hero-card{
  padding:18px!important;
  box-shadow:0 14px 34px rgba(16,24,40,.08)!important;
}
.hero-card-head{
  padding:2px 2px 10px;
}
.road-scene{
  border-radius:11px!important;
}
.proof-row span{
  border-color:#e4e7ec!important;
  background:#fff!important;
}
.feature,
.v4-feature{
  min-height:148px;
}
.feature b,
.v4-feature .icon-box{
  background:#f3f6ff!important;
  color:var(--viral-blue)!important;
  border:1px solid #dde5ff;
}
.zone-step{
  padding:18px 20px!important;
  border-radius:12px!important;
  border:1px solid #e4e7ec!important;
  box-shadow:none!important;
}
.zone-step:hover,
.zone-step.active{
  transform:none!important;
  background:#f8faff!important;
  border-color:#cbd8ff!important;
  box-shadow:inset 3px 0 0 var(--viral-blue)!important;
}
.zone-stage{
  padding:18px!important;
}
.zone-scene{
  min-height:480px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#f5f9ff,#fff)!important;
}
.zone-card img{
  animation:none!important;
}
.zone-meta span{
  border-radius:8px!important;
  background:#fff!important;
}

/* ---------- Pricing / schedule / branches ---------- */
.price-card{
  padding:24px!important;
}
.price-card .price{
  margin:12px 0 12px!important;
  font-size:2.75rem!important;
  color:#101828;
}
.price-card .label{
  top:16px!important;
  right:16px!important;
  border:1px solid #dbe4ff;
  border-radius:8px!important;
  background:#f5f8ff!important;
}
.price-note{
  border-left:4px solid var(--viral-yellow)!important;
  background:#fffdf6!important;
}
.schedule-item{
  padding:20px!important;
}
.spots{
  border:1px solid #f2dfaa;
  background:#fffaf0!important;
}
.calendar-grid div{
  background:#fbfcfe!important;
  border:1px solid #e9edf2!important;
}
.event-pill{
  border:1px solid #dbe4ff;
  background:#f3f6ff!important;
}
.event-pill.green{
  border-color:#cdeee1;
}
.event-pill.warm{
  border-color:#f0dfa9;
}
.branch-card{
  padding:17px 18px!important;
  box-shadow:none!important;
}
.branch-card:hover,
.branch-card.active{
  transform:none!important;
  background:#f8faff!important;
  border-color:#cbd8ff!important;
  box-shadow:inset 3px 0 0 var(--viral-blue)!important;
}
.map-card{
  min-height:500px!important;
}

/* ---------- Fleet / documents ---------- */
.fleet-card{
  overflow:hidden;
}
.fleet-media{
  padding:16px!important;
  background:linear-gradient(180deg,#f7faff,#fff)!important;
  border-bottom:1px solid #eef1f5;
}
.fleet-body{
  padding:20px!important;
}
.fleet-specs span{
  border:1px solid #eaedf2;
  background:#fafbfc!important;
}
.document-item{
  padding:18px 20px!important;
}
.document-icon{
  border-radius:9px!important;
  background:#f3f6ff!important;
  color:var(--viral-blue)!important;
}

/* ---------- Instructor / student profile cards ---------- */
.people-section{
  overflow:visible!important;
}
.polaroid-wall{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  padding:4px 0 0!important;
}
.polaroid-card{
  padding:10px!important;
  border-radius:14px!important;
  border:1px solid #e4e7ec!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03),0 8px 22px rgba(16,24,40,.04)!important;
  transform:none!important;
}
.polaroid-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 28px rgba(16,24,40,.08)!important;
}
.polaroid-photo{
  aspect-ratio:4/4.6!important;
  border-radius:10px!important;
  background:#f6f8fb!important;
}
.polaroid-caption{
  padding:14px 4px 4px!important;
  text-align:left!important;
}
.polaroid-caption strong{
  color:#101828!important;
  font-size:1rem!important;
}
.polaroid-caption span{
  margin-top:5px!important;
  color:#667085!important;
  line-height:1.45;
}
.polaroid-badge{
  left:18px!important;
  top:18px!important;
  border-radius:8px!important;
  border:1px solid #dbe4ff!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:none!important;
}
.polaroid-card.empty{
  border:1px dashed #cbd5e1!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}

/* ---------- Blog / articles ---------- */
.blog-hero{
  padding-top:60px!important;
  padding-bottom:64px!important;
}
.blog-featured{
  overflow:hidden;
}
.blog-featured-copy{
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 10px 28px rgba(16,24,40,.09)!important;
}
.blog-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.blog-card-media{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f7f9fc;
  border-bottom:1px solid #edf0f4;
}
.blog-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .32s ease;
}
.blog-card:hover .blog-card-media img{
  transform:scale(1.02);
}
.blog-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px!important;
}
.blog-card h3{
  font-size:1.12rem;
  line-height:1.35;
}
.blog-card p{
  line-height:1.6;
}
.blog-card .link-arrow{
  margin-top:auto;
  padding-top:10px;
}
.blog-category{
  top:12px!important;
  left:12px!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.7);
}
.blog-toolbar{
  padding:10px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#fff;
}
.blog-search input{
  box-shadow:none!important;
}
.blog-filter{
  border-radius:9px!important;
}
.article-hero{
  padding-top:56px!important;
  padding-bottom:46px!important;
}
.article-hero-inner{
  max-width:980px;
}
.article-cover{
  border-radius:14px!important;
  border:1px solid #e4e7ec;
}
.article-layout{
  grid-template-columns:230px minmax(0,760px) 230px!important;
  gap:30px!important;
}
.article-toc,
.article-aside-card{
  padding:18px!important;
  box-shadow:none!important;
}
.article-toc a{
  border-radius:8px!important;
}
.article-body{
  line-height:1.75;
}
.article-body h2{
  margin-top:44px!important;
}
.article-callout{
  border-radius:10px!important;
  border-left:4px solid var(--viral-blue)!important;
}
.article-callout.warm{
  border-left-color:var(--viral-yellow)!important;
}
.article-checklist li{
  border-radius:10px!important;
  background:#fbfcfe!important;
}
.article-share button,
.article-share a{
  border-radius:8px!important;
}

/* ---------- Gallery ---------- */
.gallery-grid,
.latest-blog-grid,
.related-grid{
  gap:18px!important;
}
.gallery-tile{
  border-radius:14px!important;
}
.gallery-caption{
  background:linear-gradient(transparent,rgba(15,23,42,.9));
}

/* ---------- Footer ---------- */
.site-footer{
  background:#0b1220!important;
  padding-top:56px!important;
}
.site-footer .container{
  width:min(calc(100% - 56px),1400px);
}
.footer-grid{
  gap:38px!important;
}
.footer-title{
  color:#fff!important;
  font-size:.72rem!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.footer-links a,
.footer-contact a,
.footer-contact span{
  color:#aeb8c7!important;
}
.footer-links a:hover,
.footer-contact a:hover{
  color:#fff!important;
}
.footer-bottom{
  margin-top:34px!important;
  padding-top:20px!important;
  border-top:1px solid #273247!important;
}

/* ---------- Search dialog ---------- */
.search-panel{
  border-radius:16px!important;
  border:1px solid #dfe4eb!important;
  box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
}
.search-panel-head{
  padding:15px!important;
}
.search-result{
  border-radius:10px!important;
}
.search-result-icon{
  border-radius:9px!important;
  background:#f3f6ff!important;
}
.search-close{
  border-radius:9px!important;
}

/* ---------- Responsive refinement ---------- */
@media(max-width:1320px){
  .nav-actions{padding:4px}
  .brand{min-width:150px!important}.brand-logo{width:150px!important}
  .desktop-nav a{padding-inline:8px!important;font-size:.83rem!important}
}

@media(max-width:1180px){
  .section-heading{grid-template-columns:1fr!important;gap:10px!important}
  .section-heading p{justify-self:start!important;max-width:760px!important}
  .page-hero .container{grid-template-columns:1fr!important;gap:24px!important}
  .page-hero-card{max-width:760px}
  .article-layout{grid-template-columns:210px minmax(0,1fr)!important}
  .article-aside{display:none}
  .polaroid-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:980px){
  .nav-actions{border:0;background:transparent;box-shadow:none;padding:0}
  .article-layout{grid-template-columns:1fr!important}
  .article-toc{position:relative!important;top:0!important}
}

@media(max-width:760px){
  .section{padding:60px 0!important}
  .section-sm{padding:42px 0!important}
  .container{width:min(calc(100% - 28px),1400px)!important}
  .site-header .container{width:min(calc(100% - 22px),1400px)!important}
  .brand{min-width:140px!important}.brand-logo{width:140px!important}
  .page-hero{padding:42px 0 46px!important}
  .page-hero h1{font-size:clamp(2.35rem,11vw,3.45rem)!important}
  .page-hero-card{padding:18px!important}
  .form-card,.enrollment-shell,.license-advisor,.compare-panel{padding:18px!important}
  .polaroid-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .polaroid-card{padding:8px!important}
  .polaroid-caption{padding:11px 2px 3px!important}
  .blog-toolbar{padding:8px!important}
  .article-cover{width:min(calc(100% - 24px),1180px)!important}
  .site-footer .container{width:min(calc(100% - 28px),1400px)!important}
}

@media(max-width:480px){
  .polaroid-wall{grid-template-columns:1fr!important}
  .polaroid-photo{aspect-ratio:4/4.2!important}
}


/* ================================================================
   V5.5 · Layout + module refinement · 2026-08-27
   Focus: vehicle selector, gallery, branches, comparator and Category B flow.
   ================================================================ */

/* ---------- Vehicle categories: editorial selector instead of old cards ---------- */
.zone-layout{
  grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr)!important;
  gap:44px!important;
  align-items:start!important;
}
.zone-steps{
  counter-reset:vehicle-zone;
  display:block!important;
  border-top:1px solid #d9dde4;
  background:transparent!important;
}
.zone-step{
  counter-increment:vehicle-zone;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr);
  column-gap:18px;
  align-items:start;
  width:100%;
  padding:22px 0!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #d9dde4!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer;
  position:relative;
  transition:background .18s ease,color .18s ease;
}
.zone-step::before{
  content:"0" counter(vehicle-zone);
  grid-column:1;
  grid-row:1 / span 2;
  color:#98a2b3;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.35;
  padding-top:4px;
}
.zone-step h3{
  grid-column:2;
  display:flex!important;
  justify-content:space-between;
  gap:18px;
  align-items:baseline!important;
  margin:0 0 7px!important;
  color:#111827!important;
  font-size:1.03rem!important;
  line-height:1.35;
}
.zone-step h3 span{
  color:#667085!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.zone-step p{
  grid-column:2;
  margin:0!important;
  color:#667085!important;
  line-height:1.58;
  font-size:.91rem;
}
.zone-step:hover{
  padding-left:10px!important;
  padding-right:10px!important;
  background:#fbfbfc!important;
}
.zone-step.active{
  padding-left:10px!important;
  padding-right:10px!important;
  background:#fff9e8!important;
  border-color:#d9dde4!important;
  box-shadow:none!important;
}
.zone-step.active::before{color:#111827}
.zone-step.active h3 span{
  color:#111827!important;
  text-decoration:underline;
  text-decoration-color:#f3c847;
  text-decoration-thickness:3px;
  text-underline-offset:5px;
}
.zone-stage{
  position:sticky!important;
  top:104px!important;
  padding:0!important;
  border:1px solid #dfe3e8!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden;
}
.zone-scene{
  min-height:500px!important;
  padding:30px!important;
  border-radius:0!important;
  background:#f4f5f7!important;
}
.zone-orb{display:none!important}
.zone-scene::after{
  height:1px!important;
  left:30px!important;
  right:30px!important;
  bottom:176px!important;
  background:#d7dce2!important;
}
.zone-card{
  gap:22px!important;
  align-content:start!important;
}
.zone-card img{
  width:min(86%,620px)!important;
  max-height:270px!important;
  margin:10px auto 2px;
  filter:drop-shadow(0 18px 20px rgba(16,24,40,.12))!important;
  animation:none!important;
}
.zone-copy{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid #dfe3e8;
}
.zone-copy strong{
  font-family:Inter,Manrope,system-ui,sans-serif!important;
  color:#111827!important;
  font-size:1.35rem!important;
  letter-spacing:-.025em;
}
.zone-copy p{color:#667085!important;line-height:1.65}
.zone-meta{gap:0!important;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}
.zone-meta span{
  padding:10px 14px!important;
  border:0!important;
  border-right:1px solid #edf0f3!important;
  border-radius:0!important;
  background:transparent!important;
  color:#475467!important;
  font-size:.79rem!important;
}
.zone-meta span:last-child{border-right:0!important}
.zone-timeline{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:5px!important;
  margin-top:4px!important;
}
.zone-timeline span{
  height:3px!important;
  border-radius:0!important;
  background:#dfe3e8!important;
}
.zone-timeline span.active{background:#111827!important}

/* ---------- Home gallery: image + caption, no frosted overlay ---------- */
body[data-page="home"] .gallery-grid{
  grid-template-columns:1.2fr .8fr .8fr!important;
  grid-template-rows:repeat(2,235px)!important;
  gap:14px!important;
}
body[data-page="home"] .gallery-item{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:stretch!important;
  padding:0!important;
  border:1px solid #dfe3e8!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body[data-page="home"] .gallery-item.large{grid-row:1 / span 2!important}
body[data-page="home"] .gallery-item img{
  position:relative!important;
  inset:auto!important;
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:0;
  object-fit:cover!important;
  opacity:1!important;
  background:#f2f4f7;
}
body[data-page="home"] .gallery-item .overlay{
  position:relative!important;
  z-index:2;
  padding:17px 18px 18px!important;
  border:0!important;
  border-top:1px solid #e4e7ec!important;
  border-radius:0!important;
  background:#fff!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
body[data-page="home"] .gallery-item .overlay h3{
  margin:0 0 5px!important;
  color:#111827!important;
  font-size:1rem!important;
  letter-spacing:-.015em;
}
body[data-page="home"] .gallery-item .overlay p{
  margin:0!important;
  color:#667085!important;
  font-size:.84rem!important;
  line-height:1.5;
}

/* ---------- Instructor application: readable and consistent ---------- */
.application-card{
  padding:26px 28px!important;
  border:1px solid #dfe3e8!important;
  border-top:3px solid #f3c847!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:none!important;
}
.application-card .kicker{
  padding:0!important;
  background:transparent!important;
  color:#667085!important;
}
.application-card h2{
  font-family:Inter,Manrope,system-ui,sans-serif!important;
  color:#111827!important;
  letter-spacing:-.03em;
}
.application-card p{
  max-width:840px;
  margin:9px 0 0!important;
  color:#667085!important;
  line-height:1.65;
}
.application-card .btn-yellow{
  border:1px solid #111827!important;
  background:#111827!important;
  color:#fff!important;
}
.application-card .btn-yellow:hover{background:#2a2f3a!important}

/* ---------- Branch location panel: docked information, no glass card ---------- */
.map-card{
  min-height:510px!important;
  border:1px solid #dfe3e8!important;
  border-radius:10px!important;
  background:#f4f5f7!important;
  box-shadow:none!important;
}
.map-lines{
  opacity:.58!important;
  background:
    linear-gradient(32deg,transparent 48%,#d6dae0 49% 50%,transparent 51%),
    linear-gradient(-26deg,transparent 48%,#e0e3e8 49% 50%,transparent 51%),
    linear-gradient(76deg,transparent 48%,#d9dde3 49% 50%,transparent 51%)!important;
  background-size:170px 140px,210px 180px,260px 200px!important;
}
.map-pin{
  left:54%!important;
  top:28%!important;
  width:42px!important;
  height:42px!important;
  border-radius:50% 50% 50% 0!important;
  background:#111827!important;
  box-shadow:0 0 0 7px rgba(243,200,71,.45)!important;
}
.map-pin::after{
  width:12px!important;
  height:12px!important;
  left:15px!important;
  top:15px!important;
  background:#f3c847!important;
}
.map-info{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  padding:22px 24px 24px!important;
  border:0!important;
  border-top:1px solid #dfe3e8!important;
  border-radius:0!important;
  background:#fff!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.map-info::before{
  content:"Filiala selectată";
  display:block;
  margin-bottom:8px;
  color:#667085;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.map-info h3{
  margin:0 0 7px!important;
  color:#111827!important;
  font-size:1.28rem;
  letter-spacing:-.025em;
}
.map-info p{
  margin:2px 0!important;
  color:#667085!important;
  font-size:.9rem;
}
.map-actions{margin-top:17px!important;gap:8px!important}
.map-actions .btn{min-height:40px!important}
.branch-card.active{
  background:#fff9e8!important;
  border-color:#d9dde4!important;
  box-shadow:none!important;
}

/* ---------- Comparator: product-grade data table ---------- */
.compare-table-wrap{
  margin-top:26px!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.compare-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  min-width:780px!important;
  color:#344054;
}
.compare-table th,
.compare-table td{
  padding:16px 18px!important;
  border:0!important;
  border-bottom:1px solid #e6e9ed!important;
  border-right:1px solid #eef0f3!important;
  line-height:1.5;
}
.compare-table th:last-child,
.compare-table td:last-child{border-right:0!important}
.compare-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#111827!important;
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:.025em;
}
.compare-table thead th:first-child{
  left:0;
  z-index:4;
  background:#111827!important;
  color:#f3c847!important;
}
.compare-table tbody td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  width:190px;
  background:#f8f9fb!important;
  color:#475467!important;
  font-size:.8rem;
  font-weight:850!important;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.compare-table tbody tr:hover td:not(:first-child){background:#fffdf6!important}
.compare-table tbody tr:last-child td{border-bottom:0!important}
.compare-table .btn-soft{
  min-height:38px!important;
  border:1px solid #111827!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#111827!important;
}
.compare-table .btn-soft:hover{background:#111827!important;color:#fff!important}

/* ---------- Category B process: align schedule with first process step ---------- */
.theory-flow-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(500px,1fr);
  grid-template-areas:
    "intro empty"
    "steps schedule";
  column-gap:34px;
  row-gap:20px;
  align-items:start;
}
.theory-flow-intro{grid-area:intro}
.theory-flow-intro h2{
  margin:9px 0 0;
  max-width:650px;
  color:#111827;
  font-family:Inter,Manrope,system-ui,sans-serif!important;
  font-size:clamp(2.25rem,4vw,3.65rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.theory-flow-steps{
  grid-area:steps;
  display:block!important;
  margin-top:0!important;
  border-top:1px solid #dfe3e8;
}
.theory-flow-steps .feature{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr);
  gap:16px!important;
  min-height:0!important;
  padding:20px 0!important;
  border:0!important;
  border-bottom:1px solid #dfe3e8!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.theory-flow-steps .feature:hover{
  border-color:#dfe3e8!important;
  box-shadow:none!important;
}
.theory-flow-steps .feature b{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  border:1px solid #e0b93e!important;
  border-radius:7px!important;
  background:#fff9e8!important;
  color:#111827!important;
  font-size:.86rem;
}
.theory-flow-steps .feature strong{color:#111827!important;font-size:.94rem}
.theory-flow-steps .feature p{margin:4px 0 0!important;color:#667085!important;line-height:1.55}
.theory-schedule{
  grid-area:schedule;
  align-self:start;
  padding:22px!important;
  border:1px solid #dfe3e8!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.theory-schedule-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid #e4e7ec;
}
.theory-schedule-head .kicker{color:#111827!important}
.theory-schedule-head p{
  max-width:310px;
  margin:0;
  color:#667085;
  font-size:.84rem;
  line-height:1.5;
  text-align:right;
}
.theory-schedule .schedule-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:0!important;
  border-bottom:1px solid #e4e7ec;
}
.theory-schedule .schedule-item{
  min-height:150px!important;
  padding:22px!important;
  border:0!important;
  border-right:1px solid #e4e7ec!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.theory-schedule .schedule-item:last-child{border-right:0!important}
.theory-schedule .schedule-item strong{color:#111827!important;font-size:1.1rem}
.theory-schedule .schedule-item p{font-size:.84rem!important;line-height:1.55}
.theory-schedule>.btn{margin-top:18px!important}

@media(max-width:1180px){
  .zone-layout{grid-template-columns:1fr!important;gap:26px!important}
  .zone-stage{position:relative!important;top:auto!important}
  body[data-page="home"] .gallery-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  body[data-page="home"] .gallery-item.large{grid-row:auto!important}
  body[data-page="home"] .gallery-item{min-height:320px!important}
  .theory-flow-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:"intro" "steps" "schedule"!important;
    row-gap:22px!important;
  }
  .theory-schedule{max-width:none!important}
}
@media(max-width:760px){
  .zone-step{grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:18px 0!important}
  .zone-step:hover,.zone-step.active{padding-left:8px!important;padding-right:8px!important}
  .zone-step h3{display:block!important}
  .zone-step h3 span{display:block;margin-top:4px}
  .zone-scene{min-height:430px!important;padding:20px!important}
  .zone-meta{display:grid!important;grid-template-columns:1fr!important}
  .zone-meta span{border-right:0!important;border-bottom:1px solid #edf0f3!important}
  .zone-meta span:last-child{border-bottom:0!important}
  body[data-page="home"] .gallery-grid{grid-template-columns:1fr!important}
  body[data-page="home"] .gallery-item{min-height:340px!important}
  .map-card{min-height:520px!important}
  .map-info{padding:19px 18px 20px!important}
  .map-actions{display:grid!important}
  .map-actions .btn{width:100%!important}
  .application-card{display:block!important;padding:22px!important}
  .application-card .btn{margin-top:18px!important;width:100%!important}
  .theory-schedule{padding:18px!important}
  .theory-schedule-head{display:block!important}
  .theory-schedule-head p{text-align:left!important;margin-top:8px!important}
  .theory-schedule .schedule-grid{grid-template-columns:1fr!important}
  .theory-schedule .schedule-item{min-height:0!important;border-right:0!important;border-bottom:1px solid #e4e7ec!important;padding:18px 0!important}
  .theory-schedule .schedule-item:last-child{border-bottom:0!important}
}
