/* Offerteformulier */
[hidden] { display: none !important; }
.form-wrap .f-err { color: #b00020; font-size: .9rem; font-weight: 700; margin: 4px 0 0; }
.form-wrap .f-err::before { content: "! "; }
.form-wrap input.f-bad, .form-wrap select.f-bad, .form-wrap textarea.f-bad { border-color: #b00020; outline: 2px solid #b00020; outline-offset: 0; }
.form-wrap input, .form-wrap select, .form-wrap textarea, .form-wrap .ts-btn, .form-wrap label { scroll-margin-top: 180px; scroll-margin-bottom: 80px; }
.form-wrap #min-hint { margin: 4px 0 18px; }
.ts-wrap { position: relative; }
.ts-btn { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; padding: 8px 40px 8px 10px; min-height: 52px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23222' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid #8a8a8a; border-radius: 0; font: inherit; font-size: 1rem; color: #222; cursor: pointer; }
.ts-btn:focus { outline: 2px solid #2a2a2a; outline-offset: 1px; }
.ts-btn.ts-err { border-color: #b00020; outline: 2px solid #b00020; }
.ts-btn img, .ts-list img { width: 56px; height: 42px; object-fit: cover; flex: 0 0 56px; }
.ts-list { position: absolute; z-index: 30; left: 0; right: 0; top: 100%; margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid #8a8a8a; border-top: 0; max-height: 380px; overflow-y: auto; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.ts-list[hidden] { display: none; }
.ts-list li { display: flex; align-items: center; gap: 12px; padding: 6px 10px; cursor: pointer; font-size: 1rem; color: #222; margin: 0; }
.ts-list li:hover, .ts-list li:focus { background: #1a1a1a; color: #bbcdd1; outline: none; }
.ts-list li[aria-selected="true"] { font-weight: 700; }
.ts-btn, .ts-btn span, .ts-list li, .ts-list li span { font-weight: 400; }
.ts-list li[aria-selected="true"], .ts-list li[aria-selected="true"] span { font-weight: 700; }

.form-page { padding: 28px 16px 48px; }
.form-wrap { max-width: 760px; margin: 0 auto; background: rgba(255,255,255,.96); padding: 32px 36px 36px; color: #222; font-family: 'Open Sans', sans-serif; border-top: 4px solid #2a2a2a; }
.form-wrap h1 { font: 700 2rem/1.2 Roboto, sans-serif; margin: 0 0 10px; color: #111; letter-spacing: 0; }
.form-wrap p.form-lead { font-size: 1.0625rem; line-height: 1.55; margin: 0 0 22px; }
.form-wrap label { display: block; font-size: .9375rem; font-weight: 600; color: #222; }
.form-wrap input[type=text], .form-wrap input[type=email], .form-wrap input[type=tel], .form-wrap select, .form-wrap textarea {
  display: block; width: 100%; box-sizing: border-box; margin-top: 6px; padding: 11px 12px; font: 400 1rem/1.3 'Open Sans', sans-serif;
  color: #111; background: #fff; border: 1px solid #b9b9b9; border-radius: 0; }
.form-wrap input:focus, .form-wrap select:focus, .form-wrap textarea:focus { outline: 2px solid #2a2a2a; outline-offset: 1px; }
.f-row { margin: 0 0 16px; }
.f-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.f-drop { background: #f4f4f4; border: 2px dashed #9a9a9a; padding: 16px; }
.f-drop > label { font-size: 1.0625rem; }
.f-drop input[type=file] { display: block; margin-top: 8px; width: 100%; font-size: .9375rem; }
.form-wrap p.f-hint { font-size: .8125rem; line-height: 1.5; color: #444; margin: 8px 0 0; }
.form-wrap p.f-files { font-size: .875rem; font-weight: 600; margin: 8px 0 0; }
.f-check label { font-weight: 400; font-size: .875rem; }
.f-check input { margin-right: 8px; }
.f-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.f-submit { display: inline-block; background: #2a2a2a; color: #fff; border: 0; padding: 14px 30px; font: 700 .9375rem/1 Roboto, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.f-submit:hover { background: #000; }
.form-wrap p.f-alt { font-size: .875rem; line-height: 1.5; margin: 18px 0 0; color: #444; }
.form-wrap a { color: inherit; }
.form-wrap a.f-submit { color: #fff; }
@media (max-width: 575px) { .form-wrap { padding: 22px 16px 26px; } .f-two { grid-template-columns: 1fr; } .form-wrap h1 { font-size: 1.6rem; } }
.form-wrap.privacy h2 { font: 700 1.25rem/1.3 Roboto, sans-serif; margin: 26px 0 8px; color: #111; letter-spacing: 0; }
.form-wrap.privacy p, .form-wrap.privacy li { font-size: 1rem; line-height: 1.6; }
.form-wrap.privacy p { margin: 0 0 12px; }
.form-wrap.privacy ul { margin: 0 0 12px; padding-left: 22px; }
