/* Kontaktseite /kontakt/ (28.09.2026): two columns from 900 px (left personal contact, right form), below one column
   with the personal contact first. Form .picline-kf from inc/kontakt.php. Loaded only where the form is.
   Text sizes at least 16 px visible (16 / .9 px from 1024 px because of the 90 % view). */
.picline-kontakt .picline-inner > h1 { margin: 0; font-size: clamp(2.2rem, 3.6vw, 4.25rem); line-height: 1.1; letter-spacing: -.025em; }
.picline-kontakt .picline-inner > .picline-kontakt-intro { max-width: 70ch; margin: 1.25rem 0 0; font-size: clamp(1.125rem, 1rem + .35vw, 1.375rem); line-height: 1.6; }
.picline-kontakt-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-top: clamp(2rem, 4vw, 3.5rem); }
@media (max-width: 899px) { .picline-kontakt-grid { grid-template-columns: minmax(0, 1fr); } }
.picline-kontakt-grid > * { min-width: 0; margin: 0; }
.picline-kontakt-person > *, .picline-kontakt-form > * { margin-block: 0; }
/* Any image block at the top of the column gets this look (Andrea adds a new picture instead of the placeholder). */
.picline-kontakt-person .picline-kontakt-portrait, .picline-kontakt-person > .wp-block-image { max-width: 360px; margin-bottom: 1.5rem; }
.picline-kontakt-person .picline-kontakt-portrait img, .picline-kontakt-person > .wp-block-image img { display: block; width: 100%; height: auto; border-radius: 16px; }
/* Team photo (ID 316, transparent background) since 29.09.2026: yellow frame; no navy behind it (removed the same
   evening on Andrea's request, like on Leistungen). */
