/* ============================================================
   KONTAKT — template-contact.php (1:1 mockup kontakt.html)
   ============================================================ */
/* breakout z kontenera Astra → content w .fws-wrap */
.page-template-template-contact .entry-header,
.page-template-template-contact .ast-single-entry-banner,
.page-template-template-contact .entry-title,
.page-template-template-contact .page-title{ display:none !important; }
.page-template-template-contact #content > .ast-container,
.page-template-template-contact #primary,
.page-template-template-contact #primary > .ast-article-single,
.page-template-template-contact .entry-content,
.page-template-template-contact article.page{
  max-width:100% !important; width:100% !important; margin:0 !important; padding:0 !important; border:0 !important; display:block !important;
}

.fws-contact-page{ font-family:var(--body); color:var(--ink); }
.fws-contact-page .crumb{ font-family:var(--mono); font-size:12px; color:#7c7f84; padding:24px 0 0; }
.fws-contact-page .crumb a:hover{ color:var(--signal); }
.fws-contact-page .crumb span{ color:#bdb8ad; margin:0 7px; }
.fws-contact-page .crumb .cur{ color:var(--ink); }

.fws-contact-page .contact{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; padding-block:24px 80px; align-items:start; }
.fws-contact-page .ctitle h1{ font-family:var(--display); font-weight:800; font-size:clamp(28px,3.6vw,44px); letter-spacing:-.015em; line-height:1.04; color:var(--ink); margin:0; }
.fws-contact-page .ctitle p{ color:#55585d; font-size:15.5px; margin:10px 0 28px; max-width:48ch; }

/* pola (lokalne — shop.css nie ładuje się na kontakcie) */
.fws-contact-page .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.fws-contact-page .field{ margin-bottom:14px; }
.fws-contact-page .field.full{ grid-column:1 / -1; }
.fws-contact-page .field label{ display:block; font-size:12px; font-weight:600; color:#55585d; margin-bottom:6px; }
.fws-contact-page .field input,
.fws-contact-page .field select,
.fws-contact-page .field textarea{ width:100%; font-family:var(--body); font-size:14px; border:1px solid #d8d2c7; border-radius:var(--r); padding:11px 12px; background:#fff; color:var(--ink); outline:none; transition:border-color .15s; }
.fws-contact-page .field textarea{ min-height:140px; resize:vertical; }
/* Select: własna strzałka + zapas po prawej, żeby długie tematy nie były ucinane natywną strzałką. */
/* Stała wysokość (jak inputy) + zero pionowego paddingu → tekst centrowany line-height,
   descender ("ę","ą") ma zapas i nie jest ucinany w Safari (ciaśniejszy render natywnego select). */
.fws-contact-page .field select{ -webkit-appearance:none; -moz-appearance:none; appearance:none; height:46px; line-height:46px; padding-top:0; padding-bottom:0; padding-right:40px; text-overflow:ellipsis; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2355585d' stroke-width='1.6'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.fws-contact-page .field input:focus,
.fws-contact-page .field select:focus,
.fws-contact-page .field textarea:focus{ border-color:var(--signal); }
.fws-contact-page .req{ color:#d22; font-weight:700; }

/* zgoda */
.fws-contact-page .consent{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#55585d; margin:4px 0 18px; line-height:1.45; }
.fws-contact-page .consent input{ accent-color:var(--signal); margin-top:3px; width:15px; height:15px; flex:none; }
.fws-contact-page .consent a{ color:var(--signal); text-decoration:underline; }

/* przycisk */
.fws-contact-page .btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--display); font-weight:700; font-size:14px; background:var(--signal); color:#fff; padding:13px 22px; border-radius:var(--r); border:none; cursor:pointer; transition:background .18s; }
.fws-contact-page .btn:hover{ background:var(--signal-deep); }
.fws-contact-page .btn .arr{ transition:transform .18s; }
.fws-contact-page .btn:hover .arr{ transform:translateX(3px); }

/* honeypot — niewidoczne dla ludzi, dostępne dla botów */
.fws-contact-page .fws-hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }

/* notice po wysłaniu */
.fws-contact-page .fws-notice{ border-radius:var(--r); padding:14px 16px; font-size:14px; margin:0 0 20px; }
.fws-contact-page .fws-notice-ok{ background:#e6f1ea; color:var(--ok); border:1px solid #bfe0cc; }
.fws-contact-page .fws-notice-err{ background:#fbeae6; color:#c0392b; border:1px solid #f0c8bf; }

/* prawa kolumna — boksy kontaktowe */
.fws-contact-page .cside{ display:grid; gap:14px; }
.fws-contact-page .cbox{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); padding:22px; }
.fws-contact-page .cbox h3{ font-family:var(--display); font-weight:700; font-size:16px; margin:0 0 14px; color:var(--ink); }
.fws-contact-page .crow{ display:flex; gap:12px; align-items:flex-start; padding:9px 0; font-size:14px; color:#3a3d42; }
.fws-contact-page .crow svg{ width:18px; height:18px; color:var(--signal); flex:none; margin-top:2px; }
.fws-contact-page .crow .l{ font-family:var(--mono); font-size:11px; color:#7a7e83; letter-spacing:.06em; text-transform:uppercase; display:block; margin-bottom:1px; }
.fws-contact-page .cmap{ height:200px; border:1px solid #e2ddd3; border-radius:var(--r); background:var(--graphite); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.fws-contact-page .cmap .thread{ position:absolute; inset:0; background-image:repeating-linear-gradient(66deg,var(--steel-line) 0 2px,transparent 2px 13px); opacity:.2; }
.fws-contact-page .cmap .pin{ position:relative; font-family:var(--mono); font-size:12px; color:var(--zinc); display:flex; flex-direction:column; align-items:center; gap:8px; }
.fws-contact-page .cmap .dot{ width:14px; height:14px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 6px rgba(226,84,28,.25); }
.fws-contact-page .hours{ display:flex; justify-content:space-between; font-size:14px; padding:6px 0; color:#3a3d42; }
.fws-contact-page .hours span:last-child{ font-family:var(--mono); color:#6b6f74; }

@media(max-width:900px){
  .fws-contact-page .contact{ grid-template-columns:1fr; gap:32px; }
  .fws-contact-page .grid2{ grid-template-columns:1fr; }
}
