/* =========================================================
   10 | ALPIN CONTACT
   Datei: 10-alpin-contact.css
   TYPOGRAFIE: lokale Archivo-Fonts aus ALPIN Core
   ========================================================= */


/* =========================================================
   01 | HAUPTCONTAINER
   ========================================================= */

.alpin-contact {
    width: 100% !important;
    max-width: var(--alpin-max-width, 1600px) !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: center !important;

    gap: 0 !important;

    background:
        linear-gradient(
            135deg,
            #0a0a0a 0%,
            #111111 48%,
            #151515 100%
        ) !important;

    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 6px !important;

    box-shadow:
        0 18px 45px rgba(0,0,0,.16) !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* =========================================================
   02 | LINKE FORMULARSEITE
   ========================================================= */

.alpin-contact-form {
    flex: 0 0 66% !important;

    width: 66% !important;
    max-width: 66% !important;

    padding:
        42px
        46px
        44px
        46px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.015) 0%,
            rgba(255,255,255,0) 100%
        ) !important;
}


/* =========================================================
   03 | RECHTE KONTAKTSEITE
   ========================================================= */

.alpin-contact-info {
    flex: 0 0 34% !important;

    width: 34% !important;
    max-width: 34% !important;

    padding:
        42px
        38px
        44px
        38px !important;

    box-sizing: border-box !important;

    border-left:
        1px solid rgba(255,255,255,.10) !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.02) 0%,
            rgba(255,255,255,.005) 100%
        ) !important;
}


/* =========================================================
   04 | ÜBERSCHRIFTEN
   ========================================================= */

.alpin-contact-form .elementor-heading-title,
.alpin-contact-info .elementor-heading-title {
    margin: 0 !important;

    font-family:
        var(--alpin-font-display) !important;

    font-size: 26px !important;
    font-weight: 800 !important;

    line-height: 1.05 !important;

    text-transform: uppercase !important;

    color: #ffffff !important;
}


/* =========================================================
   05 | ROTE LINIE UNTER ÜBERSCHRIFTEN
   ========================================================= */

.alpin-contact-form .elementor-widget-heading:first-child::after,
.alpin-contact-info .elementor-widget-heading:first-child::after {
    content: "" !important;

    display: block !important;

    width: 38px !important;
    height: 3px !important;

    margin:
        13px
        0
        18px
        0 !important;

    background: #d40000 !important;
}


/* =========================================================
   06 | BESCHREIBUNG LINKS
   ========================================================= */

.alpin-contact-form
.elementor-widget-text-editor {
    margin-bottom: 20px !important;
}


.alpin-contact-form
.elementor-widget-text-editor,
.alpin-contact-form
.elementor-widget-text-editor p {
    color:
        rgba(255,255,255,.72) !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 14px !important;

    line-height: 1.55 !important;
}


/* =========================================================
   07 | FORMULAR – INPUTS
   ========================================================= */

.alpin-contact-form input,
.alpin-contact-form select,
.alpin-contact-form textarea {
    width: 100% !important;

    min-height: 44px !important;

    margin: 0 !important;

    padding:
        11px
        14px !important;

    box-sizing: border-box !important;

    background: #101214 !important;

    border:
        1px solid rgba(255,255,255,.16) !important;

    border-radius: 3px !important;

    color: #ffffff !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 14px !important;

    outline: none !important;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease !important;
}


/* =========================================================
   08 | TEXTAREA
   ========================================================= */

.alpin-contact-form textarea {
    min-height: 120px !important;

    resize: vertical !important;
}


/* =========================================================
   09 | PLACEHOLDER
   ========================================================= */

.alpin-contact-form input::placeholder,
.alpin-contact-form textarea::placeholder {
    color:
        rgba(255,255,255,.50) !important;

    opacity: 1 !important;
}


/* =========================================================
   10 | FOCUS
   ========================================================= */

.alpin-contact-form input:focus,
.alpin-contact-form select:focus,
.alpin-contact-form textarea:focus {
    border-color: #d40000 !important;

    background: #131517 !important;

    box-shadow:
        0 0 0 2px rgba(212,0,0,.10) !important;
}


