/* TOP MUSIC – Ergänzungen zu theme.json */
:root { --k3-radius: 18px; --k3-linie: var(--wp--preset--color--linie); }
body { font-stretch: 100%; -webkit-font-smoothing: antialiased; }
h1, h2, .k3-disp { font-stretch: 118%; }
img { height: auto; }

/* Kopfzeile */
.k3-kopf { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--k3-linie); }
/* Unschärfe als eigene Ebene: backdrop-filter direkt am Kopf würde das Handy-Menü (position: fixed) im Kopf einsperren. */
.k3-kopf::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(13, 17, 23, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.k3-logo { width: 40px; height: 40px; border-radius: 10px; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 15px; text-decoration: none; }
.k3-kopf .wp-block-site-title a { color: var(--wp--preset--color--text); text-decoration: none; }
.k3-kopf .wp-block-navigation a:not(.wp-element-button) { text-decoration: none; }
.k3-kopf .wp-block-navigation .k3-cta a { background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); padding: .65rem 1.1rem; border-radius: 999px; font-weight: 700; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--grund) !important; color: var(--wp--preset--color--text) !important; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }

/* Blockstile */
.is-style-karte { background: var(--wp--preset--color--flaeche); border: 1px solid var(--k3-linie); border-radius: var(--k3-radius); }
.is-style-band { background: var(--wp--preset--color--flaeche-2); border-top: 1px solid var(--k3-linie); border-bottom: 1px solid var(--k3-linie); }
.wp-block-button.is-style-kontur .wp-block-button__link { background: transparent; color: var(--wp--preset--color--text); border: 1px solid #2E3643; }
.wp-block-button.is-style-kontur .wp-block-button__link:hover { border-color: var(--wp--preset--color--akzent); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
ul.is-style-haken { list-style: none; padding-left: 0; }
ul.is-style-haken li { padding-left: 1.6em; position: relative; }
ul.is-style-haken li::before { content: ""; position: absolute; left: .1em; top: .45em; width: .9em; height: .5em; border-left: 2px solid var(--wp--preset--color--akzent); border-bottom: 2px solid var(--wp--preset--color--akzent); transform: rotate(-45deg); }

/* Karten-Raster: Spalten fallen von selbst um */
.k3-raster { display: grid !important; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.k3-raster > * { margin: 0 !important; }
.k3-kachel a { color: inherit; text-decoration: none; }
.k3-kachel:hover { border-color: var(--wp--preset--color--akzent); }
.k3-kachel svg { stroke: var(--wp--preset--color--akzent); }

/* Etikett über Überschriften */
.k3-etikett { display: inline-block; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--akzent); border: 1px solid #2E3643; padding: .35rem .75rem; border-radius: 999px; }

/* Ampel (wird vom Plugin k3-verfuegbarkeit befüllt) */
.k3-ampel { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .9375rem; min-height: 1.5em; }
.k3-ampel::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent); }
.k3-ampel:empty::before, .k3-ampel[data-stufe=""]::before { display: none; }
.k3-ampel[data-stufe="frei"] { color: var(--wp--preset--color--frei); }
.k3-ampel[data-stufe="knapp"] { color: var(--wp--preset--color--knapp); }
.k3-ampel[data-stufe="vergeben"] { color: var(--wp--preset--color--vergeben); }
.k3-ampel[data-stufe="anfrage"] { color: var(--wp--preset--color--text-2); font-weight: 600; }
.k3-ampel[data-stufe="anfrage"]::before { display: none; }
/* Während neu geprüft wird (Menge oder Termin geändert): grau statt des alten Ergebnisses */
.k3-ampel[data-stufe="pruefen"] { color: var(--wp--preset--color--text-3); font-weight: 600; }

/* Produkt */
.k3-produkt .k3-preis { font-weight: 800; font-stretch: 118%; font-size: 1.6rem; white-space: nowrap; }
.k3-produkt .k3-fakten { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .875rem; color: var(--wp--preset--color--text-3); }
.k3-produkt figure img { border-radius: 14px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; background: var(--wp--preset--color--flaeche-2); }

/* FAQ */
.wp-block-details summary { font-weight: 700; cursor: pointer; min-height: 24px; }
.wp-block-details[open] summary { margin-bottom: .6rem; }

/* Formulare (Contact Form 7 und Assistent) */
input[type=text], input[type=email], input[type=tel], input[type=date], input[type=number], select, textarea {
  width: 100%; box-sizing: border-box; min-height: 48px; border-radius: 12px; border: 1px solid #2E3643;
  background: var(--wp--preset--color--grund); color: var(--wp--preset--color--text); padding: .6rem .9rem; font: inherit; color-scheme: dark;
}
textarea { min-height: 120px; }
input[type=checkbox] { width: 22px; height: 22px; accent-color: var(--wp--preset--color--akzent); vertical-align: middle; }
.wpcf7-submit, button.k3-knopf { min-height: 50px; border: 0; border-radius: 12px; padding: 0 1.6rem; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); font: inherit; font-weight: 800; cursor: pointer; }

