/* =========================================================
   UKRYCIE NAGŁÓWKÓW 
   ========================================================= */
.page-id-1663 h1.page-title,
.page-id-1832 h1.page-title,
.page-id-1179 h1.page-title,
.page-id-1195 h1.page-title,
.page-id-1999 h1.page-title,
.page-id-5 h1.page-title,
.page-id-8 h1.page-title,
.page-id-1600 h1.page-title,
.page-id-39 h1.page-title,
.page-id-1640 h1.page-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
}

/* === SEKCJA KONTAKT === */
#kontakt {
  font-family: Inter, system-ui, Segoe UI, Roboto, Arial, sans-serif;
  background: #ffffff;
  color: #0B1F2A;
  padding: 56px 20px;
  border-top: 1px solid #EEF3F6;
}

#kontakt h2 { font-size: 28px; margin: 0 0 12px; text-align: center; }
#kontakt p.subtitle { margin: 0 0 28px; color: #334; text-align: center; }

/* Layout sekcji: 2/3 : 1/3 */
#kontakt .grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start;
}

#kontakt .panel {
  background: #F8FAFC;
  border: 1px solid #E6EEF4;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
}
#kontakt .panel h3 { margin: 0 0 10px; font-size: 20px; }
#kontakt .panel a { color: #0085ca; text-decoration: none; font-weight: 700; }

#kontakt .panel--form { background: #fff; padding: 24px; text-align: left; }

/* === Formularz CF7 na całą szerokość === */
#kontakt .panel--form .wpcf7,
#kontakt .panel--form .wpcf7 form {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/* === GRID formularza === */
.cf-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
  gap: 16px;
  width: 100%;
}
.cf-left { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.cf-right { min-width: 0; }

/* Pola lewa kolumna */
.cf-left input[type="text"],
.cf-left input[type="email"],
.cf-left input[type="tel"]{
  height: 48px;
  padding: 12px 14px;
  border: 1px solid #CCD8E2;
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.3;
  box-sizing: border-box;
}

/* Wiadomość – textarea, wysokość = 3 pola z lewej kolumny */
.cf-right textarea[name="wiadomosc"] {
  display: block;
  width: 100% !important;
  height: calc(48px * 3 + 24px); /* 3 pola po 48px + 2 odstępy po 12px = 168px */
  padding: 14px;
  border: 1px solid #CCD8E2;
  border-radius: 10px;
  line-height: 1.4;
  font-size: 16px;
  box-sizing: border-box;
  resize: none; /* wyłącz ręczne powiększanie */
}

/* === ZGODY (3 osobne checkboxy: zgoda_mail / zgoda_tel / zgoda_sms) === */
#kontakt .panel--form .zgody { grid-column: 1 / -1; }

/* Każdy kontroler checkboxa blokowo z odstępem */
#kontakt .panel--form .zgody .wpcf7-form-control.wpcf7-checkbox{
  display:block;
  margin: 8px 0 6px;
}

/* Etykiety zgód mniejsze i w jednym wierszu z checkboxem */
#kontakt .panel--form .zgody label,
#kontakt .panel--form .zgody .wpcf7-list-item-label{
  font-size: 14px;
  color: #222;
  line-height: 1.4;
  cursor: pointer;
}

/* === FRESH CHECKBOXY (zaokrąglone, brandowe) === */
#kontakt .panel--form .zgody input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #0085ca;
  border-radius: 6px;              /* tu zmieniasz „okrągłość” (np. 10px = bardziej) */
  background: #fff;
  display: inline-block;
  vertical-align: -3px;
  cursor: pointer;
  position: relative;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  margin-right: 8px;
}

#kontakt .panel--form .zgody input[type="checkbox"]:hover{
  border-color:#006a9e;
}

#kontakt .panel--form .zgody input[type="checkbox"]:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,133,202,.2);
}

#kontakt .panel--form .zgody input[type="checkbox"]:checked{
  background-color:#0085ca;
  border-color:#0085ca;
}

#kontakt .panel--form .zgody input[type="checkbox"]:checked::after{
  content:"✓";
  color:#fff;
  font-size:14px;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -55%);
  font-weight:700;
  line-height:1;
}

/* Wersja całkiem okrągła (zamiennie z powyższym border-radius) */
/* #kontakt .panel--form .zgody input[type="checkbox"]{ border-radius: 999px; } */

