/* ============================================================
   T133-Skelett + Seite USV-Lösungen (Page-ID 129)
   Die Seiten 129 (USV-Lösungen) und 133 (Hardware) teilen dasselbe
   Oxygen-Template-Skelett (Section-IDs *-133). Diese Datei enthält:
   1) die GEMEINSAMEN Skelett-Styles (Prefix t133-) — wird auch von
      page-hardware.php geladen (dort ergänzt hardware.css die hw-*
      Abweichungen),
   2) die USV-spezifischen Abweichungen (Prefix usv-).
   Werte 1:1 aus 129.css/133.css + universal.css (Oxygen-IDs im
   Kommentar). Wichtig: 129.css hat KEINE Mobil-Overrides für die
   Media-/Service-Sektionen — die stehen daher nur in hardware.css.
   ============================================================ */

/* Original .ct-span ist sitewide inline-block — Umbruchverhalten spiegeln */
.t133-hero .lp-intro-headline span,
.t133-mehr-headline span,
.t133-media-headline span,
.t133-blob-headline span,
.t133-service-headline span {
  display: inline-block;
}

/* Hero: 2. Button (#link_button-14-133) — grüner Rahmen, weißer Text */
.t133-hero .lp-intro-btns .btn-outline-green {
  color: #fdfeff;
}

/* ------------------------------------------------------------
   #mehr-Intro-Block (T133: nur Textspalte, keine Linkkarten)
   ------------------------------------------------------------ */

/* #mehr @767: Padding bleibt oben 142px (lp-Baustein hätte 25px) */
@media (max-width: 767px) {
  .t133-mehr {
    padding-top: 142px;
  }
}

/* #div_block-35-133 */
.t133-mehr-text {
  width: 100%;
  padding: 20px 20px 20px 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
}

/* (Mobil-Polster der Textspalte: nur 133 nimmt es @767 raus → hardware.css) */

/* #text_block-36-133 */
.t133-mehr-headline {
  line-height: 1.2;
  color: #fdfeff;
  margin-bottom: 20px;
  text-align: center;
}

.t133-mehr-headline span {
  color: #223a4f;
}

/* #text_block-38-133 */
.t133-mehr-copy {
  margin-bottom: 15px;
  color: #fdfeff;
  font-weight: 300;
  text-align: center;
  font-size: 22px;
  max-width: 1295px;
}

/* ------------------------------------------------------------
   Gemeinsames: Sektionen + Spaltenreihen
   ------------------------------------------------------------ */
