/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 06 2025 | 11:26:52 */
/* ===== EP – Formularz (final) ===== */

/* Kontener + cień + zewnętrzny oddech */
.ep-contact{
  font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.35)) drop-shadow(0 2px 4px rgba(0,0,0,.20));
  padding:8px; /* odstęp modułu od otoczenia */
}

/* Karta (większy oddech wewnątrz) */
.ep-contact .card{
  background:#3b3d40; color:#ECECEC;
  border-radius:32px;
  padding:24px 28px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

/* CF7 bywa dodaje <p> – w siatce niech „znikają” */
.ep-contact .wpcf7-form .grid > p{
  display:contents !important;
  margin:0 !important; padding:0 !important;
}
/* <p> poza siatką – minimalny margines */
.ep-contact .card p{ margin:6px 0 !important; padding:0 !important; }
/* ukryj br dodawane przez CF7 */
.ep-contact .card br{ display:none; }

/* Siatka i odstępy */
.ep-contact .grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 12px; /* wiersz / kolumna */
}
.ep-contact .field{ display:flex; flex-direction:column; gap:6px; }

/* Etykiety */
.ep-contact label{
  margin:0;
  font-weight:800; letter-spacing:.02em;
  font-size:.92rem; text-transform:uppercase;
  color:#fff; opacity:.95;
}

/* Pola */
.ep-contact input,
.ep-contact select,
.ep-contact textarea{
  width:100%;
  background:#4a4d51; color:#E9E9EA;
  border:none; outline:none;
  border-radius:22px;
  padding:12px 16px;
  font-size:1rem;
}
.ep-contact ::placeholder{ color:#BFC4CB; }

/* Opis – większe pole */
.ep-contact textarea{
  border-radius:18px;
  min-height:140px;
  resize:vertical;
}

/* Focus – delikatny zielony ring */
.ep-contact input:focus,
.ep-contact select:focus,
.ep-contact textarea:focus{
  box-shadow:0 0 0 2px #89DE30 inset;
}

/* Select – niestandardowa strzałka */
.ep-contact select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:44px;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23BFC4CB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');
  background-repeat:no-repeat;
  background-position:calc(100% - 16px) 50%;
  background-size:16px;
}

/* Ikona lokalizacji – więcej miejsca na tekst */
.ep-contact .ep-icon-location{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" fill="%23BFC4CB"><path d="M12 2c-3.87 0-7 3.13-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 11a4 4 0 110-8 4 4 0 010 8z"/></svg>');
  background-repeat:no-repeat;
  background-position:16px 50% !important;
  background-size:18px 18px !important;
  padding-left:56px !important;
}

/* Pełna szerokość: Adres, Opis, przycisk */
.ep-contact .field.full,
.ep-contact .submit{ grid-column:1 / -1 !important; }

/* Przycisk */
.ep-contact .submit{ margin-top:8px; }
.ep-contact .submit .wpcf7-submit{
  width:100%;
}

/* Komunikaty CF7 (spójne wizualnie) */
.ep-contact .wpcf7 form .wpcf7-response-output{
  margin:14px 0 0; border:0;
  background:#e9ffe9; color:#0a5c0a;
  padding:10px 12px; border-radius:12px;
}
.ep-contact .wpcf7-not-valid-tip{
  color:#ffdede; background:#7a1d1d;
  padding:6px 10px; border-radius:10px; margin-top:6px;
}

/* RWD – 1 kolumna na wąskich ekranach + mniejszy padding karty */
@media (max-width:680px){
  .ep-contact .grid{ grid-template-columns:1fr; gap:10px; }
  .ep-contact .card{ padding:18px 22px; }
  .ep-contact .ep-icon-location{ padding-left:52px !important; background-position:14px 50% !important; }
}
/* FORCE: Adres + Opis (+ przycisk) na pełną szerokość niezależnie od wrapperów */
.ep-contact .grid{
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  grid-auto-flow: row dense;                 /* lepsze układanie elementów */
}

/* Gdy wrapper ma klasę .full */
.ep-contact .field.full,
.ep-contact .submit{ grid-column: 1 / -1 !important; }

