/* ====== CONTENEDOR / TITULOS ====== */
.lrvcf{max-width:1100px !important; margin:0 auto !important; padding:8px 10px 24px !important; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;}
.lrvcf-title{font-size:38px !important; font-weight:800 !important; margin:0 0 6px !important;}
.lrvcf-subtitle{font-size:26px !important; font-weight:700 !important; margin:0 0 12px !important;}
.lrvcf-section{font-size:20px !important; font-weight:700 !important; margin:22px 0 10px !important;}
.lrvcf-note{display:block !important; margin-top:10px !important; color:#5b6770 !important;}

/* ====== GRID RESPONSIVE ======
   auto-fit con minmax hace 1, 2 o 3 columnas según ancho.
   Ajusta el 280px si quieres columnas más angostas/anchas. */
.lrvcf-grid{display:grid !important; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)) !important; gap:16px !important; width:100% !important;}
.lrvcf-grid-2{display:grid !important; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)) !important; gap:16px !important;}
.lrvcf-grid-1{display:grid !important; grid-template-columns:1fr !important; gap:16px !important;}
.lrvcf-row{width:100% !important; display:block !important; margin:10px 0 !important;}

/* ====== CAMPOS ====== */
.lrvcf-field{display:block !important; width:100% !important;}
.lrvcf-label{display:block !important; font-weight:700 !important; margin-bottom:8px !important;}

.lrvcf input[type="text"],
.lrvcf input[type="email"],
.lrvcf input[type="tel"],
.lrvcf input[type="date"],
.lrvcf textarea,
.lrvcf select,
.lrvcf .wpcf7-form-control{
  width:100% !important; max-width:100% !important; box-sizing:border-box !important;
  padding:14px 16px !important; border:1px solid #cfd6dd !important; border-radius:10px !important;
  background:#fff !important; font-size:16px !important; line-height:1.25 !important; outline:none !important;
}
.lrvcf textarea{min-height:160px !important; resize:vertical !important;}

/* ====== RADIOS ====== */
.lrvcf-radio-wrap,
.lrvcf .wpcf7-radio{display:flex !important; flex-wrap:wrap !important; gap:16px !important;}
.lrvcf .wpcf7-radio .wpcf7-list-item{display:inline-flex !important; align-items:center !important; margin:0 16px 8px 0 !important;}
.lrvcf .wpcf7-radio input[type="radio"]{width:18px !important; height:18px !important; margin:0 !important;}
.lrvcf .wpcf7-radio label{display:inline-flex !important; align-items:center !important; gap:8px !important; font-weight:600 !important;}

/* ====== ACEPTACIÓN ====== */
.lrvcf-accept{display:block !important; padding:10px 12px !important; background:#f6f9fc !important; border:1px solid #e3e9ef !important; border-radius:10px !important; margin:8px 0 2px !important;}
.lrvcf-accept input[type="checkbox"]{width:18px !important; height:18px !important; margin:0 8px 0 0 !important;}
.lrvcf-accept label{display:inline-flex !important; align-items:flex-start !important; gap:8px !important;}

/* ====== BOTON ====== */
.lrvcf .wpcf7-submit{
  width:100% !important; padding:14px 18px !important; font-size:18px !important; font-weight:800 !important;
  color:#fff !important; background:#2f80ed !important; border:0 !important; border-radius:10px !important; cursor:pointer !important;
}
.lrvcf .wpcf7-spinner{margin-left:10px !important;}

/* ====== MENSAJES DE ERROR / EXITO ====== */
.lrvcf .wpcf7-not-valid-tip{color:#d63638 !important; font-size:13px !important; margin-top:6px !important;}
.lrvcf .wpcf7-response-output{border-radius:10px !important;}

/* ====== “ANTI-DESBORDES” CONTRA EL THEME ====== */
.lrvcf *{max-width:100% !important;}
.lrvcf input, .lrvcf textarea, .lrvcf select{box-shadow:none !important;}
.lrvcf p{margin:0 0 10px !important;}

/* Mensaje de respuesta CF7 en negro */
.lrvcf .wpcf7-response-output,
div.wpcf7 .wpcf7-response-output{
  background:#000 !important;
  color:#fff !important;
  border:1px solid #000 !important;
  border-radius:10px !important;
  padding:12px 14px !important;
}

/* Fuerza el mismo estilo en todos los estados del formulario */
div.wpcf7.sent .wpcf7-response-output,
div.wpcf7.failed .wpcf7-response-output,
div.wpcf7.invalid .wpcf7-response-output,
div.wpcf7.spam .wpcf7-response-output,
div.wpcf7.aborted .wpcf7-response-output{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
}