/* Trinity TMS — Tablet-Ergänzung, 15.09.2026
 * NACH Theme-, Elementor- und zusätzlichem CSS laden.
 * 768–1366 px: Tablets und schmale Browserfenster.
 * Hochformat folgt Mobile, Querformat folgt Desktop.
 * Vorhandene Komponenten und Elementor-IDs werden weiterverwendet.
 */
@media (min-width: 768px) and (max-width: 1366px) {
  body { --trinity-tablet-gutter: 40px; }

  /* Genau 20px außen; verschachtelte Elementor-Container addieren keinen Rand. */
  html body #main .elementor > .e-con.e-parent {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: var(--trinity-tablet-gutter) !important;
  }
  html body #main .e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    padding-inline: 0 !important;
    margin-inline: 0 !important;
  }
  html body #main .elementor > :is(.video_start_container, .elementor-element-e7f0955, #header_img) {
    padding-inline: 0 !important;
  }
  /* Zusätzliche 10/32/40px in inneren Elementor-Containern entfernen. */
  html body #main .elementor .e-con.e-child {
    padding-inline: 0 !important;
    margin-inline: 0 !important;
    min-width: 0;
  }
  html body #main .elementor .e-con-inner > .elementor-widget {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    max-width: 100% !important;
  }
  /* Formulare besitzen selbst den einen 20px-Rand. */
  html body #main .elementor > .e-con.e-parent:is(.elementor-element-d37f20d, .elementor-element-435c677c) {
    padding-inline: 0 !important;
  }
  body #header .ct-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: var(--trinity-tablet-gutter) !important;
  }
  body .trinity_footer { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; }
  html body #main .elementor-widget-spacer { --spacer-size: 48px !important; }
  html body #main :is(h1, h2, h3, h4) { word-break: normal; overflow-wrap: break-word; }
  html body #main h1 { font-size: clamp(40px, 4.5vw, 54px) !important; line-height: 1.12 !important; }
  html body #main h2 { font-size: clamp(30px, 3.5vw, 40px) !important; line-height: 1.18 !important; }
  html body #main .elementor-widget-text-editor { line-height: 1.6 !important; }
  html body #main :is(#more_button, #more_button_2) { min-height: 44px; }
  /* Titel und nachfolgendes Headerbild verwenden dieselbe feste Bezugshöhe. */
  html body #main .elementor > .e-con.e-parent:has(.header_h1) {
    position: relative; height: 0 !important; min-height: 0 !important;
    margin: 0 !important; padding: 0 !important; z-index: 2;
  }
  html body #main .elementor > .e-con.e-parent:has(.header_h1) > .e-con-inner {
    position: relative; height: 0 !important; padding: 0 !important;
    width: calc(100% - 40px) !important; max-width: calc(100% - 40px) !important;
    margin-inline: auto !important;
  }
  html body #main .header_h1 {
    position: absolute !important; top: 324px !important; left: 0 !important;
    margin: 0 !important; max-width: 100%; transform: translateY(-100%);
  }
  html body #main #header_img {
    top: 0 !important; height: 360px !important; min-height: 360px !important;
    margin: 0 !important; background-size: cover !important; background-position: center !important;
  }
  html body #main #header_img::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, transparent 30%, rgba(0,10,70,.55));
  }
  html body #main #header_img + .e-con { margin-top: 40px !important; }

  /* Startseite: Effekttext oben; Tablet unten rechts, CTA an dessen rechter Mitte. */
  html body.home {
    --trinity-hero-device-width: clamp(260px, 30vw, 300px);
    --trinity-hero-device-height: calc(var(--trinity-hero-device-width) * 494 / 343);
    --trinity-hero-device-bottom: 40px;
  }
  html body.home #main .video_start_container {
    position: relative !important;
    width: 100% !important;
    height: 560px !important;
    min-height: 560px !important;
    margin: 0 !important;
    --margin-top: 0px;
    filter: none;
    overflow: hidden;
    background: #000a46;
  }
  html body.home #main .video_start_container .elementor-background-video-container {
    display: block !important;
    position: absolute !important;
    inset: -12px !important;
    width: auto !important;
    height: auto !important;
    filter: blur(6px);
  }
  html body.home #main .video_start_container video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  html body.home #main .video_start_container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,10,70,.85), rgba(0,10,70,.12));
    pointer-events: none;
  }
  html body.home #main .elementor-element-e7f0955 {
    position: relative !important;
    margin: -560px 0 0 !important;
    min-height: 560px !important;
    height: 560px !important;
    padding: 0 !important;
    z-index: 2;
  }
  html body.home #main .elementor-element-e7f0955 > .e-con-inner {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  html body.home #main :is(.elementor-element-1de62d5, .elementor-element-6da2af6) {
    position: absolute !important;
    left: var(--trinity-tablet-gutter) !important;
    right: calc(var(--trinity-hero-device-width) + 170px) !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body.home #main .elementor-element-6da2af6 { top: 48px !important; }
  html body.home #main .elementor-element-6da2af6 .elementor-widget,
  html body.home #main .trinity-text-rotate { width: 100% !important; max-width: 100% !important; }
  html body.home #main .trinity-text-rotate { font-size: 24px; line-height: 1.3; color: white; }
  html body.home #main .elementor-element-1de62d5 { top: 111px !important; }
  html body.home #main .elementor-element-aab3510 { margin: 0 !important; padding: 0 !important; }
  html body.home #main .elementor-element-aab3510 .elementor-heading-title {
    color: white !important;
    font-size: clamp(40px, 4.5vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em;
    hyphens: none !important;
    text-wrap: initial;
  }
  html body.home #main :is(.elementor-element-f0cc144, .elementor-element-5e414a1) { display: none !important; }
  html body.home #main .elementor-element-3789d71 {
    position: absolute !important;
    top: auto !important;
    bottom: var(--trinity-hero-device-bottom) !important;
    left: auto !important;
    right: 130px !important;
    width: var(--trinity-hero-device-width) !important;
    max-width: none !important;
    height: var(--trinity-hero-device-height) !important;
    margin: 0 !important;
    transform: none !important;
  }
  html body.home #main .start_rahmen_border {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 343 / 494;
    padding: 16px !important;
  }
  html body.home #main .start_rahmen_border img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
  }
  html body.home #main .elementor-element-eb33b28 {
    position: absolute !important;
    top: auto !important;
    bottom: calc(var(--trinity-hero-device-bottom) + var(--trinity-hero-device-height) / 2) !important;
    left: auto !important;
    right: var(--trinity-tablet-gutter) !important;
    width: 210px !important;
    max-width: 210px !important;
    margin: 0 !important;
    transform: translateY(50%) !important;
    z-index: 20 !important;
  }
  html body.home #main #demo_button { display: inline-flex; align-items: center; justify-content: center; width: 210px; min-height: 50px; }
  html body.home #main .elementor-element-1d41dda {
    min-height: 140px !important;
    margin: 0 !important;
    padding: 30px var(--trinity-tablet-gutter) !important;
  }
  html body.home #main .elementor-element-169cf2e { margin: 0 !important; }

  /* Lösungskacheln: echte Rasterzellen statt Desktop-Koordinaten. */
  html body.home #main .elementor-element-5850afa { padding-inline: var(--trinity-tablet-gutter); }
  html body.home #main .elementor-element-580ee03 {
    padding-inline: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
  html body.home #main .elementor-element-9c6642e { order: 0; padding: 0 !important; }
  html body.home #main .elementor-element-d1cb43d {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 20px !important;
    position: relative;
  }
  html body.home #main .elementor-element-d1cb43d > .elementor-widget-image { width: 100%; margin: 0 !important; }
  html body.home #main .elementor-element-d1cb43d > .elementor-widget-image img { width: 100%; height: auto; }
  html body.home #main .elementor-element-d1cb43d > .elementor-widget-heading {
    position: relative !important;
    inset: auto !important;
    align-self: start;
    z-index: 2;
    padding: 24px !important;
    margin: 0 !important;
    pointer-events: none;
  }
  html body.home #main :is(.elementor-element-5df5802, .elementor-element-aab05ca) { grid-area: 1 / 1; }
  html body.home #main :is(.elementor-element-7a29ab5, .elementor-element-290bccd) { grid-area: 1 / 2; }
  html body.home #main :is(.elementor-element-5606e3c, .elementor-element-a0dc25f) { grid-area: 2 / 1; }
  html body.home #main :is(.elementor-element-b81dc43, .elementor-element-56e4e0d) { grid-area: 2 / 2; }
  html body.home #main .elementor-element-d1cb43d h4 { font-size: 18px !important; line-height: 1.3 !important; }
  html body.home #main .elementor-element-8d990b1 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; }
  html body.home #main .elementor-element-55f2415 { position: static !important; width: 90px; margin: 12px auto 0; }
  html body.home #main :is(.elementor-element-3ab1c59, .elementor-element-e3d5a7c) img { max-width: 100%; height: auto !important; object-fit: contain !important; }
  html body.home #main .trinity-services-section { padding: 48px 0 !important; }
  html body.home #main .trinity-services-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
  html body.home #main .trinity-services-visual { width: 100%; min-width: 0; margin: 0; }
  html body.home #main .trinity-tile-content { padding: 18px 20px 18px 110px; }
  html body.home #main .trinity-tile-title { width: auto; height: auto; min-width: 0; max-width: 100%; flex: 1 1 auto; font-size: 16px; line-height: 1.4; }

  /* Kundenstimmen: alle Texte und PDF-Links statt fester 384px-Höhe. */
  body .trinity-testimonial-slider__track { align-items: stretch; }
  body .trinity-testimonial-slide { display: flex; }
  body .trinity-testimonial-card {
    width: 100%;
    height: auto !important;
    max-height: none !important;
    min-height: 430px;
    padding: 24px 20px !important;
  }
  body .trinity-testimonial-card__inner { height: auto; padding-left: 12px; width: 100%; }
  body .trinity-testimonial-logo img { max-width: 100%; max-height: 64px; }
  body .trinity-testimonial-text { display: block; -webkit-line-clamp: unset; overflow: visible; }
  body .trinity-testimonial-button { white-space: normal; min-height: 44px; }

  /* Demo-Einstieg: Text nutzt die verfügbare Breite. */
  body .trinity-demo-page { grid-template-columns: minmax(0, 1fr); }
  body .trinity-demo-intro {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px 28px;
    padding: 36px var(--trinity-tablet-gutter) !important;
  }
  body .trinity-demo-photo { grid-area: 1 / 1 / span 2; margin: 0; }
  body .trinity-demo-title { grid-area: 1 / 2; margin: 0; }
  body .trinity-demo-text { grid-area: 2 / 2; max-width: 70ch; font-size: 16px; line-height: 1.6; }
  body .trinity-demo-form-area { padding: 36px var(--trinity-tablet-gutter) !important; }
  body .trinity-demo-form { width: 100% !important; max-width: none !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px !important; }
  body .trinity-interests-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body .trinity-interests-grid .wpcf7-list-item > label { min-height: 36px; align-items: center; }
  body .trinity-demo-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { min-height: 48px !important; font-size: 16px !important; }
  body .trinity-demo-form textarea { min-height: 160px !important; }
  body .trinity-weekdays label { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  body .trinity-time-range { width: 100%; max-width: 100%; }
  body .trinity-privacy-note { width: 100%; max-width: 100%; }

  /* Kontakt: kompaktere Innenabstände, gut bedienbare Eingaben. */
  body #contact_info { padding: 32px 20px !important; }
  html body #main #contact_form { padding: 32px 20px !important; border-inline-width: 0 !important; }
  html body #main #contact_form > .elementor-widget { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; align-self: stretch !important; }
  body #contact_form :is(input:not([type="hidden"]), textarea) { min-height: 48px; font-size: 16px; }
  body #contact_form textarea { min-height: 160px; }
  body #contact_form .tr-form-grid { gap: 20px; }

  /* Lösungsübersicht: flexible Kartenbreiten auch im Querformat. */
  body .trinity-solutions-menu { padding: 32px 0; }
  body .trinity-solutions-menu .solutions-wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body .trinity-solutions-menu .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  body .trinity-solutions-menu .solution-links a { display: inline-block; padding-block: 7px; }
  body .trinity-solutions-menu .solution-image-panel { min-height: 320px; }
  body .trinity-solutions-menu .solution-image-panel::after { min-height: 300px; }
  body .trinity_footer { height: auto; padding-inline: var(--trinity-tablet-gutter); }
  body .footer-masonry { width: 100%; }
}

