/* c_Tablet-Feinschliff: iPad und Handy. Geladen auf allen c_-Seiten (Snippet 7119).
   Die :not(#a)… erhöhen die Gewichtung, damit die Werte gegen die Elementor-Klassen gewinnen. */

/* Projekt-Karten (Leistungsseiten): Foto füllt immer die ganze Kartenhöhe, kein weißer Rand unten */
@media (min-width:768px) {
	html body .elementor .c-pzeile-bildcol:not(#a):not(#b) { position: relative !important; }
	html body .elementor .c-pzeile-bildcol .c-pzeile-bild:not(#a):not(#b) { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
}

/* Referenzen-Zeitstrahl (Startseite): größere Zeilen und Balken, Auswahl dunkel, Kopf und Karte größer */
@media (min-width:768px) {
	html body .elementor .c-ref-zeile:not(#a):not(#b):not(#c) { min-height: 58px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
	html body .elementor .c-ref-zeile .c-zeilenname:not(#a):not(#b):not(#c), html body .elementor .c-zeitkopf .c-kopfname:not(#a):not(#b):not(#c) { width: 215px !important; flex: none !important; }
	html body .elementor .c-ref-zeile .c-zeitjahre:not(#a):not(#b):not(#c), html body .elementor .c-zeitkopf .c-kopfzeit:not(#a):not(#b):not(#c) { width: 124px !important; flex: none !important; text-align: right !important; }
	html body .elementor .c-ref-zeile .c-zeilenname:not(#a):not(#b):not(#c) { font-size: 17px !important; font-weight: 700 !important; white-space: normal; line-height: 1.15 !important; }
	html body .elementor .c-ref-zeile .c-balken:not(#a):not(#b):not(#c), html body .elementor .c-ref-zeile .c-balken > *:not(#a):not(#b):not(#c) { height: 24px !important; }
	html body .elementor .c-ref-zeile .c-zeitjahre:not(#a):not(#b):not(#c) { font-size: 16px !important; font-weight: 600 !important; }
	html body .elementor .c-ref-zeile.e--selected:not(#a):not(#b):not(#c) { background: #25272a !important; border-left: 8px solid #d2202c !important; }
	html body .elementor .c-ref-zeile.e--selected .c-zeilenname:not(#a):not(#b):not(#c), html body .elementor .c-ref-zeile.e--selected .c-zeitjahre:not(#a):not(#b):not(#c) { color: #fff !important; }
	html body .elementor .c-ref-zeile.e--selected .c-balken:not(#a):not(#b):not(#c) { background: #55585c !important; }
	html body .elementor .c-zeitkopf .c-kopfname:not(#a):not(#b):not(#c), html body .elementor .c-zeitkopf .c-kopfzeit:not(#a):not(#b):not(#c) { font-size: 16px !important; font-weight: 700 !important; color: #25272a !important; }
	html body .elementor .c-zeitkopf .c-kopfjahre:not(#a):not(#b):not(#c), html body .elementor .c-zeitkopf .c-kopfjahre *:not(#a):not(#b):not(#c) { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: #25272a !important; }
	html body .elementor .c-detailbereich .c-h3:not(#a):not(#b):not(#c) { font-size: 42px !important; line-height: 1 !important; }
	html body .elementor .c-detailbereich .c-detailzeit:not(#a):not(#b):not(#c) { font-size: 19px !important; font-weight: 700 !important; }
	html body .elementor .c-detailbereich .c-chiptag:not(#a):not(#b):not(#c) { font-size: 16px !important; font-weight: 600 !important; }
	html body .elementor .c-detailbereich .c-ref-link:not(#a):not(#b):not(#c) { font-size: 18px !important; font-weight: 700 !important; }
	html body .elementor .c-ref-filter:not(#a):not(#b):not(#c) { font-size: 18px !important; font-weight: 700 !important; }
}

/* Karriere: Stellen-Kacheln untereinander (Schrift passte nicht in die Kästchen), „Folgen Sie uns“ immer in einer Reihe */
@media (max-width:1100px) {
	html body .elementor .c-bwk-wahl:not(#a):not(#b):not(#c) { grid-template-columns: 1fr !important; }
	html body .elementor .c-bwk-wahl .c-bwk-link:not(#a):not(#b):not(#c) { height: auto !important; min-height: 0 !important; padding: 18px 22px !important; font-size: 20px !important; align-items: center !important; }
}
@media (max-width:1180px) {
	html body .elementor .c-sozial-weiss .c-sozial-titel:not(#a):not(#b):not(#c) { flex: 0 0 100% !important; }
}

/* Fußzeile auf dem Tablet: Logo oben, darunter Leistungen, Das Büro und Kontakt nebeneinander */
@media (min-width:768px) and (max-width:1100px) {
	html body .elementor .c-fuss-raster .c-fuss-marke:not(#a):not(#b):not(#c) { flex: 0 0 100% !important; width: 100% !important; }
	html body .elementor .c-fuss-raster .c-fuss-spalte:not(#a):not(#b):not(#c) { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
	html body .elementor .c-fuss-raster:not(#a):not(#b):not(#c) { gap: 2rem !important; }
}

/* Startseite: Anfrage-Bereich „Sie möchten ein Projekt anfragen?“ – kleinere Kacheln, roter Hinweis, damit klar ist: das ist eine Anfrage, keine Referenz */
@media (min-width:768px) {
	html body .elementor .c-wvg.c-mit-sk:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-template-columns: 76px minmax(0, 1fr) !important; column-gap: 14px !important; padding: 10px 14px !important; row-gap: 2px !important; }
	html body .elementor .c-wvg.c-mit-sk > .c-sk:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { width: 76px !important; }
	html body .elementor .c-wvg .c-wvg-t:not(#a):not(#b):not(#c):not(#d) { font-size: 1.05rem !important; }
	html body .elementor .c-wvg .c-wvg-d:not(#a):not(#b):not(#c):not(#d) { font-size: .8rem !important; line-height: 1.35 !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	html body .elementor .c-wv-raster:not(#a):not(#b):not(#c):not(#d) { gap: .6rem !important; }
}
html body .elementor .c-wv-sec .c-eyebrow-row:not(#a):not(#b):not(#c):not(#d) { gap: 0 !important; }
html body .elementor .c-wv-sec .c-eyebrow-row .c-marker:not(#a):not(#b):not(#c):not(#d) { display: none !important; }
html body .elementor .c-wv-sec .c-eyebrow-row .c-eyebrow:not(#a):not(#b):not(#c):not(#d) { background: #d2202c !important; color: #fff !important; padding: 6px 12px !important; letter-spacing: .14em !important; }

/* Startseite: Kopfbild füllt immer den ganzen sichtbaren Bereich, darunter nie eine Lücke */
html body .elementor .c-sh:not(#a):not(#b):not(#c) { min-height: max(34rem, calc(100svh - var(--wp-admin--admin-bar--height, 0px))) !important; }

/* Startseite auf dem Tablet hochkant: Foto links, Leistungen rechts, damit alle drei Bereiche auf eine Seite passen */
@media (min-width:768px) and (max-width:900px) {
	.c-lb .c-lb-kachel { display: grid; grid-template-columns: 38% minmax(0, 1fr); }
	.c-lb .c-lb-foto { height: auto; min-height: 100%; padding: 16px; }
	.c-lb .c-lb-t { font-size: 1.6rem; }
	.c-lb .c-lb-p { font-size: 13px; margin-top: 4px; }
	.c-lb .c-lb-feld { border-top: 0; border-left: 4px solid #d2202c; padding: 8px 14px 6px; }
	.c-lb .c-lb-kopf { margin-bottom: 2px; }
	.c-lb .c-lb-kopf span { font-size: 1.2rem; }
	.c-lb .c-lb-zeile { grid-template-columns: 48px 1fr 14px; gap: 10px; padding: 3px 0; }
	.c-lb .c-lb-n { font-size: .9rem; }
}
html body .elementor .c-wv-sec .c-h2:not(#a):not(#b):not(#c) { hyphens: none !important; -webkit-hyphens: none !important; }

/* Startseite: „Projekt anfragen“ als dunkles Band: Titel und Knopf oben, darunter die Felder ohne Kästen, nur mit feinen Linien (8 nebeneinander, Tablet hochkant 4 × 2, Handy 2 Spalten) */
html body .elementor .c-ichm-platz:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { display: grid !important; grid-template-columns: repeat(8, minmax(0, 1fr)) !important; gap: 0 !important; align-items: stretch !important; padding: 0 !important; margin-top: 28px !important; background: #25272a !important; border: 0 !important; position: relative !important; }
html body .elementor .c-ichm-platz .c-ichm-label:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 1 / 5 !important; grid-row: 1 !important; align-self: center !important; margin: 0 !important; padding: 16px 20px !important; width: auto !important; color: #fff !important; font: 700 1.5rem/1 "Barlow Condensed", sans-serif !important; letter-spacing: 0 !important; text-transform: uppercase !important; }
html body .elementor .c-ichm-platz .c-ichm-seite:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 5 / 9 !important; grid-row: 1 !important; justify-self: end !important; align-self: stretch !important; display: flex !important; position: static !important; margin: 0 !important; width: auto !important; height: auto !important; min-height: 0 !important; background: #d2202c !important; padding: 0 !important; }
html body .elementor .c-ichm-platz .c-ichm-seite a:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { display: flex !important; align-items: center !important; padding: 0 22px !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; line-height: 1.2 !important; }
html body .elementor .c-ichm-platz .c-ichm-chip:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { width: 100% !important; min-width: 0 !important; justify-content: flex-start !important; white-space: nowrap !important; background: transparent !important; color: #fff !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .16) !important; border-right: 1px solid rgba(255, 255, 255, .16) !important; padding: 13px 14px !important; font: 600 1rem/1.1 "Barlow Condensed", sans-serif !important; letter-spacing: .03em !important; gap: 8px !important; margin: 0 !important; text-align: left !important; }
html body .elementor .c-ichm-platz .c-ichm-chip:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h):hover { background: rgba(255, 255, 255, .08) !important; color: #fff !important; border-color: rgba(255, 255, 255, .16) !important; }
html body .elementor .c-ichm-platz .c-ichm-chip:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h)::before { margin: 0 !important; }
html body .elementor .c-ichm-platz .c-ichm-chip:last-of-type:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { border-right: 0 !important; }
@media (max-width:1100px) {
	html body .elementor .c-ichm-platz:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	html body .elementor .c-ichm-platz .c-ichm-label:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 1 / 3 !important; }
	html body .elementor .c-ichm-platz .c-ichm-seite:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 3 / 5 !important; }
}
@media (max-width:767px) {
	html body .elementor .c-ichm-platz:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	html body .elementor .c-ichm-platz .c-ichm-label:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 1 / 3 !important; }
	html body .elementor .c-ichm-platz .c-ichm-seite:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-column: 1 / 3 !important; grid-row: auto !important; justify-self: stretch !important; order: 9; }
	html body .elementor .c-ichm-platz .c-ichm-seite a:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { width: 100% !important; justify-content: center !important; padding: 14px !important; }
}
/* Kleinerer Abstand zwischen Leistungen und Referenzen */
html body .elementor .c-sec.c-leistungen:not(#a):not(#b):not(#c) { padding-bottom: 0 !important; }

/* Startseite auf dem Tablet hochkant: alle drei Bereiche so hoch wie der größte, Foto und rote Linie über die ganze Höhe */
@media (min-width:768px) and (max-width:900px) {
	.c-lb { grid-auto-rows: 1fr !important; align-items: stretch !important; }
	.c-lb .c-lb-kachel { align-items: stretch !important; }
	.c-lb .c-lb-foto { height: auto !important; min-height: 0 !important; align-self: stretch !important; }
	.c-lb .c-lb-feld { display: flex; flex-direction: column; }
	.c-lb .c-lb-zeile { flex: 1 1 auto; }
}

/* Gestapelte Ansicht (bis 1024 px): erst die einzelnen Einträge, darunter der Knopf „Alle …“ */
@media (max-width:1024px) {
	html body .elementor .c-k-links:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-ip-text:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-tt-text:not(#a):not(#b):not(#c):not(#d) { display: contents !important; }
	html body .elementor .c-k-oben:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-ip-zeile:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-tt-zeile:not(#a):not(#b):not(#c):not(#d) { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 14px !important; }
	html body .elementor .c-k-oben > .c-k-links > .c-btn-weiss:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-ip-text > .c-knoepfe:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-tt-text > .c-knoepfe:not(#a):not(#b):not(#c):not(#d) { order: 2 !important; margin-top: 12px !important; align-self: flex-start !important; }
	html body .elementor .c-stellen:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-ip-karte:not(#a):not(#b):not(#c):not(#d), html body .elementor .c-tt-kreise:not(#a):not(#b):not(#c):not(#d) { order: 1 !important; margin-top: 12px !important; }
}

/* Anfrage-Bereich bis 1100 px Breite: 3 Spalten, nur Skizze und Titel */
@media (min-width:768px) and (max-width:1100px) {
	html body .elementor .c-wv-raster:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
	html body .elementor .c-wvg.c-mit-sk:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { grid-template-columns: 52px minmax(0, 1fr) !important; column-gap: 10px !important; padding: 8px 10px !important; }
	html body .elementor .c-wvg.c-mit-sk > .c-sk:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { width: 52px !important; grid-row: 1 !important; }
	html body .elementor .c-wvg .c-wvg-d:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { display: none !important; }
	html body .elementor .c-wvg .c-wvg-t:not(#a):not(#b):not(#c):not(#d):not(#e):not(#f):not(#g):not(#h) { font-size: .92rem !important; line-height: 1.15 !important; }
}

/* Referenzen-Kopf bis 1100 px Breite: Text oben, darunter die drei Bilder in voller Breite */
@media (min-width:768px) and (max-width:1100px) {
	html body .elementor .c-hk.c-unter-kopf:not(#a):not(#b):not(#c):not(#d):not(#e) { flex-direction: column !important; height: auto !important; min-height: 0 !important; }
	html body .elementor .c-hk.c-unter-kopf .c-hk-text:not(#a):not(#b):not(#c):not(#d):not(#e) { width: 100% !important; max-width: none !important; flex: none !important; height: auto !important; min-height: 0 !important; padding-bottom: 28px !important; }
	html body .elementor .c-hk.c-unter-kopf .c-lead:not(#a):not(#b):not(#c):not(#d):not(#e) { max-width: 62ch !important; width: auto !important; }
	html body .elementor .c-hk.c-unter-kopf .c-hk-zahlen:not(#a):not(#b):not(#c):not(#d):not(#e) { flex-direction: row !important; width: 100% !important; gap: 40px !important; }
	html body .elementor .c-hk.c-unter-kopf .c-knoepfe:not(#a):not(#b):not(#c):not(#d):not(#e) { flex-direction: row !important; width: auto !important; }
	html body .elementor .c-hk.c-unter-kopf .c-hk-sky:not(#a):not(#b):not(#c):not(#d):not(#e) { width: 100% !important; flex: none !important; height: 440px !important; min-height: 0 !important; }
	html body .elementor .c-hk.c-unter-kopf .c-hk-saeule:not(#a):not(#b):not(#c):not(#d):not(#e) { flex: 1 1 0 !important; width: auto !important; }
	html.c-js:not(.c-gescrollt) body:has(.c-hk.c-unter-kopf) .elementor .c-kopfleiste .c-burger-strich:not(#a):not(#b):not(#c):not(#d):not(#e) { background-color: #25272a !important; }
}

/* Leistungsphasen bis 1100 px Breite: 4 Spalten, kleiner */
@media (min-width:768px) and (max-width:1100px) {
	html body .elementor .c-strahl:not(#a):not(#b):not(#c):not(#d):not(#e) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px 16px !important; }
	html body .elementor .c-ph:not(#a):not(#b):not(#c):not(#d):not(#e) { padding: 0 !important; gap: 6px !important; min-width: 0 !important; height: auto !important; }
	html body .elementor .c-ph .c-ph-kreis:not(#a):not(#b):not(#c):not(#d):not(#e) { width: 34px !important; height: 34px !important; min-width: 34px !important; font-size: 15px !important; }
	html body .elementor .c-ph .c-ph-name:not(#a):not(#b):not(#c):not(#d):not(#e) { font-size: 14px !important; font-weight: 700 !important; margin: 0 !important; line-height: 1.2 !important; overflow-wrap: anywhere; hyphens: auto; }
	html body .elementor .c-ph p:not(.c-ph-name):not(.c-ph-kreis):not(#a):not(#b):not(#c):not(#d):not(#e) { font-size: 12.5px !important; line-height: 1.4 !important; margin: 0 !important; }
}

/* Team-Kopf bis 1100 px Breite: ganzes Foto unten, Text darüber auf dem grauen Fotohintergrund */
@media (max-width:1100px) {
	html body .elementor .c-tm-hero:not(#a):not(#b):not(#c):not(#d):not(#e) { background-color: #cecfd1 !important; background-size: 100% auto !important; background-position: 50% 100% !important; background-repeat: no-repeat !important; padding-top: 104px !important; padding-bottom: 48vw !important; height: auto !important; min-height: 0 !important; align-items: flex-start !important; }
	html body .elementor .c-tm-hero:not(#a):not(#b):not(#c):not(#d):not(#e)::after { display: none !important; }
	html body .elementor .c-tm-hero .c-tm-herotext:not(#a):not(#b):not(#c):not(#d):not(#e) { padding: 0 40px !important; margin-left: 0 !important; max-width: none !important; width: 100% !important; position: relative !important; z-index: 2 !important; }
	html body .elementor .c-tm-hero .c-tm-h1:not(#a):not(#b):not(#c):not(#d):not(#e) { position: static !important; writing-mode: horizontal-tb !important; transform: none !important; color: #25272a !important; font-size: clamp(2.2rem, 6vw, 3rem) !important; line-height: 1.02 !important; width: auto !important; height: auto !important; margin: 10px 0 12px !important; text-align: left !important; white-space: normal !important; }
	html body .elementor .c-tm-hero .c-lead-weiss:not(#a):not(#b):not(#c):not(#d):not(#e) { color: #25272a !important; max-width: 58ch !important; width: auto !important; }
	html body .elementor .c-tm-hero .c-pfad *:not(#a):not(#b):not(#c):not(#d):not(#e), html body .elementor .c-tm-hero .c-eyebrow-row *:not(#a):not(#b):not(#c):not(#d):not(#e) { color: #25272a !important; }
}
@media (max-width:767px) {
	html body .elementor .c-tm-hero .c-tm-herotext:not(#a):not(#b):not(#c):not(#d):not(#e) { padding: 0 16px !important; }
}

/* Kontaktleiste der Fußzeile auf dem Tablet: alles in einer Reihe, Adresse zweizeilig */
@media (min-width:768px) and (max-width:1100px) {
	html body .elementor div:has(> div > .c-fz-ort):not(#a):not(#b):not(#c):not(#d):not(#e) { flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; gap: 16px !important; }
	html body .elementor div:has(> .c-fz-ort):not(#a):not(#b):not(#c):not(#d):not(#e) { flex: 0 1 auto !important; flex-wrap: nowrap !important; width: auto !important; gap: 16px !important; align-items: center !important; }
	html body .elementor .c-fz-tel:not(#a):not(#b):not(#c):not(#d):not(#e), html body .elementor .c-fz-mail:not(#a):not(#b):not(#c):not(#d):not(#e) { font-size: 14px !important; white-space: nowrap !important; }
	html body .elementor .c-fz-ort:not(#a):not(#b):not(#c):not(#d):not(#e) { font-size: 14px !important; white-space: normal !important; max-width: 215px !important; line-height: 1.3 !important; }
	html body .elementor div:has(> div > .c-fz-ort) > .c-btn:not(#a):not(#b):not(#c):not(#d):not(#e) { flex: none !important; white-space: nowrap !important; padding: 11px 16px !important; font-size: 14px !important; }
}

/* Roter Referenzen-Kasten: weißer Knopf mittig */
@media (min-width:768px) {
	html body .elementor .c-box-invers > .c-btn:not(#a):not(#b):not(#c):not(#d):not(#e) { align-self: center !important; }
}