/* Handy: feste Leiste unten */
.k3-leiste { display: none; }
@media (max-width: 720px) {
  .k3-leiste { display: flex; gap: .6rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom)); background: rgba(13, 17, 23, .96); border-top: 1px solid var(--k3-linie); }
  .k3-leiste a { flex: 1; min-height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 12px; font-weight: 800; text-decoration: none; }
  .k3-leiste a:last-child { flex: 2; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); }
  .k3-leiste a:first-child { border: 1px solid #2E3643; color: var(--wp--preset--color--text); }
  body { padding-bottom: 84px; }
  .k3-nur-gross { display: none !important; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Ablauf */
.k3-schritte .k3-nr { display: block; font-weight: 800; font-stretch: 118%; font-size: 2.6rem; line-height: 1.1; color: var(--wp--preset--color--akzent); margin-bottom: .4rem; }
.k3-hero-bild img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }

/* Kategorie-Seiten */
.k3-zoll { display: block; font-size: 2.1rem; font-stretch: 118%; font-weight: 800; color: var(--wp--preset--color--akzent); line-height: 1.1; }
.k3-produkt h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin-top: 0; }
.k3-produkt .k3-fakten span { white-space: nowrap; }
.k3-produkt figure { margin: 0; }
.k3-produkt figure img { aspect-ratio: auto; max-height: 460px; object-fit: contain; }

/* Gegen Elementor-Kit-Vorgaben (solange Elementor für Altseiten aktiv ist) */
.wp-site-blocks h1, .wp-site-blocks h1.wp-block-heading, .wp-site-blocks .wp-block-post-title { font-size: var(--wp--preset--font-size--titel); line-height: .98; font-weight: 800; font-stretch: 118%; }
.wp-site-blocks h2.wp-block-heading { font-size: var(--wp--preset--font-size--ueberschrift); font-weight: 800; font-stretch: 118%; }
.wp-site-blocks h3.wp-block-heading { font-size: var(--wp--preset--font-size--zwischentitel); font-weight: 800; }
.wp-site-blocks .k3-produkt h2.wp-block-heading { font-size: clamp(1.6rem, 3vw, 2rem); }
@media (max-width: 720px) { .ht-ctc, .ht_ctc_chat_style, #ht-ctc-chat { display: none !important; } }

/* Age Gate (Zapfanlage) lesbar im dunklen Theme */
.age-gate__heading-title, .age-gate h1, .age-gate h2 { color: #111 !important; font-size: 1.6rem !important; }

/* Logo */
.k3-logo-link { display: inline-flex; align-items: center; min-height: 44px; }
.k3-logo-link img { height: 44px; width: auto; display: block; }
.k3-logo-fuss { height: 40px; width: auto; display: block; margin-bottom: .75rem; }
@media (max-width: 720px) { .k3-logo-link img { height: 34px; } }

/* Blog-Übersicht */
.wp-block-post-title a { color: var(--wp--preset--color--text); text-decoration: none; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--akzent); }

/* Kontaktliste */
.k3-kontaktliste { margin: 0; display: flex; flex-direction: column; }
.k3-kontaktliste > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--k3-linie); }
.k3-kontaktliste > div:first-child { border-top: 0; }
.k3-kontaktliste dt { color: var(--wp--preset--color--text-3); }
.k3-kontaktliste dd { margin: 0; overflow-wrap: anywhere; }
.k3-kontaktliste a { text-decoration: none; font-weight: 700; }
.k3-kontaktliste a:hover { text-decoration: underline; }
@media (max-width: 420px) { .k3-kontaktliste > div { grid-template-columns: 1fr; gap: .1rem; } }

/* Lange Wörter: deutsch trennen statt mitten im Wort abschneiden */
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; word-break: normal; }
.wp-site-blocks h2.has-zwischentitel-font-size { font-size: clamp(1.6rem, 3vw, 2.1rem) !important; }

/* Ganze Kachel klickbar (Link der Überschrift über die Kachel gespannt) */
.k3-kachel { position: relative; transition: border-color .15s; }
.k3-kachel h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.k3-kachel:has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--akzent); outline-offset: 3px; }
.k3-kachel h3 a:focus-visible { outline: none; }  /* bei Tastatur nur ein Rahmen, um die ganze Kachel */
.k3-kachel-cta { position: relative; }
.k3-kachel-cta a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.k3-kachel-cta:hover { filter: brightness(1.08); }
/* (Hover-Effekte der Kacheln nur mit Maus, siehe „Kacheln mit Foto“) */

/* Ratgeber-Bilder */
.k3-ratgeber-bild img { border-radius: 14px; max-width: 800px; width: 100%; }

/* Google Maps (lädt erst nach Zustimmung, Platzhalter vom mu-Plugin te-datenschutz) */
.k3-karte-map { border-radius: 18px; overflow: hidden; border: 1px solid var(--k3-linie); background: var(--wp--preset--color--flaeche); }
.k3-karte-map iframe { display: block; width: 100%; height: 420px; border: 0; }
.k3-karte-map .te-medien { background: var(--wp--preset--color--flaeche) !important; color: var(--wp--preset--color--text-2) !important; min-height: 260px; padding: 24px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .75rem; text-align: center; color: var(--wp--preset--color--text-2); }
.k3-karte-map .te-medien button { min-height: 46px; padding: 0 1.2rem; border-radius: 12px; border: 0; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); font: inherit; font-weight: 800; cursor: pointer; }

