/* nv-carrito-pagina.css — /cart/, checkout (y pedido recibido), banda «carrito» y carrito vacío de La Novedad (T8).
   Replica el lenguaje de la tienda Nitro de lanovedad.com (bee-main-cart) con los valores de la especificación
   §2.20–§2.22; nunca su CSS. Solo se encola con is_cart() || is_checkout(), detrás de nv-carrito.css, que trae la
   barra de envío, la cantidad, las variantes y el precio que estas páginas comparten con el cajón. Salió de la hoja
   única: eran 13.096 B de 28.707 que viajaban a todas las páginas sin aplicarse fuera de estas dos. */

/* ── Barra de envío de /cart/: 8 px con el texto arriba; frase sola en el carrito vacío ── */
.nv-envio-pagina{margin:25px 0}
.nv-envio-pagina .nv-envio__texto{margin:0 0 4px;font-size:13px;font-weight:300;line-height:1.25;color:var(--nv-ink);text-align:left}
.nv-envio-pagina .nv-envio__monto{color:var(--nv-highlight);font-weight:600}
.nv-envio-pagina .nv-envio__barra{height:8px}
.nv-envio-vacio{margin:0;font-size:14px;color:var(--nv-ink)}
.nv-envio-vacio .nv-envio__monto{color:var(--nv-highlight)}

/* ══ /cart/ con productos: 8/12 líneas + 4/12 resumen (≥1025); apilado debajo ══ */
.nv-carrito{margin:0 0 50px}
.nv-carrito__rejilla{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:30px;align-items:start}
.nv-carrito__cabecera,.nv-carrito__linea{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,2fr) minmax(0,2fr) minmax(0,1fr);column-gap:30px;align-items:center}
.nv-carrito__cabecera{margin:30px 0;padding:0 0 10px;border-bottom:2px solid var(--nv-border);font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;color:var(--nv-ink)}
.nv-carrito__col--centro{text-align:center}
.nv-carrito__linea{position:relative;margin:0 0 30px;padding:0 0 30px;border-bottom:1px solid var(--nv-border);transition:opacity .2s}
.nv-carrito__producto{display:flex;align-items:flex-start;gap:15px;min-width:0}
.nv-carrito__img{flex:0 0 100px;display:block;width:100px;overflow:hidden;background:var(--nv-placeholder)}
.nv-carrito__img img{display:block;width:100%;height:auto}
.nv-carrito__info{flex:1 1 auto;min-width:0}
.nv-carrito .nv-carrito__nombre{display:block;margin:0 0 5px;font-size:15px;font-weight:400;line-height:1.25;color:var(--nv-ink);text-decoration:none}
.nv-carrito .nv-carrito__nombre:hover{color:rgba(21,21,21,.8)}
.nv-carrito__precio{text-align:center}
.nv-carrito__precio-movil{display:none}
.nv-carrito__cantidad{display:flex;justify-content:center}
.nv-carrito__total{text-align:center;font-size:14px;font-weight:500;color:var(--nv-price)}
.nv-carrito__total .amount{color:inherit}
.nv-carrito__quitar{display:flex;justify-content:flex-end}
.nv-carrito .nv-carrito__quitar a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(21,21,21,.05);color:var(--nv-ink);
  text-decoration:none;transition:background-color .25s,color .25s}
