/*
 * CF7 — jednolity wygląd pól i kart (kontakt, wycena, kalkulator, single gotowe projekty).
 * Zależność: slomianydom-style + sd-design-tokens. Nie obejmuje newslettera w stopce (.sd-footer-newsletter-*).
 */
#hp-kontakt .col-md-7 .wpcf7,
#wycena-form .wpcf7,
#hp-kalkulator .wpcf7,
.sd-praca-cf7-modal .wpcf7,
.sd-gp-form-wrap .wpcf7 {
  background: var(--sd-color-surface);
  border: 1px solid rgba(19, 29, 21, 0.08);
  border-radius: var(--sd-radius, 0.85rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: var(--sd-shadow-soft);
}

/* Formularz osadzony w karcie .sd-gp-form-wrap — jedna obwódka (bez podwójnego „pudełka”) */
.sd-gp-form-wrap .wpcf7 {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

form.wpcf7-form.sd-cf7 .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: var(--sd-space-sm, 0.875rem);
}

form.wpcf7-form.sd-cf7 input[type="text"],
form.wpcf7-form.sd-cf7 input[type="email"],
form.wpcf7-form.sd-cf7 input[type="tel"],
form.wpcf7-form.sd-cf7 input[type="url"],
form.wpcf7-form.sd-cf7 input[type="number"],
form.wpcf7-form.sd-cf7 input[type="date"],
form.wpcf7-form.sd-cf7 select,
form.wpcf7-form.sd-cf7 textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid var(--sd-color-border, #aeb1a4);
  border-radius: 0;
  background: transparent;
  font-size: var(--sd-text-base, 1rem);
  line-height: 1.45;
  padding: 0.5rem 0;
  color: var(--sd-color-text, #131d15);
}

form.wpcf7-form.sd-cf7 textarea {
  min-height: 8rem;
  resize: vertical;
  border: 1px solid rgba(19, 29, 21, 0.12);
  border-radius: var(--sd-radius, 0.5rem);
  padding: 0.65rem 0.75rem;
}

form.wpcf7-form.sd-cf7 input:focus,
form.wpcf7-form.sd-cf7 select:focus,
form.wpcf7-form.sd-cf7 textarea:focus {
  outline: 2px solid var(--sd-color-green-dark, #2a7829);
  outline-offset: 2px;
  border-bottom-color: var(--sd-color-green, #2f7c29);
}

form.wpcf7-form.sd-cf7 textarea:focus {
  border-color: var(--sd-color-green-dark, #2a7829);
}

form.wpcf7-form.sd-cf7 input[type="file"] {
  font-size: var(--sd-text-sm, 0.875rem);
  max-width: 100%;
}

form.wpcf7-form.sd-cf7 .wpcf7-list-item label,
form.wpcf7-form.sd-cf7 .wpcf7-list-item {
  font-size: var(--sd-text-sm, 0.875rem);
  line-height: 1.45;
  color: var(--sd-color-ink-muted, #667a89);
}

form.wpcf7-form.sd-cf7 input.wpcf7-form-control.wpcf7-submit,
form.wpcf7-form.sd-cf7 input[type="submit"].wpcf7-submit {
  margin-top: var(--sd-space-xs, 0.625rem);
  min-height: 44px;
  padding: 0.65rem 1.75rem;
  width: auto;
  border: 0;
  border-radius: var(--sd-radius-btn, 999px);
  background: var(--sd-color-green-dark, #2a7829);
  color: var(--sd-color-white, #fff);
  font-size: var(--sd-text-base, 1rem);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

form.wpcf7-form.sd-cf7 input.wpcf7-form-control.wpcf7-submit:hover,
form.wpcf7-form.sd-cf7 input[type="submit"].wpcf7-submit:hover {
  background: var(--sd-color-green-hover, #1f5e1f);
}

form.wpcf7-form.sd-cf7 input.wpcf7-form-control.wpcf7-submit:focus-visible {
  outline: 2px solid var(--sd-color-green-dark, #2a7829);
  outline-offset: 3px;
}

form.wpcf7-form.sd-cf7 .wpcf7-response-output {
  margin-top: var(--sd-space-sm, 0.875rem);
  font-size: var(--sd-text-sm, 0.875rem);
  border-radius: var(--sd-radius, 0.5rem);
}

@media (max-width: 767.98px) {
  #hp-kontakt .col-md-7 .wpcf7,
  #wycena-form .wpcf7,
  #hp-kalkulator .wpcf7,
  .sd-praca-cf7-modal .wpcf7 {
    padding: 1.15rem;
  }
}
