/* ============================================================
   Contact Form 7 — styled to match the brand, loaded after CF7 core.
   ============================================================ */
.wpcf7-form { width: 100%; }
.drsf-cf7-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.drsf-cf7-grid .drsf-cf7-full { grid-column: 1 / -1; }

.wpcf7-form label { display: block; font-weight: 600; font-size: 0.9rem; margin-bottom: 6px; color: var(--drsf-green); }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  font: inherit;
  color: var(--drsf-text);
  background: #fff;
  border: 1.5px solid var(--drsf-line);
  border-radius: var(--drsf-radius-sm);
  padding: 13px 16px;
  transition: border-color 0.2s var(--drsf-ease), box-shadow 0.2s var(--drsf-ease);
}
.wpcf7-form textarea { min-height: 150px; resize: vertical; }
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--drsf-green);
  box-shadow: 0 0 0 3px rgba(22,62,52,0.10);
}
.wpcf7-form .wpcf7-submit {
  font: inherit; font-weight: 600;
  background: var(--drsf-green); color: #fff;
  border: 0; border-radius: var(--drsf-radius-pill);
  padding: 14px 32px; cursor: pointer;
  transition: transform 0.25s var(--drsf-ease), background 0.25s var(--drsf-ease);
}
.wpcf7-form .wpcf7-submit:hover { background: var(--drsf-green-deep); transform: translateY(-2px); }

.wpcf7-form .wpcf7-not-valid-tip { color: #c0392b; font-size: 0.82rem; }
.wpcf7-form .wpcf7-response-output {
  grid-column: 1 / -1;
  border-radius: var(--drsf-radius-sm);
  margin: 8px 0 0; padding: 12px 16px;
}

@media (max-width: 560px) {
  .drsf-cf7-grid { grid-template-columns: 1fr; }
}
