﻿.grundweg-form-trap { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.grundweg-send-status:empty { display:none; }
.grundweg-send-status { margin:20px 0 0;padding:16px 18px;border-radius:8px;font-size:15px;line-height:1.6; }
.grundweg-send-status[data-state="success"] { background:#edf6ec;color:#254b23;border:1px solid #b6d4b3; }
.grundweg-send-status[data-state="error"] { background:#fff8da;color:#231F20;border:1px solid #EDD604; }
.grundweg-contact-form button:disabled { opacity:.65;cursor:wait; }
/* Full enquiry fields in the existing dark contact popup. */
.chat-popup { max-width:100vw; }
.chat-popup > .close-chat { border:0; }
.chat-popup .popup-inner { max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6a6566 #231F20; }
.chat-popup .chat-form > p { margin-bottom:24px; }
.chat-popup .chat-form .form-group { margin-bottom:12px; }
.chat-popup .chat-form .form-group :is(input[type="tel"],select,.nice-select) { display:block;width:100%;height:44px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:14px;padding:10px 20px; }
.chat-popup .chat-form .form-group :is(input[type="text"],input[type="email"]) { height:44px;font-size:14px; }
.chat-popup .chat-form .form-group div.nice-select { float:none;line-height:42px;padding:0 32px 0 20px; }
.chat-popup .chat-form .nice-select .current { display:block;overflow:hidden;text-overflow:ellipsis; }
.chat-popup .chat-form .nice-select:after { border-color:#ddd; }
.chat-popup .chat-form .nice-select .list { width:100%;max-height:220px;overflow-y:auto;background:#3b3738;border:1px solid #575253; }
.chat-popup .chat-form .nice-select .option { color:#fff;white-space:normal;line-height:1.5;height:auto;min-height:44px;padding:10px 16px; }
.chat-popup .chat-form .nice-select .option:is(:hover,.selected,.focus) { background:#EDD604;color:#231F20; }
.chat-popup .chat-form .form-group textarea { height:100px;font-size:14px; }
.chat-popup .chat-form :is(input,textarea,.nice-select):focus-visible { outline:2px solid #EDD604;outline-offset:2px; }
.chat-popup .grundweg-popup-price { color:#ddd;padding-top:8px; }
.grundweg-popup-price__heading { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:13px;line-height:1.5; }
.grundweg-popup-price__heading label span { font-size:11px;color:#bbb; }
.grundweg-popup-price__heading output { color:#EDD604;font-weight:600; }
.grundweg-popup-price input[type="range"] { display:block;appearance:none;-webkit-appearance:none;width:100%;height:32px;margin:4px 0;background:transparent;cursor:pointer;accent-color:#EDD604; }
.grundweg-popup-price input::-webkit-slider-runnable-track { height:6px;border-radius:4px;background:linear-gradient(to right,#EDD604 var(--price-progress,0%),#625d5e var(--price-progress,0%)); }
.grundweg-popup-price input::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#EDD604;border:2px solid #231F20; }
.grundweg-popup-price input::-moz-range-track { height:6px;border-radius:4px;background:#625d5e; }
.grundweg-popup-price input::-moz-range-progress { height:6px;border-radius:4px;background:#EDD604; }
.grundweg-popup-price input::-moz-range-thumb { width:16px;height:16px;border-radius:50%;background:#EDD604;border:2px solid #231F20; }
.grundweg-popup-price__scale { display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5;color:#bbb; }
.chat-popup .popup-inner .grundweg-popup-required { font-size:12px;text-align:left;margin:12px 0 16px; }
.chat-popup .popup-inner .grundweg-send-status { text-align:left;margin:16px 0 0; }
.chat-popup .popup-inner .grundweg-send-status[data-state="error"] { color:#231F20; }
.chat-popup .popup-inner .grundweg-send-status[data-state="success"] { color:#254b23; }
@media(max-width:575px) {
 .chat-popup .chat-form .form-group :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea,.nice-select) { font-size:16px; }
}

/* Floating contact actions: WhatsApp left, enquiry form right. */
.grundweg-floating-contact .chat-icon { left:auto;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom)); }
.grundweg-floating-contact .chat-icon button { width:48px;height:48px;line-height:48px;color:#231F20; }
.grundweg-whatsapp-button { position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#EDD604;color:#231F20;border-radius:5px;font-size:29px;z-index:99;box-shadow:0 0 0 5px rgba(237,214,4,.2);transition:background .2s,color .2s; }
.grundweg-whatsapp-button:hover,.grundweg-floating-contact .chat-icon button:hover { background:#231F20;color:#EDD604; }
.grundweg-whatsapp-button:focus-visible,.grundweg-floating-contact .chat-icon button:focus-visible { outline:3px solid #231F20;outline-offset:6px; }
.grundweg-floating-contact .chat-popup { left:auto;right:0;border-radius:10px 0 0 0;transform:translateY(16px); }
.grundweg-floating-contact .chat-popup.popup-visible { transform:translateY(0); }
.grundweg-floating-contact .chat-popup > .close-chat { left:auto;right:0;color:#231F20;border-radius:5px 0 0 0; }
.grundweg-floating-contact .scroll-to-top { bottom:155px; }
@media(max-width:575px) {
 .grundweg-floating-contact .chat-icon { right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom)); }
 .grundweg-whatsapp-button { left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
 .grundweg-floating-contact .chat-popup,.grundweg-whatsapp-button { transition:none; }
}
