html { scroll-behavior: smooth; }

/* ===== LEAFLET — fix Tailwind preflight img reset ===== */
.leaflet-container img {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  height: auto;
  display: inline;
}
.leaflet-container { font-family: 'DM Sans', sans-serif; font-size: 12px; }

.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.faq-content.open { max-height: 300px; }
.faq-chevron { transition: transform 0.3s ease; }
.faq-chevron.open { transform: rotate(180deg); }

.counter { transition: opacity 0.3s; }

.tech-badge {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 14px 10px; border-radius: 10px;
  border: 0.5px solid var(--tw-border-opacity, #e5e7eb);
  background: white; min-width: 80px;
  transition: border-color 0.2s, transform 0.2s;
}
.tech-badge:hover { border-color: #6b9e89; transform: translateY(-2px); }
.tech-badge span { font-size: 10px; font-weight: 500; color: #4a5568; text-align: center; line-height: 1.3; }

.nav-scrolled { box-shadow: 0 1px 12px rgba(28,46,74,0.08); }

.logo-svg {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}

/* ===== CONTACT FORM — dark navy override ===== */
#contact .form-wrapper { text-align: left; }
#contact .form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
#contact .form-column { min-width: 0; }
#contact .form-field { margin-bottom: 1rem; }
#contact .form-field label {
  display: block; font-size: 0.75rem; font-weight: 300;
  margin-bottom: 6px; color: rgba(255,255,255,0.5);
}
#contact .form-field label .required { color: #8ab8a4; margin-left: 2px; }
#contact .form-field input,
#contact .form-field textarea {
  width: 100%; border-radius: 4px; padding: 12px 16px;
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; font-size: 0.875rem; font-weight: 300;
  font-family: inherit; outline: none; transition: border-color 0.2s;
  resize: none;
}
#contact .form-field input::placeholder,
#contact .form-field textarea::placeholder { color: rgba(255,255,255,0.25); }
#contact .form-field input:focus,
#contact .form-field textarea:focus { border-color: rgba(138,184,164,0.5); }
#contact .form-field .form-errors, #contact .form-field .form-error { color: #fca5a5; font-size: 0.75rem; margin-top: 4px; }
#contact .buttons { margin-top: 0.5rem; }
#contact .buttons .button {
  display: block; width: 100%; background: #6b9e89; color: #fff;
  font-weight: 500; font-size: 0.875rem; padding: 16px 24px;
  border-radius: 4px; border: none; cursor: pointer;
  font-family: inherit; transition: background 0.2s;
}
#contact .buttons .button:hover { background: #8ab8a4; }
#contact .notices {
  margin-top: 1rem; padding: 12px 16px; border-radius: 4px; font-size: 0.875rem;
}
#contact .notices.green { background: rgba(74,222,128,0.1); color: #86efac; }
#contact .notices.red { background: rgba(248,113,113,0.1); color: #fca5a5; }

/* ===== RECAPTCHA — ukryj odznakę (disclaimer dodany przy przycisku) ===== */
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ===== WHATSAPP FLOATING BUTTON ===== */
.whatsapp-fab {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; box-shadow: 0 4px 16px rgba(37,211,102,0.35);
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: transform 0.2s, box-shadow 0.2s;
}
.whatsapp-fab:hover { transform: scale(1.08); box-shadow: 0 6px 20px rgba(37,211,102,0.5); }
.whatsapp-fab svg { width: 28px; height: 28px; fill: #fff; }