/* WhatsApp in der Kopfzeile */
.k3-kopf .wp-block-navigation .k3-wa a { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border: 1px solid #2E3643; border-radius: 999px; font-weight: 700; }
.k3-kopf .wp-block-navigation .k3-wa a::before { content: ""; width: 18px; height: 18px; background: #25D366; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.4a.5.5 0 0 0 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.2 2.2 2.2 0 0 0 .2-1.2c-.1-.1-.3-.2-.5-.3z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.4a.5.5 0 0 0 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.2 2.2 2.2 0 0 0 .2-1.2c-.1-.1-.3-.2-.5-.3z'/%3E%3C/svg%3E") center / contain no-repeat; }
.k3-kopf .wp-block-navigation .k3-wa a:hover { border-color: #25D366; }
.k3-leiste a:first-child { color: #25D366 !important; border-color: #1f5a3d !important; }

/* Fußzeile */
.k3-fuss { border-top: 1px solid var(--k3-linie); padding-top: var(--wp--preset--spacing--50); padding-bottom: 1.5rem; font-size: .9375rem; color: var(--wp--preset--color--text-3); }
.k3-fuss__raster { display: grid; grid-template-columns: 1.2fr 1.75fr 1fr 1fr; gap: 2rem 2.5rem; align-items: start; }
.k3-fuss__spalte { min-width: 0; }
.k3-fuss__spalte p, .k3-fuss__spalte address { margin: 0 0 .6rem; font-style: normal; line-height: 1.6; }
.k3-fuss__spalte address span { color: var(--wp--preset--color--text-3); font-size: .875rem; }
.k3-fuss .k3-logo-fuss { height: 36px; margin-bottom: 1rem; }
.wp-site-blocks .k3-fuss__titel { font-size: .8125rem !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--text); margin: .4rem 0 1rem; font-stretch: 100%; line-height: 1.2; }
.k3-fuss__spalte ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.k3-fuss a { color: var(--wp--preset--color--text-2); text-decoration: none; }
.k3-fuss a:hover { color: var(--wp--preset--color--akzent); text-decoration: underline; }
.k3-fuss__kontakt { margin: 0; display: flex; flex-direction: column; gap: .55rem; }
.k3-fuss__kontakt > div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .75rem; }
@media (min-width: 961px) { .k3-fuss__kontakt dd { white-space: nowrap; overflow-wrap: normal; } }
.k3-fuss__kontakt dt { color: var(--wp--preset--color--text-3); }
.k3-fuss__kontakt dd { margin: 0; overflow-wrap: anywhere; }
.k3-fuss__leiste { margin-top: var(--wp--preset--spacing--50); padding-top: 1.25rem; border-top: 1px solid var(--k3-linie); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .875rem; }
.k3-fuss__leiste nav { display: flex; gap: 1.5rem; }
@media (max-width: 960px) { .k3-fuss__raster { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .k3-fuss__raster { grid-template-columns: 1fr; } .k3-fuss__kontakt > div { grid-template-columns: 5.5rem 1fr; } }

/* Ratgeber-Schritte */
.k3-ratgeber-schritte { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important; }
.k3-schritt-karte h3 { margin: 0; }
.k3-schritt-nr { margin: 0 !important; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #1B2A3A; color: var(--wp--preset--color--akzent); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.k3-ratgeber-bild--dunkel img { border-radius: 0 !important; background: transparent; max-width: 860px; }

/* Cookie-Banner (mu-Plugin te-datenschutz) im Bühnen-Design. „html body“ schlägt das Inline-CSS des Plugins,
   die Plugin-Datei bleibt für alle drei Websites gleich. Ablehnen und Akzeptieren sind gleich gewichtet. */
html body #te-banner { left: auto; right: 0; padding: 16px; font: 15px/1.5 Archivo, system-ui, sans-serif; color: var(--wp--preset--color--text-2); }
html body #te-banner .te-kasten { max-width: 520px; margin: 0 0 0 auto; padding: 22px 22px 20px; background: var(--wp--preset--color--flaeche); border: 1px solid var(--k3-linie); border-radius: var(--k3-radius); box-shadow: 0 18px 48px rgba(0, 0, 0, .55); animation: te-rein .3s ease-out; }
@keyframes te-rein { from { transform: translateY(16px); opacity: 0; } }
html body #te-banner p { color: var(--wp--preset--color--text-2); font-size: .92rem; margin: 0 0 14px; }
html body #te-banner .te-titel { display: flex; align-items: center; gap: .55rem; margin-bottom: 8px; font-size: 1.15rem; font-weight: 800; color: var(--wp--preset--color--text); }
html body #te-banner .te-titel::before { content: ""; flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: radial-gradient(circle at 32% 34%, var(--wp--preset--color--grund) 0 9%, transparent 10%), radial-gradient(circle at 64% 58%, var(--wp--preset--color--grund) 0 10%, transparent 11%), radial-gradient(circle at 40% 72%, var(--wp--preset--color--grund) 0 7%, transparent 8%), var(--wp--preset--color--knapp); }
html body #te-banner a { color: var(--wp--preset--color--akzent); }
html body #te-banner label { position: relative; display: block; margin: 0; padding: 11px 62px 11px 0; border-top: 1px solid var(--k3-linie); font-size: .88rem; color: var(--wp--preset--color--text-3); cursor: pointer; }
html body #te-banner label strong { display: block; font-size: .95rem; color: var(--wp--preset--color--text); }
html body #te-banner input { position: absolute; right: 0; top: 50%; width: 46px; height: 26px; margin: -13px 0 0; appearance: none; -webkit-appearance: none; border-radius: 999px; background: var(--wp--preset--color--linie); border: 1px solid #3A4352; cursor: pointer; transition: background .2s; }
html body #te-banner input::before { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--wp--preset--color--text-3); transition: transform .2s, background .2s; }
html body #te-banner input:checked { background: var(--wp--preset--color--akzent); border-color: var(--wp--preset--color--akzent); }
html body #te-banner input:checked::before { transform: translateX(20px); background: var(--wp--preset--color--auf-akzent); }
html body #te-banner input:focus-visible { outline: 3px solid var(--wp--preset--color--akzent); outline-offset: 2px; }
html body #te-banner .te-knoepfe { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
html body #te-banner button { min-height: 46px; padding: 0 12px; border-radius: 12px; font: 800 .92rem Archivo, system-ui, sans-serif; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); border: 1px solid var(--wp--preset--color--akzent); }
html body #te-banner button[data-te="auswahl"] { grid-column: 1 / -1; order: 3; background: transparent; color: var(--wp--preset--color--text); border-color: #3A4352; }
html body #te-banner button:hover { filter: brightness(1.1); }
@media (max-width: 720px) {
  html body #te-banner { left: 0; padding: 0; }
  html body #te-banner .te-kasten { max-width: none; max-height: 85vh; border-radius: var(--k3-radius) var(--k3-radius) 0 0; border-bottom: 0; padding: 20px 16px calc(16px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { html body #te-banner .te-kasten { animation: none; } }

/* Handy-Menü (Overlay des Navigationsblocks, unter 600 px): volle Fläche, große Einträge, Untermenü eingerückt, Knöpfe unten */
.wp-block-navigation__responsive-container.is-menu-open { padding: 16px 16px calc(24px + env(safe-area-inset-bottom)) !important; }
.is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.is-menu-open .wp-block-navigation__responsive-container-close { top: 10px; right: 6px; color: var(--wp--preset--color--text); }
.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch !important; gap: 0 !important; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--k3-linie); flex-direction: column; align-items: stretch !important; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; width: 100%; padding: 15px 2px !important; font-size: 1.3rem; font-weight: 800; color: var(--wp--preset--color--text) !important; text-align: left; }
.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.is-menu-open .wp-block-navigation__submenu-container { width: 100%; padding: 0 0 12px 14px !important; gap: 0 !important; border-left: 2px solid var(--wp--preset--color--akzent) !important; margin: 0 0 14px 2px !important; }
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 9px 0 !important; font-size: 1.08rem; font-weight: 500; color: var(--wp--preset--color--text-2) !important; }
.is-menu-open .wp-block-navigation__container > .k3-wa, .is-menu-open .wp-block-navigation__container > .k3-cta { border-bottom: 0; margin-top: 12px; }
.is-menu-open .wp-block-navigation__container > .k3-wa + .k3-cta { margin-top: 10px; }
.k3-kopf .is-menu-open .wp-block-navigation__container > .k3-wa > a, .k3-kopf .is-menu-open .wp-block-navigation__container > .k3-cta > a { display: flex !important; justify-content: center; align-items: center; min-height: 54px; padding: 0 1rem !important; border-radius: 14px; font-size: 1.1rem; }
.k3-kopf .is-menu-open .wp-block-navigation__container > .k3-cta > a { color: var(--wp--preset--color--auf-akzent) !important; }
/* Offenes Menü über allem anderen (Kopf bildet sonst mit z-index 50 die Obergrenze, z. B. unter dem Testhinweis) */
.k3-kopf:has(.is-menu-open) { z-index: 100000; }
.is-menu-open .wp-block-navigation__submenu-container { align-items: stretch !important; }
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { text-align: left; }
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item, .is-menu-open .wp-block-navigation-item > a { box-sizing: border-box; max-width: 100%; }
.k3-kopf .is-menu-open .wp-block-navigation__container > .k3-wa > a, .k3-kopf .is-menu-open .wp-block-navigation__container > .k3-cta > a { width: 100%; }
.is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid var(--wp--preset--color--akzent); outline-offset: 2px; border-radius: 8px; }
.is-menu-open .wp-block-navigation-item__content:focus:not(:focus-visible) { outline: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block !important; width: 100%; }
/* Ausklappmenü am Desktop als Karte */
@media (min-width: 600px) {
  .k3-kopf .wp-block-navigation .wp-block-navigation__submenu-container { padding: 8px !important; background: var(--wp--preset--color--flaeche) !important; border: 1px solid var(--k3-linie) !important; border-radius: 14px; box-shadow: 0 14px 34px rgba(0, 0, 0, .45); min-width: 230px !important; }
  .k3-kopf .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px !important; border-radius: 9px; color: var(--wp--preset--color--text-2); }
  .k3-kopf .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--linie); color: var(--wp--preset--color--text); }
}

