/* ==========================================================
   REPARA TU TV — REFUERZOS ANTI-CONFLICTO CON EL TEMA
   Se carga AL FINAL (después del tema y de Elementor).
   Blinda box-sizing, padding y anchos de nuestros componentes
   para que temas/plugins no los reseteen sin que se note.
   ========================================================== */

/* Box-sizing correcto SIEMPRE dentro de nuestras secciones */
:where(
  .site-header, .hero, .trust-strip, .section,
  .why-card, .catalog-panel, .validation-shell,
  .contact-panel, .site-footer, .service-ticket
) ,
:where(
  .site-header, .hero, .trust-strip, .section,
  .why-card, .catalog-panel, .validation-shell,
  .contact-panel, .site-footer, .service-ticket
) * {
  box-sizing: border-box !important;
}

/* Formulario de validación: padding y ancho de campos */
.validation-copy { padding: 56px 48px !important; }
.validation-form-wrap { padding: 56px 48px !important; }
.validation-form input,
.validation-form select,
.validation-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 991.98px) {
  .validation-copy, .validation-form-wrap { padding: 40px 28px !important; }
}

/* Paneles que usan el mismo patrón de tarjeta — mismo blindaje preventivo */
.why-card { padding: 60px 48px !important; }
.contact-panel { padding: 56px !important; }
.catalog-panel .product-grid { padding: 24px !important; }
.catalog-filterbar { padding: 20px 24px !important; }
.catalog-foot { padding: 20px 24px !important; }
.part-card { padding: 18px !important; }
.service-card { padding: 32px 28px !important; }
@media (max-width: 767.98px) {
  .why-card { padding: 40px 24px !important; }
  .contact-panel { padding: 36px 22px !important; }
}

/* Botones: aseguramos que el fondo/color de marca siempre gane */
.rtv-btn--primary { background: var(--rtv-blue) !important; color: #fff !important; border-color: transparent !important; }
.rtv-btn--primary:hover { background: var(--rtv-blue-deep) !important; }
.rtv-btn--outline { background: #fff !important; color: var(--rtv-navy) !important; }
.rtv-btn--whatsapp { background: var(--rtv-whatsapp) !important; color: #fff !important; }
.rtv-btn--whatsapp:hover { background: var(--rtv-whatsapp-deep) !important; }

/* Verticalidad del panel de validación (texto centrado, no pegado arriba) */
.validation-copy { display: flex !important; flex-direction: column !important; justify-content: center !important; }

/* Sombra y bordes redondeados del formulario, por si el tema los recorta */
.validation-shell { border-radius: 24px !important; overflow: hidden !important; box-shadow: 0 18px 45px rgba(11, 31, 58, .12) !important; }
