/* CERO47 · Identidad global exclusiva negro/blanco/gris.
 * Abarca la interfaz; nunca recolorea fotografías, logos ni iframes ajenos. */
:root { color-scheme:light!important; accent-color:#000!important; }
html body,html body * { accent-color:#000!important; }
html body ::selection{background:#111!important;color:#fff!important}
html body input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=range]),
html body textarea,
html body select,
html body .select2-container--default .select2-selection--single,
html body .woocommerce input.input-text,
html body .woocommerce form .form-row input.input-text,
html body .woocommerce form .form-row textarea{
 background-color:#fff!important;
 color:#111!important;
 caret-color:#111!important;
 border-color:#9a9a9a!important;
 -webkit-text-fill-color:#111!important;
}
html body input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,
html body input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus-visible,
html body textarea:focus,html body textarea:focus-visible,
html body select:focus,html body select:focus-visible,
html body .select2-container--focus .select2-selection,
html body .select2-container--open .select2-selection,
html body .woocommerce input.input-text:focus,
html body .woocommerce form .form-row.woocommerce-validated input.input-text:focus,
html body .woocommerce form .form-row.woocommerce-invalid input.input-text:focus{
 background-color:#fff!important;color:#111!important;
 border:1px solid #111!important;
 outline:2px solid #111!important;outline-offset:0!important;
 box-shadow:none!important;
 -webkit-box-shadow:none!important;
}
html body input:-webkit-autofill,
html body input:-webkit-autofill:hover,
html body input:-webkit-autofill:focus,
html body input:-webkit-autofill:active,
html body input:autofill,
html body textarea:-webkit-autofill,
html body textarea:-webkit-autofill:focus,
html body select:-webkit-autofill,
html body select:-webkit-autofill:focus,
html body .woocommerce input.input-text:-webkit-autofill,
html body .woocommerce input.input-text:-webkit-autofill:focus{
 background:#fff!important;background-color:#fff!important;
 -webkit-box-shadow:0 0 0 1000px #fff inset!important;
 box-shadow:0 0 0 1000px #fff inset!important;
 -webkit-text-fill-color:#111!important;
 caret-color:#111!important;
 /* Chrome's blue autofill layer is painted behind the text only. */
 -webkit-background-clip:text!important;
 background-clip:text!important;
 transition:background-color 100000s ease-out 0s!important;
}
html body input[type=checkbox],html body input[type=radio]{
 accent-color:#000!important;
}
html body input[type=checkbox]:checked,
html body input[type=radio]:checked{accent-color:#000!important}
html body .select2-container--default .select2-results__option--highlighted,
html body .select2-container--default .select2-results__option--highlighted[aria-selected],
html body .select2-container--default .select2-results__option[aria-selected=true],
html body .select2-container--default .select2-results__option[data-selected=true]{
 background:#111!important;color:#fff!important;
}
/* Avisos de error: conservar el mensaje, eliminar barras rojas o azules. */
html body .woocommerce-error,html body ul.woocommerce-error,
html body .woocommerce-NoticeGroup .woocommerce-error,
html body .woocommerce-message,html body .woocommerce-info,
html body .woocommerce-notices-wrapper .woocommerce-error,
html body .woocommerce-notices-wrapper .woocommerce-message,
html body .woocommerce-notices-wrapper .woocommerce-info,
html body .wc-block-components-notice-banner,
html body .wc-block-components-notice-banner.is-error,
html body .wc-block-components-notice-banner.is-info,
html body .wc-block-components-notice-banner.is-success,
html body .wc-block-components-validation-error,
html body .wc-block-components-checkout-step__description{
 background-color:#f2f2f2!important;
 border-color:#222!important;
 color:#111!important;
 box-shadow:none!important;
}
html body .woocommerce-error::before,
html body .woocommerce-info::before,
html body .woocommerce-message::before,
html body .wc-block-components-notice-banner svg,
html body .wc-block-components-notice-banner .wc-block-components-notice-banner__content svg{
 color:#111!important;fill:#111!important;stroke:#111!important;
}
html body .woocommerce-error a,
html body .woocommerce-message a,
html body .woocommerce-info a,
html body .wc-block-components-notice-banner a{color:#111!important;text-decoration:underline!important}
html body .woocommerce form .form-row.woocommerce-invalid label,
html body .woocommerce form .form-row.woocommerce-invalid .required,
html body .woocommerce form .form-row.woocommerce-invalid input.input-text{
 color:#111!important;border-color:#111!important;
}
html body button:focus-visible,
html body a:focus-visible{outline:2px solid #111!important;outline-offset:2px!important}
/* El marcado nativo de WooCommerce (números/fechas/estado de pedidos)
   no puede mostrar resaltado amarillo. */
html body .woocommerce mark,
html body .woocommerce mark.order-number,
html body .woocommerce mark.order-date,
html body .woocommerce mark.order-status,
html body mark {
  background:transparent!important;
  background-color:transparent!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
/* Registro y cambio de contraseña: los mensajes tienen contraste y
   colores CERO47. El medidor mantiene su validación de seguridad. */
html body .woocommerce-password-strength,
html body .woocommerce-password-strength.short,
html body .woocommerce-password-strength.bad,
html body .woocommerce-password-strength.good,
html body .woocommerce-password-strength.strong {
  background:#eee!important;
  background-color:#eee!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  border-color:#111!important;
  box-shadow:none!important;
}
html body .woocommerce-password-hint,
html body .woocommerce-password-hint small{
  color:#333!important;
  -webkit-text-fill-color:#333!important;
  background:transparent!important;
  line-height:1.55!important;
}
/* CERO47: el contenedor también debe seguir blanco cuando Chrome
   autocompleta contraseñas o activa el botón mostrar/ocultar. */
html body .password-input,
html body .woocommerce .password-input,
html body .c47auth .password-input,
html body .woocommerce-password-input,
html body .woocommerce .show-password-input {
 background:#fff!important;background-color:#fff!important;
 color:#111!important;
}
html body input:-webkit-autofill:first-line{
 color:#111!important;-webkit-text-fill-color:#111!important;
}
/* Campos externos de PayPal/Apple Pay están aislados por el proveedor y no se alteran. */

/* CERO47 QA / SISTEMA DE FORMULARIOS 2026-10-17
 * Unificación de tipografía, campos y menús, sin alterar los valores
 * de checkout, WooCommerce, país, tarjetas o las pasarelas externas.
 * 16px evita zoom automático del iPhone al enfocar los campos. */
html body.woocommerce-checkout .form-row > label,
html body.woocommerce-checkout .woocommerce-form-row > label,
html body .c47auth form .form-row > label,
html body .c47-account form .form-row > label,
html body .c47track form .form-row > label,
html body .c47contact .c47-field > span:first-child{
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  color:#222!important;
  margin-bottom:8px!important;
}
html body.woocommerce-checkout .c47-fields-grid input.input-text,
html body.woocommerce-checkout .c47-contact input.input-text,
html body.woocommerce-checkout .c47-fields-grid select,
html body.woocommerce-checkout .c47-fields-grid textarea,
html body .c47auth form input.input-text,
html body .c47-account form input.input-text,
html body .c47-account form select,
html body .c47track form input.input-text,
html body .c47contact form input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html body .c47contact form select,
html body .c47contact form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  border:1px solid #969696!important;
  border-radius:0!important;
  background-color:#fff!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:16px!important;
  box-sizing:border-box!important;
}
html body.woocommerce-checkout .select2-container .select2-selection--single,
html body .c47-account .select2-container .select2-selection--single,
html body .c47auth .select2-container .select2-selection--single{
  height:56px!important;
  min-height:56px!important;
  width:100%!important;
  border:1px solid #969696!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  font-size:16px!important;
  box-shadow:none!important;
}
html body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
html body .c47-account .select2-container--default .select2-selection--single .select2-selection__rendered,
html body .c47auth .select2-container--default .select2-selection--single .select2-selection__rendered{
  display:flex!important;
  align-items:center!important;
  min-height:54px!important;
  height:54px!important;
  line-height:normal!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  background:#fff!important;
  font-size:16px!important;
}
html body .select2-dropdown,
html body .select2-results,
html body .select2-results__options,
html body .select2-results__option{
  background:#fff!important;
  color:#111!important;
  font-size:16px!important;
}
html body .select2-results__option--highlighted,
html body .select2-results__option--highlighted[aria-selected],
html body .select2-results__option[aria-selected=true],
html body .select2-results__option[data-selected=true],
html body .select2-results__option:hover{
  background:#000!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .c47contact .c47-select-trigger{
  min-height:56px!important;
  font-size:16px!important;
  border-color:#969696!important;
}
@media(max-width:640px){
  html body.woocommerce-checkout .c47-fields-grid,
  html body .c47contact .c47-form-grid,
  html body .c47-account form{
    min-width:0!important;
    max-width:100%!important;
  }
  html body.woocommerce-checkout .c47-fields-grid > *,
  html body .c47contact .c47-form-grid > *{
    min-width:0!important;
    max-width:100%!important;
  }
}
/* Los estilos de terceros (PayPal y Apple/Google Pay) permanecen intactos. */
/* Descripción informativa redundante; se oculta sin eliminar el contenedor
   donde la pasarela pueda insertar sus botones de pago. */
html body.woocommerce-checkout .payment_box.payment_method_ppcp-gateway > p:first-child{
  display:none!important;
}
/* Cupones no expuestos en la compra, sin desactivar promociones en WooCommerce. */
html body.woocommerce-checkout .woocommerce-form-coupon-toggle,
html body.woocommerce-checkout form.checkout_coupon,
html body.woocommerce-cart .wc-block-components-totals-coupon{
  display:none!important;
}