/* Hochformat: Bild/Text-Blöcke benötigen mehr als eine halbe Tabletbreite. */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: portrait) {
  body #header [data-device="desktop"] { display: none !important; }
  body #header [data-device="mobile"] { display: block !important; }
  body #header .ct-header-trigger { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; }
  body #offcanvas .ct-panel-content[data-device="desktop"] { display: none !important; }
  body #offcanvas .ct-panel-content[data-device="mobile"] { display: block !important; }
  body #offcanvas .ct-panel-inner { width: min(90vw, 430px); max-height: 100dvh; overflow-y: auto; }
  html body.home #main .elementor-element-3ab1c59 { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
  html body.home #main .elementor-element-9627b92 { width: 100% !important; margin: 0 !important; text-align: left; order: -1 !important; }
  html body.home #main .elementor-element-9627b92 img { width: 100%; max-height: 380px; object-fit: cover !important; }
  /* Portrait: echte Bild/Text-Spalten auflösen, unabhängig von Sprache und DOM-Reihenfolge. */
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-inline: 0 !important;
  }
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > :is(.e-con, .elementor-widget-image) {
    --width: 100% !important;
    --container-widget-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 40px 0px 0px 0px !important;
    padding-inline: 0 !important;
    order: 0 !important;
    grid-area: auto !important;
    align-self: stretch !important;
  }
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > :is(.elementor-widget-image, .e-con:has(> .elementor-widget-image):not(:has(.elementor-widget-text-editor, .elementor-widget-heading))) {
    order: -1 !important;
  }
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > .e-con > .elementor-widget-image,
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > .e-con > .elementor-widget-image img,
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > .elementor-widget-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    height: auto !important;
  }
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > .e-con > .elementor-widget-image img,
  html body #main :is(.e-con:has(> .e-con:nth-child(2):last-child):has(> .e-con > .elementor-widget-image):has(.elementor-widget-text-editor), .e-con:has(> .elementor-widget-image):has(> .e-con):not(:has(> :nth-child(3)))) > .elementor-widget-image img {
    max-height: 440px;
    object-fit: cover !important;
    object-position: center top !important;
  }
  html body.home #main .video_start_container { height: 760px !important; min-height: 760px !important; }
  html body.home #main .elementor-element-e7f0955 { height: 760px !important; min-height: 760px !important; margin-top: -760px !important; }
  html body.home #main .elementor-element-e7f0955 > .e-con-inner { max-width: 100% !important; }
  html body.home #main :is(.elementor-element-1de62d5, .elementor-element-6da2af6) { right: var(--trinity-tablet-gutter) !important; }
  html body.home #main .elementor-element-aab3510 .elementor-heading-title { max-width: 560px; font-size: clamp(42px, 5.6vw, 54px) !important; }
  html body.home #main .elementor-element-d1cb43d { max-width: 100%; width: 100%; margin-inline: 0; order: -1 !important; }
  html body.home #main .elementor-element-8d990b1 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.home #main .trinity-hover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.home #main .trinity-services-content { display: contents; }
  html body.home #main .trinity-visual-stack { width: min(100%, 520px); min-height: 500px !important; margin: 0 auto; }
  html body.home #main .trinity-services-layout { gap: 36px !important; }
  html body.home #main .trinity-services-title { grid-row: 1; }
  html body.home #main .trinity-services-visual { grid-row: 2; }
  html body.home #main .trinity-services-accordion { grid-row: 3; }
  body .trinity-demo-form { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
  body .trinity-demo-intro { display: flex; gap: 18px; }
  body .trinity-demo-text { max-width: 65ch; }
  html body #main .elementor-element-435c677c > .e-con-inner { flex-direction: column !important; gap: 24px; }
  body :is(#contact_info, #contact_form) { width: 100% !important; max-width: 100% !important; --width: 100% !important; }
  body #contact_info { padding: 32px 20px !important; }
  body .tr-form-grid, body .tr-form-footer { grid-template-columns: minmax(0, 1fr) !important; }
  body .trinity-solutions-menu .solutions-grid { grid-template-columns: minmax(0, 1fr); }
  body .trinity-solutions-menu .solution-card { grid-area: auto; min-height: 0; }
}


/* Querformat: Desktop-Komposition mit anpassbaren statt festen Breiten. */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
.trinity-services-accordion {
  margin-top: 100px !important;
}	
	
  html body.home #main .elementor-element-580ee03 { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; gap: 32px !important; align-items: center; }
  html body.home #main .elementor-element-9c6642e { order: 0; }
  html body.home #main .elementor-element-d1cb43d { gap: 12px !important; }
  html body.home #main .elementor-element-d1cb43d > .elementor-widget-heading { padding: 18px !important; }
  html body.home #main .elementor-element-d1cb43d h4 { font-size: 16px !important; }
  html body.home #main .elementor-element-8d990b1 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 16px !important; }
  html body.home #main .trinity-hover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.home #main .trinity-services-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) !important; gap: 32px !important; }
  html body.home #main .trinity-services-visual { width: 100%; min-width: 0; }
  body .trinity-demo-page { grid-template-columns: minmax(220px, .8fr) minmax(0, 2fr); align-items: start; }
  body .trinity-demo-intro { display: flex; gap: 20px; padding: 36px 20px !important; }
  body .trinity-demo-form-area { padding: 36px 20px !important; }
  body .trinity-demo-form { gap: 24px !important; }
  body .trinity-demo-text { max-width: none; }
  body .trinity-demo-form .trinity-weekdays { display: flex; flex-wrap: wrap; gap: 4px; }
}