.nv-carrito .nv-carrito__quitar a:hover{background:var(--nv-ink);color:#fff}
.nv-carrito__quitar .nv-i{width:16px;height:16px}
/* Resumen: recuadro 1px, 30 px de relleno, 15 px; cupón, envío, total parcial, impuestos y dos botones */
.nv-carrito__resumen{margin:0 0 40px;padding:30px;border:1px solid var(--nv-border);font-size:15px;color:var(--nv-ink)}
.nv-carrito__cupon-titulo,.nv-checkout__cupon-titulo{display:block;margin:0 0 5px;font-size:18px;font-weight:500;line-height:1.3;color:var(--nv-ink)}
.nv-carrito__cupon-texto{margin:0 0 5px;font-size:13px;line-height:1.5;color:var(--nv-muted)}
.nv-carrito__cupon-fila,.nv-checkout__cupon-fila{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.nv-carrito .nv-carrito__cupon-fila input,.nv-pagina-checkout .nv-checkout__cupon-fila input{flex:1 1 160px;width:auto;height:46px;font-size:15px}
/* En el checkout el botón lleva .button (el checkout.js de Woo no la necesita, pero es el marcado nativo) y Blocksy
   le gana con .woocommerce button.button (0,2,1): de ahí el tercer nivel. */
.nv-carrito .nv-carrito__cupon-btn,.nv-pagina-checkout .nv-checkout__cupon .nv-checkout__cupon-btn{flex:none;min-height:40px;padding:0 20px;border-radius:var(--nv-radius);font:500 13px/1 var(--nv-font);text-transform:uppercase}
.nv-carrito .coupon-error-notice,.nv-checkout__cupon-fila .coupon-error-notice{flex-basis:100%;margin:4px 0 0;font-size:13px;color:var(--nv-error)}
.nv-carrito__descuento{display:flex;justify-content:space-between;gap:10px;margin:0 0 6px;font-size:14px;font-weight:500;color:var(--nv-highlight)}
.nv-carrito__descuento .amount{color:inherit}
.nv-carrito__descuento a{margin-inline-start:6px;font-weight:400;color:var(--nv-ink)}
.nv-carrito__suma{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:20px;font-weight:400;line-height:1.3;color:rgba(21,21,21,.7)}
.nv-carrito__suma-monto{font-weight:600;color:var(--nv-ink);text-align:right;white-space:nowrap}
.nv-carrito__suma-monto .amount{color:inherit}
.nv-carrito__impuestos{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--nv-ink)}
.nv-carrito__botones{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.nv-carrito .nv-carrito__btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 20px;border:1px solid var(--nv-dark);
  border-radius:var(--nv-radius);font:500 13px/1 var(--nv-font);text-align:center;text-transform:uppercase;text-decoration:none;transition:color .25s,background-color .25s,border-color .25s}
.nv-carrito .nv-carrito__btn--actualizar{background:transparent;color:var(--nv-dark)}
.nv-carrito .nv-carrito__btn--actualizar:hover:not(:disabled){background:var(--nv-dark);color:#fff}
/* cart.js lo deja deshabilitado hasta que cambia una cantidad (y aquí se actualiza solo a los 700 ms): se ve
   como en Nitro, sin el 50 % de opacidad de los deshabilitados de la base. */
.nv-carrito .nv-carrito__btn--actualizar:disabled{opacity:1;cursor:default}
.nv-carrito .nv-carrito__btn--pagar{background:var(--nv-dark);color:#fff}
.nv-carrito .nv-carrito__btn--pagar:hover{border-color:var(--nv-oro-borde);background:var(--nv-oro);color:#151515}
@media (max-width:1024px){
  .nv-carrito__rejilla{grid-template-columns:minmax(0,1fr);gap:10px}
  .nv-carrito__cabecera{display:none}
  .nv-carrito__lineas{margin-top:30px}
  .nv-carrito__linea{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"producto producto" "cantidad total";row-gap:15px;column-gap:15px}
  .nv-carrito__producto{grid-area:producto;padding-right:50px}
  .nv-carrito__precio{display:none}
  .nv-carrito__precio-movil{display:block;margin-top:4px;font-size:14px}
  .nv-carrito__cantidad{grid-area:cantidad;justify-content:flex-start;padding-left:115px}
  .nv-carrito__total{grid-area:total;text-align:right}
  .nv-carrito__quitar{position:absolute;top:0;right:0}
}
@media (max-width:767px){
  .nv-carrito__img{flex-basis:90px;width:90px}
  .nv-carrito .nv-carrito__nombre{font-size:14px}
  .nv-carrito__cantidad{padding-left:105px}
  .nv-carrito__resumen{margin-bottom:30px;padding:15px}
}

/* ── Banda «carrito» (solo carrito, checkout y pedido recibido) ──
   Shopify deja más aire bajo el título que la base: líneas en y=208 y 425 a 1440 (217 px frente a 207) y en 185 y
   352 a 390 (167 frente a 147), con el título a la misma distancia de la línea de arriba (t8-medir.py). */
.nv-banda--carrito .nv-banda__titulo{margin-bottom:10px}
@media (max-width:767px){.nv-banda--carrito .nv-banda__titulo{margin-bottom:20px}}

/* ── /cart/ vacío: icono 74 px, título 50/300, sin botón ──
   Relleno y no margen: el margen de 100 se fundía con los 50 de la banda y el icono quedaba a 105 px de la línea en
   vez de a 151 como Shopify. El resto (icono→título, título→texto, interlineado 1,4 del título en dos líneas a 390)
   sale de la misma medición; a 390 Shopify lo enseña en un recuadro de 1px con el icono a 66 px de su borde. */
.nv-carrito-vacio{margin:0;padding:96px 0 100px;text-align:center;font-size:15px;line-height:1.7;color:var(--nv-ink)}
.nv-carrito-vacio .nv-carrito-vacio__icono{display:block;width:74px;height:74px;margin:0 auto 5px;color:var(--nv-ink);stroke-width:1.6}
.nv-carrito-vacio .nv-carrito-vacio__titulo{--theme-font-size:50px;--theme-font-weight:300;--theme-line-height:1.4;margin:0 0 20px;color:var(--nv-ink);letter-spacing:0}
.nv-carrito-vacio__texto{margin:0 0 40px}
.nv-carrito-vacio__texto a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:767px){.nv-carrito-vacio{padding:60px 15px 150px;border:1px solid var(--nv-border)}.nv-carrito-vacio__texto{margin-bottom:27px}}

/* ══ Checkout (§2.22): sin equivalente en Nitro; mismos bordes finos y campos subrayados ══ */
/* Cupón visible arriba y a todo el ancho (con 7/12 dejaba un hueco vacío junto a «Tu pedido»). checkout.js lo oculta
   al iniciar y lo pliega tras aplicar (slideUp con estilos en línea): los !important lo mantienen quieto y visible. */
.nv-pagina-checkout form.nv-checkout__cupon{display:block!important;box-sizing:border-box;height:auto!important;margin:0 0 30px!important;padding:20px 30px!important;
  overflow:visible!important;opacity:1!important;border:1px solid var(--nv-border)}
.nv-checkout__cupon-fila{max-width:620px}
/* 7/12 datos + 5/12 «Tu pedido» en ≥1025 (Blocksy pone 1:1 desde 1000); apilado en ≤1024 */
.nv-pagina-checkout form.ct-woocommerce-checkout{gap:30px}
@media (min-width:1025px){.nv-pagina-checkout form.ct-woocommerce-checkout{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
@media (max-width:1024px){.nv-pagina-checkout form.ct-woocommerce-checkout{grid-template-columns:minmax(0,1fr)}}
.nv-pagina-checkout .ct-order-review{padding:30px;border:1px solid var(--nv-border);border-radius:0}
.nv-pagina-checkout .woocommerce-checkout h3{--theme-font-size:18px;--theme-font-weight:600;margin:0 0 20px;font-size:18px;color:var(--nv-ink)}
.nv-pagina-checkout .woocommerce-checkout .form-row{margin:0 0 18px}
.nv-pagina-checkout .woocommerce-checkout .form-row label{display:block;margin:0 0 2px;font-size:13px;font-weight:500;line-height:1.4;color:var(--nv-ink)}
.nv-pagina-checkout .woocommerce-checkout .form-row :is(label.checkbox,label.woocommerce-form__label-for-checkbox){display:inline-flex;align-items:center;gap:8px;font-weight:400}
.nv-pagina-checkout :is(abbr.required,.required){border:0;text-decoration:none;color:var(--nv-ink)}
.nv-pagina-checkout .woocommerce-checkout .form-row .optional{font-weight:400;color:var(--nv-muted)}
/* select2/selectWoo (país, departamento) con el mismo subrayado de los campos */
.nv-pagina-checkout span.select2-container .select2-selection--single{height:40px;border:0;border-bottom:2px solid var(--nv-border);border-radius:0;background:transparent;box-shadow:none;transition:border-color .5s}
.nv-pagina-checkout span.select2-container:is(.select2-container--open,.select2-container--focus) .select2-selection--single{border-bottom-color:var(--nv-ink)}
.nv-pagina-checkout span.select2-container .select2-selection--single .select2-selection__rendered{padding-inline-start:0;font-size:14px;color:var(--nv-ink)}
.nv-pagina-checkout span.select2-dropdown{border-color:var(--nv-border);border-radius:0}
/* Tabla del pedido. Las variantes («Color: Marrón», una pareja por línea) son las de nv-carrito.css; aquí solo el
   margen y el interlineado de la tabla, que eran los de antes de partir la hoja. */
.nv-pagina-checkout .woocommerce-checkout-review-order-table{--theme-table-font-size:14px;margin-bottom:20px}
.nv-pagina-checkout .woocommerce-checkout-review-order-table tr{--theme-table-border-style:solid;--theme-table-border-color:var(--nv-border)}
.nv-pagina-checkout .woocommerce-checkout-review-order-table .product-name{font-weight:400}
.nv-pagina-checkout .woocommerce-checkout-review-order-table dl.variation{margin:4px 0 0;line-height:inherit}
.nv-pagina-checkout .woocommerce-checkout-review-order-table .order-total .amount{font-size:18px;font-weight:600}
/* Métodos de pago en caja #f6f6f8 con separadores #e5e5e5; «Realizar el pedido» 50 px, radio 4, dorado al pasar */
.nv-pagina-checkout #payment{padding:20px;border-radius:0;background:var(--nv-soft-bg)}
.nv-pagina-checkout #payment ul.payment_methods{margin:0 0 20px;padding:0 0 15px;list-style:none;border-bottom:1px solid var(--nv-border)}
.nv-pagina-checkout #payment ul.payment_methods>li{margin:0;padding:10px 0;border-top:1px solid var(--nv-border)}
.nv-pagina-checkout #payment ul.payment_methods>li:first-child{border-top:0}
/* Círculo, título y logo en UNA fila. Blocksy deja que la etiqueta se parta (flex-wrap:wrap) y el círculo es su
   ::before: con títulos cortos no se nota, pero «COMPRA AHORA Y PAGA DESPUÉS CON ADDI» no cabe al lado del círculo en
   un teléfono y bajaba entero a la línea siguiente, con el logo en una tercera (medido a 390 px, 2026-09-22). En una
   fila, el título se parte por dentro y el círculo y el logo conservan su tamaño. */
.nv-pagina-checkout #payment ul.payment_methods>li>label{flex-wrap:nowrap}
.nv-pagina-checkout #payment ul.payment_methods>li>label::before,
.nv-pagina-checkout #payment ul.payment_methods>li>label img{flex-shrink:0}
.nv-pagina-checkout #payment :is(.woocommerce-notice,.woocommerce-info){margin:0}
.nv-pagina-checkout .woocommerce-privacy-policy-text{font-size:13px;line-height:1.6;color:var(--nv-ink)}
.nv-pagina-checkout .woocommerce-privacy-policy-text p{margin:0 0 15px}
.nv-pagina-checkout #place_order{float:none;width:100%;min-height:50px;padding:0 20px;border:1px solid var(--nv-dark);border-radius:var(--nv-radius);background:var(--nv-dark);color:#fff;
  font:500 13px/1 var(--nv-font);text-transform:uppercase}
.nv-pagina-checkout #place_order:hover{border-color:var(--nv-oro-borde);background:var(--nv-oro);color:#151515}
.nv-checkout__cambios{margin:15px 0 0;text-align:center;font-size:13px}
.nv-checkout__cambios a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:767px){.nv-pagina-checkout .ct-order-review{padding:15px}.nv-pagina-checkout form.nv-checkout__cupon{padding:20px 15px!important}}
/* Pedido recibido: recuadros con borde #e5e5e5 */
.nv-pagina-checkout .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:15px 40px;margin:0 0 30px;padding:20px 30px;list-style:none;border:1px solid var(--nv-border)}
.nv-pagina-checkout .woocommerce-order-overview li{margin:0;font-size:13px;text-transform:uppercase}
.nv-pagina-checkout .woocommerce-order-overview li strong{display:block;font-size:15px;text-transform:none}
.nv-pagina-checkout :is(.woocommerce-order-details,.woocommerce-customer-details){margin:0 0 30px;padding:30px;border:1px solid var(--nv-border)}

/* Envío gratis con el precio normal tachado al lado (novedad-envios.php). El tachado en gris y más
   pequeño: lo que manda es «Envío gratis», el otro número es solo la referencia de lo que se ahorra. */
.nv-envio-tachado{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.nv-envio-tachado del{color:var(--nv-price-compare,#6b6b6b);font-size:.92em;text-decoration-thickness:1px}

