/* Infectioase.ro public UX v3.7 — Scoped public presentation, no admin selectors.
   Content and WordPress data remain untouched; only rendering is updated. */
:root { --ux-ink:#14364b; --ux-deep:#092e45; --ux-teal:#14899a; --ux-line:#dae6eb; --ux-soft:#f4f8fa; }
body { color:#294559; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid #39b5c2; outline-offset:3px; }
.mainhead {box-shadow:0 6px 25px rgba(9,43,67,.075);border-bottom:1px solid #e6edf0;}
.mainnav .nav-link {transition:color .15s ease, background .15s ease;}
.footer {background:#0b293d;}
/* Visual-first hero for all internal public pages, including institutional modules. */
.page-banner.ux370-page-banner {position:relative;isolation:isolate;overflow:hidden;min-height:292px;display:flex;align-items:center;padding:0;background:#173b4d;color:#fff;}
.ux370-page-banner .ux370-banner-photo {position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.ux370-page-banner .ux370-banner-shade {position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,38,59,.95) 0%,rgba(9,51,72,.86) 36%,rgba(12,63,82,.37) 75%,rgba(12,63,82,.12) 100%);}
.ux370-page-banner .ux370-banner-inner {position:relative;padding:34px 0 48px;}
.ux370-crumb {display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#c5e1ed!important;font-size:12px;line-height:1.45;margin-bottom:28px;}
.ux370-crumb a {color:#d0edf4;text-decoration:none;}
.ux370-crumb a:hover {color:#fff;text-decoration:underline;}
.ux370-crumb [aria-current="page"] {color:#fff;}
.ux370-banner-kicker {display:inline-flex;align-items:center;gap:9px;color:#b9f2ec;letter-spacing:.13em;text-transform:uppercase;font-size:11px;line-height:1.5;font-weight:800;}
.ux370-banner-kicker:before {content:"";width:25px;height:2px;background:#7bdecf;display:inline-block;}
.ux370-page-banner h1 {color:#fff;max-width:830px;margin:13px 0 12px;font-size:clamp(29px,3.6vw,49px);line-height:1.13;font-weight:750;letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 16px rgba(4,24,35,.2);}
.ux370-page-banner p {max-width:670px;color:#dfecf3;font-size:clamp(14px,1.35vw,17px);line-height:1.7;margin:0;}
/* Editorial page layouts. */
.interior-page {padding:49px 0 90px;background:linear-gradient(180deg,#f3f8fa,#fbfcfd 300px,#fff 100%);}
.interior-shell {gap:26px;}
.interior-shell.interior-with-sidebar {grid-template-columns:minmax(0,1fr) 262px;}
.interior-content {border:1px solid #e0e9ed;box-shadow:0 13px 34px rgba(12,50,71,.055);border-radius:17px;padding:clamp(24px,3.5vw,48px);background:#fff;}
.interior-content .article-body {font-size:15.5px;line-height:1.82;color:#385469;letter-spacing:.003em;}
.interior-content .article-body p,.interior-content .article-body li {max-width:none;line-height:1.82;}
.interior-content .article-body p {margin:0 0 1.15em;}
.interior-content .article-body h1,.interior-content .article-body h2,.interior-content .article-body h3 {text-wrap:balance;color:#14394f;}
.interior-content .article-body h2 {font-size:clamp(21px,2.4vw,30px);line-height:1.24;font-weight:750;margin:40px 0 18px;padding:0 0 14px;border-bottom:1px solid #e6eff3;scroll-margin-top:130px;}
.interior-content .article-body h2:before {content:"";display:inline-block;width:5px;height:23px;border-radius:4px;background:#159eaa;margin:0 14px -3px 0;}
.interior-content .article-body h3 {font-size:clamp(17px,1.65vw,21px);margin:29px 0 11px;}
.interior-content .article-body ul:not(.cm350-list),.interior-content .article-body ol {padding-left:24px;margin:14px 0 24px;}
.interior-content .article-body li {padding-left:4px;margin:6px 0;}
.interior-content .article-body li::marker {color:#17959d;}
.interior-content .article-body img {border-radius:12px;max-width:100%;height:auto;}
.interior-content .article-body figure {margin:24px 0;}
.interior-content .article-body a:not(.cm350-button):not(.bi-nav a) {text-underline-offset:3px;}
.interior-content .article-body table {margin:24px 0;border-radius:10px;border:1px solid #dae8ed;max-width:100%;}
.interior-content .article-body th {background:#ecf5f8;color:#15374f;font-weight:750;}
.interior-content .article-body tr:nth-child(even) {background:#f9fcfd;}
.interior-content .article-body blockquote {padding:19px 25px;background:#eff8f9;border-left-color:#19a0a5;line-height:1.72;}
.interior-side {gap:15px;top:122px;}
.interior-aside-box {padding:22px;border-radius:14px;border:1px solid #dfebef;box-shadow:0 8px 27px rgba(18,53,69,.045);}
.interior-aside-box:first-child {border-top:3px solid #1a9ca9;}
.interior-aside-box h2 {font-size:16px;font-weight:750;margin-bottom:12px;}
.interior-side-nav a {border-radius:9px;font-size:13px;padding:12px 13px;}
.interior-side-nav a:hover {background:#eaf5f6;text-decoration:none;}
.interior-section-heading {margin-top:43px;margin-bottom:19px;}
.interior-section-heading h2 {font-size:clamp(22px,2.3vw,29px);letter-spacing:-.018em;}
.interior-child-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.interior-child-card {background:#f4f9fb;padding:19px 22px;border-color:#dfebef;border-radius:11px;}
.interior-child-card:hover {background:#eaf5f7;box-shadow:0 6px 14px rgba(10,69,81,.065);}
/* Curated photos from the former WordPress site. */
.ux370-editorial-intro {display:flex;gap:16px;align-items:flex-start;margin:0 0 25px;}
.ux370-intro-line {width:4px;min-width:4px;height:52px;border-radius:9px;background:linear-gradient(#36b9b4,#28789a);margin-top:1px;}
.ux370-editorial-intro p {font-size:clamp(16px,1.7vw,19px);line-height:1.6;color:#35576b;font-weight:450;max-width:720px;margin:0;}
.ux370-gallery {margin:0 0 30px;}
.ux370-gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.ux370-gallery-grid.ux370-gallery-single {grid-template-columns:1fr;}
.ux370-gallery figure {margin:0;position:relative;min-width:0;overflow:hidden;border-radius:14px;background:#e9f1f3;box-shadow:0 10px 23px rgba(10,50,68,.075);}
.ux370-gallery img {width:100%;height:clamp(180px,20vw,265px);object-fit:cover;display:block;transition:transform .3s ease;}
.ux370-gallery figure:hover img {transform:scale(1.025);}
.ux370-gallery figcaption {position:absolute;bottom:0;left:0;right:0;padding:17px 16px 12px;background:linear-gradient(transparent,rgba(7,27,40,.8));color:#f5fbfd;font-size:12px;line-height:1.5;pointer-events:none;}
.ux370-jumps {border-radius:13px;padding:20px 21px;margin:0 0 30px;border:1px solid #d6e8ec;background:linear-gradient(125deg,#f0f9fa,#fff);}
.ux370-jumps>strong {display:block;margin-bottom:13px;font-size:14px;color:#11445a;}
.ux370-jumps>div {display:flex;gap:8px;flex-wrap:wrap;}
.ux370-jumps a {font-size:12px;font-weight:650;color:#24637a;padding:8px 11px;border-radius:20px;border:1px solid #d6e9ee;background:#fff;text-decoration:none;}
.ux370-jumps a:hover {background:#1d7889;color:#fff;border-color:#1d7889;}
/* Document collection: one visible system, not a Word list. */
.interior-document-grid,.ia310-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.interior-document-card,.ia310-card {border-radius:13px;border:1px solid #dbe7ed;background:#fff;box-shadow:0 5px 17px rgba(12,51,71,.04);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;}
.interior-document-card:hover,.ia310-card:hover {transform:translateY(-3px);border-color:#a5ced9;box-shadow:0 13px 24px rgba(12,51,71,.075);}
.interior-document-card {min-height:185px;padding:22px;}
.interior-document-card h3 {font-size:14px;line-height:1.48;font-weight:720;}
.ia310 {background:#f5f9fa;}
.ia310 .ia310-shell {max-width:1200px;padding-top:38px;padding-bottom:70px;}
.ia310-head {background:#fff;border:1px solid #e0eaed;border-radius:15px;padding:29px 33px 25px;border-top:4px solid #189aaa;box-shadow:0 9px 28px rgba(12,51,71,.04);}
.ia310-head h2 {font-size:clamp(23px,3vw,35px);letter-spacing:-.02em;}
.ia310-head p {color:#567081;max-width:none;line-height:1.73;}
.ia310-filters {border-radius:13px;padding:21px;gap:12px;box-shadow:0 6px 20px rgba(12,51,71,.03);}
.ia310-card {padding:23px 24px;min-height:194px;}
.ia310-card h4 {font-size:15px;color:#133c51;}
.ia310-open {text-decoration:none;font-weight:750;}
.ia310-legacy {background:#fff;border:1px solid #e0ebef;border-radius:12px;padding:17px 23px;margin-top:34px;}
/* Institutional people, organigrams, secții, laboratory — coherent design. */
.inst-v211,.inst300-public {background:linear-gradient(#f4f9fb,#fff 350px);padding:45px 0 75px;}
.inst-v211 .inst-section {margin:25px 0 38px;padding:25px 27px;border-radius:15px;background:#fff;border:1px solid #e1eaf0;box-shadow:0 9px 25px rgba(18,52,70,.04);}
.inst-v211 .inst-section>h2 {font-size:clamp(21px,2.3vw,29px);color:#123b51;letter-spacing:-.02em;margin-bottom:20px;}
.inst-v211 .inst-intro {max-width:none;color:#516e7e;line-height:1.8;}
.inst-v211 .inst-person,.inst-v211 .inst-doc {border:1px solid #dce8ed;box-shadow:none;border-radius:12px;transition:transform .18s ease,border-color .18s ease;}
.inst-v211 .inst-person:hover,.inst-v211 .inst-doc:hover {border-color:#b6d9df;transform:translateY(-2px);}
.inst-v211 .inst-avatar {font-size:0;position:relative;}
.inst-v211 .inst-avatar:after {content:"";position:absolute;top:25%;left:38%;width:23%;height:25%;border-radius:50%;background:#91b8c8;box-shadow:0 29px 0 10px #91b8c8;}
.inst-v211 .inst-muted {padding:16px 19px;background:#f4f8fa;border:1px dashed #ccdee6;border-radius:9px;line-height:1.65;}
.inst-v211 .inst-doc-grid {gap:16px;}
.inst-v211 .inst-legacy,.inst300-public .inst300-historic {border:1px solid #dbe9ed;border-radius:13px;background:#fff;padding:20px;}
.inst-v211 .inst-legacy summary,.inst300-public .inst300-historic summary {color:#1a607b;cursor:pointer;}
.inst300-public .inst300-intro {max-width:none;margin-bottom:29px;}
.inst300-public .inst300-intro h2 {color:#163b51;font-size:clamp(22px,2.9vw,35px);}
.inst300-public .inst300-section {margin:26px 0 43px;}
.inst300-public .inst300-section>h3 {font-size:clamp(21px,2.2vw,28px);margin:0 0 19px;padding-bottom:13px;border-bottom:1px solid #dfeaec;}
.inst300-public .inst300-card {padding:24px;border-color:#dbe8ed;border-radius:13px;border-top:4px solid #2093a2;box-shadow:0 10px 25px rgba(11,48,71,.047);}
.inst300-public .inst300-card h4 {font-size:20px;line-height:1.32;}
.inst300-public .inst300-card dl>div {padding:12px 0;}
/* Universal public pages that are not routed through interior renderer. */
.page-body:not(.interior-page):not(.inst-v211):not(.inst300-public) {background:#f6fafc;}
.content-layout>.content-panel {background:white;padding:clamp(22px,3vw,36px);border-radius:15px;border:1px solid #e1ebef;}
.news-card,.linkcard {border-radius:13px;border:1px solid #dce8ee;}
.news-card:hover,.linkcard:hover {border-color:#a8cfd7;box-shadow:0 12px 28px rgba(10,46,68,.07);}
/* Legacy blockquote & CMSMasters columns, preserve existing semantic text. */
.interior-content .cm350-row {gap:19px;margin:22px 0;}
.interior-content .cm350-column {flex:1 1 270px;min-width:0;}
.interior-content .cm350-block,.interior-content .cm350-box {padding:21px;border-radius:13px;background:#f8fbfc;border-color:#e0ebef;}
/* Accessibility and responsive behavior */
@media (max-width:1000px) {
 .interior-shell.interior-with-sidebar {grid-template-columns:minmax(0,1fr) 230px;gap:20px;}
 .inst-v211 .inst-people-grid,.inst-v211 .inst-doc-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px) {
 .page-banner.ux370-page-banner {min-height:258px;}
 .ux370-page-banner .ux370-banner-inner {padding:24px 0 33px;}
 .ux370-crumb {margin-bottom:20px;}
 .ux370-page-banner .ux370-banner-shade {background:linear-gradient(90deg,rgba(9,38,57,.96),rgba(11,49,66,.79) 72%,rgba(11,49,66,.54));}
 .ux370-page-banner h1 {font-size:clamp(27px,6vw,36px);}
 .interior-page {padding:23px 0 58px;}
 .interior-shell.interior-with-sidebar {grid-template-columns:1fr;gap:16px;}
 .interior-content {padding:24px;border-radius:14px;}
 .interior-content .article-body {font-size:15px;}
 .interior-side {position:static;grid-row:auto;}
 .ux370-gallery-grid {grid-template-columns:1fr;}
 .ux370-gallery img {height:230px;}
 .interior-document-grid,.ia310-grid,.inst300-public .inst300-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .inst-v211 .inst-section {padding:21px;}
}
@media (max-width:540px) {
 .ux370-page-banner .ux370-banner-inner {padding:18px 0 28px;}
 .ux370-page-banner p {font-size:14px;}
 .interior-content {padding:20px;}
 .ux370-gallery img {height:200px;}
 .ux370-jumps {padding:16px;}
 .ux370-jumps a {display:block;width:100%;}
 .interior-child-grid,.interior-document-grid,.ia310-grid,.inst300-public .inst300-grid,.inst-v211 .inst-people-grid,.inst-v211 .inst-doc-grid {grid-template-columns:1fr;}
 .ia310 .ia310-shell {padding-top:24px;}
 .ia310-head {padding:22px;}
}
@media (prefers-reduced-motion:reduce) { .ux370-gallery img,.ia310-card,.interior-document-card,.inst-v211 .inst-person {transition:none!important;} }
.ux370-institutional-links {margin:0 0 30px;background:#fff;border:1px solid #deeaee;border-radius:14px;padding:18px 21px;box-shadow:0 8px 26px rgba(12,50,70,.035);}
.ux370-organisation-label {font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#647e8e;font-weight:800;display:block;margin-bottom:12px;}
.ux370-institutional-links>div {display:flex;flex-wrap:wrap;gap:9px;}
.ux370-institutional-links a {display:inline-block;padding:9px 13px;color:#245e75;border:1px solid #dceaf0;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;background:#f7fbfc;}
.ux370-institutional-links a[aria-current="page"],.ux370-institutional-links a:hover {background:#177d91;border-color:#177d91;color:#fff;}