.picline-kontakt-person .picline-kontakt-team img { box-sizing: border-box; border: 3px solid #F7E229; }
.picline-kontakt-grid h2, .picline-kontakt-form > h2 { margin-bottom: 1rem !important; font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem); line-height: 1.2; }
.picline-kontakt-person p { font-size: 1.0625rem; line-height: 1.6; }
.picline-kontakt-person p + p { margin-top: .75rem; }
.picline-kontakt-lines { margin-top: 1.5rem !important; padding: 0; list-style: none; display: grid; gap: .6rem; }
.picline-kontakt-lines li { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
.picline-kontakt-lines a { color: #02084a; font-weight: 700; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.picline-kontakt-person .picline-placeholder { margin-top: 1.5rem; box-sizing: border-box; }
/* «Festnetz» / «Mobil» equally wide, so both numbers start at the same position (29.09.2026, Andrea). */
.picline-kontakt-nr { display: inline-block; min-width: 4.75em; }
/* Since 29.09.2026: contact page slim (short form, availability), own page «Projekt besprechen» with the long form
   and the numbered list «So geht es weiter». */
.picline-kontakt-person h3 { margin-top: 1.75rem !important; margin-bottom: .5rem !important; font-size: clamp(1.2rem, 1.05rem + .4vw, 1.4rem); line-height: 1.25; }
.picline-kontakt-person h3 + p { margin-top: 0; }
.picline-kontakt-person p + .picline-placeholder { margin-top: 1rem; }
/* Phone hours under «Erreichbarkeit» (29.09.2026, Andrea's hours): day in bold, times below. */
.picline-kontakt-person .picline-kontakt-zeiten-titel { margin-top: 1rem; font-weight: 700; }
.picline-kontakt-zeiten { margin: .5rem 0 0 !important; padding: .9rem 1.1rem; list-style: none; display: grid; gap: .6rem; border-left: 4px solid #F7E229; border-radius: 0 10px 10px 0; background: #eef1fa; }
.picline-kontakt-zeiten li { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
@media (min-width: 1024px) { .picline-kontakt-zeiten li { font-size: calc(17px / .9); } }
.picline-kontakt-form > .picline-kontakt-projekt-hinweis { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #E3E6F2; font-size: 1rem; line-height: 1.55; }
.picline-kontakt-projekt-hinweis a { color: #02084a; font-weight: 700; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.picline-kontakt .picline-inner > .picline-kontakt-next { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid rgb(2 8 74 / 14%); }
.picline-kontakt-next > h2 { margin: 0 0 1.25rem; font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem); line-height: 1.2; }
.picline-kontakt-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); margin: 0; padding: 0; list-style: none; counter-reset: picline-kontakt-step; }
.picline-kontakt-steps > li { position: relative; margin: 0; padding-top: 3.25rem; font-size: 1.0625rem; line-height: 1.55; counter-increment: picline-kontakt-step; }
.picline-kontakt-steps > li::before {
    content: counter(picline-kontakt-step); position: absolute; top: 0; left: 0;
    display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%;
    background: #02084a; color: #F7E229; font-weight: 700;
}
@media (max-width: 781px) { .picline-kontakt-steps { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1024px) { .picline-kontakt-steps > li, .picline-kontakt-form > .picline-kontakt-projekt-hinweis { font-size: calc(17px / .9); } }
/* Projekt besprechen since 29.09.2026 without the personal column (Andrea): the form card stands alone at the left edge. */
.picline-kontakt .picline-inner > .picline-kontakt-form { box-sizing: border-box; max-width: 900px; margin-top: clamp(2rem, 4vw, 3.5rem); }
.picline-kontakt-form { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid #E3E6F2; border-radius: 16px; background: #fff; box-shadow: 0 2px 4px rgb(2 8 74 / 5%), 0 16px 36px -16px rgb(2 8 74 / 22%); }

/* One contact page since 30.09.2026 evening (Andrea: Kontakt and Projekt besprechen merged): small yellow category
   above the H1 (navy text on yellow, yellow text would not be readable on white), address block, direct contact line
   under «So geht es weiter». */
.picline-kontakt .picline-inner > .picline-kontakt-dachzeile {
    display: inline-block; margin: 0 0 1rem; padding: .35rem .85rem; border-radius: 999px; background: #F7E229; color: #02084a;
    font-size: .8125rem; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase;
}
/* As wide as its text (as a block it took the full width plus padding, 7 px too wide at 390 px). */
.picline-kontakt .picline-inner > .picline-kontakt-dachzeile { box-sizing: border-box; width: fit-content; max-width: 100%; }
.picline-kontakt .picline-inner > .picline-kontakt-dachzeile + h1 { margin-top: 0; }
.picline-kontakt-person .picline-kontakt-adresse { margin-top: 1.25rem; padding: 1rem 1.15rem; border-radius: 12px; background: #eef1fa; line-height: 1.55; }
.picline-kontakt-person .picline-kontakt-adresse + .picline-kontakt-lines { margin-top: 1rem !important; }
.picline-kontakt .picline-inner > .picline-kontakt-direkt { margin-top: clamp(1.75rem, 3vw, 2.5rem); font-size: 1.0625rem; line-height: 1.6; }
.picline-kontakt-direkt a { color: #02084a; font-weight: 700; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 4px; white-space: nowrap; }
.picline-kontakt-steps > li strong { display: block; margin-bottom: .25rem; }
@media (min-width: 1024px) { .picline-kontakt .picline-inner > .picline-kontakt-direkt { font-size: calc(17px / .9); } .picline-kontakt .picline-inner > .picline-kontakt-dachzeile { font-size: calc(13px / .9); } }

/* Left column since 30.09.2026 evening (Andrea): grey image placeholder in the size of the former portrait (replace
   the paragraph with an image block), contact details and availability as white cards like the cards of the website,
   each entry with a yellow icon in a navy square, small label above the value. */
.picline-kontakt-person > .picline-kontakt-bildplatz {
    display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; max-width: 360px;
    aspect-ratio: 1024 / 929; margin: 0 0 1.5rem; padding: 1rem; border-radius: 16px; background: #d9dde6; color: #02084a;
    font-weight: 700; text-align: center;
}
.picline-kontakt-person > .picline-kontakt-karte {
    box-sizing: border-box; margin-top: 1.5rem; padding: .35rem 1.5rem; border: 1px solid #E3E6F2; border-radius: 16px;
    background: #fff; box-shadow: 0 8px 24px rgb(2 8 74 / 6%);
}
.picline-kontakt-person > .picline-kontakt-karte + .picline-kontakt-karte { margin-top: 1rem; }
.picline-kontakt-person .picline-kontakt-karte > * { margin: 0; }
.picline-kontakt-person .picline-kontakt-karte > p.picline-kontakt-eintrag { position: relative; min-height: 44px; padding: .9rem 0 .9rem 60px; line-height: 1.45; }
.picline-kontakt-person .picline-kontakt-karte > p.picline-kontakt-eintrag + p.picline-kontakt-eintrag { border-top: 1px solid #E3E6F2; }
.picline-kontakt-label { display: block; margin-bottom: .1rem; color: rgb(2 8 74 / 70%); font-size: .8125rem; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.picline-kontakt-eintrag a { color: #02084a; font-weight: 700; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.picline-kontakt-eintrag::before, .picline-kontakt-karte-titel::before {
    content: ""; position: absolute; left: 0; width: 44px; height: 44px; border-radius: 12px;
    background: #02084a center / 22px 22px no-repeat;
}
.picline-kontakt-eintrag::before { top: .9rem; }
.picline-kontakt-icon-ort::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-telefon::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 3 3 5-3 2c2 4 3 5 7 7l2-3 5 3-1 4C10 23 1 14 3 4Z'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-mobil::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-zeit::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
/* Availability card: title with the clock icon, the rest aligned with the text of the entries above. */
.picline-kontakt-person .picline-kontakt-erreichbar { padding-top: 1.1rem; padding-bottom: 1.25rem; }
.picline-kontakt-person .picline-kontakt-karte > .picline-kontakt-karte-titel { position: relative; display: flex; align-items: center; min-height: 44px; margin: 0 0 .35rem !important; padding-left: 60px; }
.picline-kontakt-karte-titel::before { top: 50%; transform: translateY(-50%); }
/* !important: .picline-kontakt-zeiten sets its whole margin with !important. */
.picline-kontakt-person .picline-kontakt-erreichbar > :not(.picline-kontakt-karte-titel) { margin-left: 60px !important; }
.picline-kontakt-person .picline-kontakt-erreichbar > .picline-kontakt-zeiten-titel { margin-top: .75rem; }
.picline-kontakt-person .picline-kontakt-karte .picline-kontakt-zeiten { gap: .75rem; margin-top: .6rem !important; padding: 0; border: 0; border-radius: 0; background: none; }
/* Since 30.09.2026 late evening (Andrea): the phone numbers and the phone hours in one card. The hours are a row like the
   entries (clock icon, small label «Erreichbarkeit»), with the times below. */
.picline-kontakt-person .picline-kontakt-karte > .picline-kontakt-zeitblock { position: relative; min-height: 44px; padding: .9rem 0 1.1rem 60px; border-top: 1px solid #E3E6F2; }
.picline-kontakt-person .picline-kontakt-zeitblock > p { margin: 0; line-height: 1.45; }
.picline-kontakt-person .picline-kontakt-zeitblock > .picline-kontakt-zeiten-titel { margin-top: .75rem; font-weight: 700; }
@media (max-width: 380px) {
    .picline-kontakt-person .picline-kontakt-karte > .picline-kontakt-zeitblock { padding-left: 56px; }
    .picline-kontakt-person > .picline-kontakt-karte { padding-left: 1.1rem; padding-right: 1.1rem; }
    .picline-kontakt-person .picline-kontakt-karte > p.picline-kontakt-eintrag, .picline-kontakt-person .picline-kontakt-karte > .picline-kontakt-karte-titel { padding-left: 56px; }
    .picline-kontakt-person .picline-kontakt-erreichbar > :not(.picline-kontakt-karte-titel) { margin-left: 56px !important; }
}
@media (min-width: 1024px) { .picline-kontakt-label { font-size: calc(13px / .9); } }

/* Two pages again since 30.09.2026 evening (Andrea). Kontakt (17): two equal columns from 900 px, left the image
   placeholder and the text, right the two cards; below a hint to «Projekt besprechen». */
@media (min-width: 900px) { .picline-kontakt-grid.picline-kontakt-grid-gleich { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.picline-kontakt-person > .picline-kontakt-karte:first-child { margin-top: 0; }
.picline-kontakt .picline-inner > .picline-kontakt-projekt-hinweis {
    box-sizing: border-box; max-width: 900px; margin-top: clamp(2rem, 4vw, 3rem); padding: 1.1rem 1.35rem;
    border-left: 4px solid #F7E229; border-radius: 0 12px 12px 0; background: #eef1fa; font-size: 1.0625rem; line-height: 1.6;
}
/* Projekt besprechen (346): left «Was Du erwarten kannst» as a card with three points (bold title, text below), right
   the form. From 900 px the left column starts level with the form title and stays in view while the form scrolls. */
.picline-kontakt-punkt { display: block; margin-bottom: .1rem; font-weight: 700; }
@media (min-width: 900px) {
    .picline-projekt .picline-kontakt-grid > .picline-projekt-erwarten { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.5rem); padding-top: calc(clamp(1.5rem, 3vw, 2.5rem) + 1px); }
}
.picline-kontakt-icon-person::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-frei::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.5 7 10 4-1.5 7-5.5 7-10V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.picline-kontakt-icon-offerte::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
/* Small trust line under «So geht es weiter», then the help for unclear requests. */
.picline-kontakt .picline-inner > .picline-projekt-streifen {
    box-sizing: border-box; width: fit-content; max-width: 100%; margin-top: clamp(1.5rem, 3vw, 2.25rem); padding: .6rem 1.1rem;
    border: 1px solid #E3E6F2; border-radius: 12px; background: #fff; font-size: 1rem; font-weight: 700; line-height: 1.5;
}
.picline-kontakt .picline-inner > .picline-projekt-hilfe {
    box-sizing: border-box; max-width: 900px; margin-top: 1.25rem; padding: 1.1rem 1.35rem;
    border-left: 4px solid #F7E229; border-radius: 0 12px 12px 0; background: #eef1fa;
}
.picline-projekt-hilfe > * { margin: 0; }
.picline-kontakt .picline-projekt-hilfe > h3 { margin-bottom: .35rem; font-size: clamp(1.125rem, 1rem + .35vw, 1.3rem); line-height: 1.3; }
.picline-projekt-hilfe > p { font-size: 1.0625rem; line-height: 1.6; }
@media (min-width: 1024px) {
    .picline-kontakt .picline-inner > .picline-kontakt-projekt-hinweis, .picline-projekt-hilfe > p { font-size: calc(17px / .9); }
    .picline-kontakt .picline-inner > .picline-projekt-streifen { font-size: calc(16px / .9); }
}

/* One contact page since 01.10.2026 (Andrea): the contact details of the former page 17 below the help box, with the
   same divider as «So geht es weiter» (#kontaktdaten). */
.picline-kontakt-daten-block > .picline-kontakt-grid { margin-top: 0; }
#kontaktdaten { scroll-margin-top: 1.5rem; }

/* Small box under the intro since 01.10.2026 (Andrea): «Lieber direkt einen Termin? Erstgespräch buchen» -> /erstgespraech/
   (no calendar on this page). Calendar symbol in a navy square, light blue with a yellow line like the help box. */
.picline-kontakt .picline-inner > .picline-kontakt-termin {
    position: relative; box-sizing: border-box; width: fit-content; max-width: 100%; margin-top: 1.25rem;
    padding: .7rem 1.1rem .7rem 3.6rem; border-left: 4px solid #F7E229; border-radius: 0 12px 12px 0; background: #eef1fa;
    font-size: 1.0625rem; line-height: 1.5;
}
.picline-kontakt-termin::before {
    content: ""; position: absolute; left: .9rem; top: 50%; width: 32px; height: 32px; border-radius: 9px; transform: translateY(-50%);
    background: #02084a center / 18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7E229' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='2'/%3E%3Cpath d='M8 2.5v4M16 2.5v4M3 9.5h18'/%3E%3C/svg%3E");
}
.picline-kontakt-termin a { color: #02084a; font-weight: 700; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 4px; white-space: nowrap; }
@media (min-width: 1024px) { .picline-kontakt .picline-inner > .picline-kontakt-termin { font-size: calc(17px / .9); } }

/* Order since 01.10.2026 (Andrea): contact details at the top, then after a line the project part (#projekt) more
   compact: H2 instead of H1, headings H3/H4, smaller spacing; the form itself is unchanged. */
.picline-kontakt .picline-inner > .picline-kontakt-termin + .picline-kontakt-grid { margin-top: clamp(1.75rem, 3.5vw, 3rem); }
.picline-kontakt .picline-inner > .picline-kontakt-projektteil { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid rgb(2 8 74 / 14%); }
#projekt { scroll-margin-top: 1.5rem; }
.picline-kontakt-projektteil > * { margin-block: 0; }
.picline-kontakt-projektteil > h2 { font-size: clamp(1.5rem, 1.2rem + .9vw, 2.125rem); line-height: 1.2; }
.picline-kontakt-projektteil > .picline-kontakt-projekt-intro { max-width: 70ch; margin-top: .75rem; font-size: 1.0625rem; line-height: 1.6; }
.picline-kontakt-projektteil > .picline-kontakt-grid { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.picline-kontakt-projektteil .picline-kontakt-person > h3, .picline-kontakt-projektteil .picline-kontakt-form > h3, .picline-kontakt-projektteil > .picline-kontakt-next > h3 {
    margin: 0 0 1rem !important; font-size: clamp(1.2rem, 1.05rem + .4vw, 1.4rem); line-height: 1.25;
}
.picline-kontakt-projektteil > .picline-kontakt-next { margin-top: clamp(2rem, 4vw, 3rem); padding-top: clamp(1.5rem, 3vw, 2.25rem); border-top: 1px solid rgb(2 8 74 / 14%); }
.picline-kontakt-projektteil > .picline-projekt-hilfe {
    box-sizing: border-box; max-width: 900px; margin-top: clamp(1.5rem, 3vw, 2rem); padding: 1rem 1.25rem;
    border-left: 4px solid #F7E229; border-radius: 0 12px 12px 0; background: #eef1fa;
}
.picline-kontakt-projektteil .picline-projekt-hilfe > h4 { margin: 0 0 .3rem; font-size: 1.0625rem; line-height: 1.35; }
@media (min-width: 1024px) {
    .picline-kontakt-projektteil > .picline-kontakt-projekt-intro { font-size: calc(17px / .9); }
    .picline-kontakt-projektteil .picline-projekt-hilfe > h4 { font-size: calc(17px / .9); }
}

/* Form */
.picline-kf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.25rem; margin: 0; }
@media (max-width: 599px) { .picline-kf { grid-template-columns: minmax(0, 1fr); } }
/* align-content: start, so a field next to «Telefon» (with the hint below) keeps its input at the same height. */
.picline-kf-field { display: grid; align-content: start; gap: .4rem; min-width: 0; margin: 0; padding: 0; border: 0; }
.picline-kf-themen, .picline-kf-website, .picline-kf-field:has(textarea), .picline-kf-send, .picline-kf-unverbindlich, .picline-kf-hinweis, .picline-kf-msg, .cf-turnstile { grid-column: 1 / -1; }
/* «Unverbindliche Anfrage. Ich melde mich persönlich bei Dir.» right under the button (30.09.2026). */
.picline-kf-unverbindlich { font-size: 1rem; }
.picline-kf .picline-kf-unverbindlich { margin: -.5rem 0 0; font-weight: 700; line-height: 1.5; }
.picline-kf .picline-kf-unverbindlich + .picline-kf-hinweis { margin-top: -.5rem; }
.picline-kf label, .picline-kf legend { color: #02084a; font-size: 1rem; font-weight: 700; line-height: 1.4; }
.picline-kf legend { margin-bottom: .5rem; padding: 0; }
.picline-kf-optional { font-weight: 400; opacity: .75; }
.picline-kf-req { color: #02084a; }
.picline-kf input:not([type="checkbox"]), .picline-kf select, .picline-kf textarea {
    box-sizing: border-box; width: 100%; min-height: 48px; padding: .7rem .9rem;
    border: 1px solid rgb(2 8 74 / 35%); border-radius: 10px; background: #fff; color: #02084a;
    font: inherit; font-size: 1rem; line-height: 1.4;
}
.picline-kf textarea { min-height: 150px; resize: vertical; }
.picline-kf ::placeholder { color: rgb(2 8 74 / 55%); opacity: 1; }
.picline-kf input:focus-visible, .picline-kf select:focus-visible, .picline-kf textarea:focus-visible { outline: 3px solid #F7E229; outline-offset: 1px; border-color: #02084a; }
.picline-kf-field.has-error input, .picline-kf-field.has-error textarea { border-color: #b3261e; border-width: 2px; }
.picline-kf-err { min-height: 0; margin: 0; color: #b3261e; font-size: 1rem; font-weight: 700; line-height: 1.4; }
.picline-kf-err:empty { display: none; }
.picline-kf-help { margin: 0; font-size: 1rem; line-height: 1.4; opacity: .75; }
.picline-kf-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.25rem; }
@media (max-width: 599px) { .picline-kf-checks { grid-template-columns: minmax(0, 1fr); } }
/* Topics in the groups of the «Leistungen» menu (02.10.2026): two columns from 600 px, the group marked in the
   settings starts the right column; a group never breaks across columns. */
.picline-kf-gruppen { margin-top: .35rem; }
@media (min-width: 600px) { .picline-kf-gruppen { column-count: 2; column-gap: 2rem; } .picline-kf-gruppe-spalte { break-before: column; } }
.picline-kf-gruppe { display: grid; gap: .5rem; margin: 0 0 1.25rem; break-inside: avoid; }
.picline-kf-gruppe-rest { margin-bottom: 0; padding-top: 1rem; border-top: 1px solid #E3E6F2; }
.picline-kf .picline-kf-gruppe-titel { margin: 0 0 .1rem; padding-bottom: .4rem; border-bottom: 2px solid #F7E229; font-size: 14px; font-weight: 800; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
@media (min-width: 1024px) { .picline-kf .picline-kf-gruppe-titel { font-size: calc(14px / .9); } }
.picline-kf .picline-kf-check { display: flex; align-items: flex-start; gap: .6rem; font-weight: 400; cursor: pointer; }
.picline-kf-check input { flex: none; width: 20px; height: 20px; margin: .1rem 0 0; accent-color: #02084a; }
.picline-kf-check input:focus-visible { outline: 3px solid #F7E229; outline-offset: 2px; }
.picline-kf-fax { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.picline-kf-send {
    justify-self: start; min-height: 52px; padding: .85rem 1.75rem; border: 2px solid #F7E229; border-radius: 6px;
    background: #F7E229; color: #02084a; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.picline-kf-send:hover, .picline-kf-send:focus-visible { border-color: #02084a; background: #02084a; color: #F7E229; }
.picline-kf-send:focus-visible { outline: 3px solid #F7E229; outline-offset: 3px; }
.picline-kf-send:disabled { opacity: .6; cursor: wait; }
/* Required box «Ich habe die Datenschutzerklärung gelesen …» before the button (since 06.10.2026, replaces the sentence). */
.picline-kf-zustimmung { grid-column: 1 / -1; }
.picline-kf-zustimmung .picline-kf-check { font-size: 1rem; line-height: 1.5; }
.picline-kf-zustimmung a { color: #02084a; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.picline-kf-zustimmung.has-error .picline-kf-check input { outline: 2px solid #b3261e; outline-offset: 2px; }
@media (min-width: 1024px) { .picline-kf-zustimmung .picline-kf-check { font-size: calc(16px / .9); } }
.picline-kf-hinweis { margin: 0; font-size: 1rem; line-height: 1.55; }
.picline-kf-hinweis a { color: #02084a; text-decoration: underline; text-decoration-color: #F7E229; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.picline-kf-msg { margin: 0; font-size: 1rem; line-height: 1.5; }
.picline-kf-msg:empty { display: none; }
.picline-kf-msg.ok { padding: 1rem 1.25rem; border-left: 4px solid #F7E229; border-radius: 8px; background: #eef1fa; font-weight: 700; }
.picline-kf-msg.err { padding: 1rem 1.25rem; border-left: 4px solid #b3261e; border-radius: 8px; background: #fdecea; color: #7a1a14; font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .picline-kf-send { transition: none; } }

/* Phones: the button over the full width (30.09.2026, Andrea). */
@media (max-width: 599px) { .picline-kf-send { justify-self: stretch; } }
@media (min-width: 1024px) {
    .picline-kf label, .picline-kf legend, .picline-kf input:not([type="checkbox"]), .picline-kf select, .picline-kf textarea,
    .picline-kf-err, .picline-kf-help, .picline-kf-send, .picline-kf-unverbindlich, .picline-kf-hinweis, .picline-kf-msg { font-size: calc(16px / .9); }
    .picline-kontakt-person p, .picline-kontakt-lines li { font-size: calc(17px / .9); }
}

/* Kontakt (17) since 02.10.2026: photo of Sandra and Andrea instead of the placeholder. Landscape format, so it may be
   wider than the portraits (360 px) that stood here before; shown whole, never cropped. */
.picline-kontakt-person > .wp-block-image.picline-kontakt-teamfoto { max-width: min(100%, 520px); }
