/*
 * UNIVERM Foundation 1.9g.116
 * Zentrale Design-Grundlage fuer normale oeffentliche und Kunden-Seiten.
 * Wird automatisch durch public-chrome.php geladen.
 * Homepage-Hero und individuelle Fachinhalte bleiben unangetastet.
 */

:root{
  --uv-page-bg:#f5f7fb;
  --uv-card-bg:#fff;
  --uv-text:#10213d;
  --uv-blue:#102f86;
  --uv-blue-2:#173a79;
  --uv-border:#cbd7e7;
  --uv-muted:#586a82;
  --uv-shadow:0 8px 26px rgba(17,47,96,.055);
  --uv-radius:10px;
  --uv-page-gap:22px;
  --uv-page-bottom:34px;
  --uv-side-gap:20px;
}

/* Jede Seite, die den zentralen Header benutzt, erhaelt automatisch die Basis. */
body.uv-global-design:not(.uv-layout-home){
  margin:0;
  min-height:100vh;
  background:var(--uv-page-bg);
  color:var(--uv-text);
  font-family:Arial,Helvetica,sans-serif;
  display:flex;
  flex-direction:column;
}
body.uv-global-design:not(.uv-layout-home) .uv-global-footer{margin-top:auto}

/* Einheitlich weniger ungenutzte Flaeche zwischen Header, Inhalt und Footer. */
body.uv-global-design:not(.uv-layout-home) > main,
body.uv-global-design:not(.uv-layout-home) > .center,
body.uv-global-design:not(.uv-layout-home) > .uv-customer-shell,
body.uv-global-design:not(.uv-layout-home) > .uv-search-page,
body.uv-global-design:not(.uv-layout-home) > .uv-market-main{
  margin-top:var(--uv-page-gap)!important;
  margin-bottom:var(--uv-page-bottom)!important;
}

/* Gemeinsame ruhige Karten. */
body.uv-global-design .card,
body.uv-global-design .uv-customer-card,
body.uv-global-design .uv-public-card,
body.uv-global-design .uv2-search-card,
body.uv-global-design .uv-search-result-card,
body.uv-global-design .uv-customer-note{
  border-color:var(--uv-border)!important;
  border-radius:var(--uv-radius)!important;
  box-shadow:var(--uv-shadow);
}

body.uv-global-design main h1{
  color:var(--uv-blue)!important;
}
body.uv-global-design main h2,
body.uv-global-design main h3{
  color:var(--uv-blue-2);
}

/* Formular-Grundlage: Eingabefelder fuellen ihren vorgesehenen Container aus. */
body.uv-global-design.uv-layout-form main form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.uv-global-design.uv-layout-form main form select,
body.uv-global-design.uv-layout-form main form textarea,
body.uv-global-design.uv-layout-confirmation main form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.uv-global-design.uv-layout-confirmation main form select,
body.uv-global-design.uv-layout-confirmation main form textarea{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
  border-radius:6px;
}

/* Formular- und Bestaetigungsseiten teilen eine gemeinsame Inhaltsbreite. */
body.uv-global-design.uv-layout-form .uv-customer-shell,
body.uv-global-design.uv-layout-confirmation .uv-customer-shell{
  width:min(960px,calc(100% - 2 * var(--uv-side-gap)))!important;
  max-width:960px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.uv-global-design.uv-layout-confirmation .uv-public-card{
  background:var(--uv-card-bg);
}

/* Suche/Markt sollen den Bildschirm besser ausnutzen, nur mit leichtem Rand. */
body.uv-global-design.uv-layout-search .uv-search-page,
body.uv-global-design.uv-layout-search .uv-market-main{
  width:calc(100% - 2 * var(--uv-side-gap))!important;
  max-width:1560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.uv-global-design.uv-layout-search .uv-search-panel{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
body.uv-global-design.uv-layout-search .uv-search-results{
  width:100%;
}

/* Listen des eingeloggten Kunden duerfen ebenfalls breit und ruhig sein. */
body.uv-global-design.uv-layout-list .uv-customer-shell{
  width:calc(100% - 2 * var(--uv-side-gap))!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Detailseiten: grosszuegiger als alte schmale Darstellungen. */
body.uv-global-design.uv-layout-detail .uv-public-detail,
body.uv-global-design.uv-layout-detail .uv-customer-shell{
  width:calc(100% - 2 * var(--uv-side-gap))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Rechtstexte bleiben bewusst lesefreundlich schmaler. */
body.uv-global-design.uv-layout-legal .uv-legal-shell{
  width:min(1040px,calc(100% - 2 * var(--uv-side-gap)))!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Alte .center-Seiten (Passwort/E-Mail) in dieselbe Designsprache holen. */
body.uv-global-design > .center{
  width:min(760px,calc(100% - 2 * var(--uv-side-gap)))!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
}
body.uv-global-design > .center > main,
body.uv-global-design > .center > .card{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
}

/* Gemeinsame Aktionsbuttons. */
body.uv-global-design main button,
body.uv-global-design main .button,
body.uv-global-design main a.button{
  min-height:44px;
  border-radius:6px;
}

@media(max-width:760px){
  :root{--uv-side-gap:14px;--uv-page-gap:16px;--uv-page-bottom:24px}
  body.uv-global-design.uv-layout-form .uv-customer-shell,
  body.uv-global-design.uv-layout-confirmation .uv-customer-shell,
  body.uv-global-design.uv-layout-search .uv-search-page,
  body.uv-global-design.uv-layout-search .uv-market-main,
  body.uv-global-design.uv-layout-list .uv-customer-shell,
  body.uv-global-design.uv-layout-detail .uv-public-detail,
  body.uv-global-design.uv-layout-detail .uv-customer-shell{
    width:calc(100% - 2 * var(--uv-side-gap))!important;
  }
}

/* =====================================================================
   Foundation 1.9g.118 – einheitlicher Footer mit Original-Logo + Corona
   Nur Darstellung des zentralen Footers. Das Logo selbst bleibt unverändert.
   ===================================================================== */
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brand{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:4px 0!important;
  max-width:320px!important;
  color:#fff!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline{
  gap:12px!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline img{
  width:54px!important;
  height:auto!important;
  display:block!important;
  /* Fast weiße, schmale Corona ausschließlich außerhalb des Original-Logos. */
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,.99))
    drop-shadow(0 0 7px rgba(255,255,255,.94))
    drop-shadow(0 0 12px rgba(255,255,255,.80))!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline strong,
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline small,
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brand p{
  color:#fff!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brand p{
  margin:12px 0 0!important;
}


/* =====================================================================
   Foundation 1.9g.119 – freigegebener zentraler Footer-Feinschliff
   Logo, Größe, Corona, Farben und Spalten bleiben unverändert.
   ===================================================================== */
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brand{
  max-width:520px!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline{
  align-items:flex-start!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline>div{
  display:block!important;
  min-width:0!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-brandline small{
  display:block!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-tagline{
  margin:1.15em 0 0!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:1.45!important;
  white-space:normal!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-bottom{
  min-height:40px!important;
  grid-template-columns:1fr!important;
  padding:8px clamp(28px,4vw,64px)!important;
}
body.uv-global-design .uv-home-footer.uv-global-footer .uv-global-footer-bottom>span{
  grid-column:1!important;
  justify-self:center!important;
  text-align:center!important;
}
