/* ===== Dark theme for CF7 forms ===== */
.wpcf7 form.frw-dark, .frw-dark { color:#eaeaea; }

/* Card-style container (optional) */
.frw-card { background:#0b0b0b; border:1px solid #222; border-radius:16px; padding:24px; box-shadow:0 8px 32px rgba(0,0,0,.45); }

/* Labels & spacing */
.frw-dark label { display:block; margin:0 0 .5rem; font-weight:600; color:#f5f5f5; }
.frw-dark p { margin:0 0 16px; }
.frw-dark .wpcf7-form-control-wrap { display:block; }

/* Inputs, selects, textareas */
.frw-dark input[type="text"],
.frw-dark input[type="email"],
.frw-dark input[type="tel"],
.frw-dark input[type="url"],
.frw-dark input[type="number"],
.frw-dark input[type="date"],
.frw-dark select,
.frw-dark textarea {
  width:100%; box-sizing:border-box;
  background:#0e0e0e; color:#fff;
  border:1px solid #333; border-radius:10px;
  padding:12px 14px;
  outline:none; transition:border-color .2s, box-shadow .2s;
}

/* Placeholders */
.frw-dark ::placeholder { color:#9aa0a6; }

/* Focus state */
.frw-dark input:focus,
.frw-dark textarea:focus,
.frw-dark select:focus {
  border-color:#5b9dff;
  box-shadow:0 0 0 3px rgba(91,157,255,.25);
}

/* Select arrow cleanup (optional) */
.frw-dark select { -webkit-appearance:none; appearance:none; background-color:#0e0e0e; }

/* Checkbox/Radio */
.frw-dark input[type="checkbox"],
.frw-dark input[type="radio"] { accent-color:#5b9dff; }

/* Submit button */
.frw-dark input[type="submit"],
.frw-dark button.wpcf7-submit {
  background:#5b9dff; color:#000;
  border:none; border-radius:10px;
  padding:12px 18px; font-weight:700;
  text-transform:uppercase; cursor:pointer;
  transition:transform .02s ease, filter .2s ease;
}
.frw-dark input[type="submit"]:hover { filter:brightness(1.1); }
.frw-dark input[type="submit"]:active { transform:translateY(1px); }

/* Validation + response messages */
.frw-dark .wpcf7-not-valid-tip { color:#ff8a80; font-size:.9rem; margin-top:.25rem; }
.frw-dark .wpcf7-response-output { border:1px solid #333; background:#111; color:#eaeaea; }
.wpcf7 form.sent .wpcf7-response-output { border-color:#2e7d32; background:#0e1a0e; color:#b2fab4; }
.wpcf7 form.invalid .wpcf7-response-output { border-color:#b00020; background:#1a0e0e; color:#ff8a80; }

/* Autofill fix on dark backgrounds */
.frw-dark input:-webkit-autofill,
.frw-dark textarea:-webkit-autofill,
.frw-dark select:-webkit-autofill {
  -webkit-box-shadow:0 0 0 1000px #0e0e0e inset !important;
  -webkit-text-fill-color:#fff !important;
}

/* Links inside the form */
.frw-dark a { color:#9ec3ff; }
.frw-dark a:hover { color:#c8dbff; }
/* Buttons + attribute list */
.frw-attributes h3 { margin: 1rem 0 .5rem; color:#f5f5f5; }
.frw-attributes ul { list-style:none; padding:0; margin:0 0 1rem; }
.frw-attributes li { margin:0 0 .25rem; color:#eaeaea; }

.button.frw-request, .frw-request.button {
  background:#5b9dff; color:#000;
  border:none; border-radius:10px;
  padding:12px 18px; font-weight:700; text-transform:uppercase;
}
.frw-cta, .frw-cta-grid { margin-top:1rem; }
/* Hide any Woo/Elementor ATC remnants on single product */
.single-product form.cart,
.single-product .single_add_to_cart_button,
.single-product .elementor-widget-woocommerce-product-add-to-cart {
  display: none !important;
}

/* Style our CTA + attributes */
.frw-request {
  display:inline-block; background:#5b9dff; color:#000;
  border:none; border-radius:10px; padding:12px 18px;
  font-weight:700; text-transform:uppercase; text-decoration:none;
}
.frw-cta, .frw-cta-grid { margin-top:1rem; }
.frw-attributes h3 { margin:1rem 0 .5rem; color:#f5f5f5; }
.frw-attributes ul { list-style:none; padding:0; margin:0 0 1rem; }
.frw-attributes li { margin:0 0 .25rem; color:#eaeaea; }
/* Hide any stubborn Add-to-Cart UI if a builder injects it */
.single-product form.cart,
.single-product .single_add_to_cart_button,
.single-product .elementor-widget-woocommerce-product-add-to-cart { display:none !important; }

/* Style our CTA */
.frw-request{
  display:inline-block; background:#5b9dff; color:#000;
  border:none; border-radius:10px; padding:12px 18px;
  font-weight:700; text-transform:uppercase; text-decoration:none;
}
.frw-cta, .frw-cta-grid{ margin-top:1rem; }
