/* EDUNROLL V0.15.2: additive visual design layer */
:root{--eu-font-display:"Montserrat","Inter","Segoe UI",Arial,sans-serif;--eu-font-body:"Inter","Segoe UI",Arial,sans-serif;--eu-focus:#1778d4}
body{font-family:var(--eu-font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.eu-brand strong,.eu-category strong,.ot-platform-brand strong,.ot-page-title,.page-head h1,.ot-nav-link span,.eu-nav a{font-family:var(--eu-font-display)}
h1,h2,h3{letter-spacing:-.025em}
button,input,select,textarea{font-family:var(--eu-font-body)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--eu-focus);outline-offset:2px}
.eu-category,.eu-panel,.eu-books article,.eu-schools article{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.eu-category:hover,.eu-books article:hover,.eu-schools article:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(12,51,98,.10)}
.eu-title h2,.eu-hero h1{font-weight:700}.eu-nav a{font-weight:600}
.ot-content :is(.panel,.form-card,.result-card,.field-panel,.field-kpi,.org-card,.cards article){border-radius:16px;box-shadow:0 4px 18px rgba(20,50,83,.045)}
.ot-content :is(input,select,textarea){max-width:100%}
.ot-content .table-wrap{max-width:100%;overflow-x:auto}
.ot-nav-link{transition:background-color .15s ease,color .15s ease}
@media(max-width:760px){.ot-content{padding:16px}.ot-content .field-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-content .field-head{flex-wrap:wrap}.ot-content .table-wrap{-webkit-overflow-scrolling:touch}}
@media(max-width:480px){.ot-content .field-kpis{grid-template-columns:1fr}.eu-hero h1{font-size:clamp(28px,8vw,38px)}}
@media(prefers-reduced-motion:reduce){.eu-category,.eu-books article,.eu-schools article,.ot-nav-link{transition:none}}


/* V0.15.3 — centered public navigation, compact underline */
@media (min-width: 1201px) {
  .eu-nav {justify-content:center !important; gap:clamp(14px,2vw,32px) !important; overflow:visible !important; height:44px !important;}
  .eu-nav > a, .eu-nav > .eu-nav-item > a {padding:0 3px !important; height:44px !important; font-size:13px;}
  .eu-nav > a.active {border-bottom:0 !important; position:relative;}
  .eu-nav > a.active::after {content:"";position:absolute;bottom:0;left:4px;right:4px;height:2px;background:var(--blue);border-radius:3px;}
}
@media (max-width:1200px) {
  .eu-nav {justify-content:flex-start !important;overflow-x:auto !important;gap:16px !important;}
  .eu-nav > a,.eu-nav > .eu-nav-item {flex-shrink:0;}
}
/* Category tiles: enlarge icon artwork without altering admin-defined per-tile sizes */
.eu-categories-reference {grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;}
.eu-categories-reference .eu-category {min-width:0;min-height:148px;padding:9px 3px;}
.eu-categories-reference .eu-cat-icon {width:min(100%,calc(var(--eu-icon-size,80px) + 10px));height:calc(var(--eu-icon-size,80px) + 10px);}
.eu-categories-reference .eu-cat-icon img {width:min(100%,var(--eu-icon-size,80px)) !important;height:var(--eu-icon-size,80px) !important;}
.eu-categories-reference .eu-category strong {font-size:12px;}
@media(max-width:1350px){.eu-categories-reference{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:650px){.eu-categories-reference{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V0.15.4: unified icon viewport; transparent SVG/PNG supported */
.eu-categories-reference .eu-category {
  min-height:0 !important;
  height:132px !important;
  padding:9px 5px 8px !important;
  gap:3px !important;
  justify-content:center !important;
}
.eu-categories-reference .eu-cat-icon {
  width:76px !important;
  height:76px !important;
  min-height:76px !important;
  max-width:100% !important;
  margin:0 auto 2px !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.eu-categories-reference .eu-cat-icon img,
.eu-categories-reference .eu-cat-icon svg {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  filter:none !important;
}
.eu-categories-reference .eu-cat-fallback {font-size:36px !important;line-height:1}
.eu-categories-reference .eu-category strong {font-size:12px;line-height:1.2}
.eu-categories-reference .eu-category small {font-size:10px;line-height:1.2;margin-top:0}
@media(max-width:650px) {
  .eu-categories-reference .eu-category {height:124px !important;}
  .eu-categories-reference .eu-cat-icon {width:68px !important;height:68px !important;min-height:68px !important;}
}

/* V0.15.5: remove icon plate and visually blend legacy white-backed raster artwork */
.eu-categories-reference .eu-cat-icon{background:none!important;box-shadow:none!important;border:0!important;outline:0!important;}
.eu-categories-reference .eu-cat-icon img{object-fit:contain!important;mix-blend-mode:multiply;}
.eu-categories-reference .eu-cat-icon img[src$=".svg"],
.eu-categories-reference .eu-cat-icon img[src*=".svg?"]{mix-blend-mode:normal;}
.eu-categories-reference .eu-cat-icon .eu-cat-fallback{display:flex;align-items:center;justify-content:center;width:76px;height:76px;}

/* V0.15.6: larger artwork, unchanged category card height */
.eu-categories-reference .eu-category{height:132px!important;padding:5px 4px 6px!important;gap:1px!important;}
.eu-categories-reference .eu-cat-icon{width:100px!important;height:92px!important;min-height:92px!important;max-width:100%!important;margin:0 auto!important;}
.eu-categories-reference .eu-cat-icon img,
.eu-categories-reference .eu-cat-icon svg{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
.eu-categories-reference .eu-category strong{line-height:1.15!important;}
.eu-categories-reference .eu-category small{margin-top:0!important;line-height:1.1!important;}
.eu-categories-reference .eu-cat-icon .eu-cat-fallback{width:100%!important;height:100%!important;font-size:48px!important;}
@media(max-width:650px){
 .eu-categories-reference .eu-category{height:124px!important;}
 .eu-categories-reference .eu-cat-icon{width:90px!important;height:82px!important;min-height:82px!important;}
}
