/* ============================================================
   KONTAKT — kontakt.html : złote kafle z danymi, uniesiony
   panel formularza (łuk, jak WWR), mapa oprawiona w łuk.
   (wyłącznie dla tej podstrony — osobny plik)
   ============================================================ */

/* --- Złote kafle z danymi kontaktowymi --- */
.contact-tiles{
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;
  margin-bottom: clamp(28px,4vw,40px);
}
.contact-tile{
  display: flex; flex-direction: column; gap: 12px;
  background-color: var(--surface);
  background-image: linear-gradient(180deg,#FFFFFF 0%,#FBF4EA 100%);
  border: 1px solid rgba(196,154,74,.22);
  border-top: 3px solid var(--gold);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  padding: 26px 24px;
  box-shadow: 0 26px 50px -34px rgba(94,45,64,.30);
  transition: transform .35s ease, box-shadow .35s ease;
}
.contact-tile:hover{ transform: translateY(-5px); box-shadow: 0 32px 62px -30px rgba(94,45,64,.42); }
.contact-ico{
  display: inline-flex; width: 50px; height: 50px;
  align-items: center; justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg,#e6c87e,#c79a3f);
  color: #4a2233; flex-shrink: 0;
  box-shadow: 0 10px 22px -8px rgba(199,154,63,.7);
}
.contact-ico svg{ width: 22px; height: 22px; }
.contact-tile-label{
  font-family: var(--font-display); font-size: 1.12rem; color: var(--ink);
  margin: 0; line-height: 1.2;
}
.contact-tile-val{
  font-size: .95rem; color: var(--ink-soft); line-height: 1.55; margin: 0;
  overflow-wrap: anywhere;
}
.contact-tile-val a{ color: var(--ink-soft); transition: color .2s var(--ease); }
.contact-tile-val a:hover{ color: var(--brand); }

/* --- Drobne dane formalne (NIP, konto) pod kaflami --- */
.contact-fine{
  text-align: center; margin: 0 auto clamp(40px,6vw,64px);
  max-width: 760px; font-size: .9rem; color: var(--ink-soft);
  line-height: 1.7;
}
.contact-fine strong{ color: var(--ink); font-weight: 600; }
.contact-fine .dot{ color: var(--gold-deep); margin: 0 10px; }

/* --- Uniesiony panel formularza (łuk u góry) --- */
.contact-panel{
  max-width: 760px; margin-inline: auto;
  background-color: var(--surface);
  background-image: linear-gradient(180deg,#FFFFFF 0%,#FBF4EA 100%);
  border: 1px solid rgba(196,154,74,.22);
  border-radius: 110px 110px var(--radius-md) var(--radius-md);
  padding: clamp(38px,5vw,54px) clamp(26px,4vw,48px) clamp(30px,4vw,42px);
  box-shadow: 0 34px 74px -38px rgba(94,45,64,.5);
}
.contact-panel .section-head{ margin-bottom: 26px; }

/* dwukolumnowy układ krótkich pól wewnątrz panelu */
.contact-form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.contact-form-grid .full{ grid-column: 1 / -1; }

/* --- Mapa oprawiona w łuk --- */
.contact-map-figure{
  margin: 0;
  border-radius: 120px 120px var(--radius-md) var(--radius-md);
  overflow: hidden;
  border: 1px solid rgba(196,154,74,.22);
  box-shadow: 0 40px 80px -40px rgba(94,45,64,.55);
}
.contact-map-figure iframe{
  display: block; width: 100%; height: 460px; border: 0;
  filter: saturate(.9) contrast(1.03);
}

/* --- Responsywność --- */
@media (max-width: 1024px){
  .contact-tiles{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 680px){
  .contact-tiles{ grid-template-columns: 1fr; }
  .contact-form-grid{ grid-template-columns: 1fr; }
  .contact-panel{ border-radius: 70px 70px var(--radius-md) var(--radius-md); }
  .contact-map-figure{ border-radius: 80px 80px var(--radius-md) var(--radius-md); }
  .contact-map-figure iframe{ height: 340px; }
}

/* --- Dokument „w przygotowaniu" (np. Regulamin) --- */
.document-card.is-soon{ opacity: .6; cursor: default; }
.document-card.is-soon:hover{ transform: none; box-shadow: none; }
.document-card.is-soon .link-arrow.soon{ color: var(--ink-soft); font-style: italic; }