/* Sechs Vorteilskacheln: drei Reihen mit jeweils zwei Kacheln. */
@media (min-width: 768px) and (max-width: 1366px) {
  html body.home #main .elementor-element-38c1c01 .trinity-hover-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: row;
  }
  html body.home #main .elementor-element-38c1c01 .trinity-tile:nth-child(3) { grid-area: 2 / 2; }
  html body.home #main .elementor-element-38c1c01 .trinity-tile:nth-child(4) { grid-area: 2 / 1; }
  html body.home #main .elementor-element-38c1c01 .trinity-tile {
    width: 100%;
    min-width: 0;
    aspect-ratio: auto;
    min-height: 180px;
  }
  html body.home #main .elementor-element-38c1c01 .tile-light { background: #eeeafe; }
  html body.home #main .elementor-element-38c1c01 .tile-dark { background: #081b63; }
  html body.home #main .elementor-element-38c1c01 .trinity-tile :is(.tile-img, .tile-video) {
    /* Originalmedien sind 800×300px mit links angeordnetem Icon.
       Konstante Skalierung verhindert abgeschnittene Icons in hohen Kacheln. */
    width: 360px !important;
    max-width: none !important;
    height: 135px !important;
    inset: 50% auto auto 0 !important;
    transform: translateY(-50%) !important;
    object-fit: contain;
    object-position: left center;
    clip-path: inset(0 240px 0 0);
  }
  /* Farbflächen der vorhandenen Medien ohne sichtbare rechteckige Kanten integrieren. */
  html body.home #main .elementor-element-38c1c01 .tile-light :is(.tile-img, .tile-video) { mix-blend-mode: darken; }
  html body.home #main .elementor-element-38c1c01 .tile-dark :is(.tile-img, .tile-video) { mix-blend-mode: lighten; }
  html body.home #main .elementor-element-38c1c01 .trinity-tile-content {
    padding: 20px 20px 20px 160px;
  }
  html body.home #main .elementor-element-38c1c01 .trinity-tile-title {
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.4;
    overflow-wrap: break-word;
    hyphens: none;
  }
}

