/*
 * NSF WooCommerce 1.5.14
 * Carrito nativo sin Elementor.
 *
 * Hoja única y coherente. No modifica la lógica de WooCommerce:
 * cantidades, AJAX, cupones, descuentos, sesiones ni checkout.
 */
.nsf-native-cart-page,
.nsf-native-cart-page *{box-sizing:border-box}

.nsf-native-cart-page{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:#fff;
  color:#171717;
}
.nsf-native-cart-shell{
  width:min(1320px,calc(100% - 56px));
  max-width:100%;
  margin:0 auto;
  padding:34px 0 54px;
}
.nsf-native-cart-heading{margin:0 0 22px}
.nsf-native-cart-heading h1{
  margin:0;
  font-family:Hind,sans-serif;
  font-size:48px;
  line-height:1.05;
  font-weight:800;
  color:#171717;
}
.nsf-native-cart-heading>span{
  display:block;
  width:88px;
  height:4px;
  margin-top:14px;
  background:#d71920;
}
.nsf-native-cart-content{width:100%;min-width:0}

/* Avisos de WooCommerce — aviso de producto añadido con lenguaje visual NSF. */
.nsf-native-cart-content > .woocommerce-notices-wrapper{
  width:100%;
  margin:0 0 56px;
  padding:0;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message,
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message[role="alert"]{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:32px !important;
  width:100% !important;
  min-height:104px !important;
  margin:0 !important;
  padding:24px 0 !important;
  border:0 !important;
  border-top:2px dotted #d71920 !important;
  border-bottom:2px dotted #d71920 !important;
  border-radius:0 !important;
  background:#fff !important;
  background-color:#fff !important;
  box-shadow:none !important;
  color:#171717 !important;
  font-family:var(--nsf-font-ui,Arial,sans-serif) !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message::before,
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message::after{
  box-sizing:border-box;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message::before{
  content:'✓' !important;
  display:inline-flex !important;
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 0 16px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#d71920 !important;
  color:#fff !important;
  font-family:Arial,sans-serif !important;
  font-size:21px !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message .wc-forward{
  float:none !important;
  flex:0 0 auto !important;
  margin:0 16px 0 auto !important;
  padding:0 0 3px !important;
  border:0 !important;
  border-bottom:1px solid #d71920 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#d71920 !important;
  font-family:var(--nsf-font-ui,Arial,sans-serif) !important;
  font-size:18px !important;
  font-weight:400 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message .wc-forward::after{
  content:' →' !important;
  color:inherit !important;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message .wc-forward:hover{
  background:transparent !important;
  color:#171717 !important;
  border-bottom-color:#171717 !important;
  text-decoration:none !important;
}
.nsf-native-cart-content > .woocommerce-notices-wrapper .woocommerce-message .wc-forward:focus-visible{
  outline:2px solid #171717 !important;
  outline-offset:5px !important;
}
/*
 * AVISO DIRECTO: WooCommerce puede imprimir .woocommerce-message
 * directamente dentro de .nsf-native-cart-content, sin
 * .woocommerce-notices-wrapper. Estas reglas deben ganar también
 * en ese caso. No dependemos del wrapper para aplicar el diseño NSF.
 */
.nsf-native-cart-content > .woocommerce-message,
.nsf-native-cart-content > .woocommerce-message[role="alert"]{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:32px !important;
  width:100% !important;
  min-height:104px !important;
  margin:0 0 56px !important;
  padding:24px 0 !important;
  border:0 !important;
  border-top:2px dotted #d71920 !important;
  border-bottom:2px dotted #d71920 !important;
  border-radius:0 !important;
  background:#fff !important;
  background-color:#fff !important;
  box-shadow:none !important;
  color:#171717 !important;
  font-family:var(--nsf-font-ui,Arial,sans-serif) !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.nsf-native-cart-content > .woocommerce-message::before{
  content:'✓' !important;
  display:inline-flex !important;
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 0 16px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#d71920 !important;
  color:#fff !important;
  font-family:Arial,sans-serif !important;
  font-size:21px !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.nsf-native-cart-content > .woocommerce-message::after{content:none !important;display:none !important}
.nsf-native-cart-content > .woocommerce-message .wc-forward{
  float:none !important;
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  margin:0 16px 0 auto !important;
  padding:0 0 3px !important;
  border:0 !important;
  border-bottom:1px solid #d71920 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#d71920 !important;
  font-family:var(--nsf-font-ui,Arial,sans-serif) !important;
  font-size:18px !important;
  font-weight:400 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.nsf-native-cart-content > .woocommerce-message .wc-forward::after{content:' →' !important;color:inherit !important}
.nsf-native-cart-content > .woocommerce-message .wc-forward:hover{
  background:transparent !important;
  color:#171717 !important;
  border-bottom-color:#171717 !important;
}
.nsf-native-cart-content > .woocommerce-message .wc-forward:focus-visible{
  outline:2px solid #171717 !important;
  outline-offset:5px !important;
}

.nsf-native-cart-content>.woocommerce-info,
.nsf-native-cart-content>.woocommerce-message,
.nsf-native-cart-content>.woocommerce-error{margin-bottom:18px}

/* Estructura */
.nsf-native-cart-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:24px;
  align-items:start;
}
.nsf-native-products-card,
.nsf-native-totals-card{
  min-width:0;
  border:1px solid #e5e5e5;
  border-radius:18px;
  background:#fff;
}
.nsf-native-products-card{padding:24px 28px 22px}
.nsf-native-products-card>h2{
  margin:0 0 8px;
  padding:0 0 16px;
  border-bottom:1px solid #e8e8e8;
  font-family:Hind,sans-serif;
  font-size:24px;
  line-height:1.1;
  font-weight:800;
  color:#d71920;
}
.nsf-native-products-list{width:100%;min-width:0}

/* Producto */
.nsf-native-product{
  position:relative;
  display:grid;
  grid-template-columns:48px 112px minmax(190px,1fr) 142px 112px;
  grid-template-areas:"remove image main qty subtotal";
  column-gap:16px;
  align-items:center;
  min-width:0;
  min-height:142px;
  padding:16px 0;
  border-bottom:1px solid #e8e8e8;
}
.nsf-native-product:last-child{border-bottom:0}
.nsf-native-product-remove{grid-area:remove;min-width:0}
.nsf-native-product-remove a.remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid #dedede;
  border-radius:50%;
  background:#fff;
  color:#555!important;
  font-size:27px;
  line-height:1;
  text-decoration:none;
}
.nsf-native-product-image{grid-area:image;min-width:0}
.nsf-native-product-image a{
  display:block;
  width:100%;
  margin:0;
  padding:0;
}
.nsf-native-product-image img{
  display:block;
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  margin:0!important;
  object-fit:cover;
  object-position:center;
  border-radius:10px;
}
.nsf-native-product-main{grid-area:main;min-width:0}
.nsf-native-product-title{
  margin:0;
  padding:0;
  font-family:Hind,sans-serif;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  overflow-wrap:anywhere;
}
.nsf-native-product-title a{color:#d71920;text-decoration:none}
.nsf-native-product-title a:hover{text-decoration:underline;text-underline-offset:3px}
.nsf-native-product-price{
  margin-top:8px;
  font-family:Hind,sans-serif;
  font-size:17px;
  line-height:1.15;
  font-weight:600;
  color:#171717;
}
.nsf-native-product-main .variation{margin-top:7px;font-size:14px;color:#666}
.nsf-native-product-quantity{grid-area:qty;min-width:0;text-align:left}
.nsf-native-field-label{
  display:block;
  margin:0 0 5px;
  font-family:Hind,sans-serif;
  font-size:13px;
  line-height:1.1;
  color:#555;
}
.nsf-native-qty-control{
  display:grid;
  grid-template-columns:38px 62px 38px;
  align-items:stretch;
  width:138px;
  height:42px;
  margin:0;
}
.nsf-native-qty-control>.nsf-native-qty-minus,
.nsf-native-qty-control>.nsf-native-qty-plus{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  min-width:38px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid #d8d8d8;
  background:#fff;
  color:#444;
  font:600 18px/1 Hind,sans-serif;
  cursor:pointer;
  box-shadow:none;
}
.nsf-native-qty-control>.nsf-native-qty-minus{border-radius:9px 0 0 9px}
.nsf-native-qty-control>.nsf-native-qty-plus{border-radius:0 9px 9px 0}
.nsf-native-qty-control>.nsf-native-qty-minus:hover,
.nsf-native-qty-control>.nsf-native-qty-plus:hover{background:#f7f7f7}
.nsf-native-qty-control>.quantity{
  display:block!important;
  width:62px!important;
  height:42px!important;
  min-width:62px!important;
  margin:0!important;
  padding:0!important;
}
.nsf-native-qty-control>.quantity .qty{
  display:block!important;
  width:62px!important;
  min-width:62px!important;
  max-width:62px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 4px!important;
  border:1px solid #d8d8d8!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#333!important;
  text-align:center!important;
  font:600 17px/1 Hind,sans-serif!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.nsf-native-qty-control>.quantity .qty::-webkit-inner-spin-button,
.nsf-native-qty-control>.quantity .qty::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0;
}
.nsf-native-product-subtotal{grid-area:subtotal;min-width:0;text-align:right}
.nsf-native-product-subtotal .nsf-native-field-label{display:none}
.nsf-native-subtotal-value{
  display:block;
  font-family:Hind,sans-serif;
  font-size:19px;
  line-height:1.1;
  font-weight:700;
  white-space:nowrap;
}

/* Acciones del carrito */
.nsf-native-cart-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin-top:2px;
  padding-top:18px;
  border-top:1px solid #e8e8e8;
}
.nsf-native-coupon{min-width:0}
.nsf-native-coupon>label{
  display:block;
  margin:0 0 7px;
  font-family:Hind,sans-serif;
  font-size:15px;
  font-weight:600;
}
.nsf-native-coupon-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:10px;
  min-width:0;
}
.nsf-native-coupon .input-text{
  width:100%;
  min-width:0;
  height:54px;
  border:1px solid #d8d8df;
  border-radius:12px;
  padding:0 16px;
  font-family:Hind,sans-serif;
  font-size:16px;
}
.nsf-native-coupon button{
  width:160px;
  height:54px;
  border:1px solid #d71920;
  border-radius:12px;
  background:#d71920;
  color:#fff;
  font-family:Hind,sans-serif;
  font-size:15px;
  font-weight:700;
  padding:0 12px;
}
.nsf-native-cart-actions button[name=update_cart]{
  min-width:180px;
  height:54px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  color:#777;
  font-family:Hind,sans-serif;
  font-size:14px;
  font-weight:700;
  padding:0 18px;
}
.nsf-native-cart-actions button:disabled{opacity:.6}

/* Totales */
.nsf-native-totals-card{padding:26px 28px 24px}
.nsf-native-totals-card .cart-collaterals,
.nsf-native-totals-card .cart_totals{width:100%;float:none!important;margin:0!important}
.nsf-native-totals-card .cart_totals h2{
  margin:0 0 10px;
  padding:0 0 16px;
  border-bottom:1px solid #e8e8e8;
  font-family:Hind,sans-serif;
  font-size:27px;
  line-height:1.1;
  font-weight:700;
  color:#d71920;
}
.nsf-native-totals-card .cart_totals table{
  width:100%;
  border:0;
  border-collapse:collapse;
}
.nsf-native-totals-card .cart_totals tr{
  display:table-row!important;
  width:100%!important;
}
.nsf-native-totals-card .cart_totals th,
.nsf-native-totals-card .cart_totals td{
  display:table-cell!important;
  position:static!important;
  float:none!important;
  width:auto!important;
  padding:15px 0;
  border:0;
  border-bottom:1px solid #e8e8e8;
  background:transparent;
  text-align:left;
  vertical-align:middle;
}
.nsf-native-totals-card .cart_totals td{text-align:right}
.nsf-native-totals-card .cart_totals th::before,
.nsf-native-totals-card .cart_totals td::before,
.nsf-native-totals-card .cart_totals td[data-title]::before{display:none!important;content:none!important}
.nsf-native-totals-card .cart_totals .amount,
.nsf-native-totals-card .cart_totals .woocommerce-Price-amount,
.nsf-native-totals-card .cart_totals bdi{white-space:nowrap}

/* Descuento Pack NSF: SIEMPRE verde. */
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount,
.nsf-native-totals-card .cart_totals tr.fee.nsf-pack-discount{
  display:table-row!important;
  visibility:visible!important;
}
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount th,
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount td{
  display:table-cell!important;
  padding-top:15px!important;
  padding-bottom:15px!important;
  border-bottom:1px solid #e8e8e8!important;
  background:transparent!important;
}
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount th{
  color:#171717!important;
  font-weight:700!important;
  text-align:left!important;
}
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount td,
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount .amount,
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount .woocommerce-Price-amount,
.nsf-native-totals-card .cart_totals tr.nsf-pack-discount bdi{
  color:#0b9a48!important;
  font-weight:700!important;
  text-align:right!important;
}
.nsf-native-pack-discount-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:15px 0!important;
  border-bottom:1px solid #e8e8e8!important;
}
.nsf-native-pack-discount-label{color:#171717!important;font-weight:700!important}
.nsf-native-pack-discount-amount,
.nsf-native-pack-discount-amount .woocommerce-Price-amount,
.nsf-native-pack-discount-amount bdi{color:#0b9a48!important;font-weight:700!important;white-space:nowrap!important}

.nsf-native-totals-card .cart_totals .order-total th,
.nsf-native-totals-card .cart_totals .order-total td{
  padding-top:20px;
  padding-bottom:0;
  border-bottom:0;
}
.nsf-native-totals-card .cart_totals .order-total .amount,
.nsf-native-totals-card .cart_totals .order-total .woocommerce-Price-amount,
.nsf-native-totals-card .cart_totals .order-total bdi{
  font-family:Hind,sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:800;
  color:#d71920;
}
.nsf-native-totals-card .cart_totals .includes_tax{
  display:block;
  margin-top:8px;
  color:#666;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
}

/* CTA propio: sigue siendo el enlace real al checkout. */
.nsf-native-checkout-cta-wrap{
  display:block!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:0!important;
  text-align:center!important;
}
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button{
  display:flex!important;
  position:relative!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  margin:0!important;
  padding:0 52px 0 24px!important;
  border:2px solid #d71920!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#d71920!important;
  -webkit-text-fill-color:#d71920!important;
  font-family:Hind,sans-serif!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease!important;
}
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:hover,
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:focus-visible{
  background:#d71920!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  transform:translateY(-1px)!important;
}
.nsf-native-checkout-arrow{
  position:absolute!important;
  top:50%!important;
  right:20px!important;
  transform:translateY(-50%)!important;
  color:#d71920!important;
  -webkit-text-fill-color:#d71920!important;
  font-size:28px!important;
  line-height:1!important;
}
.nsf-native-checkout-button:hover .nsf-native-checkout-arrow,
.nsf-native-checkout-button:focus-visible .nsf-native-checkout-arrow{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.nsf-native-continue{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:25px auto 0;
  color:#d71920;
  font-family:Hind,sans-serif;
  font-size:17px;
  font-weight:500;
  text-decoration:none;
}
.nsf-native-continue:hover{text-decoration:underline;text-underline-offset:3px}
.nsf-native-cart-empty{
  padding:48px 28px;
  border:1px solid #e5e5e5;
  border-radius:18px;
  text-align:center;
}
.nsf-native-cart-empty h2{margin:0 0 18px;font-family:Hind,sans-serif;font-size:28px}

/* Tablet */
@media (max-width:1100px) and (min-width:768px){
  .nsf-native-cart-shell{width:calc(100% - 40px)}
  .nsf-native-cart-grid{grid-template-columns:minmax(0,1fr) 340px;gap:18px}
  .nsf-native-products-card{padding-left:22px;padding-right:22px}
  .nsf-native-product{grid-template-columns:42px 96px minmax(150px,1fr) 130px 96px;column-gap:12px}
  .nsf-native-product-image img{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important}
  .nsf-native-totals-card{padding:22px}
}

/* Móvil: una composición única, sin columnas estrechas ni overflow. */
@media (max-width:767px){
  .nsf-native-cart-shell{
    width:calc(100% - 32px);
    padding:30px 0 48px;
  }
  .nsf-native-cart-heading{margin-bottom:22px}
  .nsf-native-cart-heading h1{font-size:42px}
  .nsf-native-cart-heading>span{width:72px;height:4px;margin-top:12px}
  .nsf-native-cart-grid{display:flex;flex-direction:column;gap:18px;width:100%}
  .nsf-native-products-card,
  .nsf-native-totals-card{width:100%;max-width:100%;min-width:0}
  .nsf-native-products-card{padding:22px 20px 20px}
  .nsf-native-products-card>h2{font-size:23px;margin-bottom:4px;padding-bottom:15px}

  .nsf-native-product{
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr) 44px!important;
    grid-template-areas:
      "image main remove"
      "image qty ."
      "image subtotal ."!important;
    column-gap:14px!important;
    row-gap:9px!important;
    align-items:start!important;
    min-height:0!important;
    padding:22px 0!important;
  }
  .nsf-native-product-image{
    grid-area:image!important;
    width:104px!important;
    min-width:104px!important;
  }
  .nsf-native-product-image img{
    width:104px!important;
    height:126px!important;
    max-width:104px!important;
    max-height:126px!important;
    border-radius:10px!important;
  }
  .nsf-native-product-main{
    grid-area:main!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
  }
  .nsf-native-product-title{font-size:17px!important;line-height:1.25!important}
  .nsf-native-product-price{margin-top:7px!important;font-size:18px!important}
  .nsf-native-product-quantity{
    grid-area:qty!important;
    width:auto!important;
    min-width:0!important;
    text-align:left!important;
    padding:0!important;
  }
  .nsf-native-product-subtotal{
    grid-area:subtotal!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    padding:7px 0 0!important;
    text-align:right!important;
  }
  .nsf-native-product-subtotal .nsf-native-field-label{display:block!important;margin:0!important;color:#555!important}
  .nsf-native-subtotal-value{font-size:19px!important}
  .nsf-native-product-remove{
    grid-area:remove!important;
    align-self:start!important;
    justify-self:end!important;
    z-index:2!important;
  }
  .nsf-native-product-remove a.remove{
    width:38px!important;
    height:38px!important;
    font-size:25px!important;
  }

  .nsf-native-cart-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    gap:12px!important;
    margin-top:0!important;
    padding-top:18px!important;
  }
  .nsf-native-coupon{width:100%!important;min-width:0!important}
  .nsf-native-coupon-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(160px,1fr)!important;
    gap:10px!important;
    width:100%!important;
  }
  .nsf-native-coupon .input-text,
  .nsf-native-coupon button,
  .nsf-native-cart-actions button[name=update_cart]{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:58px!important;
  }
  .nsf-native-coupon .input-text{font-size:15px!important;padding:0 14px!important;white-space:nowrap!important;text-overflow:clip!important;}
  .nsf-native-coupon button{padding:0 10px!important}
  .nsf-native-cart-actions button[name=update_cart]{margin:0!important}

  .nsf-native-totals-card{padding:22px 28px 24px}
  .nsf-native-totals-card .cart_totals h2{font-size:28px;margin-bottom:10px;padding-bottom:16px}
  .nsf-native-totals-card .cart_totals th,
  .nsf-native-totals-card .cart_totals td{
    width:auto!important;
    padding:15px 0!important;
  }
  .nsf-native-totals-card .cart_totals th{width:58%!important;padding-right:8px!important}
  .nsf-native-totals-card .cart_totals td{width:42%!important;padding-left:8px!important}
  .nsf-native-totals-card .cart_totals .order-total th,
  .nsf-native-totals-card .cart_totals .order-total td{padding-top:22px!important}
  .nsf-native-totals-card .cart_totals .order-total .amount,
  .nsf-native-totals-card .cart_totals .order-total .woocommerce-Price-amount,
  .nsf-native-totals-card .cart_totals .order-total bdi{font-size:36px!important}
  .nsf-native-totals-card .cart_totals .includes_tax{font-size:14px!important}
  .nsf-native-checkout-cta-wrap{margin-top:22px!important}
  .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button{height:66px!important;font-size:20px!important}
}

@media (max-width:414px){
  .nsf-native-cart-shell{width:calc(100% - 20px)}
  .nsf-native-cart-heading h1{font-size:40px}
  .nsf-native-products-card{padding-left:16px;padding-right:16px}
  .nsf-native-product{grid-template-columns:96px minmax(0,1fr) 40px!important;column-gap:12px!important}
  .nsf-native-product-image,
  .nsf-native-product-image img{width:96px!important;min-width:96px!important;max-width:96px!important}
  .nsf-native-product-image img{height:116px!important;max-height:116px!important}
  .nsf-native-product-title{font-size:16px!important}
  .nsf-native-product-price{font-size:17px!important}
  .nsf-native-totals-card{padding-left:20px;padding-right:20px}
  .nsf-native-coupon-row{grid-template-columns:minmax(0,1fr) minmax(160px,1fr)!important}
}

@media (max-width:360px){
  .nsf-native-cart-shell{width:calc(100% - 16px)}
  .nsf-native-products-card{padding-left:14px;padding-right:14px}
  .nsf-native-product{grid-template-columns:88px minmax(0,1fr) 38px!important;column-gap:10px!important}
  .nsf-native-product-image,
  .nsf-native-product-image img{width:88px!important;min-width:88px!important;max-width:88px!important}
  .nsf-native-product-image img{height:106px!important;max-height:106px!important}
  .nsf-native-product-title{font-size:15px!important}
  .nsf-native-product-price{font-size:16px!important}
  .nsf-native-totals-card{padding-left:16px;padding-right:16px}
  .nsf-native-totals-card .cart_totals .order-total .amount,
  .nsf-native-totals-card .cart_totals .order-total .woocommerce-Price-amount,
  .nsf-native-totals-card .cart_totals .order-total bdi{font-size:32px!important}
  .nsf-native-coupon-row{grid-template-columns:1fr!important}
}


/* ================================================================
 * NSF CART — editorial redesign 1.5.4
 * La estructura sigue siendo la de WooCommerce; la presentación adopta
 * el lenguaje visual editorial de NSF.
 * ================================================================ */
.nsf-native-cart-page {
  background:#fff !important;
  color:#171717 !important;
}
.nsf-native-cart-shell {
  width:min(1180px, calc(100% - 64px)) !important;
  margin:0 auto !important;
  padding:46px 0 70px !important;
}
.nsf-native-cart-heading {
  margin:0 0 42px !important;
}
.nsf-native-cart-heading h1 {
  margin:0 !important;
  font-family:"EB Garamond", Georgia, serif !important;
  font-size:42px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  color:#d71920 !important;
  text-transform:uppercase !important;
}
.nsf-native-cart-heading>span {
  width:72px !important;
  height:3px !important;
  margin-top:13px !important;
  background:#d71920 !important;
}
.nsf-native-cart-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px !important;
  gap:64px !important;
  align-items:start !important;
}
.nsf-native-products-card,
.nsf-native-totals-card {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
}
.nsf-native-products-card>h2,
.nsf-native-totals-card .cart_totals h2 {
  margin:0 0 14px !important;
  padding:0 0 12px !important;
  border:0 !important;
  border-bottom:1px dotted #cfcfcf !important;
  font-family:"EB Garamond", Georgia, serif !important;
  font-size:25px !important;
  line-height:1.05 !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  color:#d71920 !important;
  text-transform:uppercase !important;
}
.nsf-native-product {
  grid-template-columns:92px minmax(180px,1fr) 126px 110px !important;
  grid-template-areas:"image main qty subtotal" !important;
  column-gap:22px !important;
  min-height:116px !important;
  padding:18px 0 !important;
  border-bottom:1px dotted #d6d6d6 !important;
}
.nsf-native-product-remove {
  position:absolute !important;
  top:16px !important;
  left:-28px !important;
  z-index:2 !important;
}
.nsf-native-product-remove a.remove {
  width:24px !important;
  height:24px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#777 !important;
  font-size:20px !important;
  font-weight:400 !important;
}
.nsf-native-product-image img {
  width:92px !important;
  height:92px !important;
  max-width:92px !important;
  max-height:92px !important;
  border-radius:0 !important;
  object-fit:cover !important;
}
.nsf-native-product-title {
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
}
.nsf-native-product-title a {
  color:#171717 !important;
}
.nsf-native-product-price {
  margin-top:5px !important;
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  color:#666 !important;
}
.nsf-native-product-quantity {
  text-align:left !important;
}
.nsf-native-field-label {
  margin-bottom:5px !important;
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  color:#777 !important;
}
.nsf-native-qty-control {
  grid-template-columns:32px 48px 32px !important;
  width:112px !important;
  height:34px !important;
}
.nsf-native-qty-control>.nsf-native-qty-minus,
.nsf-native-qty-control>.nsf-native-qty-plus {
  width:32px !important;
  min-width:32px !important;
  height:34px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#444 !important;
  font:400 16px/1 "DM Sans",Arial,sans-serif !important;
}
.nsf-native-qty-control>.quantity,
.nsf-native-qty-control>.quantity .qty {
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  height:34px !important;
  min-height:34px !important;
  border:1px solid #d6d6d6 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  font:400 14px/1 "DM Sans",Arial,sans-serif !important;
}
.nsf-native-product-subtotal {
  text-align:right !important;
}
.nsf-native-subtotal-value {
  font-family:"DM Sans", Arial, sans-serif !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:500 !important;
  color:#d71920 !important;
}
.nsf-native-cart-actions {
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:16px !important;
  margin-top:0 !important;
  padding-top:18px !important;
  border-top:0 !important;
}
.nsf-native-coupon {
  margin-right:auto !important;
}
.nsf-native-coupon>label {
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  color:#666 !important;
}
.nsf-native-coupon-row {
  grid-template-columns:180px 110px !important;
  gap:8px !important;
}
.nsf-native-coupon .input-text {
  height:40px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:0 !important;
  padding:0 10px !important;
  font:400 13px/1 "DM Sans",Arial,sans-serif !important;
}
.nsf-native-coupon button {
  width:110px !important;
  height:40px !important;
  border:1px solid #d71920 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#d71920 !important;
  font:500 12px/1 "DM Sans",Arial,sans-serif !important;
}
.nsf-native-cart-actions button[name=update_cart] {
  min-width:130px !important;
  height:40px !important;
  border:0 !important;
  border-bottom:1px solid #d71920 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#d71920 !important;
  font:500 12px/1 "DM Sans",Arial,sans-serif !important;
}
.nsf-native-totals-card .cart_totals th,
.nsf-native-totals-card .cart_totals td {
  padding:12px 0 !important;
  border-bottom:1px dotted #d6d6d6 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
}
.nsf-native-totals-card .cart_totals th {
  color:#333 !important;
}
.nsf-native-totals-card .cart_totals td {
  color:#171717 !important;
}
.nsf-native-totals-card .cart_totals .order-total th,
.nsf-native-totals-card .cart_totals .order-total td {
  padding-top:20px !important;
  border-bottom:0 !important;
}
.nsf-native-totals-card .cart_totals .order-total .amount,
.nsf-native-totals-card .cart_totals .order-total .woocommerce-Price-amount,
.nsf-native-totals-card .cart_totals .order-total bdi {
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:600 !important;
  color:#d71920 !important;
}
.nsf-native-totals-card .cart_totals .includes_tax {
  margin-top:5px !important;
  font:400 11px/1.2 "DM Sans",Arial,sans-serif !important;
  color:#777 !important;
}
.nsf-native-checkout-cta-wrap {
  margin:28px 0 0 !important;
}
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button {
  height:54px !important;
  border:1px solid #d71920 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#d71920 !important;
  -webkit-text-fill-color:#d71920 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
  box-shadow:none !important;
}
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:hover,
.nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:focus-visible {
  background:#d71920 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  transform:none !important;
}
.nsf-native-checkout-arrow {
  right:16px !important;
  font-size:22px !important;
}
.nsf-native-continue {
  justify-content:flex-start !important;
  width:max-content !important;
  margin:28px 0 0 !important;
  font-family:"DM Sans",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#d71920 !important;
}
.nsf-native-cart-empty {
  padding:40px 0 !important;
  border:0 !important;
  border-top:1px dotted #d6d6d6 !important;
  border-bottom:1px dotted #d6d6d6 !important;
  border-radius:0 !important;
  text-align:left !important;
}
.nsf-native-cart-empty h2 {
  font-family:"EB Garamond",Georgia,serif !important;
  font-size:28px !important;
  font-weight:500 !important;
}

/* Express checkout de WooCommerce/Stripe: integrado en la columna de totales. */
.nsf-native-totals-card .wc-block-components-express-payment,
.nsf-native-totals-card .wc-block-components-express-payment__content,
.nsf-native-totals-card .wc-block-components-express-payment__button {
  width:100% !important;
  max-width:100% !important;
}
.nsf-native-totals-card .wc-block-components-express-payment {
  margin:18px 0 0 !important;
}
.nsf-native-totals-card .wc-block-components-express-payment__button {
  min-height:48px !important;
  margin:0 0 8px !important;
  border-radius:0 !important;
}

@media (max-width:900px){
  .nsf-native-cart-shell{width:calc(100% - 40px)!important}
  .nsf-native-cart-grid{grid-template-columns:minmax(0,1fr) 280px!important;gap:36px!important}
  .nsf-native-product{grid-template-columns:80px minmax(140px,1fr) 112px 90px!important;column-gap:14px!important}
  .nsf-native-product-image img{width:80px!important;height:80px!important;max-width:80px!important;max-height:80px!important}
}
@media (max-width:767px){
  .nsf-native-cart-shell{width:calc(100% - 32px)!important;padding:34px 0 52px!important}
  .nsf-native-cart-heading{margin-bottom:30px!important}
  .nsf-native-cart-heading h1{font-size:36px!important}
  .nsf-native-cart-grid{display:flex!important;flex-direction:column!important;gap:42px!important}
  .nsf-native-product{
    grid-template-columns:76px minmax(0,1fr) 38px!important;
    grid-template-areas:"image main remove" "image qty subtotal"!important;
    column-gap:14px!important;
    row-gap:8px!important;
    padding:16px 0!important;
  }
  .nsf-native-product-remove{position:static!important;grid-area:remove!important;justify-self:end!important}
  .nsf-native-product-remove a.remove{width:24px!important;height:24px!important}
  .nsf-native-product-image img{width:76px!important;height:94px!important;max-width:76px!important;max-height:94px!important}
  .nsf-native-product-title{font-size:16px!important}
  .nsf-native-product-quantity{grid-area:qty!important}
  .nsf-native-product-subtotal{grid-area:subtotal!important;align-self:end!important}
  .nsf-native-subtotal-value{font-size:15px!important}
  .nsf-native-cart-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .nsf-native-coupon{width:100%!important;margin:0!important}
  .nsf-native-coupon-row{grid-template-columns:minmax(0,1fr) 110px!important}
  .nsf-native-cart-actions button[name=update_cart]{width:100%!important}
  .nsf-native-totals-card .cart_totals h2{font-size:24px!important}
  .nsf-native-checkout-cta-wrap{margin-top:24px!important}
}


/* NSF 1.5.5 — carrito editorial: una sola columna, totales debajo.
 * No se cambian los cálculos ni los procesos de WooCommerce.
 */
html body.woocommerce-cart .nsf-native-cart-shell{
  width:min(1160px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding:52px 0 72px!important;
}
html body.woocommerce-cart .nsf-native-cart-heading{
  margin:0 0 54px!important;
}
html body.woocommerce-cart .nsf-native-cart-heading h1{
  font-family:"EB Garamond",Georgia,serif!important;
  font-size:52px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  color:#d71920!important;
}
html body.woocommerce-cart .nsf-native-cart-heading>span{
  width:72px!important;
  height:3px!important;
  margin-top:15px!important;
  background:#d71920!important;
}

/* Una única composición vertical. */
html body.woocommerce-cart .nsf-native-cart-grid{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
html body.woocommerce-cart .nsf-native-products-card,
html body.woocommerce-cart .nsf-native-totals-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body.woocommerce-cart .nsf-native-products-card{
  padding:0!important;
}
html body.woocommerce-cart .nsf-native-products-card>h2,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals h2{
  margin:0!important;
  padding:0 0 15px!important;
  border:0!important;
  border-bottom:1px dotted #cfcfcf!important;
  font-family:"EB Garamond",Georgia,serif!important;
  font-size:28px!important;
  line-height:1.1!important;
  font-weight:500!important;
  color:#d71920!important;
  text-transform:uppercase!important;
  letter-spacing:.01em!important;
}

/* Producto: X | imagen | información | precio. */
html body.woocommerce-cart .nsf-native-product{
  display:grid!important;
  grid-template-columns:48px 112px minmax(0,1fr) 120px!important;
  grid-template-areas:"remove image main subtotal"!important;
  column-gap:20px!important;
  align-items:center!important;
  min-height:150px!important;
  padding:24px 0!important;
  border-bottom:1px dotted #cfcfcf!important;
}
html body.woocommerce-cart .nsf-native-product-remove{grid-area:remove!important}
html body.woocommerce-cart .nsf-native-product-remove a.remove{
  width:24px!important;
  height:24px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#222!important;
  font-family:Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:400!important;
}
html body.woocommerce-cart .nsf-native-product-image{grid-area:image!important}
html body.woocommerce-cart .nsf-native-product-image img{
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  border-radius:0!important;
  object-fit:cover!important;
}
html body.woocommerce-cart .nsf-native-product-main{grid-area:main!important}
html body.woocommerce-cart .nsf-native-product-title{
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.3!important;
  font-weight:500!important;
}
html body.woocommerce-cart .nsf-native-product-title a{
  color:#171717!important;
  text-decoration:none!important;
}
html body.woocommerce-cart .nsf-native-product-price{
  margin-top:7px!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:400!important;
  color:#555!important;
}
/* Eliminamos visualmente el selector de cantidad y conservamos WooCommerce intacto. */
html body.woocommerce-cart .nsf-native-product-quantity{
  display:none!important;
}
html body.woocommerce-cart .nsf-native-product-subtotal{
  grid-area:subtotal!important;
  text-align:right!important;
}
html body.woocommerce-cart .nsf-native-subtotal-value{
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:400!important;
  color:#d71920!important;
}

/* Acciones bajo la lista. */
html body.woocommerce-cart .nsf-native-cart-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin:0!important;
  padding:22px 0 0!important;
  border:0!important;
}
html body.woocommerce-cart .nsf-native-cart-actions .nsf-native-coupon{margin-right:auto!important}
html body.woocommerce-cart .nsf-native-cart-actions button[name=update_cart]{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0 0 5px!important;
  border:0!important;
  border-bottom:1px solid #d71920!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d71920!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
}

/* Totales: debajo del producto, no en una tarjeta lateral. */
html body.woocommerce-cart .nsf-native-totals-card{
  margin-top:78px!important;
  padding:0!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart-collaterals,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals table{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals th,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals td{
  padding:18px 0!important;
  border:0!important;
  border-bottom:1px dotted #cfcfcf!important;
  background:transparent!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals th{text-align:left!important}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals td{text-align:right!important}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .order-total th,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .order-total td{
  padding-top:25px!important;
  padding-bottom:25px!important;
  border-bottom:1px dotted #cfcfcf!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .order-total .amount,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .order-total .woocommerce-Price-amount,
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .order-total bdi{
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:500!important;
  color:#d71920!important;
}
html body.woocommerce-cart .nsf-native-totals-card .cart_totals .includes_tax{
  margin-top:7px!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
  color:#666!important;
}

/* Pagos rápidos: dos columnas, como en la visual aprobada. */
html body.woocommerce-cart .nsf-native-totals-card .wc-block-components-express-payment{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
  width:100%!important;
  margin:24px 0 0!important;
  padding:0!important;
}
html body.woocommerce-cart .nsf-native-totals-card .wc-block-components-express-payment__content{
  display:contents!important;
}
html body.woocommerce-cart .nsf-native-totals-card .wc-block-components-express-payment__button{
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  border-radius:0!important;
}

html body.woocommerce-cart .nsf-native-checkout-cta-wrap{
  width:100%!important;
  max-width:none!important;
  margin:22px 0 0!important;
}
html body.woocommerce-cart .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button{
  width:100%!important;
  height:68px!important;
  border:1px solid #d71920!important;
  border-radius:0!important;
  background:#fff!important;
  color:#d71920!important;
  -webkit-text-fill-color:#d71920!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:500!important;
}
html body.woocommerce-cart .nsf-native-checkout-arrow{right:22px!important;font-size:24px!important}
html body.woocommerce-cart .nsf-native-continue{
  justify-content:flex-start!important;
  width:max-content!important;
  margin:34px 0 0!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  color:#d71920!important;
}

@media (max-width:767px){
  html body.woocommerce-cart .nsf-native-cart-shell{
    width:calc(100% - 32px)!important;
    padding:36px 0 52px!important;
  }
  html body.woocommerce-cart .nsf-native-cart-heading{margin-bottom:38px!important}
  html body.woocommerce-cart .nsf-native-cart-heading h1{font-size:42px!important}
  html body.woocommerce-cart .nsf-native-products-card>h2,
  html body.woocommerce-cart .nsf-native-totals-card .cart_totals h2{font-size:25px!important}
  html body.woocommerce-cart .nsf-native-product{
    grid-template-columns:28px 82px minmax(0,1fr) 76px!important;
    grid-template-areas:"remove image main subtotal"!important;
    column-gap:12px!important;
    min-height:120px!important;
    padding:20px 0!important;
  }
  html body.woocommerce-cart .nsf-native-product-image img{
    width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important;
  }
  html body.woocommerce-cart .nsf-native-product-title{font-size:15px!important}
  html body.woocommerce-cart .nsf-native-product-price{font-size:13px!important}
  html body.woocommerce-cart .nsf-native-subtotal-value{font-size:15px!important}
  html body.woocommerce-cart .nsf-native-cart-actions{padding-top:18px!important}
  html body.woocommerce-cart .nsf-native-totals-card{margin-top:54px!important}
  html body.woocommerce-cart .nsf-native-totals-card .wc-block-components-express-payment{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  html body.woocommerce-cart .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button{height:60px!important;font-size:16px!important}
}

/* NSF 1.5.6 — estados hover/focus accesibles del carrito.
 * Los controles principales deben mostrar un cambio visual claro al pasar
 * el cursor y al recibir foco por teclado, sin depender solo del color.
 */
html body.woocommerce-cart .nsf-native-cart-actions button[name="update_cart"]:hover:not(:disabled),
html body.woocommerce-cart .nsf-native-cart-actions button[name="update_cart"]:focus-visible,
html body.woocommerce-cart .nsf-native-coupon button:hover:not(:disabled),
html body.woocommerce-cart .nsf-native-coupon button:focus-visible {
  background:#d71920!important;
  color:#fff!important;
  border-color:#d71920!important;
  text-decoration:none!important;
  outline:2px solid #171717!important;
  outline-offset:3px!important;
  opacity:1!important;
}

html body.woocommerce-cart .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:hover,
html body.woocommerce-cart .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button:focus-visible {
  background:#d71920!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#d71920!important;
  outline:2px solid #171717!important;
  outline-offset:3px!important;
}

html body.woocommerce-cart .nsf-native-product-remove a.remove:hover,
html body.woocommerce-cart .nsf-native-product-remove a.remove:focus-visible {
  color:#fff!important;
  background:#d71920!important;
  outline:2px solid #171717!important;
  outline-offset:3px!important;
  text-decoration:none!important;
}

html body.woocommerce-cart .nsf-native-continue:hover,
html body.woocommerce-cart .nsf-native-continue:focus-visible {
  color:#171717!important;
  text-decoration:underline!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px!important;
  outline:2px solid #171717!important;
  outline-offset:4px!important;
}

/* Respeta la preferencia del usuario por menos movimiento. */
@media (prefers-reduced-motion: reduce){
  html body.woocommerce-cart .nsf-native-checkout-cta-wrap>a.nsf-native-checkout-button,
  html body.woocommerce-cart .nsf-native-cart-actions button,
  html body.woocommerce-cart .nsf-native-coupon button,
  html body.woocommerce-cart .nsf-native-continue{
    transition:none!important;
  }
}
