﻿/* Grundweg contact page: shared template typography and brand colors. */
.grundweg-contact .main-header-three { position:relative;background:#231F20; }
.grundweg-contact .thm-btn { color:#231F20;text-transform:none; }
.grundweg-contact .thm-btn:hover { color:#fff; }
.grundweg-contact .thm-btn:focus-visible { outline:3px solid #EDD604 !important;outline-offset:4px; }
.grundweg-contact .main-menu-three__top a,.grundweg-contact .main-menu-three__top .icon,.grundweg-contact .main-menu-three__top .nice-select { color:#231F20; }
.grundweg-contact .footer-widget-three__link a,.grundweg-contact .footer-widget-three__contact a { overflow-wrap:anywhere; }
.grundweg-contact-hero { position:relative;isolation:isolate;background:#231F20;padding:40px 0 80px;color:#e5e3e3; }
.grundweg-contact-hero__background { position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,31,32,.96),rgba(35,31,32,.72)),url('../images/grundweg/wohnraum-nach-raeumung.jpg') center 48% / cover; }
.grundweg-contact-hero nav { display:flex;gap:12px;margin-bottom:40px;font-size:14px; }
.grundweg-contact-hero nav a { color:#EDD604; }
.grundweg-contact-eyebrow { font-size:12px;line-height:1.5;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#665b02;margin:0 0 16px; }
.grundweg-contact-hero .grundweg-contact-eyebrow { color:#EDD604; }
.grundweg-contact-hero h1 { font-size:clamp(36px,4.4vw,64px);line-height:1.13;color:#fff;font-weight:700;letter-spacing:-1.5px;margin:0 0 24px; }
.grundweg-contact-hero h1 span { color:#EDD604; }
.grundweg-contact-hero p:not(.grundweg-contact-eyebrow) { max-width:720px;font-size:17px;line-height:1.7;margin-bottom:28px; }
.grundweg-contact-hero .thm-btn:hover { color:#231F20; }
.grundweg-contact-hero .thm-btn::before,.grundweg-contact-hero .thm-btn::after { background:#fff; }
.grundweg-contact .contact-page { padding:80px 0 100px; }
.grundweg-contact .contact-page__top-img { margin:0; }
.grundweg-contact .contact-page__top-img img { display:block;height:360px;object-fit:cover;object-position:50% 30%;border-radius:20px; }
.grundweg-contact .contact-page__top-img figcaption { position:absolute;bottom:24px;left:24px;padding:12px 20px;background:#EDD604;color:#231F20;font-weight:600;border-radius:8px; }
.grundweg-contact .contact-page__middle { margin:80px 0; }
.grundweg-contact .contact-page__middle-left { padding-right:34px; }
.grundweg-contact .contact-page__middle-title { font-size:44px;line-height:1.16;margin-bottom:20px; }
.grundweg-contact .contact-page__middle-text { line-height:1.8; }
.grundweg-contact .contact-page__contact-list { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.grundweg-contact .contact-page__contact-list li+li { margin-top:0; }
.grundweg-contact .contact-page__contact-list li:nth-child(2) { grid-column:1 / -1;grid-row:2; }
.grundweg-contact .contact-page__contact-list a { overflow-wrap:anywhere;color:#231F20;font-weight:600; }
.grundweg-contact .contact-page__contact-list a:hover { text-decoration:underline; }
.grundweg-contact .contact-page__contact-list-title { font-size:15px;line-height:1.5;margin:0 0 5px; }
.grundweg-contact-whatsapp { display:inline-flex;align-items:center;gap:12px;color:#231F20;font-weight:600;border-bottom:2px solid #EDD604;padding-bottom:7px; }
.grundweg-contact-whatsapp:hover { color:#665b02; }
.grundweg-contact-whatsapp .fa-whatsapp { font-size:24px; }
.grundweg-contact-photo { position:relative;margin:0; }
.grundweg-contact-photo > img { display:block;width:100%;height:630px;object-fit:cover;object-position:center;border-radius:24px 24px 70px 24px; }
.grundweg-contact-photo figcaption { position:absolute;bottom:24px;left:24px;right:24px;display:flex;align-items:center;gap:18px;background:#231F20;color:#fff;padding:22px;border-radius:12px; }
.grundweg-contact-photo figcaption > span { color:#EDD604;font-size:32px; }
.grundweg-contact-photo figcaption strong { font-size:16px;line-height:1.5; }
.grundweg-contact-photo figcaption p { margin:6px 0 0;font-size:13px;line-height:1.6;color:#d8d5d6; }
.grundweg-contact #anfrage { scroll-margin-top:150px; }
.grundweg-contact .grundweg-form-heading { margin-bottom:38px; }
.grundweg-contact .contact-page__form-box { background:transparent;border:0;border-radius:0;padding:0; }
.grundweg-contact .contact-page__form { margin-top:28px; }
.grundweg-contact .contact-page__form .row { --bs-gutter-x:28px; }
.grundweg-contact .contact-page__input-box { margin-bottom:24px; }
.grundweg-contact .comment-one__title { text-transform:none; }
.grundweg-contact .comment-one__text { margin:0;max-width:720px;font-size:17px;line-height:1.6;color:var(--servixa-black); }
.grundweg-contact .contact-page__input-box label { display:block;font-size:14px;font-weight:600;color:#231F20;margin-bottom:8px; }
.grundweg-contact .contact-page__input-box input,
.grundweg-contact .contact-page__input-box select { display:block;width:100%;height:60px;border:1px solid #e2e2e2;border-radius:var(--servixa-bdr-radius);background:#f7f7f7;color:#231F20;padding:0 20px;font:inherit;font-size:16px; }
.grundweg-contact .contact-page__input-box textarea { padding:18px 20px;border:1px solid #e2e2e2;min-height:150px;height:150px;border-radius:var(--servixa-bdr-radius);background:#f7f7f7;color:#231F20;font-size:16px;resize:vertical; }
.grundweg-contact .contact-page__input-box :is(input,select,textarea):focus-visible { outline:2px solid #231F20;outline-offset:2px; }
.grundweg-contact-email-help { font-size:13px;line-height:1.7;color:#231F20;margin:0 0 22px; }
.grundweg-contact .contact-page__input-box :is(input,textarea)::placeholder { color:#625b5e;opacity:1; }
.grundweg-contact .contact-page__input-box select option { background:#fff;color:#231F20; }
.grundweg-contact .contact-page__btn { background:var(--servixa-base);color:var(--servixa-black); }
.grundweg-contact .contact-page__btn > span { background:var(--servixa-black);color:#fff; }
.grundweg-contact .contact-page__btn::before,.grundweg-contact .contact-page__btn::after { background:var(--servixa-black); }
.grundweg-contact .contact-page__btn:hover { color:#fff; }
.grundweg-contact .contact-page__btn:hover > span { background:var(--servixa-base);color:var(--servixa-black); }
.grundweg-contact .contact-page__btn:focus-visible { outline-color:var(--servixa-black) !important; }
@media(max-width:991px) {
 .grundweg-contact .contact-page__middle-left { padding-right:0; }
 .grundweg-contact-photo > img { height:520px; }
 .grundweg-contact .contact-page__form-box { padding:0; }
}
@media(max-width:575px) {
 .grundweg-contact-hero { padding:24px 0 48px; }
 .grundweg-contact-hero nav { margin-bottom:28px; }
 .grundweg-contact-hero h1 { letter-spacing:-.7px; }
 .grundweg-contact-hero p:not(.grundweg-contact-eyebrow) { font-size:15px; }
 .grundweg-contact .contact-page { padding:40px 0 60px; }
 .grundweg-contact .contact-page__top-img img { height:250px; }
 .grundweg-contact .contact-page__top-img figcaption { left:14px;bottom:14px;right:14px;padding:10px 14px;font-size:14px; }
 .grundweg-contact .contact-page__middle { margin:48px 0; }
 .grundweg-contact .contact-page__middle-title { font-size:34px; }
 .grundweg-contact .contact-page__contact-list { grid-template-columns:1fr;gap:20px; }
 .grundweg-contact-photo > img { height:440px; }
 .grundweg-contact-photo figcaption { left:14px;right:14px;bottom:14px;padding:18px;gap:12px; }
 .grundweg-contact-photo figcaption > span { font-size:24px; }
 .grundweg-contact .contact-page__form-box { padding:0; }
 .grundweg-contact .comment-one__title { font-size:28px;line-height:1.25; }
 .grundweg-contact .contact-page__input-box :is(input,select,textarea) { font-size:16px;padding-left:14px;padding-right:14px; }
}

.grundweg-contact .main-menu-three__contact-list li .text p a,
.grundweg-contact .main-menu-three__contact-list li .icon i { color:#231F20; }
/* Optional price proposal; native slider supports touch and keyboard. */
.grundweg-price-proposal { margin:2px 0 26px;padding:22px 0 4px;border-top:1px solid rgba(35,31,32,.2);background:transparent; }
.grundweg-price-proposal__heading { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px; }
.grundweg-price-proposal label { font-size:15px;font-weight:600;color:#231F20; }
.grundweg-price-proposal label span { font-weight:400;color:#625b5e;font-size:13px; }
.grundweg-price-proposal output { color:#231F20;font-size:20px;line-height:1.4;font-weight:700; }
.grundweg-price-proposal p { margin:4px 0 12px;font-size:13px;line-height:1.6;color:#625b5e; }
.grundweg-price-proposal input[type="range"] { appearance:none;-webkit-appearance:none;display:block;width:100%;height:30px;padding:0;margin:0;cursor:pointer;background:transparent;accent-color:#EDD604; }
.grundweg-price-proposal input::-webkit-slider-runnable-track { height:6px;border-radius:4px;background:linear-gradient(to right,var(--servixa-base) var(--price-progress,0%),#e2e2e2 var(--price-progress,0%)); }
.grundweg-price-proposal input::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#231F20;border:3px solid #fff; }
.grundweg-price-proposal input::-moz-range-track { height:6px;border-radius:4px;background:#e2e2e2; }
.grundweg-price-proposal input::-moz-range-progress { height:6px;border-radius:4px;background:var(--servixa-base); }
.grundweg-price-proposal input::-moz-range-thumb { width:16px;height:16px;border-radius:50%;background:#231F20;border:3px solid #fff; }
.grundweg-price-proposal input:focus-visible { outline:2px solid #231F20;outline-offset:4px;border-radius:4px; }
.grundweg-price-proposal__scale { display:flex;justify-content:space-between;gap:12px;margin-top:4px;font-size:12px;color:#625b5e; }
@media(max-width:575px) { .grundweg-price-proposal { padding:18px 0 4px; } .grundweg-contact .grundweg-form-heading { margin-bottom:28px; } .grundweg-contact .contact-page__btn { width:100%;justify-content:space-between; } }
.grundweg-contact .grundweg-form-heading .section-title__title { text-transform:none; }
.grundweg-contact .contact-page__input-box .nice-select { width:100%;height:60px;line-height:58px;float:none;padding:0 42px 0 20px;border:1px solid #e2e2e2;border-radius:var(--servixa-bdr-radius);background:#f7f7f7;color:#231F20;font-size:16px; }
.grundweg-contact .contact-page__input-box .nice-select .current { color:#231F20;display:block;overflow:hidden;text-overflow:ellipsis; }
.grundweg-contact .contact-page__input-box .nice-select:after { border-color:#231F20; }
.grundweg-contact .contact-page__input-box .nice-select .list { width:100%;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #ddd;box-shadow:0 6px 16px rgba(35,31,32,.1); }
.grundweg-contact .contact-page__input-box .nice-select .option { white-space:normal;line-height:1.5;min-height:44px;height:auto;padding:10px 16px;color:#231F20; }
.grundweg-contact .contact-page__input-box .nice-select .option.selected,
.grundweg-contact .contact-page__input-box .nice-select .option:hover { background:#EDD604; }
.grundweg-contact .contact-page__input-box .nice-select:focus-visible { outline:2px solid #231F20;outline-offset:2px; }
@media(max-width:575px) { .grundweg-contact .contact-page__input-box .nice-select { padding-left:14px; } }
/* Compact enquiry layout: all controls remain together in the viewport. */
.grundweg-contact .grundweg-compact-form .grundweg-form-heading { margin-bottom:18px; }
.grundweg-compact-form .section-title__tagline-box { margin-bottom:8px; }
.grundweg-compact-form .section-title__title { font-size:34px;line-height:1.2; }
.grundweg-compact-form #contact-form-help,
.grundweg-compact-form #contact-price-help { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.grundweg-contact .grundweg-compact-form .contact-page__form { margin-top:0; }
.grundweg-contact .grundweg-compact-form .grundweg-compact-fields { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:0; }
.grundweg-compact-fields > div { width:auto;max-width:none;min-width:0;padding:0; }
.grundweg-compact-fields > div:nth-child(1) { grid-area:1 / 1; }
.grundweg-compact-fields > div:nth-child(2) { grid-area:1 / 2; }
.grundweg-compact-fields > div:nth-child(3) { grid-area:2 / 1; }
.grundweg-compact-fields > div:nth-child(4) { grid-area:2 / 2; }
.grundweg-compact-fields > div:nth-child(5) { grid-area:3 / 1; }
.grundweg-compact-fields > div:nth-child(6) { grid-area:3 / 2; }
.grundweg-compact-fields > .grundweg-compact-message { grid-area:1 / 3 / 4 / 5; }
.grundweg-compact-fields > .grundweg-compact-price { grid-column:1 / -1; }
.grundweg-contact .grundweg-compact-form .contact-page__input-box { margin-bottom:0; }
.grundweg-contact .grundweg-compact-form .contact-page__input-box label { line-height:20px;margin-bottom:5px; }
.grundweg-contact .grundweg-compact-form .contact-page__input-box :is(input,select,.nice-select) { height:46px;padding-left:14px;padding-right:14px; }
.grundweg-contact .grundweg-compact-form .contact-page__input-box .nice-select { line-height:44px;padding-right:32px; }
.grundweg-compact-message .contact-page__input-box { display:flex;flex-direction:column;height:100%; }
.grundweg-contact .grundweg-compact-form .contact-page__input-box textarea { flex:1;min-height:140px;height:calc(100% - 25px);padding:12px 14px; }
.grundweg-compact-form .grundweg-price-proposal { margin:2px 0 0;padding:12px 0 0; }
.grundweg-compact-form .grundweg-price-proposal__heading { gap:8px;line-height:22px; }
.grundweg-compact-form .grundweg-price-proposal output { font-size:16px;line-height:22px; }
.grundweg-compact-form .grundweg-price-proposal__scale { margin:0;line-height:18px; }
.grundweg-compact-footer { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px; }
.grundweg-compact-footer .grundweg-contact-email-help { margin:0;font-size:12px; }
.grundweg-contact .grundweg-compact-form .contact-page__btn { width:auto;white-space:nowrap; }
@media(max-width:991px) {
 .grundweg-contact .grundweg-compact-form .grundweg-compact-fields { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px; }
 .grundweg-compact-fields > div:nth-child(-n+6) { grid-area:auto; }
 .grundweg-compact-fields > .grundweg-compact-message { grid-area:auto;grid-column:1 / -1; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box textarea { height:90px;min-height:90px;flex:auto; }
}
@media(max-width:575px) {
 .grundweg-contact #anfrage.grundweg-compact-form { scroll-margin-top:118px; }
 .grundweg-contact .grundweg-compact-form .grundweg-form-heading { margin-bottom:14px; }
 .grundweg-compact-form .section-title__title { font-size:26px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box label { font-size:13px;line-height:18px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box :is(input,select,.nice-select) { height:44px;padding-left:10px;padding-right:10px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box .nice-select { line-height:42px;padding-right:26px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box textarea { height:76px;min-height:76px; }
 .grundweg-compact-form .grundweg-price-proposal { padding-top:10px; }
 .grundweg-compact-form .grundweg-price-proposal label { font-size:13px; }
 .grundweg-compact-footer { gap:10px;margin-top:12px; }
 .grundweg-contact .grundweg-compact-form .contact-page__btn { font-size:15px;padding-left:18px; }
}
@media(max-width:359px) {
 .grundweg-contact .grundweg-compact-form .grundweg-compact-fields { grid-template-columns:1fr; }
 .grundweg-compact-footer { flex-wrap:wrap; }
}
@media(min-width:360px) and (max-width:575px) and (max-height:740px) {
 .grundweg-contact #anfrage.grundweg-compact-form { scroll-margin-top:112px; }
 .grundweg-contact .grundweg-compact-form .grundweg-form-heading { margin-bottom:10px; }
 .grundweg-contact .grundweg-compact-form .grundweg-compact-fields { row-gap:8px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box textarea { height:68px;min-height:68px; }
 .grundweg-compact-footer { margin-top:8px; }
}
.grundweg-contact .scroll-to-top { right:22px;transform:translateX(50%) rotate(-90deg); }
/* Larger, readable desktop controls without stacking the form vertically. */
@media(min-width:992px) {
 .grundweg-contact .grundweg-compact-form { --contact-field-height:clamp(56px,6vh,70px); }
 .grundweg-compact-form .section-title__title { font-size:clamp(40px,2.6vw,48px); }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box label { font-size:16px;line-height:22px;margin-bottom:6px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box :is(input,select,.nice-select) { height:var(--contact-field-height);font-size:18px;padding-left:18px;padding-right:18px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box .nice-select { line-height:calc(var(--contact-field-height) - 2px);padding-right:36px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box textarea { font-size:18px;line-height:1.6;padding:16px 18px; }
 .grundweg-compact-form .grundweg-price-proposal label { font-size:16px; }
 .grundweg-compact-form .grundweg-price-proposal output { font-size:20px;line-height:24px; }
 .grundweg-compact-form .grundweg-price-proposal__scale { font-size:14px;line-height:20px; }
 .grundweg-compact-footer .grundweg-contact-email-help { font-size:14px; }
 .grundweg-contact .grundweg-compact-form .contact-page__btn { font-size:18px;gap:16px;padding-left:28px; }
 .grundweg-contact .grundweg-compact-form .contact-page__btn > span { width:48px;height:48px;font-size:20px; }
}
@media(min-width:360px) and (max-width:575px) and (min-height:741px) {
 .grundweg-compact-form .section-title__title { font-size:28px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box label { font-size:14px;line-height:20px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box :is(input,select,.nice-select) { height:48px; }
 .grundweg-contact .grundweg-compact-form .contact-page__input-box .nice-select { line-height:46px; }
 .grundweg-contact .grundweg-compact-form .contact-page__btn { font-size:16px; }
}
