/* ==========================================================================
   DSP Neamț — strat vizual peste tema Olivero
   ========================================================================== */

:root{
  --font-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;
  --d-blue-900:#0a3a5c; --d-blue-800:#0d4d78; --d-blue-700:#0e6ba6; --d-blue-500:#2b93d6;
  --d-teal:#0f9b8e; --d-green:#2f9e63; --d-red:#d64545;
  --d-amber:#c8860d; --d-indigo:#4f5bd5;
  --d-line:#e3eaf0; --d-ink:#1b2733; --d-mut:#55677a;
  --dsp-fs:1;
}
html.dsp-fs-1{ --dsp-fs:1.12; }
html.dsp-fs-2{ --dsp-fs:1.26; }

body{ background-image:none; }

.path-frontpage #block-olivero-content,
.path-frontpage #block-olivero-page-title{ grid-column:2 / 14 !important; }
.path-frontpage #block-olivero-page-title{ display:none !important; }
.path-frontpage .region--content-above{ padding:0 !important; }

/* ===== BARA DE ACCESIBILITATE + BARA DE CONTACT ===== */
.site-header__inner__container > .dsp-a11y{ flex:0 0 100%; order:-3; position:relative; }
.site-header__inner__container > .dsp-util{ flex:0 0 100%; order:-2; position:relative; }
.dsp-a11y::before,.dsp-util::before{ content:""; position:absolute; inset:0; left:50%; transform:translateX(-50%); width:100vw; z-index:0; }
.dsp-a11y::before{ background:#0a2c45; }
.dsp-util::before{ background:var(--d-blue-800); }
.dsp-a11y-in,.dsp-util-in{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; }
.dsp-a11y-in{ justify-content:flex-end; padding:6px 0; }
.dsp-util-in{ justify-content:space-between; padding:7px 0; }
.dsp-a11y-g,.dsp-util-g{ display:inline-flex; align-items:center; gap:7px; flex-wrap:wrap; }
.dsp-a11y-t{ color:#b9d4e8; font-size:12.5px; }
.dsp-a11y button{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.28); color:#fff;
  font:inherit; font-size:12.5px; font-weight:700; padding:3px 9px; border-radius:6px; cursor:pointer; line-height:1.5;
}
.dsp-a11y button:hover{ background:rgba(255,255,255,.22); }
.dsp-a11y button.is-on,.dsp-a11y button[aria-pressed="true"]{ background:var(--d-amber); border-color:var(--d-amber); color:#fff; }
.dsp-util a{ color:#dbeaf6 !important; font-size:13px; text-decoration:none; }
.dsp-util a:hover{ color:#fff !important; text-decoration:underline; }

/* ===== HERO ===== */
.dsp-hero{ position:relative; padding:46px 0 54px; margin:0 0 44px; }
.dsp-hero::before{
  content:""; position:absolute; inset:0; left:50%; transform:translateX(-50%);
  width:100vw; z-index:0;
  background:linear-gradient(135deg,var(--d-blue-900) 0%,var(--d-blue-700) 62%,var(--d-blue-500) 100%);
}
.dsp-hero::after{
  content:""; position:absolute; inset:0; left:50%; transform:translateX(-50%);
  width:100vw; z-index:1; pointer-events:none; opacity:.6;
  background:radial-gradient(560px 360px at 88% -14%, rgba(255,255,255,.2), transparent 62%);
}
.dsp-hero-in{ position:relative; z-index:2; display:flex; flex-direction:column; gap:18px; align-items:flex-start; }
.dsp-hero-in > p{ margin:0; }

.dsp-badge{
  display:inline-flex; align-items:center; gap:7px; box-sizing:border-box; max-width:100%;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32);
  color:#eef7ff; font-size:12.5px; font-weight:700; padding:6px 12px; border-radius:999px;
}
.dsp-dot{ width:7px; height:7px; border-radius:50%; background:#5fe3a3; box-shadow:0 0 0 3px rgba(95,227,163,.25); flex:none; }

.dsp-hero .dsp-h1{ color:#fff !important; font-size:calc(40px * var(--dsp-fs)); line-height:1.2; letter-spacing:-.01em; margin:0; max-width:820px; font-weight:800; }
.dsp-hero .dsp-lead{ margin:0; color:#dfeefb !important; font-size:calc(17px * var(--dsp-fs)); max-width:640px; line-height:1.6; }

/* CKEditor invelește conținutul formularului într-un <p>: îl facem tot flex */
.dsp-search{ background:#fff; border-radius:14px; padding:6px; display:flex; gap:6px; width:100%; max-width:580px; box-shadow:0 16px 36px rgba(0,0,0,.2); }
.dsp-search > p{ display:flex; gap:6px; width:100%; min-width:0; margin:0; padding:0; }
.dsp-search input{ flex:1 1 auto !important; min-width:0; width:auto !important; border:0; padding:13px 14px; font:inherit; font-size:15px; border-radius:9px; color:var(--d-ink); background:#fff; }
.dsp-search input:focus{ outline:2px solid var(--d-blue-700); outline-offset:-2px; }
.dsp-search button{ flex:0 0 auto; background:var(--d-amber); color:#fff; border:0; border-radius:9px; padding:0 22px; font:inherit; font-weight:700; font-size:14.5px; cursor:pointer; }
.dsp-search button:hover{ filter:brightness(1.08); }

.dsp-pills{ display:flex; gap:8px; flex-wrap:wrap; }
.dsp-pill{
  display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3); color:#fff !important; font-size:13.5px; font-weight:600;
  padding:8px 13px; border-radius:999px; text-decoration:none; transition:.15s;
}
.dsp-pill:hover{ background:rgba(255,255,255,.24); transform:translateY(-1px); }

.dsp-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:2px; }
.dsp-btn{ display:inline-flex; align-items:center; padding:12px 22px; border-radius:10px; font-weight:700; font-size:14.5px; text-decoration:none; transition:.15s; }
.dsp-btn-light{ background:#fff; color:var(--d-blue-800) !important; }
.dsp-btn-light:hover{ background:#eaf5ff; transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.16); }
.dsp-btn-outline{ border:1.5px solid rgba(255,255,255,.55); color:#fff !important; }
.dsp-btn-outline:hover{ background:rgba(255,255,255,.14); }

@media (max-width:700px){
  .dsp-hero{ padding:32px 0 38px; margin-bottom:32px; }
  .dsp-hero .dsp-h1{ font-size:calc(26px * var(--dsp-fs)); }
  .dsp-hero .dsp-lead{ font-size:calc(15.5px * var(--dsp-fs)); }
  .dsp-search > p{ flex-direction:column; }
  .dsp-search button{ padding:12px 22px; }
}

/* ===== MENIU: pictograma + descriere ===== */
nav.mm .mm-panel a{ display:flex !important; gap:11px; align-items:flex-start; padding:9px 8px !important; border-radius:9px; margin-bottom:1px; }
nav.mm .mm-panel a::before{ display:none !important; }
nav.mm .mm-panel a:hover{ background:#eef5fb; }
nav.mm .mm-ic{ flex:none; width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-size:15px; line-height:1; background:#eaf2f8; border-radius:7px; margin-top:1px; }
nav.mm .mm-lbl{ display:flex; flex-direction:column; gap:1px; min-width:0; }
nav.mm .mm-lbl b{ font-size:14px; font-weight:700; color:var(--d-blue-900); line-height:1.3; }
nav.mm .mm-lbl > span{ font-size:12.3px; color:#5b6b7a; line-height:1.35; }

/* ===== Continut ===== */
.path-frontpage .hp .hlead{ margin:0 0 48px; }
.path-frontpage .hp .hlead p{ font-size:calc(17.5px * var(--dsp-fs)); line-height:1.75; color:#33475b; max-width:860px; }
.hp section{ margin:54px 0; }
.hp h2{ font-size:calc(26px * var(--dsp-fs)); letter-spacing:-.01em; color:var(--d-blue-900); }
.hp h2:before{ background:var(--d-blue-700); width:30px; height:5px; }
.hp .sub{ font-size:calc(15px * var(--dsp-fs)); color:var(--d-mut); margin-bottom:24px; }
#page-wrapper .node__content p,#page-wrapper .node__content li,#page-wrapper .sec-intro{ font-size:calc(16px * var(--dsp-fs)); }

/* ===== Carduri ===== */
.hp .hgrid{ gap:20px; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.hp .hc{
  border:1px solid var(--d-line); border-top:4px solid var(--d-blue-700);
  border-radius:16px; padding:26px 24px 24px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.hp .hc:hover{ transform:translateY(-5px); box-shadow:0 18px 38px rgba(10,58,92,.15); }
.hp .hc .ht{ font-size:calc(16.5px * var(--dsp-fs)); font-weight:700; color:var(--d-ink); }
.hp .hc .hd{ font-size:calc(14px * var(--dsp-fs)); color:var(--d-mut); line-height:1.6; }
.hp .hgrid .hc:nth-child(6n+1){ border-top-color:var(--d-blue-700); }
.hp .hgrid .hc:nth-child(6n+2){ border-top-color:var(--d-teal); }
.hp .hgrid .hc:nth-child(6n+3){ border-top-color:var(--d-indigo); }
.hp .hgrid .hc:nth-child(6n+4){ border-top-color:var(--d-green); }
.hp .hgrid .hc:nth-child(6n+5){ border-top-color:var(--d-amber); }
.hp .hgrid .hc:nth-child(6n+6){ border-top-color:var(--d-blue-500); }
.hp .emg .hc{ border-top-color:var(--d-red) !important; }

/* ===== Contrast ridicat ===== */
html.dsp-hc #page-wrapper{ background:#fff; }
html.dsp-hc .hp .hc{ border-color:#0a3a5c; border-width:2px; }
html.dsp-hc .hp .hc .hd,html.dsp-hc .hp .sub,html.dsp-hc #page-wrapper .node__content p{ color:#1a2430 !important; }
html.dsp-hc nav.mm .mm-lbl > span{ color:#243444 !important; }
html.dsp-hc #page-wrapper a{ text-decoration:underline; }
html.dsp-hc .dsp-hero::before{ background:#08304d; }
html.dsp-hc .dsp-hero .dsp-lead{ color:#fff !important; }

/* ===== Bara rapida fixa pe mobil ===== */
.dsp-quickbar{ display:none; }
@media (max-width:760px){
  .site-header__inner__container > .dsp-quickbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90; background:#fff;
    border-top:1px solid var(--d-line); box-shadow:0 -6px 18px rgba(10,58,92,.12);
    transform:translateZ(0); backface-visibility:hidden;
  }
  .dsp-quickbar a{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 4px 7px;
    color:var(--d-blue-900) !important; text-decoration:none; font-size:11px; font-weight:700;
  }
  .dsp-qb-i{ font-size:17px; line-height:1.1; }
  .dsp-quickbar .dsp-qb-main{ color:#fff !important; background:var(--d-blue-700); border-radius:12px; margin:6px; flex:1.2; }
  footer{ padding-bottom:86px !important; }
}

/* ===== Accesibilitate: contur la navigarea cu tastatura (WCAG 2.4.7) ===== */
#page-wrapper a:focus-visible,
#page-wrapper button:focus-visible,
#page-wrapper input:focus-visible,
#page-wrapper select:focus-visible,
#page-wrapper textarea:focus-visible,
.dsp-a11y button:focus-visible{
  outline:3px solid var(--d-blue-700); outline-offset:2px; border-radius:3px;
}
.dsp-a11y button:focus-visible{ outline-color:#ffd166; }
nav.mm .mm-list > li > a:focus-visible,
nav.mm .mm-list > li > p > a:focus-visible{
  outline:3px solid var(--d-blue-700); outline-offset:-3px;
}

/* ==========================================================================
   Corectura pozitionare bare (suprascrie regulile de mai sus)
   Barele stau ascunse pana cand JS le muta la locul lor, ca sa nu apara
   o fractiune de secunda in pozitia gresita si sa nu se strice antetul
   daca JS-ul nu ruleaza.
   ========================================================================== */
.dsp-a11y,.dsp-util{ display:none; }
#page > .dsp-a11y,#page > .dsp-util{ display:block; position:relative; }
#page > .dsp-a11y{ background:#0a2c45; }
#page > .dsp-util{ background:#0d4d78; }
#page > .dsp-a11y::before,#page > .dsp-util::before{ display:none; }

.dsp-a11y-in,.dsp-util-in{
  max-width:1350px; margin:0 auto; padding:0 36px;
  display:flex; flex-wrap:wrap; align-items:center;
}
/* Independent de gruparile <span>: CKEditor le poate desface la salvare. */
.dsp-a11y-in{ justify-content:flex-end; gap:5px 8px; padding-top:6px; padding-bottom:6px; }
.dsp-a11y-in .dsp-a11y-t{ margin-left:14px; }
.dsp-a11y-in > *:first-child{ margin-left:0; }
.dsp-util-in{ justify-content:flex-start; gap:6px 18px; padding-top:7px; padding-bottom:7px; }
.dsp-util-in > *:nth-child(3){ margin-left:auto; }
.dsp-util-in > .dsp-util-g:nth-child(2){ margin-left:auto; }

.dsp-quickbar{ display:none; }
@media (max-width:760px){
  body > .dsp-quickbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:500; background:#fff;
    border-top:1px solid var(--d-line); box-shadow:0 -6px 18px rgba(10,58,92,.12);
    transform:translateZ(0); backface-visibility:hidden;
  }
}

/* ==========================================================================
   Antet compact: sigla + meniu + cautare, ca in macheta.
   Olivero impune min-height:180px pe antet si inaltimi pe blocuri;
   regulile de mai jos le anuleaza. Specificitatea "html body" e necesara
   pentru ca blocul de meniu contine deja reguli cu "body ... !important".
   ========================================================================== */
@media (min-width:1120px){
  html body header.site-header,
  html body .site-header__fixable,
  html body .site-header__initial,
  html body #site-header__inner{ min-height:0 !important; }
  html body .site-header__fixable{ align-items:center !important; }
  html body .site-header__initial{ align-self:center !important; height:auto !important; }
  html body .site-header__initial .sticky-header-toggle{ height:auto !important; min-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; }
  html body .site-header__inner__container{ padding-top:8px !important; padding-bottom:8px !important; min-height:0 !important; align-items:center; }
  html body .site-header__inner__container > *{ align-self:center !important; }
  html body .site-header__inner__container > #header-nav{ height:auto !important; min-height:0 !important; }
  html body #block-olivero-site-branding{ min-height:0 !important; height:auto !important; align-items:center !important; }
  html body #block-olivero-site-branding .site-branding__inner{ min-height:0 !important; height:auto !important; padding:0 !important; align-items:center !important; gap:12px !important; }
  html body #block-olivero-site-branding img{ width:52px !important; height:52px !important; }
  html body #block-olivero-site-branding .site-branding__name,
  html body #block-olivero-site-branding .site-branding__name a{ font-size:13.5px !important; line-height:1.28 !important; max-width:none !important; }
  html body #block-olivero-site-branding .site-branding__slogan,
  html body #block-olivero-site-branding .dsp-sub{ font-size:11px !important; line-height:1.3 !important; margin-top:2px !important; }
}

/* 1120–1359px: meniul nu incape langa sigla, ramane pe rand propriu */
@media (min-width:1120px) and (max-width:1359px){
  html body #block-olivero-site-branding .site-branding__text{ max-width:420px !important; }
  html body .site-header__inner__container{ flex-wrap:wrap !important; }
  html body .site-header__inner__container > nav.mm{ flex:0 0 100% !important; order:5 !important; margin-top:4px !important; border-top:1px solid #e6edf3 !important; height:auto !important; }
  html body nav.mm .mm-list{ justify-content:flex-start !important; flex-wrap:wrap !important; }
  html body nav.mm .mm-list > li > a,
  html body nav.mm .mm-list > li > p > a{ padding:9px 9px !important; font-size:13.5px !important; }
}

/* >=1360px: totul pe un singur rand */
@media (min-width:1360px){
  html body .site-header__inner__container{ flex-wrap:nowrap !important; gap:16px; }
  html body .site-header__inner__container > nav.mm{
    flex:1 1 auto !important; order:0 !important; margin-top:0 !important; border-top:0 !important;
    min-width:0; height:auto !important; align-items:center !important;
  }
  html body .site-header__inner__container > #block-olivero-site-branding{ flex:0 0 auto !important; }
  html body #block-olivero-site-branding .site-branding__text{ max-width:210px !important; }
  html body nav.mm .mm-list{ justify-content:flex-end !important; flex-wrap:nowrap !important; }
  html body nav.mm .mm-list > li > a,
  html body nav.mm .mm-list > li > p > a{ padding:9px 7px !important; font-size:12.5px !important; }
}

/* Hero lipit de antet pe prima pagina */
.path-frontpage .hp .dsp-hero{ margin-top:0 !important; }
.path-frontpage .main-content,
.path-frontpage .main-content__container,
.path-frontpage main,
.path-frontpage .region--content{ padding-top:0 !important; margin-top:0 !important; }

/* ==========================================================================
   Antet lat cu sigla mare + hero si continut pe toata latimea paginii
   ========================================================================== */

/* comutatorul Olivero de antet fix (dunga albastra din stanga) */
html body .site-header__initial{ display:none !important; }

@media (min-width:1120px){
  html body header.site-header,
  html body .site-header__fixable,
  html body #site-header__inner{ min-height:0 !important; height:auto !important; }
  html body .site-header__fixable{ align-items:center !important; }
  html body .site-header__inner__container{
    max-width:none !important; min-height:0 !important; height:auto !important;
    align-items:center !important; padding:10px 40px !important;
  }
  html body .site-header__inner__container > *{ align-self:center !important; }
  html body .site-header__inner__container > nav.mm{ height:auto !important; }
  html body .site-header__inner__container > #header-nav{ height:auto !important; min-height:0 !important; }

  html body #block-olivero-site-branding{ margin-left:0 !important; padding:0 !important; min-height:0 !important; height:auto !important; align-items:center !important; }
  html body #block-olivero-site-branding .site-branding__inner{ min-height:0 !important; height:auto !important; padding:0 !important; align-items:center !important; gap:14px !important; }
  html body #block-olivero-site-branding img{ width:64px !important; height:64px !important; }
  html body #block-olivero-site-branding .site-branding__name,
  html body #block-olivero-site-branding .site-branding__name a{ font-size:17px !important; line-height:1.25 !important; max-width:none !important; }
  html body #block-olivero-site-branding .site-branding__slogan,
  html body #block-olivero-site-branding .dsp-sub{ font-size:12.5px !important; }
}

/* peste 1360px: sigla + meniu + cautare pe un singur rand */
@media (min-width:1360px){
  html body .site-header__inner__container{ flex-wrap:nowrap !important; gap:18px !important; }
  html body .site-header__inner__container > nav.mm{
    flex:1 1 auto !important; order:0 !important; margin-top:0 !important;
    border-top:0 !important; min-width:0 !important; align-items:center !important;
  }
  html body .site-header__inner__container > #block-olivero-site-branding{ flex:0 0 auto !important; }
  html body #block-olivero-site-branding .site-branding__text{ max-width:265px !important; }
  html body nav.mm .mm-list{ justify-content:flex-end !important; flex-wrap:nowrap !important; }
  html body nav.mm .mm-list > li > a,
  html body nav.mm .mm-list > li > p > a{ padding:10px 10px !important; font-size:14px !important; }
}

/* continut si hero pe toata latimea; textul ramane centrat, la latime lizibila */
.path-frontpage .main-content__container{ max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
.path-frontpage .region--content{ max-width:none !important; }
.path-frontpage #block-olivero-content{ grid-column:1 / -1 !important; max-width:none !important; }
.path-frontpage .hp{ max-width:none !important; width:100% !important; margin:0 !important; }
.path-frontpage .hp .dsp-hero{ width:100% !important; max-width:none !important; margin-top:0 !important; }
.path-frontpage .hp .dsp-hero::before,
.path-frontpage .hp .dsp-hero::after{ left:0 !important; transform:none !important; width:100% !important; }
.path-frontpage .hp .dsp-hero-in{ max-width:1240px !important; margin:0 auto !important; padding:0 40px !important; }
.path-frontpage .hp > *:not(.dsp-hero){
  max-width:1240px !important; margin-left:auto !important; margin-right:auto !important;
  padding-left:40px !important; padding-right:40px !important; box-sizing:border-box !important;
}
.path-frontpage .main-content,
.path-frontpage .main-content__container,
.path-frontpage main,
.path-frontpage .region--content,
.path-frontpage .region--content-above{ padding-top:0 !important; margin-top:0 !important; }

/* ==========================================================================
   Continutul principal pe toata latimea paginii.
   Olivero rezerva 90px in dreapta pentru bara sociala (.social-bar), care e
   display:none pe acest site, si impinge .main-content spre dreapta prin
   flex. Fara aceste doua reguli, hero-ul ramane cu 90px mai ingust decat
   barele de sus.
   ========================================================================== */
.path-frontpage #main{ justify-content:flex-start !important; }
.path-frontpage .main-content{
  margin:0 !important; flex:1 1 auto !important;
  width:100% !important; max-width:none !important;
}

/* ==========================================================================
   Zona 901–1119px: sub 900px intra hamburgerul (regula din blocul de meniu),
   iar regulile compacte de mai sus incep la 1120px. Fara blocul asta,
   intervalul ramane cu antetul nemodificat al temei si meniul rupt urat.
   ========================================================================== */
@media (min-width:901px) and (max-width:1119px){
  html body header.site-header,
  html body .site-header__fixable,
  html body #site-header__inner{ min-height:0 !important; height:auto !important; }
  html body .site-header__fixable{ align-items:center !important; }
  html body .site-header__initial{ display:none !important; }

  html body .site-header__inner__container{
    max-width:none !important; min-height:0 !important; height:auto !important;
    flex-wrap:wrap !important; align-items:center !important; padding:10px 24px !important;
  }
  html body .site-header__inner__container > *{ align-self:center !important; }
  html body .site-header__inner__container > #header-nav{ height:auto !important; min-height:0 !important; }

  html body #block-olivero-site-branding{
    margin-left:0 !important; padding:0 !important; flex:1 1 auto !important;
    min-height:0 !important; height:auto !important; align-items:center !important;
  }
  html body #block-olivero-site-branding .site-branding__inner{
    min-height:0 !important; height:auto !important; padding:0 !important;
    align-items:center !important; gap:12px !important;
  }
  html body #block-olivero-site-branding img{ width:52px !important; height:52px !important; }
  html body #block-olivero-site-branding .site-branding__text{ max-width:none !important; }
  html body #block-olivero-site-branding .site-branding__name,
  html body #block-olivero-site-branding .site-branding__name a{ font-size:15px !important; line-height:1.25 !important; max-width:none !important; }
  html body #block-olivero-site-branding .site-branding__slogan,
  html body #block-olivero-site-branding .dsp-sub{ font-size:11.5px !important; }

  /* meniul pe rand propriu, cu rupere ordonata daca nu incape */
  html body .site-header__inner__container > nav.mm{
    flex:0 0 100% !important; order:5 !important; height:auto !important;
    margin-top:6px !important; border-top:1px solid #e6edf3 !important; padding-top:4px !important;
  }
  html body nav.mm .mm-list{ justify-content:flex-start !important; flex-wrap:wrap !important; row-gap:2px !important; }
  html body nav.mm .mm-list > li > a,
  html body nav.mm .mm-list > li > p > a{ padding:8px 8px !important; font-size:13px !important; }

  /* panourile mega, pe 2 coloane la latimea asta */
  html body nav.mm .mm-cols{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }

  /* continutul pe toata latimea si aici */
  .path-frontpage #main{ justify-content:flex-start !important; }
  .path-frontpage .main-content{ margin:0 !important; flex:1 1 auto !important; width:100% !important; max-width:none !important; }
  .path-frontpage .hp .dsp-hero-in,
  .path-frontpage .hp > *:not(.dsp-hero){ padding-left:24px !important; padding-right:24px !important; }
}

/* ==========================================================================
   901–1119px: blocul #header-nav contine formularul de cautare "narrow" si
   meniul Olivero, ascunse prin visibility:hidden — invizibile, dar ocupa
   408px de spatiu in layout. Acela era golul alb urias din antet.
   Scoaterea lui din flux nu ascunde nimic vizibil: la aceasta latime
   continutul lui era deja invizibil.
   ========================================================================== */
@media (min-width:901px) and (max-width:1119px){
  html body .site-header__inner__container > #header-nav{ display:none !important; }
  html body .site-header__inner__container > .header-nav-overlay{ display:none !important; }
  html body #block-olivero-site-branding{ flex:1 1 auto !important; }
}

/* ==========================================================================
   Olivero deseneaza sublinierea linkurilor printr-un box-shadow interior
   (inset 0 -2px) si il animeaza la hover. Pe butoanele si pastilele din hero
   asta aparea ca un bloc gri deplasat. In plus, line-height:36px mostenit
   umfla butoanele la 62px in loc de 45px.
   ========================================================================== */
.dsp-hero a,
.dsp-hero button,
.dsp-util a,
.dsp-a11y button,
.hp .hc,
.hp .hc a,
.hp .hc .hgo{ box-shadow:none !important; }

.dsp-btn,
.dsp-pill,
.dsp-search button,
.dsp-search input{ line-height:1.2 !important; }

.dsp-btn{ padding:13px 22px !important; }
.dsp-pill{ padding:9px 14px !important; }

/* umbrele intentionate raman */
.dsp-btn-light:hover{ box-shadow:0 8px 18px rgba(0,0,0,.16) !important; }
.dsp-search{ box-shadow:0 16px 36px rgba(0,0,0,.2) !important; }
.hp .hc:hover{ box-shadow:0 18px 38px rgba(10,58,92,.15) !important; }

/* ==========================================================================
   Hover pe butoane si pastile identic cu cel de la carduri:
   ridicare de 4px + umbra, aceeasi durata (.18s) si curba (ease).
   ========================================================================== */
.dsp-btn,
.dsp-pill{ transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease !important; }

.dsp-btn:hover,
.dsp-pill:hover{ transform:translateY(-4px) !important; }

.dsp-btn-light:hover{ background:#fff !important; box-shadow:0 14px 30px rgba(0,0,0,.26) !important; }
.dsp-btn-outline:hover{ background:rgba(255,255,255,.18) !important; box-shadow:0 14px 30px rgba(0,0,0,.22) !important; }
.dsp-pill:hover{ background:rgba(255,255,255,.22) !important; box-shadow:0 10px 22px rgba(0,0,0,.2) !important; }

/* fara subliniere la hover in bara de contact; feedbackul ramane prin culoare */
.dsp-util a:hover{ text-decoration:none !important; color:#fff !important; }
