/* Seehotel Europa contact design 0.5.4: scoped styles */
.she-contact-hero {min-height:330px}.she-contact-hero .she-wrap>p:last-child{color:#e1e3e3;margin:20px 0 0;font-size:18px}
.she-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(28px,6vw,95px);align-items:start}
.she-contact-section{background:linear-gradient(135deg,#111820 10%,#1a2630 100%)}
.she-contact-section h2{font-size:clamp(38px,4.6vw,59px);margin-bottom:22px}.she-contact-intro{max-width:450px;color:#bfc6cc;line-height:1.9;margin-bottom:34px}
.she-contact-facts{border-top:1px solid rgba(199,170,123,.23)}.she-contact-facts>div{padding:18px 0;display:grid;grid-template-columns:110px 1fr;gap:16px;border-bottom:1px solid rgba(199,170,123,.18)}
.she-contact-facts>div>span:first-child{font:500 12px/1.5 Oswald,Arial,sans-serif;letter-spacing:.14em;color:#c7aa7b}.she-contact-facts a,.she-contact-facts address,.she-contact-facts>div>span:last-child{font-style:normal;color:#f1e7d9;overflow-wrap:anywhere}
.she-contact-facts a:hover{color:#c7aa7b}.she-contact-directions{margin-top:30px}
.she-contact-form-panel{border:1px solid rgba(199,170,123,.28);background:#1d2732;padding:clamp(24px,4vw,48px);box-shadow:0 20px 50px rgba(0,0,0,.16)}
.she-contact-form-panel h2{font-size:clamp(34px,4vw,50px)}.she-contact-preview-notice{color:#e8d2ac;background:rgba(199,170,123,.09);border-left:3px solid #c7aa7b;padding:13px 17px;font-size:14px;line-height:1.75}
.she-contact-form-preview{display:grid;gap:20px;margin-top:25px}.she-contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.she-contact-form-preview label{display:grid;gap:8px;color:#e8e4db;font-size:13px}.she-contact-form-preview input,.she-contact-form-preview textarea{width:100%;border:1px solid rgba(199,170,123,.35);background:#111820;padding:13px 14px;color:#f1e7d9;border-radius:0}
.she-contact-form-preview input:disabled,.she-contact-form-preview textarea:disabled{opacity:.75;cursor:not-allowed}.she-contact-form-preview .she-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.she-contact-privacy{color:#b8bdc4;font-size:12px;line-height:1.7;margin:0}
.she-contact-hours{background:#17212b}.she-contact-hours h2{margin-bottom:35px}.she-contact-hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.she-contact-hours-grid>div{background:#1d2732;border:1px solid rgba(199,170,123,.2);padding:28px}.she-contact-hours-grid h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;color:#f1e7d9;margin-bottom:20px}.she-contact-hours-grid p{display:flex;justify-content:space-between;gap:16px;margin:10px 0;color:#c7ccd0}.she-contact-hours-grid strong{font-weight:500;color:#c7aa7b}.she-contact-hours-note{margin:30px 0 0;max-width:900px;color:#c7ccd0;line-height:1.9}
@media(max-width:850px){.she-contact-layout{grid-template-columns:1fr}.she-contact-hours-grid{grid-template-columns:1fr}}
@media(max-width:480px){.she-contact-form-grid{grid-template-columns:1fr}.she-contact-facts>div{grid-template-columns:1fr;gap:4px}.she-contact-hours-grid p{flex-direction:column;gap:2px}}


/* SHE-CONTACT-RECEPTION-HOURS-V1 */
.she-contact-reception {
    background: #111820;
}
.she-contact-reception h2 {
    margin-bottom: 35px;
}
.she-contact-reception .she-contact-hours-grid > div {
    background: #1d2732;
    border: 1px solid rgba(199,170,123,.22);
}
.she-contact-reception .she-contact-hours-grid p span {
    text-align: right;
}
@media (max-width: 480px) {
    .she-contact-reception .she-contact-hours-grid p span {
        text-align: left;
    }
}

/* SHE-CONTACT-CF7-V055 – Contact Form 7 on Staging */
.she-contact-form-live .wpcf7 form {display:grid;gap:18px;margin-top:22px}
.she-contact-form-live .wpcf7 .row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.she-contact-form-live .wpcf7 .row > .col-md-12 {grid-column:1/-1}
.she-contact-form-live .wpcf7 .row > div {min-width:0}
.she-contact-form-live .wpcf7 .form-group {margin:0}
.she-contact-form-live .wpcf7 input:not([type="hidden"]):not([type="submit"]),
.she-contact-form-live .wpcf7 textarea {display:block;width:100%;border:1px solid rgba(199,170,123,.35);background:#111820;color:#f1e7d9;padding:14px;box-sizing:border-box;border-radius:0}
.she-contact-form-live .wpcf7 textarea {min-height:140px;resize:vertical}
.she-contact-form-live .wpcf7 input::placeholder,
.she-contact-form-live .wpcf7 textarea::placeholder {color:#b7c0c8;opacity:1}
.she-contact-form-live .wpcf7 .wpcf7-response-output {margin:8px 0 0;padding:12px;color:#f1e7d9}
.she-contact-form-live .wpcf7-not-valid-tip {color:#ffb3a5;font-size:13px}
.she-contact-form-live .wpcf7-spinner {margin-left:10px}
.she-contact-form-live .she-contact-privacy {margin-top:15px}
@media(max-width:550px){.she-contact-form-live .wpcf7 .row{grid-template-columns:1fr}.she-contact-form-live .wpcf7 .row > .col-md-12{grid-column:auto}}

/* SHE-CONTACT-FIELDS-V060 – bestehende CF7-Felder, ohne alte she-contact-fields-Wrapper */
.she-contact-form-live .wpcf7 form > p { margin: 0; }
.she-contact-form-live .wpcf7 form label { display: block; color: #f1e7d9; font-size: 14px; line-height: 1.6; }
.she-contact-form-live .wpcf7 form label .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.she-contact-form-live .wpcf7 input:not([type="hidden"]):not([type="submit"]):focus,
.she-contact-form-live .wpcf7 textarea:focus {
    background: #23323e;
    border-color: #c7aa7b;
    outline: none;
    box-shadow: 0 0 0 1px rgba(199,170,123,.45), 0 0 22px rgba(199,170,123,.26);
}
.she-contact-form-live .wpcf7 input.wpcf7-not-valid,
.she-contact-form-live .wpcf7 textarea.wpcf7-not-valid { border-color: #e2a98d; }

/* SHE-CONTACT-SUBMIT-V060 – konsolidierter, bisher wirksamer Button-Stil */
.she-contact-form-panel .wpcf7 form input.wpcf7-submit[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 190px;
    max-width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 13px 29px;
    margin: 0;
    background: #1d2732;
    background-image: none;
    color: #f1e7d9;
    border: 1px solid #c7aa7b;
    border-radius: 0;
    font: 500 14px/1.2 Oswald, Arial, sans-serif;
    letter-spacing: .10em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none;
    filter: none;
    transform: none;
    opacity: 1;
    cursor: pointer;
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
@media (hover: hover) {
    .she-contact-form-panel .wpcf7 form input.wpcf7-submit[type="submit"]:hover {
        background: #2c3b49;
        color: #fff8ec;
        border-color: #dec39a;
        box-shadow: 0 0 16px rgba(199,170,123,.25), 0 0 32px rgba(199,170,123,.10);
        transform: none;
    }
}
.she-contact-form-panel .wpcf7 form input.wpcf7-submit[type="submit"]:focus-visible {
    outline: 2px solid #dec39a;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    .she-contact-form-panel .wpcf7 form input.wpcf7-submit[type="submit"] { transition: none; }
}

/* SHE-CONTACT-EDITORIAL-ALIGN-V1
   Bewusster vertikaler Versatz der Formularbox auf Desktop.
*/
@media (min-width: 1100px) {
    .she-contact-layout > .she-contact-form-panel {
        margin-top: 55px;
    }
}

@media (max-width: 1099px) {
    .she-contact-layout > .she-contact-form-panel {
        margin-top: 0;
    }
}

/* SHE-CONTACT-TURNSTILE-V060 – breites Widget, responsiver Zeilenumbruch */
.she-contact-form-panel .wpcf7 .she-contact-submit-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    margin-top: 16px;
}
.she-contact-form-panel .wpcf7 .she-contact-submit-action { flex: 0 0 auto; min-width: 0; }
.she-contact-form-panel .wpcf7 .she-contact-turnstile { flex: 0 0 auto; width: 300px; max-width: 100%; }
.she-contact-form-panel .wpcf7 .she-contact-turnstile > * { max-width: 100%; }
@media (max-width: 700px) {
    .she-contact-form-panel .wpcf7 .she-contact-submit-row {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* SHE-CONTACT-COMPACT-CSS-V1
   Ruhiger, zusammenhängender Kontaktbereich.
   Keine Änderungen an Formularfeldern oder Uhrzeiten.
*/

/* Rezeptionszeiten direkt und kompakt unter dem Seitenbanner */
.she-contact-reception {
    padding: 58px 0 62px;
    background: #111820;
}

.she-contact-reception h2 {
    margin: 0 0 26px;
    font-size: clamp(35px, 4.2vw, 52px);
    line-height: 1.15;
}

.she-contact-reception .she-contact-hours-grid {
    gap: 18px;
}

.she-contact-reception .she-contact-hours-grid > div {
    padding: 23px 27px;
    background: #1d2732;
    border: 1px solid rgba(199,170,123,.22);
}

.she-contact-reception .she-contact-hours-grid h3 {
    margin-bottom: 13px;
    font-size: 26px;
}

.she-contact-reception .she-contact-hours-grid p {
    margin: 7px 0;
    font-size: 14px;
}

/* Kontaktinformationen und Formular optisch anschließen */
.she-contact-section {
    padding: 66px 0 80px;
    background: #141d27;
    border-top: 1px solid rgba(199,170,123,.14);
}

.she-contact-information > .she-eyebrow {
    margin-bottom: 14px;
}

.she-contact-information h2 {
    margin-bottom: 18px;
    font-size: clamp(36px, 4vw, 52px);
}

.she-contact-intro {
    margin-bottom: 25px;
}

.she-contact-facts > div {
    padding-top: 14px;
    padding-bottom: 14px;
}

/* Bisherigen großen Versatz der Formularbox reduzieren */
@media (min-width: 1100px) {
    .she-contact-layout > .she-contact-form-panel {
        margin-top: 20px;
    }
}

/* Anreise- und Abreiseinformationen ebenfalls etwas kompakter */
.she-contact-hours {
    padding-top: 72px;
    padding-bottom: 80px;
}

.she-contact-hours h2 {
    margin-bottom: 26px;
    font-size: clamp(36px, 4.2vw, 52px);
}

@media (max-width: 850px) {
    .she-contact-reception {
        padding: 44px 0 48px;
    }

    .she-contact-section {
        padding: 52px 0 64px;
    }

    .she-contact-hours {
        padding: 56px 0 64px;
    }
}

@media (max-width: 480px) {
    .she-contact-reception h2 {
        font-size: clamp(32px, 9vw, 42px);
    }

    .she-contact-reception .she-contact-hours-grid > div {
        padding: 20px;
    }

    .she-contact-reception .she-contact-hours-grid h3 {
        font-size: 24px;
    }

    .she-contact-reception .she-contact-hours-grid p {
        font-size: 13px;
    }
}
