.k3-terminsuche { padding: 20px; display: flex; flex-direction: column; gap: .75rem; margin-top: 1.5rem; }
.k3-terminsuche__zeile { display: flex; gap: .6rem; flex-wrap: wrap; }
.k3-terminsuche__zeile input { flex: 1 1 200px; width: auto; }
.k3-terminsuche__hinweis, .k3-klein, .k3-zeitraum { font-size: .875rem; color: var(--wp--preset--color--text-3); margin: 0; }
.k3-beliebt { display: flex; flex-direction: column; gap: 1.25rem; }
.k3-wochenenden { display: flex; flex-wrap: wrap; gap: .6rem; }
.k3-chip { min-height: 44px; padding: 0 1rem; border-radius: 999px; font: inherit; font-size: .9375rem; font-weight: 700; cursor: pointer; background: transparent; color: var(--wp--preset--color--text); border: 1px solid #2E3643; }
.k3-chip[aria-pressed="true"] { background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); border-color: var(--wp--preset--color--akzent); }
.k3-karte { padding: 20px; display: flex; flex-direction: column; gap: .6rem; }
.k3-karte h3 { margin: 0; font-size: 1.125rem; }
.k3-karte h3 a { color: inherit; text-decoration: none; }
.k3-karte__kopf { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.k3-karte__preis { white-space: nowrap; color: var(--wp--preset--color--text-2); }
.k3-karte__kurz { margin: 0; color: var(--wp--preset--color--text-3); font-size: .9375rem; }
.k3-karte__hinweis { margin: 0; min-height: 1.3em; font-size: .875rem; color: var(--wp--preset--color--text-3); }
.k3-karte ul { margin: 0; }
.k3-karte__knopf { margin-top: auto; min-height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 800; text-decoration: none; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent) !important; }
.k3-karte__knopf:hover { background: #7CC6FA; }

/* Mietanfrage-Assistent */
.k3-anfrage:not(.k3-js) .k3-schritte-nav, .k3-anfrage:not(.k3-js) [data-k3-schritt="1"], .k3-anfrage:not(.k3-js) [data-k3-schritt="2"],
.k3-anfrage:not(.k3-js) [data-k3-schritt="4"], .k3-anfrage:not(.k3-js) .k3-anfrage__seite, .k3-anfrage:not(.k3-js) .k3-knoepfe { display: none; }
.k3-anfrage [hidden] { display: none !important; }
.k3-schritte-nav { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.k3-schritte-nav button { min-height: 44px; padding: 0 1rem; border-radius: 10px; font: inherit; font-size: .9375rem; cursor: pointer; background: transparent; color: var(--wp--preset--color--text-3); border: 1px solid var(--wp--preset--color--linie); }
.k3-schritte-nav button[aria-current="step"] { color: var(--wp--preset--color--text); border-color: var(--wp--preset--color--akzent); background: #1B2A3A; font-weight: 800; }
.k3-schritte-nav button.ist-fertig { color: var(--wp--preset--color--frei); border-color: #1F5A3D; font-weight: 700; }
.k3-schritte-nav button:disabled { cursor: default; }
.k3-anfrage__layout { display: flex; flex-wrap: wrap; gap: 2rem; align-items: flex-start; }
.k3-anfrage__haupt { flex: 999 1 560px; min-width: 0; }
.k3-anfrage__seite { flex: 1 1 300px; min-width: 0; padding: 22px; position: sticky; top: 96px; }
.k3-schritt { padding: clamp(18px, 3vw, 28px); display: flex; flex-direction: column; gap: 1rem; }
.k3-schritt h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 1.9rem) !important; }
.k3-schritt p { margin: 0; }
.k3-zwei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 560px) { .k3-zwei { grid-template-columns: 1fr; } }
.k3-hinweis { font-size: .9375rem; color: #F7D9A0; background: #2A2416; border-radius: 12px; padding: .75rem 1rem; }
.k3-fehler { color: var(--wp--preset--color--vergeben); font-weight: 700; }
.k3-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .5rem; }
.k3-knopf--kontur { background: transparent !important; color: var(--wp--preset--color--text) !important; border: 1px solid #2E3643 !important; }
.k3-gruppe { border: 0 !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.k3-gruppe > summary { font-weight: 800; font-size: 1.05rem; padding: .5rem 0; }
.k3-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; border-top: 1px solid var(--wp--preset--color--linie); padding: .8rem 0; }
.k3-zeile.ist-gewaehlt { border-top-color: var(--wp--preset--color--akzent); }
.k3-zeile__text { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.k3-zeile__info { font-size: .875rem; color: var(--wp--preset--color--text-3); }
.k3-zeile__preis { color: var(--wp--preset--color--text-2); font-size: .9375rem; white-space: nowrap; }
.k3-stepper { display: inline-flex; align-items: center; gap: .3rem; }
.k3-stepper__knopf { width: 44px; height: 44px; border-radius: 10px; border: 1px solid #2E3643; background: transparent; color: var(--wp--preset--color--text); font-size: 1.25rem; cursor: pointer; }
.k3-stepper__knopf:hover { border-color: var(--wp--preset--color--akzent); }
.k3-stepper__wert { width: 2rem; text-align: center; font-weight: 800; }
.k3-kundenart { border: 0; padding: 0; margin: 0; display: flex; gap: .6rem; flex-wrap: wrap; }
.k3-kundenart label { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid #2E3643; display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 700; }
.k3-kundenart label:has(input:checked) { border-color: var(--wp--preset--color--akzent); background: #1B2A3A; }
.k3-seite__titel { font-size: 1.25rem !important; margin: 0 0 .75rem; }
.k3-zus { margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.k3-zus > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .9375rem; }
.k3-zus dt { color: var(--wp--preset--color--text-3); }
.k3-zus dd { margin: 0; }
.k3-zus__liste { list-style: none; margin: .9rem 0 0; padding: .9rem 0 0; border-top: 1px solid var(--wp--preset--color--linie); display: flex; flex-direction: column; gap: .35rem; font-size: .9375rem; }
.k3-zus__summe { font-weight: 800; margin: .9rem 0 .5rem; }
.k3-danke { border-color: #1F5A3D !important; }
/* Contact Form 7 im Schritt 3 */
.k3-felder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.k3-feld { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.k3-feld label { font-weight: 700; font-size: .9375rem; }
.k3-feld--breit { grid-column: 1 / -1; }
.k3-anfrage .wpcf7-form { display: flex; flex-direction: column; gap: 1rem; }
.k3-anfrage .wpcf7-form p { margin: 0; }
.k3-haken { display: flex; flex-direction: column; gap: .35rem; font-size: .9375rem; }
.k3-haken small { color: var(--wp--preset--color--text-3); font-size: .8125rem; line-height: 1.5; padding-left: 2rem; }
.k3-haken .wpcf7-list-item { margin: 0; }
.k3-haken label { display: inline-flex; gap: .6rem; align-items: center; cursor: pointer; }
.k3-absenden .wpcf7-submit { min-width: 240px; }
.k3-anfrage .wpcf7-spinner { margin: 0 0 0 .75rem; }
.k3-auswahl { background: #10141A; border: 1px dashed #3A4452; border-radius: 14px; padding: 14px 18px; color: var(--wp--preset--color--text-3); }
.k3-auswahl__titel { display: flex; justify-content: space-between; align-items: center; font-weight: 700; color: var(--wp--preset--color--text-2); margin: 0 0 .4rem !important; }
.k3-auswahl ul { margin: 0; padding-left: 1.1rem; font-size: .9375rem; }
.k3-link { background: none; border: 0; padding: .25rem 0; color: var(--wp--preset--color--akzent); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; min-height: 0 !important; }
.k3-weiter-info { border: 1px solid var(--wp--preset--color--linie) !important; background: transparent !important; }
.k3-ablauf { list-style: none; margin: .5rem 0 0; padding: 0; counter-reset: s; display: flex; flex-direction: column; gap: .75rem; }
.k3-ablauf li { counter-increment: s; display: grid; grid-template-columns: 2rem 1fr; column-gap: .75rem; }
.k3-ablauf li::before { content: counter(s); grid-row: span 2; width: 2rem; height: 2rem; border-radius: 50%; background: #1B2A3A; color: var(--wp--preset--color--akzent); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.k3-ablauf strong { display: block; }
.k3-ablauf span { color: var(--wp--preset--color--text-2); font-size: .9375rem; }
@media (max-width: 560px) { .k3-felder { grid-template-columns: 1fr; } .k3-anfrage__seite { position: static; } }
/* Handy: Schritte in einer Zeile mit drei gleich breiten Feldern (wie eine Segmentauswahl), „Deine“ entfällt */
@media (max-width: 560px) {
  .k3-schritte-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
  .k3-schritte-nav button { width: 100%; padding: 0 .4rem; font-size: .875rem; white-space: nowrap; }
  .k3-schritte-nav .k3-lang { display: none; }
}
.k3-haken small { display: block; margin-top: .25rem; }
.k3-haken > p, .k3-haken > span { display: block; }
.k3-mehrtaegig { display: inline-flex; gap: .6rem; align-items: center; cursor: pointer; font-size: .9375rem; }
.k3-hinweis--info { color: #BFE3FF; background: #12263A; }
.k3-karte--alle { border-style: dashed !important; }

/* Gewählte Artikel deutlich hervorheben */
.k3-zeile { border-radius: 12px; padding: .8rem .75rem; margin: 0 -.75rem; transition: background .15s, box-shadow .15s; }
.k3-zeile.ist-gewaehlt { background: rgba(46, 166, 247, .10); box-shadow: inset 0 0 0 1px rgba(46, 166, 247, .55); border-top-color: transparent; }
.k3-zeile.ist-gewaehlt + .k3-zeile { border-top-color: transparent; }
.k3-zeile.ist-gewaehlt .k3-zeile__text strong::after { content: "✓ gewählt"; margin-left: .6rem; font-size: .75rem; font-weight: 800; letter-spacing: .04em; color: var(--wp--preset--color--auf-akzent); background: var(--wp--preset--color--akzent); border-radius: 999px; padding: .1rem .5rem; vertical-align: middle; }
.k3-zeile.ist-gewaehlt .k3-stepper__wert { color: var(--wp--preset--color--akzent); font-size: 1.15rem; }
.k3-kunde { display: flex; flex-direction: column; gap: .6rem; }
.k3-kunde__titel { margin: 0; }
.k3-kunde [data-k3-firma-feld] label { font-weight: 700; font-size: .9375rem; }

/* Oft dazu gemietet */
.k3-dazu { border: 1px dashed #3A4452; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: .6rem; }
.k3-dazu__titel { margin: 0; }
.k3-dazu__liste { display: flex; flex-wrap: wrap; gap: .5rem; }
.k3-dazu__knopf { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--akzent); background: transparent; color: var(--wp--preset--color--text); font: inherit; font-size: .9375rem; font-weight: 700; cursor: pointer; }
.k3-dazu__knopf:hover { background: rgba(46, 166, 247, .12); }
.k3-feld__label { font-weight: 700; font-size: .9375rem; }
.k3-feld .wpcf7-radio { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.k3-feld .wpcf7-radio label { display: inline-flex; gap: .5rem; align-items: center; cursor: pointer; }
.k3-ablauf-liste li { margin-bottom: .6rem; color: var(--wp--preset--color--text-2); }
.k3-feld .wpcf7-radio { flex-direction: column; gap: .4rem; margin-top: .2rem; }
.k3-feld .wpcf7-list-item { margin: 0; }
.k3-gutschein-info { margin: .4rem 0 0; font-size: .875rem; color: #BFE3FF; background: #12263A; border-radius: 10px; padding: .6rem .8rem; }
.k3-feld[hidden] { display: none !important; }

/* Etikett „gewählt“ nie umbrechen; auf dem Handy als Zeile unter dem Namen */
.k3-zeile.ist-gewaehlt .k3-zeile__text strong::after { display: inline-block; white-space: nowrap; line-height: 1.5; }
@media (max-width: 560px) { .k3-zeile.ist-gewaehlt .k3-zeile__text strong::after { display: table; margin: .35rem 0 0; } }

/* Auf Seiten mit Formular keine feste Leiste unten (sonst springt man aus der Anfrage heraus) */
body:has(.k3-anfrage) .k3-leiste { display: none !important; }
@media (max-width: 720px) { body:has(.k3-anfrage) { padding-bottom: 0 !important; } }
.k3-mengenstaffel { color: var(--wp--preset--color--frei); font-weight: 700; font-size: .9375rem; }
/* Mengenrabatt als Plakette: Karten, Assistent, Zusammenfassung */
.k3-mengenrabatt { display: block; width: fit-content; margin-top: .35rem; padding: .15rem .55rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; line-height: 1.4;
  color: var(--wp--preset--color--frei); background: color-mix(in srgb, var(--wp--preset--color--frei) 14%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--frei) 40%, transparent); }
.k3-mengenrabatt--tipp { color: var(--wp--preset--color--text-2); background: transparent; border-style: dashed; font-weight: 600; }
.k3-zus__liste .k3-mengenrabatt { margin-top: .3rem; }
/* Zusammenfassung: Mengen direkt ändern, Tipp mit „hinzufügen“ */
.k3-zus__pos { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.k3-zus__name { min-width: 0; }
.k3-stepper--klein { gap: .15rem; flex: none; }
.k3-stepper--klein .k3-stepper__knopf { width: 32px; height: 32px; border-radius: 8px; font-size: 1rem; line-height: 1; }
.k3-stepper--klein .k3-stepper__wert { width: 1.6rem; font-size: .9375rem; color: var(--wp--preset--color--akzent); }
/* Mit dem Finger (Handy, Tablet): auch die kleinen Mengen-Knöpfe in der Zusammenfassung mit 44 px Tippfläche */
@media (pointer: coarse) { .k3-stepper--klein .k3-stepper__knopf { width: 44px; height: 44px; } }
.k3-tipp-knopf { margin-left: .25rem; padding: 0; border: 0; background: none; color: var(--wp--preset--color--akzent); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; white-space: nowrap; }
.k3-tipp-knopf:hover { text-decoration: none; }

/* Merkzettel: Zähler an „Mietanfrage“, Bestätigung nach „In die Anfrage legen“ */
.k3-zaehler { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4em; height: 1.4em; margin-left: .45em; padding: 0 .35em; border-radius: 999px; font-size: .8em; font-weight: 800; line-height: 1; background: var(--wp--preset--color--auf-akzent); color: var(--wp--preset--color--akzent); }
.k3-leiste .k3-zaehler { background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); }
a.ist-gemerkt { background: color-mix(in srgb, var(--wp--preset--color--frei) 18%, transparent) !important; color: var(--wp--preset--color--frei) !important; box-shadow: inset 0 0 0 1px var(--wp--preset--color--frei); }
.k3-toast { position: fixed; left: 50%; bottom: 24px; z-index: 70; display: flex; align-items: center; gap: 1rem; max-width: calc(100vw - 32px); padding: .8rem .8rem .8rem 1.1rem; border-radius: 14px; background: var(--wp--preset--color--flaeche); color: var(--wp--preset--color--text); border: 1px solid var(--wp--preset--color--linie); box-shadow: 0 12px 32px rgba(0, 0, 0, .45); transform: translate(-50%, 140%); opacity: 0; transition: transform .25s ease, opacity .25s ease; pointer-events: none; }
.k3-toast.ist-sichtbar { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.k3-toast a { flex: none; padding: .55rem 1rem; border-radius: 10px; font-weight: 800; text-decoration: none; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent) !important; }
@media (max-width: 720px) { .k3-toast { bottom: calc(86px + env(safe-area-inset-bottom)); width: calc(100vw - 32px); } }
@media (prefers-reduced-motion: reduce) { .k3-toast { transition: none; } }

/* Kategorien im Assistenten: zugeklappt mit Anzahl und Preis ab, Haken bei Auswahl */
.k3-gruppe { border-top: 1px solid var(--wp--preset--color--linie) !important; }
.k3-gruppe > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .8rem; padding: .9rem 0 !important; cursor: pointer; }
.k3-gruppe > summary .k3-gruppe__titel { font-weight: 800; }
.k3-gruppe > summary .k3-gruppe__info { font-weight: 500; font-size: .9rem; color: var(--wp--preset--color--text-3); }
.k3-gruppe > summary .k3-gruppe__zahl { margin-left: auto; font-size: .78rem; font-weight: 800; padding: .12rem .55rem; border-radius: 999px; background: var(--wp--preset--color--akzent); color: var(--wp--preset--color--auf-akzent); }
.k3-gruppe[open] > summary .k3-gruppe__info { color: var(--wp--preset--color--text-2); }
.k3-gruppe { margin: 0 !important; }
.k3-gruppe > summary { list-style: none; }
.k3-gruppe > summary::-webkit-details-marker { display: none; }
.k3-gruppe > summary .k3-gruppe__zahl { margin-left: 0; }
.k3-gruppe > summary::after { content: "+"; margin-left: auto; font-size: 1.4rem; line-height: 1; font-weight: 600; color: var(--wp--preset--color--akzent); }
.k3-gruppe[open] > summary::after { content: "−"; }
.k3-gruppe > summary:hover .k3-gruppe__titel { color: var(--wp--preset--color--akzent); }

/* Gutschein in der Zusammenfassung */
.k3-gutschein-zeile { color: var(--wp--preset--color--frei, #39D98A); font-weight: 600; }
