/* Full-Bleed EXAKT wie bei GAUBE: nur der Hintergrund wird per ::before nach außen gezogen,
   Farbe bleibt am Container (background_color) und wird per background:inherit vom ::before geerbt.
   Inhalt liegt per z-index:1 darüber. Container bleibt normal positioniert → kein Header-Sprung. */
.tm-fw{ position:relative; }
.tm-fw::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:calc(-50vw + 50%);
  right:calc(-50vw + 50%);
  background:inherit;
}
.tm-fw > *{ position:relative; z-index:1; }
/* Kein overflow-Trick nötig: das ::before ragt nur optisch nach außen und erzeugt
   keinen horizontalen Scroll, weil es absolut positioniert ist. */

/* seitlicher Puffer, sobald der Viewport schmaler als die Content-Breite ist */
@media (max-width:1240px){
  .tm-fw > .fusion-row{
    padding-left:5%!important;
    padding-right:5%!important;
  }
}
@media (max-width:640px){
  .tm-fw > .fusion-row{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}

/* Grüner Kicker über den Titeln */
.tm-kicker .title-heading-left,
.tm-kicker h1,.tm-kicker h2,.tm-kicker h3,.tm-kicker h4{
  color:var(--awb-color1)!important;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  font-size:1.2rem!important;
}

/* Leistungs-Karten: Abstand über Spalten-Padding (je 20px → 40px zwischen Karten),
   Kartenoptik auf dem INNEREN Wrapper (Klassenname variiert je Avada-Version) */
.tm-service-card{
  padding:0px!important;
  background:transparent!important;
  border:0!important;
}
.tm-service-card > .fusion-column-wrapper,
.tm-service-card > .fusion-builder-column-inner{
  background:var(--awb-color3)!important;
  border:1px solid #e2e2e2;
  border-radius:14px;
  padding:34px 32px!important;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.tm-service-card > .fusion-column-wrapper:hover,
.tm-service-card > .fusion-builder-column-inner:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(44,45,45,.10);
}
@media (max-width:800px){
  .tm-service-card{ padding:12px 0!important; }
}
/* Sortiment-Liste zweispaltig, damit die erste Karte nicht zu lang wird */
.tm-sortiment ul.fusion-checklist{ column-count:2; column-gap:26px; }
.tm-sortiment ul.fusion-checklist li{ break-inside:avoid; }
@media (max-width:640px){ .tm-sortiment ul.fusion-checklist{ column-count:1; } }

/* Marken-Logos entsättigt, bei Hover farbig */
.tm-brands .imageframe-align-center img{
  filter:grayscale(1); opacity:.65;
  transition:filter .3s ease, opacity .3s ease;
}
.tm-brands .imageframe-align-center img:hover{ filter:grayscale(0); opacity:1; }

/* Dunkle Kontakt-Sektion: Texte/Links weiß, Links-Hover grün */
.tm-contact .fusion-text,
.tm-contact .fusion-text p,
.tm-contact .fusion-checklist .fusion-li-item-content{ color:#fff!important; }
.tm-contact a:hover{ color:#fff!important; }
.tm-contact a{ color:var(--awb-color1)!important; }

/* Mobile */
@media (max-width:640px){
  .tm-service-card > .fusion-column-wrapper,
  .tm-service-card > .fusion-builder-column-inner{ padding:26px 22px!important; }
}