/* Szczegóły zgód (rozwijane) – pod każdą etykietą */
#kontakt .panel--form .zgody details{ margin: 0 0 14px 0; }
#kontakt .panel--form .zgody details summary{
  font-size: 12px;
  color: #0085ca;
  cursor: pointer;
  display: inline-block;
}
#kontakt .panel--form .zgody details summary::after{ content: " (pokaż treść zgody)"; color:#0085ca; }
#kontakt .panel--form .zgody details[open] summary::after{ content: " (ukryj treść zgody)"; }

/* Tipy walidacji – globalny (na dole) i ukrycie lokalnych przy checkboxach */
#kontakt .panel--form .wpcf7-not-valid-tip{
  margin: 6px 0 10px;
  color:#d11;
  font-size: 13px;
}
/* Ukryj tipy CF7 przy checkboxach w sekcji zgód, ale NIE nasz dolny */
#kontakt .panel--form .zgody .wpcf7-not-valid-tip:not(.consents-tip){
  display: none !important;
}

/* Nasz jeden, dolny komunikat */
#kontakt .panel--form .zgody .consents-tip{
  display: block !important;
  margin-top: 8px;
  color: #d11;
  font-size: 13px;
}

/* === Przyciski === */
#kontakt .panel--form .wpcf7 input[type="submit"]{
  background: #0085ca;
  color: #fff;
  border: 0;
  border-radius: 28px;
  padding: 12px 26px;
  font-weight: 700;
  cursor: pointer;
}
#kontakt .panel--form .wpcf7 input[type="submit"]:hover{ filter: brightness(0.95); }
#kontakt .panel--form .wpcf7 input[type="submit"]:focus{ outline: 2px solid #9dd6f0; outline-offset: 2px; }

/* Twarde wyśrodkowanie przycisku poprzez wrapper */
#kontakt .panel--form .submit-center{
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
#kontakt .panel--form .submit-center .wpcf7-submit{
  float: none !important;
  display: inline-block !important;
  margin: 16px 0 0 0 !important;
  justify-self: center !important;
  align-self: center !important;
}

/* === Mobile === */
@media (max-width: 900px){
  #kontakt .grid{ grid-template-columns: 1fr; gap: 24px; }
  #kontakt .panel--form{ padding: 24px; }
  .cf-grid{ grid-template-columns: 1fr; gap: 12px; }
  /* poprawka: textarea (nie input) */
  .cf-right textarea[name="wiadomosc"]{ height: 150px; }
}

/* Preferencje dostępności – mniej animacji */
@media (prefers-reduced-motion: reduce){
  #kontakt .panel--form .zgody input[type="checkbox"]{
    transition: none;
  }
}

/* =========================================================
   DOCKOWANE PRZYCISKI NA DOLE (MOBILE)
   ========================================================= */
:root {
  --dock-h: 64px;           /* wysokość paska */
  --dock-gap: 10px;         /* odstęp między przyciskami */
}

/* Kontener paska (nadaj klasę .cta-dock w HTML) */
.cta-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: none;            /* pokaż tylko na mobile */
  background: #ffffffcc;    /* lekko przezroczysty biały */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid #EEF3F6;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -6px 20px rgba(0,0,0,.08);
}

/* Wnętrze paska – rząd przycisków */
.cta-dock .dock-row {
  display: grid;
  grid-template-columns: 1fr 1fr; /* dwa przyciski; zmień wg potrzeb */
  gap: var(--dock-gap);
  align-items: center;
}

/* Styl przycisków */
.cta-dock .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 44px;
  padding: 0 16px;
  font-weight: 600;
  font-size: 16px;
  border-radius: 999px;
  border: 1px solid #0B1F2A;
  color: #fff;
  background: #0B1F2A;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}

/* Inwersja po hoverze (brand #00a9e0) */
.cta-dock .btn:hover,
.cta-dock .btn:focus-visible {
  background: #00a9e0;
  color: #0B1F2A;
  border-color: #00a9e0;
  transform: translateY(-1px);
}

/* Wersja "ghost" */
.cta-dock .btn--ghost {
  background: transparent;
  color: #0B1F2A;
}
.cta-dock .btn--ghost:hover,
.cta-dock .btn--ghost:focus-visible {
  background: #00a9e0;
  color: #0B1F2A;
  border-color: #00a9e0;
}

/* Pokaż pasek tylko na mobile i odsuń treść do góry */
@media (max-width: 768px) {
  .cta-dock { display: block; }
  body {
    padding-bottom: calc(var(--dock-h) + env(safe-area-inset-bottom));
  }
}

/* Zabezpieczenie przed przykryciem przez inne sticky elementy */
.cookie-banner, .sticky-consent, .wp-block-cover.is-position-bottom-center {
  z-index: 9998; /* mniej niż .cta-dock */
}

/* iOS – płynniejsze przewijanie */
html, body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}