/*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      1.0
*/

@import url("../twentytwentyfive/style.css");


body,
body > div,
body > header,
body > .wp-site-blocks,
body > .wp-site-blocks > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.wp-site-blocks {
    gap: 0 !important;
}


/* ---- Contact Form 7 – soft reset + theme inheritance ---- */
.wpcf7 form {
  display: grid;
  gap: clamp(12px, 2.2vw, 20px);
  color: inherit;
}

/* Labels */
.wpcf7 form p,
.wpcf7 form label {
  margin: 0;
  font: inherit;
  color: var(--wp--preset--color--foreground, currentColor);
}

/* Input fields */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  color: var(--wp--preset--color--accent-3, currentColor);
  background: transparent;
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: 8px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

/* Focus & hover states */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--wp--preset--color--foreground, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}

/* Placeholder styling */
.wpcf7 ::placeholder {
  color: color-mix(in srgb, currentColor 55%, transparent);
  opacity: 1;
}

/* Submit button */
.wpcf7 input[type="submit"] {
  font: inherit;
  color: var(--wp--preset--color--background, #000);
  background: var(--wp--preset--color--accent-3, #fff);
  border: 1px solid var(--wp--preset--color--accent-3, #fff);
  border-radius: 999px;
  padding: 12px 20px;
  cursor: pointer;
}
.wpcf7 input[type="submit"]:hover {
  filter: brightness(1.1);
}

/* Error & success messages */
.wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: .92em;
  color: #ff6b6b;                 /* readable on dark background */
}
.wpcf7 form .wpcf7-response-output {
  margin: 8px 0 0 0;
  border: 1px solid transparent;
  padding: 10px 12px;
  border-radius: 8px;
}
.wpcf7 form.sent .wpcf7-response-output {
  color: #18c08f;
  border-color: color-mix(in srgb, #18c08f 40%, transparent);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  color: #ff6b6b;
  border-color: color-mix(in srgb, #ff6b6b 40%, transparent);
}

/* Spinner styling */
.wpcf7 .wpcf7-spinner {
  filter: invert(1); /* visible on dark background */
}

/* Two-column grid layout (optional for desktop) */
@media (min-width: 800px) {
  .wpcf7.cf7-grid {
    grid-template-columns: 1fr 1fr;
    gap: clamp(12px, 2vw, 24px);
  }
  .wpcf7.cf7-grid .full {
    grid-column: 1 / -1; /* fields that should span the full width */
  }
}
