/*
 * HLF 3.0.3 – seitenspezifische Produktionsdatei.
 * Automatisch aus modularen Quelldateien in unveränderter Reihenfolge erzeugt.
 */

/* ==========================================================================
   Source: assets/css/pages/contact.css
   ========================================================================== */


.hlf-contact-page {
    background: #ffffff;
}

.hlf-contact-hero {
    padding-block: clamp(4rem, 9vw, 8rem) clamp(3.5rem, 7vw, 6rem);
    background: #ffffff;
}

.hlf-contact-hero h1 {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(3.2rem, 7vw, 6.8rem);
    line-height: .96;
}

.hlf-contact-hero__lead {
    max-width: 48rem;
    margin: 1.75rem 0 0;
    font-size: clamp(1.08rem, 1.8vw, 1.3rem);
    line-height: 1.7;
}

.hlf-contact-main {
    padding-block: clamp(2.25rem, 4vw, 3.75rem) clamp(2.5rem, 5vw, 4rem);
    background: #ffffff;
}

.hlf-contact-main__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.hlf-contact-form-wrap h2,
.hlf-contact-details h2,
.hlf-contact-map h2 {
    margin: 0 0 2rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.hlf-contact-form-embed {
    width: 100%;
    max-width: 46rem;
}

.hlf-contact-form-embed iframe {
    display: block;
    width: 100%;
    min-height: 600px;
    border: 0;
}

.hlf-contact-details {
    padding-top: .1rem;
}

.hlf-contact-details address {
    margin: 0;
    font-style: normal;
}

.hlf-contact-detail {
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(31, 31, 31, .16);
}

.hlf-contact-detail:first-child {
    padding-top: 0;
}

.hlf-contact-detail span {
    display: block;
    margin-bottom: .45rem;
    color: var(--wp--preset--color--purple);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hlf-contact-detail p {
    margin: 0;
    line-height: 1.65;
}

.hlf-contact-detail a {
    color: inherit;
    text-decoration: none;
}

.hlf-contact-detail--qr img {
    display: block;
    width: min(11.25rem, 100%);
    height: auto;
    margin-top: .8rem;
}

.hlf-contact-map {
    padding-block: clamp(2.5rem, 5vw, 4rem) clamp(4rem, 8vw, 7rem);
    background: #ffffff;
}

.hlf-contact-map__frame {
    overflow: hidden;
    min-height: 24rem;
    border: 1px solid rgba(31, 31, 31, .15);
}

.hlf-contact-map__frame iframe {
    display: block;
    width: 100%;
    height: clamp(24rem, 45vw, 32rem);
    border: 0;
}

.hlf-contact-map__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-top: 1.5rem;
}

@media (max-width: 900px) {
    .hlf-contact-main__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .hlf-contact-hero h1 {
        font-size: clamp(3rem, 15vw, 4.6rem);
    }

    .hlf-contact-map__links {
        flex-direction: column;
        align-items: flex-start;
    }
}


.hlf-contact-map__frame--blocked {
    display: grid;
    place-items: center;
    padding: clamp(2rem, 6vw, 5rem);
    background: #f7f7f5;
}

.hlf-contact-map__placeholder {
    max-width: 42rem;
    text-align: center;
}

.hlf-contact-map__placeholder p {
    margin: 0 0 1.5rem;
    line-height: 1.65;
}

.hlf-contact-map__load {
    cursor: pointer;
}


/* Native contact form and unobtrusive anti-spam field. */
.hlf-contact-form-embed{min-height:0}
.hlf-contact-form{display:grid;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(47,23,61,.18);background:#fff}
.hlf-contact-form__field{display:grid;gap:.45rem}
.hlf-contact-form label{font-weight:600}
.hlf-contact-form input[type="text"],.hlf-contact-form input[type="email"],.hlf-contact-form input[type="tel"],.hlf-contact-form textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(38,38,38,.28);border-radius:0;background:#fff;color:inherit;font:inherit}
.hlf-contact-form textarea{resize:vertical}
.hlf-contact-form input:focus,.hlf-contact-form textarea:focus{outline:2px solid var(--wp--preset--color--purple);outline-offset:2px}
.hlf-contact-form__consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.hlf-contact-form__consent input{margin-top:.3rem}
.hlf-contact-form__required{margin:0;font-size:.85rem}
.hlf-contact-form__notice{margin:0 0 1rem;padding:1rem;border:1px solid currentColor}
.hlf-contact-form__notice--success{background:#f3f8f3}
.hlf-contact-form__notice--error{background:#fff4f2}
.hlf-contact-form__trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
