/* Formularz wyceny (moduł gfwycena) — makieta „Formularz - po kliknięciu w Poproś o wycenę” (02.10.2026). Czcionka = motyw (DM Sans). */
body.module-gfwycena-form { overflow-x: clip; }
.gfw { --gfw-ink: #111; --gfw-muted: #666; --gfw-red: var(--primary, #d50000); --gfw-line: #cfcfcf; --gfw-dark: #0b0909; position: relative; color: var(--gfw-ink); padding: 0; margin-bottom: -48px; }
.gfw *, .gfw *::before, .gfw *::after { box-sizing: border-box; }
.gfw [hidden] { display: none !important; }
.gfw svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* ciemny pas tytułu ze zdjęciem, pod nagłówkiem — jak hero na stronie głównej i w realizacjach */
.gfw-hero { position: relative; margin: 0 calc(50% - 50vw) 32px; padding: 56px calc(50vw - 50%) 48px; background: var(--gfw-dark) var(--gfw-hero) right center / cover no-repeat; color: #fff; isolation: isolate; }
.gfw-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 6, 6, .96) 0%, rgba(8, 6, 6, .9) 38%, rgba(8, 6, 6, .45) 68%, rgba(8, 6, 6, .2) 100%); }
.gfw-head { max-width: 760px; }
.gfw-eyebrow { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gfw-red); }
.gfw-title { position: relative; margin: 0 0 14px; padding-bottom: 14px; font-size: clamp(32px, 4vw, 52px); line-height: 1; font-weight: 800; text-transform: uppercase; color: #fff; }
.gfw-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; background: var(--gfw-red); }
.gfw-lead { margin: 0; font-size: 16px; line-height: 1.5; color: #e9e3e4; }

/* ---------- hero pod nagłówkiem, jak na stronie głównej (uwaga Andrzeja 15.10.2026) ----------
   Baner wjeżdża pod sticky nagłówek (110 / 62 / 56 px jak w header-v2.css) i pod górny padding <main> motywu (48 / 24 px —
   dawało biały pas); nagłówek przezroczysty, dopóki header-v2.js nie doda hdr2--scrolled. Wzór: gfserwis.css. */
.gfw-hero { --gf-hdr: 110px; --gf-mainpad: 48px; margin-top: calc(-1 * (var(--gf-hdr) + var(--gf-mainpad))); padding-top: calc(56px + var(--gf-hdr)); min-height: calc(0px + var(--gf-hdr)); }
.gfw-hero::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(var(--gf-hdr) + 70px); z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(8, 6, 6, .9) 0%, rgba(8, 6, 6, .78) 40%, rgba(8, 6, 6, .4) 75%, rgba(8, 6, 6, 0) 100%); }
body.module-gfwycena-form .hdr2 .hdr2-top, body.module-gfwycena-form .hdr2 .hdr2-main { transition: background-color .25s ease, transform .25s ease; }
body.module-gfwycena-form .hdr2:not(.hdr2--scrolled) .hdr2-top, body.module-gfwycena-form .hdr2:not(.hdr2--scrolled) .hdr2-main { background-color: transparent; }
@media (max-width: 1199.98px) { .gfw-hero { --gf-hdr: 62px; } .gfw-hero::after { height: calc(var(--gf-hdr) + 16px); background: linear-gradient(180deg, rgba(8, 6, 6, .85) 0%, rgba(8, 6, 6, .7) 70%, rgba(8, 6, 6, 0) 100%); } }
@media (max-width: 767.98px) { .gfw-hero { --gf-mainpad: 24px; padding-top: calc(40px + var(--gf-hdr)); } }
@media (max-width: 575.98px) { .gfw-hero { --gf-hdr: 56px; } }

