@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root {
  color-scheme: dark;
  --bg: #141416; --text: #f4f4f6; --muted: #9f9fa6; --link: #5baafa; --blue: #086dce;
  --eyebrow: #a4a4a9; --heading: #f4f4f6; --brand-text: #9c9ca3;
  --label: #e8e8ec; --field-text: #f5f5f7; --field-bg: #020204;
  --field-border: #292a2c; --placeholder: #93939a;
  --consent: #9898a0; --consent-link: #62adf8; --note: #9f9fa6;
  --success-bg: #163a2c; --success-text: #d8ffe8; --success-border: #2d6650;
  --error-bg: #452426; --error-text: #ffe1e1; --error-border: #8b4249;
}
/* Jasny motyw dopasowany do strony. Nie zmieniamy układu formularza. */
html[data-form-theme="light"] {
  color-scheme: light;
  --bg: #fff; --text: #162132; --muted: #475569; --link: #075eb7; --blue: #086dce;
  --eyebrow: #536174; --heading: #172234; --brand-text: #566376;
  --label: #1f2937; --field-text: #172234; --field-bg: #fff;
  --field-border: #c8d1dd; --placeholder: #68778b;
  --consent: #475569; --consent-link: #075eb7; --note: #546175;
  --success-bg: #e4f6eb; --success-text: #125137; --success-border: #88bca1;
  --error-bg: #fff0f0; --error-text: #8f2525; --error-border: #e2a4a4;
}
/* Bez JavaScript korzystamy z wyglądu systemu. */
@media (prefers-color-scheme: light) {
  html:not([data-form-theme]) {
    color-scheme: light;
    --bg: #fff; --text: #162132; --muted: #475569; --link: #075eb7; --blue: #086dce;
    --eyebrow: #536174; --heading: #172234; --brand-text: #566376;
    --label: #1f2937; --field-text: #172234; --field-bg: #fff;
    --field-border: #c8d1dd; --placeholder: #68778b;
    --consent: #475569; --consent-link: #075eb7; --note: #546175;
    --success-bg: #e4f6eb; --success-text: #125137; --success-border: #88bca1;
    --error-bg: #fff0f0; --error-text: #8f2525; --error-border: #e2a4a4;
  }
}

* { box-sizing: border-box; }
html { min-width: 320px; }
body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--text); font-family: Inter, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.kontakt-wrap { width: min(1300px, calc(100% - 56px)); margin: 0 auto; padding: 76px 0 50px; display: grid; grid-template-columns: minmax(0, 475px) minmax(0, 1fr); gap: clamp(52px, 7vw, 126px); align-items: start; }
.nadtytul { color: var(--eyebrow); font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0 0 25px; }
.kontakt-lewa h1 { margin: 0 0 26px; color: var(--heading); font-size: clamp(35px, 3.6vw, 48px); font-weight: 750; letter-spacing: -0.045em; line-height: 1.17; }
.kontakt-lewa .opis, .kontakt-lewa .szybki-kontakt { max-width: 490px; color: var(--muted); font-size: 16px; line-height: 1.78; margin: 0 0 27px; }
.kontakt-lewa .szybki-kontakt { margin-top: 21px; white-space: normal; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.kontakt-lewa .firma { color: var(--brand-text); font-size: 14px; line-height: 1.65; margin-top: 32px; }
.siatka { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 26px; }
.pole { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pole label { color: var(--label); font-weight: 500; font-size: 14px; line-height: 1.25; }
.pole input, .pole select, .pole textarea { display: block; width: 100%; color: var(--field-text); background: var(--field-bg); border: 1px solid var(--field-border); border-radius: 8px; font-family: inherit; font-size: 15px; line-height: 1.5; padding: 14px 15px; outline: none; box-shadow: none; }
.pole input, .pole select { height: 54px; }
.pole select { cursor: pointer; appearance: auto; }
.pole textarea { min-height: 136px; resize: vertical; }
.pole input::placeholder, .pole textarea::placeholder { color: var(--placeholder); opacity: 1; }
.pole input:focus, .pole select:focus, .pole textarea:focus { border-color: #238bea; box-shadow: 0 0 0 2px rgba(27, 122, 227, .18); }
.calosc { grid-column: 1 / -1; }
.zgoda { display: flex; gap: 16px; align-items: center; cursor: pointer; color: var(--consent); font-size: 13px; line-height: 1.5; margin-top: -3px; }
.zgoda input { margin: 0; width: 19px; height: 19px; flex: 0 0 19px; cursor: pointer; accent-color: #086dce; }
.zgoda a { color: var(--consent-link); text-decoration: underline; text-underline-offset: 2px; }
.przycisk-obszar { margin-top: -1px; }
#wyslij { border: 0; border-radius: 999px; width: 100%; height: 52px; background: var(--blue); color: #fff; font-family: inherit; font-weight: 500; font-size: 14px; cursor: pointer; transition: background .15s ease; }
#wyslij:hover { background: #087cf0; }
#wyslij:disabled { opacity: .65; cursor: wait; }
#wyslij:focus-visible { outline: 3px solid #80beff; outline-offset: 3px; }
.dopisek { color: var(--note); margin: 24px 0 0; font-size: 13px; line-height: 1.5; }
.komunikat { display: none; margin: 12px 0 0; padding: 13px 15px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.komunikat.ok { display: block; background: var(--success-bg); color: var(--success-text); border: 1px solid var(--success-border); }
.komunikat.blad { display: block; background: var(--error-bg); color: var(--error-text); border: 1px solid var(--error-border); }
.pułapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 1000px) { .kontakt-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 45px; } .kontakt-lewa h1 { font-size: 40px; } }
@media (max-width: 760px) { .kontakt-wrap { width: min(610px, calc(100% - 36px)); padding: 40px 0 45px; display: block; } .kontakt-lewa { margin: 0 0 40px; } .kontakt-lewa h1 { font-size: clamp(34px, 8vw, 44px); } .kontakt-lewa .opis, .kontakt-lewa .szybki-kontakt { font-size: 15px; margin-bottom: 15px; } .kontakt-lewa .firma { margin-top: 18px; } }
@media (max-width: 520px) { .siatka { grid-template-columns: 1fr; row-gap: 20px; } .zgoda { align-items: flex-start; } .kontakt-wrap { padding-top: 35px; } .pole textarea { min-height: 124px; } }

.pole input, .pole select, .pole textarea { caret-color: var(--field-text); }

/* Własny komunikat walidacji telefonu (V8). */
.telefon-blad { color: var(--error-text); font-size: 13px; line-height: 1.4; }
.telefon-blad[hidden] { display: none; }
.pole input.telefon-nieprawidlowy { border-color: var(--error-border); }


/* Integracja FINAL95: formularz jako część kontaktu na panpv.pl. */
body.embedded{min-height:0;background:transparent;overflow:hidden}
body.embedded .kontakt-wrap{width:100%;max-width:none;display:block;margin:0;padding:0}
body.embedded .kontakt-lewa{display:none}
body.embedded .kontakt-prawa{width:100%;max-width:none}
body.embedded .siatka{gap:20px 16px}
body.embedded .dopisek{margin-top:16px}
@media(max-width:590px){body.embedded .siatka{grid-template-columns:minmax(0,1fr);row-gap:18px}}