/* Kontakt / Contact: Bild und Adresse links, Karte rechts, Formular darunter.
 * Beide Sprachversionen verwenden dieselben Widget-IDs.
 */
@media (min-width: 768px) and (max-width: 1366px) {
  html body #main .elementor-element-435c677c > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 28px !important;
  }
  html body #main :is(#contact_info, #contact_form) {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-inline: 0 !important;
  }
  html body #main #contact_info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: repeat(4, auto);
    align-items: start;
    gap: 12px clamp(24px, 4vw, 48px) !important;
    padding: 32px 20px !important;
  }
  html body #main #contact_info > .elementor-widget {
    grid-column: 1;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  html body #main #contact_info > .elementor-widget-spacer { display: none !important; }
  html body #main #contact_info .kontakt-circle-img { grid-row: 1; text-align: left; }
  html body #main #contact_info .kontakt-circle-img img {
    width: 128px !important;
    height: 128px !important;
    object-fit: cover;
    border-radius: 50%;
  }
  html body #main #contact_info .elementor-element-2252c32b { grid-row: 2; }
  html body #main #contact_info .elementor-element-33f9c4a3 { grid-row: 3; }
  html body #main #contact_info .elementor-element-4c0f595a { grid-row: 4; }
  html body #main #contact_info p { margin: 0; overflow-wrap: anywhere; }
  html body #main #contact_info > .elementor-element-f55297d {
    grid-column: 2;
    grid-row: 1 / span 4;
    align-self: center;
    justify-self: end;
    max-width: 400px !important;
    text-align: right;
  }
  html body #main #contact_info .elementor-element-f55297d a { display: block; }
  html body #main #contact_info .elementor-element-f55297d img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
    border-radius: 10px;
  }
}