.gfw-form { display: grid; gap: 26px; }
.gfw-grid { display: grid; gap: 18px 24px; }
.gfw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gfw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gfw-field { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.gfw-label { font-size: 15px; font-weight: 700; }
.gfw-label small { font-weight: 400; color: var(--gfw-muted); }
.gfw-req { color: var(--gfw-red); }
.gfw input[type=text], .gfw input[type=email], .gfw input[type=tel], .gfw input[type=number], .gfw select, .gfw textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--gfw-line); border-radius: 6px; background: #fff; font: inherit; font-size: 14px; color: var(--gfw-ink); transition: border-color .15s ease; }
.gfw textarea { min-height: 140px; resize: vertical; background: #ececec; }
.gfw input:focus, .gfw select:focus, .gfw textarea:focus { outline: none; border-color: var(--gfw-ink); }
.gfw input::placeholder, .gfw textarea::placeholder { color: #9a9a9a; }
.gfw-select { position: relative; display: block; }
.gfw-select select { appearance: none; -webkit-appearance: none; padding-right: 40px; }
.gfw-select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 9px; height: 9px; border-right: 2px solid var(--gfw-ink); border-bottom: 2px solid var(--gfw-ink); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.gfw-unit { position: relative; display: block; }
.gfw-unit input { padding-right: 56px; }
.gfw-unit b { position: absolute; right: 2px; top: 2px; bottom: 2px; display: grid; place-items: center; padding: 0 12px; border-radius: 0 5px 5px 0; background: #e5e5e5; font-size: 13px; }
.gfw-source { display: inline-flex; align-items: center; gap: 8px; margin: -8px 0 0; padding: 8px 14px; border-radius: 6px; background: #f4f4f4; font-size: 13.5px; font-weight: 600; }
.gfw-source svg { width: 18px; height: 18px; color: var(--gfw-red); }
.gfw-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; max-width: 980px; margin: 0 auto; }
.gfw-tile { position: relative; margin: 0; cursor: pointer; }
.gfw-tile input { position: absolute; opacity: 0; width: 0; height: 0; }
.gfw-tile-in { position: relative; display: grid; justify-items: center; align-content: center; gap: 12px; min-height: 150px; padding: 18px 12px; border: 1.5px solid var(--gfw-ink); border-radius: 14px; background: #fff; text-align: center; transition: border-color .15s ease, box-shadow .15s ease; }
.gfw-tile-ic { width: 54px; height: 54px; }
.gfw-tile-ic svg { width: 54px; height: 54px; stroke-width: 1.4; }
.gfw-tile-txt { font-size: 15.5px; line-height: 1.25; }
.gfw-tile-check { position: absolute; top: -10px; right: -10px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--gfw-red); color: #fff; opacity: 0; transform: scale(.6); transition: opacity .15s ease, transform .15s ease; }
.gfw-tile-check svg { width: 14px; height: 14px; stroke-width: 3; }
.gfw-tile input:checked + .gfw-tile-in { border-color: var(--gfw-red); border-width: 2px; box-shadow: 0 0 0 3px rgba(213, 0, 0, .12); }
.gfw-tile input:checked + .gfw-tile-in .gfw-tile-check { opacity: 1; transform: scale(1); }
.gfw-tile input:focus-visible + .gfw-tile-in { outline: 2px solid var(--gfw-ink); outline-offset: 2px; }
.gfw-tile:hover .gfw-tile-in { border-color: var(--gfw-red); }
.gfw-consent { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 14.5px; line-height: 1.45; cursor: pointer; }
.gfw-consent input[type=checkbox] { display: inline-block !important; appearance: auto; -webkit-appearance: checkbox; width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--gfw-red); cursor: pointer; } /* motyw ma input[type=checkbox]{display:none} (własne .checkbox) */
.gfw-consent a { color: var(--gfw-ink); text-decoration: underline; }
.gfw-hp { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
.gfw-field.is-invalid input, .gfw-field.is-invalid select, .gfw-field.is-invalid textarea { border-color: var(--gfw-red); background: #fff4f4; }
.gfw-types.is-invalid .gfw-tile-in { border-color: var(--gfw-red); }
.gfw-consent.is-invalid span { color: var(--gfw-red); }
.gfw-error { margin: -8px 0 0; padding: 12px 16px; border-radius: 6px; background: #fdecec; color: #a40000; font-size: 14px; font-weight: 600; }
.gfw-actions { display: grid; justify-items: center; gap: 10px; }
.gfw .gfw-btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 34px; border: 1.5px solid var(--gfw-red); border-radius: 4px; background: var(--gfw-red); color: #fff; font-size: 16px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.gfw .gfw-btn svg { width: 20px; height: 20px; stroke-width: 2.4; }
.gfw .gfw-btn:hover { background: #e81919; border-color: #e81919; color: #fff; }
.gfw .gfw-btn[disabled] { opacity: .7; cursor: wait; }
.gfw .gfw-btn--ghost { background: #fff; color: var(--gfw-ink); border-color: var(--gfw-ink); }
.gfw .gfw-btn--ghost:hover { background: var(--gfw-ink); color: #fff; border-color: var(--gfw-ink); }
.gfw-note { font-size: 12.5px; color: var(--gfw-muted); }
.gfw-done { display: grid; justify-items: center; gap: 10px; max-width: 640px; margin: 10px auto 40px; padding: 40px 28px; border: 1px solid #e2e2e2; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .06); text-align: center; }
.gfw-done-ic { width: 72px; height: 72px; color: var(--gfw-red); stroke-width: 1.6; }
.gfw-done-title { margin: 6px 0 0; font-size: 32px; font-weight: 800; }
.gfw-done-lead { margin: 0; font-size: 17px; font-weight: 600; }
.gfw-done-sub, .gfw-done-note { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--gfw-muted); }
.gfw-done-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 16px 0 0; }
.gfw-people { margin: 44px calc(50% - 50vw) 0; padding: 30px calc(50vw - 50%) 44px; background: #f0f0f0; box-shadow: inset 0 24px 24px -24px rgba(0, 0, 0, .18); }
.gfw-people-title { margin: 0 0 26px; text-align: center; font-size: 20px; font-weight: 700; }
.gfw-people-list { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 980px; }
.gfw-people-list li { display: grid; justify-items: center; gap: 4px; text-align: center; font-size: 14px; }
.gfw-people-list b { margin-top: 8px; font-size: 16px; }
.gfw-people-list span { color: var(--gfw-muted); }
.gfw-people-list a { font-weight: 700; color: var(--gfw-ink); text-decoration: none; }
.gfw-people-list a:hover { color: var(--gfw-red); }
.gfw-person-photo { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; background: var(--gfw-dark); color: #fff; font-size: 30px; font-weight: 800; }
@media (max-width: 1199.98px) {
  .gfw-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gfw-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .gfw-grid--4, .gfw-grid--3 { grid-template-columns: 1fr; gap: 16px; }
  .gfw-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .gfw-tile-in { min-height: 120px; padding: 14px 8px; }
  .gfw-tile-ic, .gfw-tile-ic svg { width: 42px; height: 42px; }
  .gfw-tile-txt { font-size: 14px; }
  .gfw-people-list { grid-template-columns: 1fr; gap: 28px; }
  .gfw .gfw-btn { width: 100%; justify-content: center; }
}

/* #5734: podpowiedź o leasingu przy temacie */
/* pola w rzędzie przyklejone do góry — inaczej podpowiedź pod „Tematem” wydłuża rząd i siatki sąsiednich pól rozciągają etykiety */
.gfw-grid > .gfw-field { align-content: start; }
.gfw-hint { font-size: 13px; line-height: 1.45; color: var(--gfw-muted); }
.gfw-hint[hidden] { display: none; }