/* Fokusrahmen nur bei Tastaturbedienung (Tab), nicht nach einem Mausklick */
a:focus:not(:focus-visible), button:focus:not(:focus-visible), .wp-element-button:focus:not(:focus-visible), summary:focus:not(:focus-visible) { outline: none; }

/* Blogbeitrag: Zurück-Link, Bilder in Textbreite, Weiterblättern als Karten */
.k3-zurueck { margin: 0 0 var(--wp--preset--spacing--30); font-size: .95rem; }
.k3-zurueck a { color: var(--wp--preset--color--text-2); text-decoration: none; font-weight: 700; }
.k3-zurueck a:hover { color: var(--wp--preset--color--akzent); }
.k3-beitrag .wp-block-post-content img { display: block; width: auto; max-width: min(100%, 640px); max-height: 520px; height: auto; object-fit: contain; margin: var(--wp--preset--spacing--40) 0; border-radius: 14px; }
.k3-beitrag .wp-block-post-content figure { margin-left: 0; margin-right: 0; }

/* Blog: Seitenwechsel als Knöpfe */
.k3-seiten { gap: 8px !important; margin-top: var(--wp--preset--spacing--60) !important; align-items: center; }
.k3-seiten .page-numbers, .k3-seiten .wp-block-query-pagination-previous, .k3-seiten .wp-block-query-pagination-next { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-width: 46px; min-height: 46px; padding: 0 1rem; border-radius: 12px; border: 1px solid var(--k3-linie); background: var(--wp--preset--color--flaeche); color: var(--wp--preset--color--text) !important; font-weight: 700; text-decoration: none; }
.k3-seiten .page-numbers.current { background: var(--wp--preset--color--akzent); border-color: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent) !important; }
.k3-seiten a:hover { border-color: var(--wp--preset--color--akzent); }
.k3-seiten .wp-block-query-pagination-numbers { display: flex; gap: 8px; }
/* Blog-Liste: kompakte Kartentitel, Bild bündig */
.wp-block-query .is-style-karte .wp-block-post-title { font-size: 1.25rem !important; line-height: 1.3; hyphens: manual; -webkit-hyphens: manual; }
.wp-block-query .is-style-karte .wp-block-post-featured-image { margin: 0; width: 100%; }
.wp-block-query .is-style-karte .wp-block-post-featured-image img { width: 100%; object-fit: cover; }