/* =========================================================
   11 | LABEL
   ========================================================= */

.alpin-contact-form label {
    color:
        rgba(255,255,255,.82) !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 13px !important;
    font-weight: 500 !important;
}


/* =========================================================
   12 | FORMULAR-FELDABSTÄNDE
   ========================================================= */

.alpin-contact-form
.elementor-field-group {
    margin-bottom: 12px !important;
}


/* =========================================================
   13 | CHECKBOX
   ========================================================= */

.alpin-contact-form
input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;

    accent-color: #d40000 !important;
}


/* =========================================================
   14 | DATENSCHUTZLINK
   ========================================================= */

.alpin-contact-form a {
    color: #d40000 !important;

    text-decoration: none !important;
}


.alpin-contact-form a:hover {
    text-decoration: underline !important;
}


/* =========================================================
   15 | SENDEN-BUTTON
   ========================================================= */

.alpin-contact-form button,
.alpin-contact-form .elementor-button,
.alpin-contact-form
.elementor-field-type-submit button {
    width: 100% !important;

    min-height: 46px !important;

    padding:
        12px
        20px !important;

    background:
        linear-gradient(
            90deg,
            #b90000 0%,
            #d40000 60%,
            #e00000 100%
        ) !important;

    border:
        1px solid #d40000 !important;

    border-radius: 2px !important;

    color: #ffffff !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: .15px !important;

    box-shadow:
        0 8px 18px rgba(212,0,0,.16) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease !important;
}


/* =========================================================
   16 | BUTTON HOVER
   ========================================================= */

.alpin-contact-form button:hover,
.alpin-contact-form .elementor-button:hover,
.alpin-contact-form
.elementor-field-type-submit button:hover {
    transform:
        translateY(-1px) !important;

    box-shadow:
        0 12px 24px rgba(212,0,0,.22) !important;

    background:
        #d40000 !important;
}


/* =========================================================
   17 | KONTAKT-ITEMS RECHTS
   ========================================================= */

.alpin-contact-item {
    width: 100% !important;

    padding:
        18px
        0
        20px
        0 !important;

    margin: 0 !important;

    display: flex !important;
    flex-direction: row !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 16px !important;

    border-bottom:
        1px solid rgba(255,255,255,.12) !important;

    box-sizing: border-box !important;
}


/* erstes Item */

.alpin-contact-info
.alpin-contact-item:first-of-type {
    padding-top: 10px !important;
}


/* letztes Item */

.alpin-contact-info
.alpin-contact-item:last-child {
    border-bottom: none !important;

    padding-bottom: 0 !important;
}


/* =========================================================
   18 | ICONS
   ========================================================= */

