/*
 * Avisos de WooCommerce: reserva un espacio estable para el icono y evita
 * que se superponga al texto en escritorio, tablet y móvil.
 */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  position:relative!important;
  box-sizing:border-box!important;
  min-height:58px!important;
  margin:0 0 24px!important;
  padding:17px 20px 17px 58px!important;
  line-height:1.55!important;
  overflow-wrap:anywhere;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before{
  position:absolute!important;
  top:19px!important;
  left:20px!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
  line-height:22px!important;
  text-align:center!important;
  transform:none!important;
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.woocommerce-error li + li,
.woocommerce-info li + li,
.woocommerce-message li + li{
  margin-top:.55em!important;
}

/* Avisos de los bloques de carrito y pago de WooCommerce. */
.wc-block-components-notice-banner{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}

.wc-block-components-notice-banner>svg{
  position:static!important;
  flex:0 0 24px!important;
  margin:2px 0 0!important;
  transform:none!important;
}

.wc-block-components-notice-banner__content{
  min-width:0;
  overflow-wrap:anywhere;
}

@media (max-width:640px){
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message{
    min-height:52px!important;
    margin-bottom:18px!important;
    padding:14px 14px 14px 50px!important;
  }

  .woocommerce-error::before,
  .woocommerce-info::before,
  .woocommerce-message::before{
    top:16px!important;
    left:15px!important;
    width:20px!important;
    height:20px!important;
    line-height:20px!important;
  }
}

/*
 * Checkout clásico: WooCommerce agrupa todos los errores en un <ul>.
 * Algunos estilos del checkout pueden convertir ese listado en flex/grid y
 * colocar cada error en una columna. Forzamos una lectura vertical estable.
 */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout{
  width:100%!important;
  max-width:none!important;
}

.woocommerce-checkout ul.woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout > .woocommerce-error{
  display:block!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  flex-direction:column!important;
  columns:auto!important;
  column-count:1!important;
  column-width:auto!important;
}

.woocommerce-checkout ul.woocommerce-error > li,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout > .woocommerce-error > li{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
  grid-column:1 / -1!important;
  break-inside:avoid!important;
  white-space:normal!important;
}

.woocommerce-checkout ul.woocommerce-error > li + li,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout > .woocommerce-error > li + li{
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(0,107,55,.14)!important;
}

@media (max-width:640px){
  .woocommerce-checkout ul.woocommerce-error > li + li,
  .woocommerce-checkout .woocommerce-NoticeGroup-checkout > .woocommerce-error > li + li{
    margin-top:8px!important;
    padding-top:8px!important;
  }
}