/* Startseite (Ideen aus dem Vergleich mit vision-ex.de, 04.11.2026) */
/* Überzeile über Abschnittstiteln und ein Wort im Farbverlauf des Logo-Blaus */
.wp-site-blocks .k3-ueberzeile { margin-bottom: .55rem !important; font-size: .8125rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--akzent); }
.wp-site-blocks .k3-ueberzeile + .wp-block-heading { margin-top: 0 !important; }
.k3-verlauf { background: linear-gradient(90deg, #2EA6F7 0%, #6FE0FF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media (forced-colors: active) { .k3-verlauf { background: none; color: CanvasText; } }


/* Vorteile mit Symbol */
.k3-vorteil { position: relative; padding-left: 3.6rem; min-height: 2.75rem; }
.k3-vorteil::before { content: ""; position: absolute; left: 0; top: .1rem; width: 2.75rem; height: 2.75rem; border-radius: 12px; background: #1B2A3A; }
.k3-vorteil::after { content: ""; position: absolute; left: .625rem; top: .725rem; width: 1.5rem; height: 1.5rem; background: var(--wp--preset--color--akzent); -webkit-mask: var(--k3-symbol) center / contain no-repeat; mask: var(--k3-symbol) center / contain no-repeat; }
.k3-vorteil--live { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3Cpath d='M7.1 7.1a7 7 0 0 0 0 9.8M16.9 7.1a7 7 0 0 1 0 9.8M4.2 4.2a11 11 0 0 0 0 15.6M19.8 4.2a11 11 0 0 1 0 15.6'/%3E%3C/svg%3E"); }
.k3-vorteil--kabel { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2.5v4.5M15 2.5v4.5M6 7h12v3.5a6 6 0 0 1-12 0zM12 16.5v5'/%3E%3C/svg%3E"); }
.k3-vorteil--anleitung { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2.5h8l4.5 4.5v14.5H6zM14 2.5V7h4.5M9 13.5l2.2 2.2 4-4.2'/%3E%3C/svg%3E"); }
.k3-vorteil--auto { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11l1.6-4.4A2 2 0 0 1 8.5 5.3h7a2 2 0 0 1 1.9 1.3L19 11M3 11h18v6H3zM5.5 17v2.2M18.5 17v2.2M7 14h.01M17 14h.01'/%3E%3C/svg%3E"); }

/* Kacheln mit Foto, leichter Zoom beim Drüberfahren */
.k3-kachel { overflow: hidden; }
.wp-site-blocks .k3-kachel-bild { margin: -22px -22px 14px !important; max-width: none; }
.k3-kachel-bild img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .5s ease; }
/* Anheben und Zoomen nur mit Maus: Auf dem iPhone löst schon ein Tippen :hover aus, und die Kachel bliebe angehoben */
@media (hover: hover) { .k3-kachel:hover .k3-kachel-bild img { transform: scale(1.05); } }
.k3-kachel-bild--frei img { object-fit: contain; padding: 14px 0; box-sizing: border-box; background: radial-gradient(circle at 50% 60%, #22364A 0%, #121A24 70%); }
.k3-kachel-bild--oben img { object-position: 50% 8%; }
.k3-kachel-bild--unten img { object-position: 50% 92%; }
.k3-kachel { transition: border-color .15s, transform .2s ease, box-shadow .2s ease; }
@media (hover: hover) { .k3-kachel:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0, 0, 0, .35); } }

/* Blog-Vorschau auf der Startseite */
.k3-raster--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important; }
.wp-site-blocks .k3-blog-vorschau { margin-top: var(--wp--preset--spacing--40) !important; }
.k3-blog-vorschau .k3-kachel-bild { margin: 0 0 6px !important; }
.k3-blog-vorschau .k3-kachel-bild img { aspect-ratio: 16 / 9; height: auto !important; }
.k3-blog-vorschau .k3-blog-datum, .k3-blog-vorschau .k3-blog-kartentitel { padding: 0 22px; margin: 0 !important; }
.wp-site-blocks .k3-blog-vorschau h3.k3-blog-kartentitel { font-size: 1.2rem; line-height: 1.3; hyphens: manual; -webkit-hyphens: manual; }
.k3-blog-vorschau .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }

/* Abschluss-Band vor der Fußzeile */
.k3-abschluss { position: relative; overflow: hidden; padding: clamp(40px, 7vw, 88px) clamp(20px, 5vw, 64px) !important; border: 1px solid var(--k3-linie); border-radius: 24px; background: radial-gradient(120% 140% at 50% 0%, rgba(46, 166, 247, .22) 0%, rgba(13, 17, 23, 0) 60%), linear-gradient(180deg, rgba(13, 17, 23, .72), rgba(13, 17, 23, .92)), url("/wp-content/uploads/startseite-feier-1536x1022.webp") center 35% / cover no-repeat, var(--wp--preset--color--flaeche); }
.k3-abschluss .wp-block-buttons { margin-top: var(--wp--preset--spacing--40); gap: .75rem; }
.k3-knopf-wa .wp-block-button__link { color: #25D366 !important; border-color: #1f5a3d !important; }
.k3-knopf-wa .wp-block-button__link:hover { border-color: #25D366 !important; }

/* Abschnitte beim Scrollen sanft einblenden (nur was beim Laden unterhalb des Bildschirms liegt, assets/js/theme.js) */
.k3-einblenden { opacity: 0; transform: translateY(16px); transition: opacity .4s cubic-bezier(.2, .8, .2, 1), transform .4s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--k3-verzoegerung, 0s); }
.k3-einblenden.ist-sichtbar { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .k3-einblenden { opacity: 1; transform: none; } .k3-kachel:hover, .k3-kachel:hover .k3-kachel-bild img { transform: none; } }

/* Startbild über die ganze Breite (Marcus 05.11.2026: Standard; vorher Bild rechts als Kasten) */
.k3-hero { position: relative; display: flex; align-items: center; min-height: min(82vh, 780px); background: linear-gradient(90deg, rgba(13, 17, 23, .97) 0%, rgba(13, 17, 23, .86) 42%, rgba(13, 17, 23, .35) 100%), url("/wp-content/uploads/startseite-feier.webp") 70% center / cover no-repeat; }
.k3-hero > .wp-block-columns { width: 100%; }
.k3-hero .wp-block-column:first-child { flex-basis: 62% !important; flex-grow: 0; }
@media (max-width: 781px) { .k3-hero { min-height: 0; background: linear-gradient(180deg, rgba(13, 17, 23, .45) 0%, rgba(13, 17, 23, .72) 30%, rgba(13, 17, 23, .9) 62%, #0D1117 100%), url("/wp-content/uploads/startseite-feier-768x511.webp") 62% top / cover no-repeat; } .k3-hero .wp-block-column:first-child { flex-basis: 100% !important; } }
/* Handy: Kacheln mit Foto kompakt (Bild links, Text rechts), sonst wird die Liste sehr lang */
@media (max-width: 560px) {
  .k3-raster > .k3-kachel:has(> .k3-kachel-bild) { display: grid !important; grid-template-columns: 112px 1fr; grid-template-rows: auto 1fr; column-gap: 16px; padding: 0 !important; }
  .wp-site-blocks .k3-raster > .k3-kachel > .k3-kachel-bild { grid-row: 1 / span 2; margin: 0 !important; height: 100%; }
  .k3-raster > .k3-kachel > .k3-kachel-bild img { height: 100%; min-height: 124px; aspect-ratio: auto; }
  .wp-site-blocks .k3-raster > .k3-kachel:has(> .k3-kachel-bild) > h3 { margin: 16px 16px 4px 0 !important; font-size: 1.15rem; }
  .k3-raster > .k3-kachel:has(> .k3-kachel-bild) > p { margin: 0 16px 16px 0 !important; font-size: .95rem; }
}
/* Smush-Lazyload: der Platzhalter übernimmt vor dem Laden die volle Bildbreite (z. B. 1024 px) und machte die Seite
   am Handy breiter als den Bildschirm (Handy zoomt dann die ganze Seite heraus) – auf Bildschirmbreite begrenzen */
.wp-site-blocks img.lazyload, .wp-site-blocks img[style*="--smush-placeholder-width"] { max-width: 100% !important; }

/* Blogbeitrag luftiger (Marcus 04.11.2026: „vom Text und der Schriftgröße erschlagen“) */
.k3-beitrag { --k3-lese: 700px; }
.k3-beitrag > *, .k3-beitrag .wp-block-post-content > * { max-width: var(--k3-lese) !important; }
.k3-beitrag .wp-block-post-featured-image { max-width: 860px !important; margin-top: var(--wp--preset--spacing--40) !important; margin-bottom: var(--wp--preset--spacing--50) !important; }
.wp-site-blocks .k3-beitrag h1.wp-block-post-title { font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.12; margin-top: .4rem; }
.k3-beitrag .wp-block-post-content { font-size: 1.0625rem; line-height: 1.75; color: var(--wp--preset--color--text-2); }
.k3-beitrag .wp-block-post-content > p:first-child { font-size: 1.2rem; line-height: 1.65; color: var(--wp--preset--color--text); }
.k3-beitrag .wp-block-post-content p, .k3-beitrag .wp-block-post-content ul, .k3-beitrag .wp-block-post-content ol { margin-top: 0; margin-bottom: 1.15em; }
.wp-site-blocks .k3-beitrag .wp-block-post-content h2.wp-block-heading { font-size: clamp(1.35rem, 2.4vw, 1.6rem); font-stretch: 108%; font-weight: 750; line-height: 1.25; margin: 2.2em 0 .55em; color: var(--wp--preset--color--text); }
.wp-site-blocks .k3-beitrag .wp-block-post-content h3.wp-block-heading { font-size: 1.15rem; line-height: 1.3; margin: 1.6em 0 .4em; }
.k3-beitrag .wp-block-post-content li { margin-bottom: .45em; }
.k3-beitrag .wp-block-post-content a { text-underline-offset: 3px; text-decoration-thickness: 1px; }
.k3-beitrag .wp-block-post-content strong { color: var(--wp--preset--color--text); }
/* Blog-Liste: Auszug ruhiger */
.wp-block-query .is-style-karte .wp-block-post-excerpt { font-size: .95rem; line-height: 1.6; color: var(--wp--preset--color--text-3); }
.wp-block-query .is-style-karte .wp-block-post-excerpt__more-text { display: none; }

/* Hintergrund: sanfter Verlauf statt reinem Schwarz – Blau-Schimmer oben rechts, leicht aufgehellte Mitte */
body { background-color: var(--wp--preset--color--grund); background-image: radial-gradient(ellipse 70% 45% at 88% 0%, rgba(46, 166, 247, .13), transparent 70%), radial-gradient(ellipse 55% 35% at 0% 30%, rgba(46, 166, 247, .06), transparent 70%), linear-gradient(180deg, #0D1117 0%, #111A26 45%, #0E141C 75%, #0D1117 100%); background-repeat: no-repeat; background-size: 100% 100%; min-height: 100vh; }
.wp-site-blocks { background: transparent; }

/* Zahlenreihe (seit 2006) */
.k3-zahlen { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important; border-top: 1px solid var(--k3-linie); border-bottom: 1px solid var(--k3-linie); padding: var(--wp--preset--spacing--40) 0; }
.k3-zahlen p { color: var(--wp--preset--color--text-3); font-size: .975rem; line-height: 1.5; }
.k3-zahl { display: block; margin-bottom: .35rem; font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.05; font-weight: 800; font-stretch: 118%; background: linear-gradient(90deg, #2EA6F7 0%, #6FE0FF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (forced-colors: active) { .k3-zahl { background: none; color: CanvasText; } }

/* Bilder der Startseite farblich angleichen (Marcus 05.11.2026; Kacheln, Blog-Vorschau, Abschluss-Band – nicht das Startbild): Blau-Schleier im Ton der Seite,
   weniger Sättigung, unten leicht abgedunkelt; beim Drüberfahren kommen die Originalfarben */
.home .k3-kachel-bild { position: relative; isolation: isolate; }
.home .k3-kachel-bild img { filter: saturate(.8) brightness(.96) contrast(1.04); transition: transform .5s ease, filter .4s ease; }
.home .k3-kachel-bild::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: #2EA6F7; mix-blend-mode: color; opacity: .32; transition: opacity .4s ease; }
.home .k3-kachel-bild::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(46, 166, 247, .14) 0%, rgba(13, 17, 23, 0) 50%, rgba(13, 17, 23, .28) 100%); }
.home .k3-kachel:hover .k3-kachel-bild img { filter: none; }
.home .k3-kachel:hover .k3-kachel-bild::before { opacity: 0; }
/* Abschluss-Band: derselbe Schleier über dem Hintergrundfoto, Inhalt darüber */
.k3-abschluss { isolation: isolate; }
.k3-abschluss::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: #2EA6F7; mix-blend-mode: color; opacity: .32; }
.k3-abschluss > * { position: relative; z-index: 1; }

/* Kontaktliste mit Symbolen statt Beschriftung (Marcus 05.11.2026); Text bleibt für Screenreader und als Tooltip */
.k3-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.k3-kontaktliste--symbole > div { grid-template-columns: 2.75rem 1fr !important; align-items: center; gap: .9rem; }
.k3-kontaktliste--symbole .k3-ks, .k3-fuss__kontakt--symbole .k3-ks { position: relative; width: 2.5rem; height: 2.5rem; border-radius: 11px; background: #1B2A3A; cursor: help; }
.k3-kontaktliste--symbole .k3-ks::after, .k3-fuss__kontakt--symbole .k3-ks::after { content: ""; position: absolute; inset: .55rem; background: var(--wp--preset--color--akzent); -webkit-mask: var(--k3-symbol) center / contain no-repeat; mask: var(--k3-symbol) center / contain no-repeat; }
.k3-ks--backoffice { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='14' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='14' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 20a3 3 0 0 1-3 2h-3'/%3E%3C/svg%3E"); }
.k3-ks--lager { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-5 9 5v12'/%3E%3Cpath d='M7 21v-8h10v8M7 17h10'/%3E%3C/svg%3E"); }
.k3-ks--mail { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E"); }
.k3-ks--wa { --k3-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.4a.5.5 0 0 0 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.2 2.2 2.2 0 0 0 .2-1.2c-.1-.1-.3-.2-.5-.3z'/%3E%3C/svg%3E"); background: #12301f !important; }
.k3-ks--wa::after { background: #25D366 !important; }
@media (max-width: 420px) { .k3-kontaktliste--symbole > div { grid-template-columns: 2.75rem 1fr !important; gap: .75rem; } }
/* Fußzeile: dieselben Symbole, etwas kleiner */
.k3-fuss__kontakt--symbole > div { grid-template-columns: 2.1rem 1fr !important; align-items: center; gap: .7rem !important; }
.k3-fuss__kontakt--symbole .k3-ks { width: 2rem !important; height: 2rem !important; border-radius: 9px !important; }
.k3-fuss__kontakt--symbole .k3-ks::after { inset: .45rem !important; }

/* Google-Bewertungen ([k3_bewertungen]) */
.k3-bewertungen { display: grid; gap: 1.25rem; }
.k3-bew-schnitt { margin: 0; color: var(--wp--preset--color--text-2); }
.k3-bew-schnitt strong { color: var(--wp--preset--color--text); font-size: 1.15rem; }
.k3-sterne { color: #FFC531; letter-spacing: .12em; }
.k3-sterne-leer { color: var(--k3-linie); }
.k3-bew-raster { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)) !important; align-items: start; }
.k3-bew { margin: 0; padding: 22px; display: flex; flex-direction: column; gap: .9rem; }
.k3-bew blockquote { margin: 0; padding: 0; border: 0; }
.k3-bew blockquote p { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--wp--preset--color--text); }
.k3-bew blockquote p::before { content: "„"; }
.k3-bew blockquote p::after { content: "“"; }
.k3-bew details { font-size: .9375rem; color: var(--wp--preset--color--text-2); }
.k3-bew summary { cursor: pointer; color: var(--wp--preset--color--akzent); font-weight: 600; }
.k3-bew details p { margin: .6rem 0 0; line-height: 1.6; }
.k3-bew figcaption { display: flex; align-items: center; gap: .7rem; margin-top: auto; font-size: .875rem; color: var(--wp--preset--color--text-3); line-height: 1.35; }
.k3-bew figcaption strong { color: var(--wp--preset--color--text); font-weight: 700; }
.k3-bew-initial { flex: none; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--wp--preset--color--flaeche-2); border: 1px solid var(--k3-linie); color: var(--wp--preset--color--akzent); font-weight: 800; }
.k3-bew-knoepfe { display: flex; flex-wrap: wrap; margin: 0; gap: .75rem; }
.k3-bew-hinweis { margin: 0; font-size: .8125rem; color: var(--wp--preset--color--text-3); }
/* Bewertungen: Hinweis zur Echtheit aufklappbar (§ 5b UWG) */
.k3-bew-hinweis { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .6rem; }
.k3-bew-echt { display: inline; }
.k3-bew-echt summary { display: inline; cursor: pointer; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.k3-bew-echt summary::-webkit-details-marker { display: none; }
.k3-bew-echt[open] { flex-basis: 100%; }
.k3-bew-echt p { margin: .35rem 0 0; }

/* Rückmeldung schon beim Drücken, nicht erst beim Loslassen (Skill apple-design, 07.11.2026); ohne Doppeltipp-Verzögerung */
.wp-block-button__link, .wpcf7-submit, button, .k3-leiste a, .k3-karte__knopf, .k3-chip, .k3-stepper__knopf, .k3-dazu__knopf,
.k3-schritte-nav button, .k3-seiten a, .k3-toast a, .k3-kopf .k3-cta a, .k3-kopf .k3-wa a, .k3-kachel {
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.wp-block-button__link, .wpcf7-submit, button, .k3-leiste a, .k3-karte__knopf, .k3-chip, .k3-stepper__knopf, .k3-dazu__knopf,
.k3-schritte-nav button, .k3-seiten a, .k3-toast a, .k3-kopf .k3-cta a, .k3-kopf .k3-wa a {
  transition: transform .1s ease-out, filter .15s ease-out, background-color .15s ease-out, border-color .15s ease-out;
}
.wp-block-button__link:active, .wpcf7-submit:active, button:not(:disabled):active, .k3-leiste a:active, .k3-karte__knopf:active,
.k3-chip:active, .k3-stepper__knopf:active, .k3-dazu__knopf:active, .k3-schritte-nav button:not(:disabled):active, .k3-seiten a:active,
.k3-toast a:active, .k3-kopf .k3-cta a:active, .k3-kopf .k3-wa a:active { transform: scale(.97); }
.k3-kachel:active { transform: scale(.985); }
@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link:active, .wpcf7-submit:active, button:not(:disabled):active, .k3-leiste a:active, .k3-karte__knopf:active, .k3-chip:active,
  .k3-stepper__knopf:active, .k3-dazu__knopf:active, .k3-schritte-nav button:not(:disabled):active, .k3-seiten a:active, .k3-toast a:active,
  .k3-kopf .k3-cta a:active, .k3-kopf .k3-wa a:active, .k3-kachel:active { transform: none; }
}