.alpin-contact-item
.elementor-widget-icon {
    flex: 0 0 34px !important;

    width: 34px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.alpin-contact-item
.elementor-icon {
    font-size: 28px !important;

    color: #d40000 !important;
}


.alpin-contact-item
.elementor-icon svg {
    width: 28px !important;
    height: 28px !important;

    fill: #d40000 !important;
    color: #d40000 !important;
}


/* =========================================================
   19 | KONTAKT-TEXT
   ========================================================= */

.alpin-contact-item
.elementor-widget-text-editor {
    flex: 1 1 auto !important;

    margin: 0 !important;
}


.alpin-contact-item
.elementor-widget-text-editor,
.alpin-contact-item
.elementor-widget-text-editor p {
    margin: 0 !important;

    color:
        rgba(255,255,255,.70) !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 13px !important;

    line-height: 1.5 !important;
}


/* =========================================================
   20 | FETTE BEZEICHNUNGEN
   ========================================================= */

.alpin-contact-item
.elementor-widget-text-editor strong {
    display: inline-block !important;

    margin-bottom: 4px !important;

    color: #ffffff !important;

    font-family:
        var(--alpin-font-display) !important;

    font-size: 16px !important;
    font-weight: 800 !important;

    text-transform: uppercase !important;
}


/* =========================================================
   21 | LINKS RECHTS
   ========================================================= */

.alpin-contact-info a {
    color:
        rgba(255,255,255,.82) !important;

    text-decoration: none !important;

    transition:
        color .18s ease !important;
}


.alpin-contact-info a:hover {
    color: #d40000 !important;
}


/* =========================================================
   22 | HÄNDLER-SUPPORT CONTENT
   Text + Button untereinander
   ========================================================= */

.alpin-contact-support-content {
    flex: 1 1 auto !important;

    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Texteditor im Support-Bereich */

.alpin-contact-support-content
.elementor-widget-text-editor {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   23 | HÄNDLERPORTAL BUTTON WRAPPER
   ========================================================= */

.alpin-contact-support-content
.elementor-widget-button {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: flex-start !important;
}


/* =========================================================
   24 | HÄNDLERPORTAL BUTTON
   ========================================================= */

.alpin-contact-support-content
.elementor-button {
    width: auto !important;

    min-width: 190px !important;

    margin: 0 !important;

    padding:
        11px
        18px !important;

    background:
        transparent !important;

    border:
        1px solid rgba(255,255,255,.28) !important;

    border-radius: 2px !important;

    color: #ffffff !important;

    font-family:
        var(--alpin-font) !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    line-height: 1.1 !important;

    text-transform: uppercase !important;

    transition:
        border-color .18s ease,
        background-color .18s ease,
        transform .18s ease !important;
}


/* =========================================================
   25 | HÄNDLERPORTAL BUTTON HOVER
   ========================================================= */

.alpin-contact-support-content
.elementor-button:hover {
    border-color: #d40000 !important;

    background:
        rgba(212,0,0,.08) !important;

    transform:
        translateY(-1px) !important;

    color: #ffffff !important;
}


/* =========================================================
   26 | OPTIONAL – BUTTON ICON/ARROW
   ========================================================= */

.alpin-contact-support-content
.elementor-button-icon {
    margin-left: 12px !important;
}


/* =========================================================
   27 | TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .alpin-contact-form {
        flex-basis: 62% !important;

        width: 62% !important;
        max-width: 62% !important;

        padding:
            36px
            34px
            38px
            34px !important;
    }


    .alpin-contact-info {
        flex-basis: 38% !important;

        width: 38% !important;
        max-width: 38% !important;

        padding:
            36px
            30px
            38px
            30px !important;
    }


    .alpin-contact-form .elementor-heading-title,
    .alpin-contact-info .elementor-heading-title {
        font-size: 23px !important;
    }


    .alpin-contact-support-content
    .elementor-button {
        min-width: 170px !important;
    }

}


/* =========================================================
   28 | MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .alpin-contact {
        display: flex !important;
        flex-direction: column !important;

        border-radius: 0 !important;
    }


    .alpin-contact-form,
    .alpin-contact-info {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;
    }


    .alpin-contact-form {
        padding:
            32px
            24px
            36px
            24px !important;
    }


    .alpin-contact-info {
        padding:
            30px
            24px
            34px
            24px !important;

        border-left: none !important;

        border-top:
            1px solid rgba(255,255,255,.10) !important;
    }


    .alpin-contact-form .elementor-heading-title,
    .alpin-contact-info .elementor-heading-title {
        font-size: 22px !important;
    }


    .alpin-contact-item {
        padding:
            16px
            0
            18px
            0 !important;
    }


    .alpin-contact-support-content
    .elementor-button {
        min-width: 0 !important;
    }

}


/* =========================================================
   29 | KLEINE SMARTPHONES
   ========================================================= */

@media (max-width: 480px) {

    .alpin-contact-form,
    .alpin-contact-info {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }


    .alpin-contact-item {
        gap: 13px !important;
    }


    .alpin-contact-item
    .elementor-icon {
        font-size: 25px !important;
    }


    .alpin-contact-support-content {
        gap: 12px !important;
    }

}


/* =========================================================
   ENDE
   10-alpin-contact.css
   ========================================================= */