@font-face{
  font-family:"Montserrat";
  src:url("/fonts/Montserrat-Variable.woff2") format("woff2-variations");
  font-weight:100 900; font-display:swap;
}
:root{
  --bg:#f6f7fb;--card:#fff;--text:#1d1e20;--muted:#667085;--brand:#2f5fff;
  --ring:0 0 0 6px rgba(47,95,255,.15);--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 "Montserrat",system-ui,Segoe UI,Roboto,Arial}
h1{font-size:clamp(26px,5vw,40px);margin:0 0 .5rem}
h2{font-size:clamp(18px,4.3vw,22px);margin:0 0 .9rem}

.contact{padding:20px 16px;max-width:1100px;margin:auto}
.cards{display:grid;grid-template-columns:1fr;gap:22px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}

.list{padding:0;list-style:none}
.list li{margin:.3rem 0}

.cta-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:.9rem}
.btn{border:0;background:var(--brand);color:#fff;padding:.9rem 1rem;border-radius:12px;cursor:pointer;text-decoration:none;font-weight:700;text-align:center}
.btn:hover{filter:brightness(1.05)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn.ghost{background:transparent;color:var(--brand);border:1px solid color-mix(in oklab,var(--brand),white 70%)}
/* wizualne „wyłączenie” przy niezaakceptowanym RODO */
.btn[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
/* shake przy błędzie RODO */
@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.btn.shake{animation:shake .35s ease}

.map-wrap{aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}

/* Formularz */
.grid{display:grid;grid-template-columns:1fr;gap:12px}
.grid>label{min-width:0}

/* globalne label-e dla standardowych pól */
label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}

input,textarea{width:100%;font:inherit;padding:.85rem .9rem;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:transparent;color:inherit}
input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring)}
textarea{min-height:130px}
.hint{display:block;font-size:.85rem;margin-top:.25rem;color:var(--muted)}
.hint.error{color:#ef4444}
.is-invalid{border-color:#ef4444!important}

/* --- RODO: checkbox po lewej, tekst obok (nadpisuje globalny label) --- */
label.rodo-label{
  display:flex;
  flex-direction:row;      /* klucz: w jednej linii */
  align-items:flex-start;  /* wyrównanie do górnej linii tekstu */
  gap:6px;
  font-weight:400;
  justify-content:flex-start;
  text-align:left;
  width:100%;              /* pełna szerokość kontenera */
}
.rodo-label input[type="checkbox"]{ margin-top:2px; }
.rodo-label a{ color:#0066cc; text-decoration:underline; }

/* linki w zwykłych labelach (opcjonalnie) */
label a { color:#0066cc; text-decoration:underline; }

.hp{position:absolute;left:-10000px;opacity:0}
.actions{display:flex;align-items:center;gap:.75rem;margin-top:.8rem;flex-wrap:wrap}
.status{font-size:.95rem;color:var(--muted)}

/* Stopka z socialami */
.site-footer{margin-top:24px;padding:16px;background:#f1f3fb;color:#2b2c30}
.footer-inner{max-width:1100px;margin:auto;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.social{display:flex;gap:12px}

/* Desktop: 2 kolumny w formularzu i dopięcie RODO do pełnej szerokości */
@media(min-width:900px){
  .cards{grid-template-columns:repeat(12,1fr);gap:18px}
  .col-6{grid-column:span 6}
  .cta-row{grid-template-columns:auto auto auto}
  .grid{grid-template-columns:1fr 1fr}
  .grid>label:nth-child(3){grid-column:1/-1}
  .grid .rodo-label{grid-column:1/-1;}  /* RODO od lewej krawędzi przez całą siatkę */
}
/* RODO – stabilny układ w 2 kolumnach: [checkbox][tekst] */
label.rodo-row {
  /* nadpisuje globalne label{display:flex;...} */
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: start;
  column-gap: 8px;
  row-gap: 0;
  width: 100%;
  text-align: left;
  font-weight: 400;
}

.rodo-row input[type="checkbox"] {
  margin: 3px 0 0 0;   /* lekkie wyrównanie do pierwszej linii tekstu */
  place-self: start;   /* dodatkowa kotwica do lewego górnego rogu */
}

.rodo-row .rodo-text {
  display: block;      /* resetuje ewentualne flex-styly z globalnego label */
  line-height: 1.5;
}

.rodo-row .rodo-text a {
  color: #0066cc;
  text-decoration: underline;
}

/* Jeśli formularz używa Twojej siatki .grid – rozciągnij RODO na pełną szerokość */
@media (min-width: 900px) {
  .grid label.rodo-row { grid-column: 1 / -1; }
}
