/* =========================================================
   TM SERVICE – EINHEITSBLAU + Claim Typo
   Datei: assets/css/tm-overrides.css
   ========================================================= */

html, body{height:100%}

/* Einheitlicher Hintergrund */
body{background:#2f145a !important;}

/* Nichts darf eigene Hintergründe setzen */
.tm-section,
.tm-home-hero,
.tm-home-band,
.tm-home-links,
.tm-home-trust,
.tm-container,
.tm-band{background:transparent !important;}

/* Überschriften sichtbar farbig (global) */
.tm-main h1,
.tm-main h2,
.tm-main h3,
.tm-h1,
.tm-h2,
.tm-h3{color:#ffd1d8 !important;}

.tm-lead,
.tm-lead-sm{color:rgba(241,246,255,0.85) !important;}

/* Brand/Claim */
.tm-brand{display:flex;align-items:center;gap:12px}
.tm-brand-link{display:inline-flex;align-items:center}
.tm-header-claim{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:rgba(241,246,255,0.92);letter-spacing:0.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.tm-header-claim .tm-claim-company{font-size:16px;font-weight:800;color:#ffffff}
.tm-header-claim .tm-claim-locations{font-size:14px;font-weight:600;opacity:0.9}

@media (max-width:980px){
  .tm-header-claim{display:none}
}
/* TM TURQUOISE OVERRIDE (20251231-231930) */
:root{
  --tm-bg: #0F869E;
  --tm-bg-dark: #0C6D81;
  --tm-bg-light: #1494AE;
}
html, body{background:#0F869E !important;}
.tm-site, .site, .site-wrapper, .tm-page, .tm-main{background:#0F869E !important;}
.tm-header, header{background:#0F869E !important;}
/* Footer Links (Impressum/Datenschutz) etwas heller */
.tm-footer a, footer a{color: rgba(255,255,255,.75) !important;}
.tm-footer a:hover, footer a:hover{color: rgba(255,255,255,.95) !important;}
/* Header Bild etwas größer */
.tm-logo-combined{
  height: 76px !important;
  max-height: 76px !important;
  width: auto !important;
  object-fit: contain !important;
}
.tm-header-inner{
  min-height: 92px !important;
  max-height: 92px !important;
}
/* Diversity Tooltip */
.tm-diversity{position:relative;display:inline-block;cursor:help;}
.tm-diversity::after{
  content: attr(data-tip);
  position:absolute;
  left:50%;
  bottom:130%;
  transform: translateX(-50%);
  padding:4px 6px;
  border-radius:6px;
  font-size:12px;
  line-height:1.1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  background: rgba(0,0,0,.85);
  color:#fff;
  transition: opacity .15s ease;
}
.tm-diversity:hover::after,.tm-diversity:focus::after{opacity:1;}
/* SINGLE HEADER LOGO OVERRIDE (20251231-233200) */
.tm-header-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px;
  flex-wrap:nowrap !important;
}
.tm-brand{flex:0 0 auto; display:flex; align-items:center;}
.tm-logo-combined{
  height:82px !important;
  max-height:82px !important;
  width:auto !important;
  object-fit:contain !important;
  display:block;
}
.tm-header-locations{
  white-space:nowrap;
  font-weight:400 !important;
  opacity:.95;
}
/* keep menus on same line to the right */
.tm-topnav, nav.tm-topnav{flex:1 1 auto; display:flex; justify-content:flex-end;}
.tm-topnav-list{flex-wrap:nowrap !important;}
.tm-logo-main, .tm-logo-sub{display:none !important;}
/* Logo Fix v1.0.4 (20251231-233653) */
.tm-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.tm-brand{flex:0 0 auto; display:flex; align-items:center;}
.tm-logo-combined{
  display:block !important;
  height:78px;
  max-height:78px;
  width:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* Header Feinschliff v1.0.5 (20251231-234128) */
.tm-logo-combined {
  height: 60px !important;
  max-height: 60px !important;
  width: auto !important;
}
.tm-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}
.tm-brand-locations {
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  white-space: nowrap;
}
/* Header Claim – Option A (SEO-freundlich) v1.0.6 */
.tm-brand-locations {
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
}
.tm-brand-name {
  font-weight: 500;
}
.tm-brand-geo {
  font-weight: 400;
}
/* Dropdown Breite & Zeilenumbruch v1.0.7 */
.tm-topnav-dropdown {
  min-width: 360px;
  max-width: 420px;
}

.tm-topnav-dropdown ul li a,
.tm-topnav-dropdown ul li span {
  white-space: normal;      /* Umbruch erlauben */
  line-height: 1.35;
  display: block;
}

@media (max-width: 768px) {
  .tm-topnav-dropdown {
    min-width: 90vw;
    max-width: 90vw;
  }
}
