/* MOTORLAB Contact Complete 1.2.0 — every selector is scoped to .mlcc.
 * :is() raises specificity above legacy #kontakt element rules while keeping
 * every match confined to .mlcc, including additional shortcode instances.
 * Reset text properties locally, never the site. CF7 still owns hidden fields,
 * screen-reader regions, spinner/status visibility and submission behavior.
 */
.mlcc:is(#kontakt, .mlcc),
.mlcc:is(#kontakt, .mlcc) *,
.mlcc:is(#kontakt, .mlcc) *::before,
.mlcc:is(#kontakt, .mlcc) *::after { box-sizing: border-box; }

.mlcc:is(#kontakt, .mlcc) {
    --mlcc-ink: #101d30;
    --mlcc-muted: #526176;
    --mlcc-red: #e32219;
    --mlcc-deep-red: #b3231c;
    --mlcc-line: #dfe5ed;
    --mlcc-font: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: #fff;
    color: var(--mlcc-ink);
    font-family: var(--mlcc-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.65 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    scroll-margin-top: 100px;
    overflow-wrap: anywhere;
    -webkit-text-size-adjust: 100%;
}
/* A root-only rule cannot beat rules targeting nested Elementor/CF7 elements. */
.mlcc:is(#kontakt, .mlcc) * {
    font-family: var(--mlcc-font) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__inner {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: clamp(28px, 4vw, 58px) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 64px 28px 72px !important;
    align-items: start !important;
}
.mlcc:is(#kontakt, .mlcc) :is(.mlcc__copy, .mlcc__card) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__copy { order: 0 !important; }
.mlcc:is(#kontakt, .mlcc) .mlcc__card { order: 1 !important; }
.mlcc:is(#kontakt, .mlcc) :is(h2, h3, p) { padding: 0; }
.mlcc:is(#kontakt, .mlcc) strong { font-weight: 700 !important; }
.mlcc:is(#kontakt, .mlcc) p { margin: 0 0 16px; }
/* Only explicitly marked small copy may use uppercase. */
.mlcc:is(#kontakt, .mlcc) :is(.mlcc__eyebrow, .mlcc__meta),
.mlcc:is(#kontakt, .mlcc) :is(.mlcc__eyebrow, .mlcc__meta) * { text-transform: uppercase !important; }
.mlcc:is(#kontakt, .mlcc) .mlcc__eyebrow {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 20px; color: var(--mlcc-deep-red);
    font-size: 11px !important; font-weight: 750 !important;
    line-height: 1.5 !important; letter-spacing: .1em !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__eyebrow::before {
    content: ""; width: 24px; height: 2px; flex: 0 0 24px; background: currentColor;
}
.mlcc:is(#kontakt, .mlcc) h2 {
    margin: 0 0 22px !important; color: var(--mlcc-ink) !important;
    font-size: clamp(29px, 3.1vw, 42px) !important; font-weight: 750 !important;
    line-height: 1.2 !important; letter-spacing: -.025em !important;
}
.mlcc:is(#kontakt, .mlcc) h2 span { color: var(--mlcc-deep-red) !important; letter-spacing: inherit !important; }
.mlcc:is(#kontakt, .mlcc) .mlcc__intro {
    margin: 0 0 28px; color: var(--mlcc-muted);
    font-size: 16px !important; font-weight: 400 !important; line-height: 1.75 !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact {
    display: flex !important; align-items: center !important; gap: 16px !important;
    width: 100% !important; min-width: 0 !important;
    margin: 0 !important; padding: 20px 0 !important;
    border: 0; border-top: 1px solid var(--mlcc-line); background: transparent;
    color: var(--mlcc-ink) !important; text-decoration: none !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact > svg {
    display: block !important; position: static !important;
    width: 24px !important; height: 24px !important;
    min-width: 24px !important; min-height: 24px !important;
    max-width: 24px !important; max-height: 24px !important;
    flex: 0 0 24px !important; margin: 0 !important; padding: 0 !important;
    color: var(--mlcc-deep-red) !important; fill: none !important;
    stroke: currentColor !important; stroke-width: 1.8 !important;
    transform: none !important; overflow: visible;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact > svg * {
    color: inherit !important; fill: none !important; stroke: currentColor !important;
    stroke-width: 1.8 !important; stroke-linecap: round !important;
    stroke-linejoin: round !important; transform: none !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact > span { min-width: 0; }
.mlcc:is(#kontakt, .mlcc) .mlcc__meta {
    display: block; margin-bottom: 5px; color: var(--mlcc-muted);
    font-size: 11px !important; font-weight: 650 !important;
    line-height: 1.5 !important; letter-spacing: .065em !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact strong {
    display: block; color: var(--mlcc-ink); overflow-wrap: anywhere;
    font-size: clamp(19px, 2.1vw, 26px) !important;
    font-weight: 750 !important; line-height: 1.35 !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__contact:hover strong { color: var(--mlcc-deep-red); }
.mlcc:is(#kontakt, .mlcc) .mlcc__note {
    margin: 20px 0 0; padding: 20px 22px;
    border: 1px solid var(--mlcc-line); border-left: 3px solid var(--mlcc-red);
    border-radius: 0 12px 12px 0; background: #f3f6fa; color: var(--mlcc-muted);
    font-size: 14px !important; line-height: 1.65 !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__note strong { display: block; margin-bottom: 6px; color: var(--mlcc-ink); }
.mlcc:is(#kontakt, .mlcc) .mlcc__note p { margin: 0; }
.mlcc:is(#kontakt, .mlcc) .mlcc__location {
    margin: 20px 0 0; color: var(--mlcc-muted);
    font-size: 13px !important; line-height: 1.65 !important;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__card {
    padding: clamp(20px, 2.5vw, 30px) !important;
    border: 1px solid var(--mlcc-line); border-radius: 18px;
    background: #fff; box-shadow: 0 18px 48px rgba(16, 29, 48, .07);
}
.mlcc:is(#kontakt, .mlcc) h3 {
    margin: 0 0 22px !important; color: var(--mlcc-ink) !important;
    font-size: 23px !important; font-weight: 750 !important;
    line-height: 1.35 !important; letter-spacing: -.015em !important;
}
.mlcc:is(#kontakt, .mlcc) :is(.wpcf7, .wpcf7 form) {
    display: block !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important;
    margin: 0 !important; padding: 0 !important; border: 0;
}
.mlcc:is(#kontakt, .mlcc) .motorlab-contact-form {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important;
}
.mlcc:is(#kontakt, .mlcc) .motorlab-contact-form > * {
    grid-column: 1 / -1 !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7 form p { margin: 0 0 16px !important; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 label {
    display: block; margin: 0; color: var(--mlcc-ink);
    font-size: 14px !important; font-weight: 600 !important; line-height: 1.5 !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7-form-control-wrap {
    display: block; width: 100%; min-width: 0; max-width: 100%; margin-top: 7px;
}
/* Positive list: hidden, checkbox, radio and submit are never text fields. */
.mlcc:is(#kontakt, .mlcc) .wpcf7 :is(input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], select, textarea) {
    display: block !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important;
    height: auto !important; min-height: 50px !important; max-height: none !important;
    margin: 0 !important; padding: 12px 14px !important;
    border: 1px solid #c5d0de !important; border-radius: 10px !important;
    background: #f5f7fa !important; color: var(--mlcc-ink) !important;
    -webkit-text-fill-color: var(--mlcc-ink) !important;
    font-size: 16px !important; font-weight: 400 !important; line-height: 1.5 !important;
    box-shadow: none !important; float: none !important;
}
.mlcc:is(#kontakt, .mlcc) :is(input, textarea)::placeholder {
    color: #64748b !important; -webkit-text-fill-color: #64748b !important;
    font-family: var(--mlcc-font) !important; font-size: inherit !important;
    font-weight: 400 !important; line-height: inherit !important;
    letter-spacing: normal !important; text-transform: none !important; opacity: 1;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7 select { padding-right: 30px !important; text-overflow: ellipsis; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 textarea { min-height: 128px !important; resize: vertical; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 input:is([type="checkbox"], [type="radio"]) {
    display: inline-block !important; position: static !important;
    width: 18px !important; height: 18px !important;
    min-width: 18px !important; min-height: 18px !important;
    max-width: 18px !important; max-height: 18px !important;
    flex: 0 0 18px !important; margin: 2px 0 0 !important; padding: 0 !important;
    appearance: auto !important; accent-color: var(--mlcc-red);
    vertical-align: middle; box-shadow: none !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7-list-item { display: block; margin: 0 0 8px; }
.mlcc:is(#kontakt, .mlcc) .wpcf7-list-item label {
    display: inline-flex; align-items: flex-start; gap: 8px;
    max-width: 100%; font-weight: 400 !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7-list-item-label { min-width: 0; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 :is(input[type="submit"], button) {
    display: block !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important;
    height: auto !important; min-height: 52px !important;
    margin: 0 !important; padding: 13px 18px !important;
    border: 0 !important; border-radius: 10px !important;
    background: var(--mlcc-red) !important; color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important;
    white-space: normal !important; text-align: center !important;
    cursor: pointer; box-shadow: none !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7 :is(input[type="submit"], button):hover { background: var(--mlcc-deep-red) !important; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 :is(input, button):disabled { cursor: not-allowed; opacity: .65; }
/* CF7 controls visibility and animation; never unhide its hidden/ARIA regions. */
.mlcc:is(#kontakt, .mlcc) .wpcf7-spinner {
    width: 24px !important; height: 24px !important;
    min-width: 24px !important; max-width: 24px !important;
    margin: 8px 0 0 !important; vertical-align: middle;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7-not-valid-tip {
    color: #b91c1c; font-size: 13px !important;
    font-weight: 400 !important; line-height: 1.5 !important;
}
.mlcc:is(#kontakt, .mlcc) .wpcf7 .wpcf7-not-valid { border-color: #b91c1c !important; }
.mlcc:is(#kontakt, .mlcc) .wpcf7 form .wpcf7-response-output {
    max-width: 100%; margin: 18px 0 0; padding: 12px 14px;
    border-radius: 8px; color: var(--mlcc-ink);
    font-size: 14px !important; line-height: 1.6 !important;
}
.mlcc:is(#kontakt, .mlcc) :is(.motorlab-form-note, .ml-form-privacy) {
    color: var(--mlcc-muted); font-size: 13px !important;
    font-weight: 400 !important; line-height: 1.6 !important;
}
.mlcc:is(#kontakt, .mlcc) :is(.wpcf7 a, .mlcc__missing a) {
    color: var(--mlcc-deep-red); text-decoration: underline; text-underline-offset: 3px;
}
.mlcc:is(#kontakt, .mlcc) .mlcc__missing { margin: 0; }
.mlcc:is(#kontakt, .mlcc) :is(a, input, select, textarea, button):focus-visible {
    outline: 3px solid var(--mlcc-deep-red) !important; outline-offset: 3px !important;
}
@media (max-width: 900px) {
    .mlcc:is(#kontakt, .mlcc) .mlcc__inner {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 30px !important; padding: 44px 20px 52px !important;
    }
    .mlcc:is(#kontakt, .mlcc) :is(.mlcc__copy, .mlcc__card) { grid-column: 1 / -1 !important; }
    .mlcc:is(#kontakt, .mlcc) .mlcc__card { padding: 24px 18px !important; }
    .mlcc:is(#kontakt, .mlcc) h2 { font-size: clamp(28px, 6.5vw, 37px) !important; }
}
@media (max-width: 380px) {
    .mlcc:is(#kontakt, .mlcc) .mlcc__inner { padding: 36px 12px 44px !important; }
    .mlcc:is(#kontakt, .mlcc) .mlcc__card { padding: 20px 14px !important; }
    .mlcc:is(#kontakt, .mlcc) .mlcc__contact { gap: 12px !important; }
    .mlcc:is(#kontakt, .mlcc) .mlcc__contact strong { font-size: 19px !important; }
}