/* Gdy CF7 owija w <p> lub brak klasy .full – złap po ID/nazwie pola */
@supports (selector(:has(*))) {
  /* bezpośrednie .field w gridzie */
  .ep-contact .grid > .field:has(#ep-address),
  .ep-contact .grid > .field:has(#ep-msg),
  .ep-contact .grid > .field:has([name="your-address"]),
  .ep-contact .grid > .field:has([name="your-message"]),
  /* gdy CF7 doda <p> jako child grida */
  .ep-contact .grid > p:has(#ep-address),
  .ep-contact .grid > p:has(#ep-msg),
  .ep-contact .grid > p:has([name="your-address"]),
  .ep-contact .grid > p:has([name="your-message"]),
  /* wiersz z przyciskiem */
  .ep-contact .grid > *:has(.wpcf7-submit){
    grid-column: 1 / -1 !important;
  }
}

/* Dodatkowo – upewnij się, że same input/textarea rozciągają się do 100% */
.ep-contact #ep-address,
.ep-contact #ep-msg{ width:100% !important; display:block; }

/* Ukryj domyślny pasek CF7 pod formularzem – użyjemy własnego */
.wpcf7 form .wpcf7-response-output{ display:none !important; }

/* Pasek alertu wewnątrz karty (na górze formularza) */
.ep-contact .ep-alert{
  display:none;
  position:sticky; top:0; z-index:5;
  margin:0 0 12px; padding:12px 14px;
  border-radius:12px; text-align:center; font-weight:800; letter-spacing:.02em;
}
.ep-contact .ep-alert.show{ display:block; }
.ep-contact .ep-alert.success{ background:#e7f9d9; color:#205b00; box-shadow:inset 0 0 0 2px #89DE30; }
.ep-contact .ep-alert.error  { background:#ffe6e6; color:#7a1d1d; box-shadow:inset 0 0 0 2px #e83b3b; }
.ep-contact .ep-alert.warn   { background:#fff3d6; color:#6b4b00; box-shadow:inset 0 0 0 2px #f0ad4e; }

/* Tipy pod polami (błędy walidacji) */
.ep-contact .wpcf7-not-valid-tip{
  display:block !important;
  background:#7a1d1d; color:#ffdede;
  padding:6px 10px; border-radius:10px; margin-top:6px; font-size:.9rem;
}
.ep-contact .wpcf7-not-valid{ box-shadow:0 0 0 2px #e83b3b inset !important; }

/* --- Wariant alternatywny: pasek na samej górze strony --- */
.ep-topbar{ position:fixed; left:0; right:0; top:0; z-index:999999;
  display:none; padding:12px 16px; text-align:center; font-weight:800; }
.ep-topbar.show{ display:block; }
.ep-topbar.success{ background:#e7f9d9; color:#205b00; }
.ep-topbar.error  { background:#ffe6e6; color:#7a1d1d; }
.ep-topbar.warn   { background:#fff3d6; color:#6b4b00; }
body.has-ep-topbar{ padding-top:56px; } /* żeby header nie podskakiwał */
/* --- MOBILE: wszystko jedno pod drugim (hard force) --- */
@media (max-width:680px){
  /* 1 kolumna w siatce + pełna szerokość każdego dziecka */
  .ep-contact .grid{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* cokolwiek jest bezpośrednim dzieckiem grida — pełna szerokość */
  .ep-contact .grid > *{
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }
  /* CF7 często owija w <p> — rozciągnij je i nie psuj układu */
  .ep-contact .grid > p{
    display: contents !important;
  }
  /* Jeżeli pojawią się wewnętrzne kolumny (np. z Elementora) — „spłaszcz” */
  .ep-contact .grid > .elementor-column,
  .ep-contact .grid > .elementor-column-wrap,
  .ep-contact .grid > .elementor-widget-wrap{
    display: contents !important;
    width: 100% !important;
  }
  /* Każde pole i przycisk na 100% */
  .ep-contact .field,
  .ep-contact .submit,
  .ep-contact input,
  .ep-contact select,
  .ep-contact textarea,
  .ep-contact .wpcf7-submit{
    width: 100% !important;
  }
  /* Dodatkowe dostrojenie paddingów w karcie i ikony adresu */
  .ep-contact .card{ padding:18px 22px !important; }
  .ep-contact .ep-icon-location{
    padding-left:52px !important;
    background-position:14px 50% !important;
  }
}