.t133-media .section-inner,
.t133-blob .section-inner,
.t133-service .section-inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Oxygen ct-new-columns Default + z-index (#new_columns-40/48/64-133) */
.t133-row {
  position: relative;
  z-index: 999;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
}

/* Spalten stapeln @1399 — NICHT für die Blob-Reihe (die stapelt erst @767) */
@media (max-width: 1399px) {
  .t133-row:not(.t133-blob-row) > * {
    width: 100% !important;
  }
}

/* ------------------------------------------------------------
   Text-Bild-Sektionen (section-39-133 Bild links / -47-133 Bild rechts)
   ------------------------------------------------------------ */
.t133-media .section-inner {
  padding-left: 50px;
  padding-right: 50px;
}

/* #div_block-41-133 */
.t133-col-img {
  width: 50%;
  padding: 20px 20px 20px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

/* .border-radius-global + .drop_shadow (universal.css) */
.t133-col-img img {
  width: 100%;
  border-radius: 15px;
  box-shadow: 0px 20px 50px rgba(0, 0, 0, 0.15);
}

/* #div_block-49-133 (behält das 20px-Standardpolster auf allen Seiten) */
.t133-col-img--right {
  padding: 20px;
  align-items: center;
  text-align: left;
}

/* #div_block-43-133 */
.t133-col-text {
  width: 50%;
  padding: 20px 20px 20px 50px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  overflow: hidden;
}

/* #div_block-51-133 */
.t133-col-text--left {
  padding: 20px 50px 20px 0;
}

/* #text_block-44-133 / -52-133 */
.t133-media-headline {
  line-height: 1.2;
  color: #fdfeff;
  margin-bottom: 20px;
  font-size: 37px;
}

.t133-media-headline span {
  color: #223a4f;
}

/* #text_block-52-133: max. 557px */
.t133-media-headline--narrow {
  max-width: 557px;
}

/* #text_block-46-133 / -54-133 */
.t133-media-copy {
  margin-bottom: 15px;
  color: #fdfeff;
  font-weight: 300;
  font-size: 22px;
  max-width: 650px;
}

/* ------------------------------------------------------------
   Blob-Sektion (section-159-133, Bild links + Text + Blob rechts)
   ------------------------------------------------------------ */
.t133-blob {
  text-align: right;
  position: relative;
  display: block;
}

.t133-blob .section-inner {
  padding: 150px 50px;
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* #new_columns-160-133 */
.t133-blob-row {
  z-index: 5;
}

/* #div_block-161-133 (+ @1920 pr30) */
.t133-blob-imgcol {
  width: 50%;
  padding: 20px 30px 20px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

/* #image-162-133 */
.t133-blob-imgcol img {
  border-radius: 15px;
  width: 100%;
  object-fit: cover;
}

/* #div_block-163-133 (pl50 → 0 @1920) */
.t133-blob-textcol {
  width: 50%;
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* #div_block-164-133 (.white-text) */
.t133-blob-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  color: #ffffff;
}

/* #headline-165-133 (.M-Strong: lh 1.2, fw 400) */
.t133-blob-headline {
  margin: 0 0 16px;
  font-size: 37px;
  line-height: 1.2;
  font-weight: 400;
}

/* #text_block-169-133 (.Heading-Pre: lh 1.4) */
.t133-blob-copy {
  font-weight: 300;
  margin-bottom: 25px;
  font-size: 22px;
  max-width: 650px;
  line-height: 1.4;
}

@media (max-width: 1399px) {
  .t133-blob-imgcol {
    padding-right: 15px;
  }

  .t133-blob-imgcol img {
    width: 90%;
  }

  .t133-blob-textcol {
    padding-top: 43px;
    text-align: left;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .t133-blob .section-inner {
    padding: 15px 20px 57px;
  }

  .t133-blob-row {
    flex-direction: column;
  }

  .t133-blob-row > * {
    width: 100% !important;
  }

  .t133-blob-imgcol {
    display: none;
  }

  .t133-blob-textcol {
    align-items: center;
    text-align: center;
  }

  /* .M-Strong @767: zentriert */
  .t133-blob-headline {
    text-align: center;
  }

  .t133-blob-copy {
    text-align: center;
    font-size: 20px;
  }
}

/* ------------------------------------------------------------
   Service-Sektion (section-63-133, Icon + Text zentriert)
   ------------------------------------------------------------ */
.t133-service .section-inner {
  padding-left: 50px;
  padding-right: 50px;
}

/* #div_block-67-133 */
.t133-service-col {
  width: 100%;
  padding: 20px 20px 20px 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  overflow: hidden;
}

/* .primary-icon (universal.css) — SVG bringt eigene Füllfarben mit */
.t133-icon,
.t133-icon svg {
  width: 150px;
  height: 150px;
}

@media (max-width: 767px) {
  .t133-icon {
    margin-bottom: 30px;
  }
}

/* #text_block-68-133 */
.t133-service-headline {
  line-height: 1.2;
  color: #fdfeff;
  margin: 30px 0 20px;
  font-size: 37px;
  text-align: center;
}

.t133-service-headline span {
  color: #223a4f;
}

/* #text_block-70-133 */
.t133-service-copy {
  margin-bottom: 15px;
  color: #fdfeff;
  font-weight: 300;
  font-size: 22px;
  max-width: 1295px;
  text-align: center;
}

/* ------------------------------------------------------------
   CTA-Anpassungen (Template 334 bzw. section-193-133, wie iih-cta)
   ------------------------------------------------------------ */

/* #div_block-3598-12 / -194-133: Box ohne vertikales Padding */
.t133-cta .lp-cta-box {
  padding-top: 0;
  padding-bottom: 0;
}

/* #headline-3600-12 / -197-133: ragt rechts über die Spalte */
.t133-cta-headline {
  margin-right: -91px;
}

@media (max-width: 1399px) {
  .t133-cta-headline {
    margin-right: 0;
  }
}

/* #text_block-3603-12 @479: 20px (lp: 18px) */
@media (max-width: 479px) {
  .t133-cta .lp-cta-copy {
    font-size: 20px;
  }
}

/* ============================================================
   USV-spezifische Abweichungen (Prefix usv-)
   ============================================================ */

/* #headline-126-133 (129er-Variante): Grundfarbe weiß, Span grün */
.usv-hero .lp-intro-headline {
  color: #ffffff;
}

.usv-hero .lp-intro-headline span {
  color: #32b4a2;
}

/* #text_block-36-133 (129): max. 900px (133: 780px) */
.usv-mehr-headline {
  max-width: 900px;
}

/* #text_block-44-133 (129): max. 569px */
.usv-roton-headline {
  max-width: 569px;
}

/* #text_block-52-133 (129): Grundfarbe dunkel, Span weiß */
.usv-apc-headline {
  color: #223a4f;
}

.usv-apc-headline span {
  color: #ffffff;
}

/* #headline-165-133 (129): grün mit weißem Span, @767 30px */
.usv-blob-headline {
  color: #32b4a2;
}

.usv-blob-headline span {
  color: #ffffff;
}

@media (max-width: 767px) {
  .usv-blob-headline {
    font-size: 30px;
  }
}

/* #text_block-68-133 (129): max. 563px */
.usv-service-headline {
  max-width: 563px;
}

/* #mehr (129) behält auch mobil 50px Seitenpolster (133: 20px) */
@media (max-width: 767px) {
  .usv-mehr {
    padding-left: 50px;
    padding-right: 50px;
  }
}
