/*
	Theme Name: Duvo (hijo de Savoy)
	Theme URI: https://duvo.mx
	Description: Tema hijo de Savoy para Duvo. Solo ajustes mínimos: la configuración va en las opciones de Savoy.
	Author: Duvo
	Template: savoy
	Version: 0.9.0
	Text Domain: duvo-child
*/

/* Inter alojada en el sitio (sin Google Fonts). Savoy: Tipografía › Font Source = Custom CSS. */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('fonts/inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
 * Marca Duvo (26/09/2026): fucsia sólido #E6007E, sin degradado; el sitio es blanco.
 * 27/09/2026: Humberto pidió un solo fucsia en todo el sitio (#E6007E, 4.49:1 sobre blanco; antes el texto chico usaba #DB0078).
 * (4.90:1 sobre blanco y 4.50:1 sobre #F5F5F5); el #E6007E queda para rellenos, viñetas y puntos.
 */
:root {
	--duvo-fucsia: #E6007E;
	--duvo-fucsia-texto: #E6007E;
	--duvo-texto: #111111;
	--duvo-texto-2: #6E6E73;
	--duvo-tarjeta: #F5F5F5;
}

/* Menú: página activa en fucsia (Savoy solo tiene color de «hover»). */
#nm-right-menu-ul > li.current-menu-item > a,
#nm-right-menu-ul > li.current-menu-ancestor > a,
#nm-mobile-menu-main-ul li.current-menu-item > a {
	color: var(--duvo-fucsia-texto);
}

/* Hero (banner de Savoy con la clase duvo-hero): titular en mayúsculas, ~56 px / 34 px. */
.duvo-hero .nm-banner .nm-banner-text .nm-banner-title {
	font-size: 56px;
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--duvo-texto);
	max-width: 11em;
}
.duvo-hero .nm-banner-link {
	display: inline-block;
	margin-top: 28px;
	padding: 14px 28px;
	border: 1px solid #E5E5EA;
	border-radius: 999px;
	background: #fff;
	color: var(--duvo-fucsia-texto);
	font-weight: 500;
	text-decoration: none;
}
.duvo-hero .nm-banner-link:hover { border-color: var(--duvo-fucsia); }
.duvo-hero .nm-banner .nm-banner-link { white-space: nowrap; }
@media (max-width: 767px) {
	.duvo-hero .nm-banner .nm-banner-text .nm-banner-title { font-size: 34px; }
	/* En móvil el titular va arriba, a lo ancho, y el sillón queda abajo (no encima). */
	.duvo-hero .nm-banner .nm-banner-content-inner { align-items: flex-start; padding-top: 32px; }
	.duvo-hero .nm-banner .nm-banner-text,
	.duvo-hero .nm-banner .nm-banner-text-inner { width: 100% !important; max-width: none !important; }
	.duvo-hero .nm-banner .nm-banner-link { margin-top: 20px; }
}

/* Viñetas fucsia de la frase de marca (lista de íconos de Elementor con la clase duvo-vinetas). */
.duvo-vinetas .elementor-icon-list-icon svg { fill: var(--duvo-fucsia); }
.duvo-vinetas .elementor-icon-list-icon i { color: var(--duvo-fucsia); }

/* Círculos de categorías del banner «Crea tu refugio» (fotos de ambiente: sin mezcla con el gris). */
.duvo-circulo a { display: inline-block; line-height: 0; border-radius: 50%; overflow: hidden; background: var(--duvo-tarjeta); }
.duvo-circulo img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.duvo-circulo .widget-image-caption { color: var(--duvo-texto); font-weight: 500; }

/*
 * Tarjetas, mosaico y círculos sobre #F5F5F5: las fotos del proveedor tienen fondo blanco puro,
 * así que se «funden» con el gris (mix-blend-mode) en lugar de verse como un cuadro blanco.
 */
/* La mezcla va en el enlace que contiene las dos fotos (principal y la del hover): dentro del enlace la foto
   del hover tapa por completo a la principal, y el conjunto se funde con el gris. Si se aplica a cada <img>,
   al pasar el mouse las dos fotos se multiplican entre sí y se ve una encimada sobre la otra. */
.nm-shop-loop-thumbnail > .woocommerce-LoopProduct-link { display: block; mix-blend-mode: multiply; }
.nm-shop-loop-thumbnail img { mix-blend-mode: normal; }
.duvo-mosaico .gallery-icon img { mix-blend-mode: multiply; }
.duvo-mosaico .gallery-icon { background: var(--duvo-tarjeta); border-radius: 16px; overflow: hidden; }

/* Carrusel: flechas siempre visibles (Savoy las muestra solo al pasar el mouse). */
.nm-product-slider .slick-prev,
.nm-product-slider .slick-next { opacity: 1 !important; }
.nm-product-slider .slick-disabled { opacity: 0.3 !important; }

/* Pie: el símbolo SVG no trae tamaño propio; Savoy permite hasta 30 px de alto. */
.nm-footer-bar-logo img { width: 40px; height: 24px; }

/* Banners del mosaico: en móvil el texto va fuera de la foto (opción de Savoy) y no se corta. */
.elementor-widget-nm-banner .nm-banner .nm-banner-title { white-space: normal; overflow: visible; text-overflow: clip; }

/* Pie mínimo centrado (también en móvil). */
.nm-footer-bar.layout-centered .nm-footer-bar-col-inner,
.nm-footer-bar.layout-centered .nm-footer-bar-text { text-align: center; }
.nm-footer-bar.layout-centered .nm-footer-bar-logo { float: none; width: 100%; margin-left: 0; margin-right: 0; display: flex !important; justify-content: center; }
.nm-footer-bar.layout-centered .nm-footer-bar-col { float: none; width: 100%; }
.nm-footer-bar.layout-centered .nm-footer-bar-copyright-text { float: none; display: block; width: 100%; text-align: center; }
.nm-footer-bar-copyright-text a { color: inherit; }
.nm-footer-bar-copyright-text a:hover { color: var(--duvo-fucsia-texto); }

/* Barra lateral de la tienda: conteo de productos en Categorías (Savoy lo oculta en todos los widgets). */
.nm-shop-sidebar .widget_product_categories ul li .count { display: inline; color: var(--duvo-texto-2); font-size: 0.9em; }

/* Carruseles del inicio en móvil: Slick toma la altura de la tarjeta más alta; los nombres a 2 líneas
   y menos aire arriba de los puntos reducen el hueco entre las tarjetas y la paginación. */
@media (max-width: 767px) {
	.elementor-widget-nm-product-slider .woocommerce-loop-product__title,
	.elementor-widget-nm-product-slider .nm-shop-loop-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.elementor-widget-nm-product-slider .slick-dots { padding-top: 4px; }
}

/* Esquinas redondeadas (estilo Apple). Savoy ya aplica: imágenes 18 px, campos 12 px, botones 30 px (píldora),
   ventanas 16 px (Opciones › Estilos › Bordes). Aquí solo lo que esas opciones no alcanzan. */
.duvo-hero .nm-banner-slider,
.duvo-hero .nm-banner,
.elementor-widget-nm-banner .nm-banner,
.duvo-mosaico img,
.duvo-mosaico .gallery-icon { border-radius: 18px; }
.flex-control-thumbs img,
.woocommerce-cart-form .product-thumbnail img,
.woocommerce-checkout-review-order-table img,
.nm-cart-panel .product_list_widget img,
.widget_shopping_cart .product_list_widget img { border-radius: 12px; }
/* Calculadora de envío de la ficha (PI) y búsqueda del encabezado. */
#calc_shipping_postcode,
.pisol-shipping-calculator-form input,
.nm-header-search input[type="text"],
.nm-header-search input[type="search"] { border-radius: 12px; }
.pisol-shipping-calculator-button,
.pisol-shipping-calculator-form button,
.pisol-shipping-calculator-form [type="submit"] { border-radius: 999px; }
/* Hero con margen lateral para que también se vean las esquinas redondeadas. */
.elementor-widget.duvo-hero { padding-left: 20px; padding-right: 20px; }
@media (max-width: 767px) { .elementor-widget.duvo-hero { padding-left: 12px; padding-right: 12px; } }

/* Círculos de categorías: etiqueta corta en una sola línea, mismo espacio y altura. */
.duvo-circulo figcaption, .duvo-circulo .widget-image-caption {
	margin-top: 10px; font-size: 15px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
@media (max-width: 767px) { .duvo-circulo figcaption, .duvo-circulo .widget-image-caption { font-size: 14px; } }

/* Mosaico (6 fotos) y 2 banners: misma altura arriba y abajo, mismo espacio (16 px) y mismo radio (18 px). */
.duvo-galeria { --duvo-gap: 16px; align-items: stretch; }
.duvo-galeria .duvo-mosaico { display: grid; grid-template-columns: 1fr 1fr; gap: var(--duvo-gap); }
.duvo-galeria .duvo-mosaico > .elementor-widget-image { width: auto !important; max-width: none !important; margin: 0 !important; }
.duvo-galeria .duvo-mosaico img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; }
@media (min-width: 768px) {
	.duvo-banners { display: flex; flex-direction: column; gap: var(--duvo-gap); }
	.duvo-banners > .elementor-widget-nm-banner { flex: 1 1 0; min-height: 0; margin: 0 !important; }
	.duvo-banners > .elementor-widget-nm-banner > .elementor-widget-container,
	.duvo-banners .nm-banner,
	.duvo-banners .nm-banner > a.nm-banner-link-full { height: 100%; }
	.duvo-banners .nm-banner img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
}
/* Subtítulo de los banners legible sobre la foto clara. */
.duvo-banners .nm-banner-subtitle, .duvo-banners .nm-banner-text p { color: #3A3A3C !important; }

/* Pie: logos de pago en gris, en fila. */
.duvo-pagos { display: flex; gap: 14px; align-items: center; justify-content: flex-end; }
.duvo-pagos img { width: 32px; height: 32px; opacity: .9; }
@media (max-width: 767px) { .duvo-pagos { justify-content: flex-start; } }
/* Círculos: la etiqueta usa todo el ancho del elemento; mosaico sin espacio extra de línea. */
.elementor-widget.duvo-circulo, .duvo-circulo > .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; }
.duvo-circulo figure.wp-caption, .duvo-circulo figcaption { width: 100% !important; max-width: none !important; }
.duvo-galeria .duvo-mosaico .elementor-widget-image,
.duvo-galeria .duvo-mosaico .elementor-widget-image a { display: block; line-height: 0; }

/* Bloque «Entrega» de la ficha (js/duvo-entrega.js). */
.duvo-entrega { margin-top: 24px; padding: 18px 20px 20px; background: var(--duvo-tarjeta); border-radius: 18px; }
.duvo-entrega-titulo { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--duvo-texto); }
.duvo-entrega .pisol-ppscw-container { margin: 0; }
.duvo-entrega-resultado { margin-top: 14px; padding: 12px 14px; background: #fff; border-radius: 12px; font-size: 15px; line-height: 1.45; color: var(--duvo-texto); }
.duvo-entrega-resultado strong { font-weight: 600; }
.duvo-entrega-resultado.es-cotizacion a { color: var(--duvo-fucsia-texto); text-decoration: underline; }
/* Carrito y pago: fecha bajo el método de envío. */
.duvo-entrega-fecha { margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--duvo-texto-2); }
/* Calculadora de PI dentro del bloque «Entrega»: botones en píldora y caja blanca redondeada (sus colores van en las opciones de PI). */
.duvo-entrega .pisol-shipping-calculator-button, .duvo-entrega .pisol-update-address-button { border-radius: 999px !important; }
.duvo-entrega .pisol-ppscw-alert, .duvo-entrega .pisol-shipping-calculator-form { border-radius: 12px !important; box-shadow: none !important; }

/* 0.4.6 — Plantilla «Texto legal» (políticas y ayuda): columna de lectura centrada de 760 px, título centrado, texto a la izquierda. */
.duvo-texto-legal .entry-content { max-width: 760px; margin: 0 auto; padding: 48px 0 72px; font-size: 17px; line-height: 1.6; text-align: left; }
.duvo-texto-legal .entry-content :is(p, li, h2, h3, h4, ul, ol, div) { text-align: left; }
.duvo-texto-legal .entry-content h1.duvo-texto-legal-titulo { text-align: center; font-size: 34px; line-height: 1.25; margin: 0 0 32px; }
.duvo-texto-legal .entry-content h2 { font-size: 22px; line-height: 1.35; margin: 40px 0 12px; }
.duvo-texto-legal .entry-content h3 { font-size: 18px; margin: 28px 0 8px; }
.duvo-texto-legal .entry-content :is(p, ul, ol) { margin: 0 0 16px; }
.duvo-texto-legal .entry-content li { margin-bottom: 6px; }
@media (max-width: 767px) { .duvo-texto-legal .entry-content { padding: 28px 5px 56px; font-size: 16px; } .duvo-texto-legal .entry-content h1.duvo-texto-legal-titulo { font-size: 28px; margin-bottom: 24px; } .duvo-texto-legal .entry-content h2 { font-size: 20px; margin-top: 32px; } }

/* 0.4.7 — Bloque «Categorías» de la tienda: solo principales, gris; la actual y al pasar el mouse, fucsia de marca. */
.widget_product_categories ul.product-categories > li > a { color: #767676; }
.widget_product_categories ul.product-categories > li > a:hover, .widget_product_categories ul.product-categories > li:is(.current-cat, .current-cat-parent, .current-cat-ancestor) > a, .post-type-archive-product .widget_product_categories ul.product-categories > li.cat-item-all > a { color: #E6007E; }

/* 0.4.8–0.4.12 — Banners de Savoy: ancho 100% (el alto sale de width/height) y, en celular, alto mínimo del hero según el ancho de pantalla (foto 1080×1350 + puntos) para que no salte al cargar (CLS). */
html .slick-slider .nm-banner img, html .nm-banner img { width: 100%; }
@media (max-width: 767px) { .elementor-widget.duvo-hero { min-height: calc((100vw - 24px) * 1.25 + 42px); } }

/* 0.5.0 — Bloque «Entrega» abierto (título, CP + «Ver» en una línea, una sola respuesta con «Cambiar»),
   botones sin mayúsculas y selector de cantidad «− 1 +» redondeado (flechas de Savoy con otro dibujo). */
.duvo-entrega .pisol-shipping-calculator-button { display: none !important; }
.duvo-entrega .pisol-ppscw-alert { display: none !important; }
.duvo-entrega.aviso .pisol-ppscw-alert { display: block !important; margin-top: 8px; padding: 0 !important; background: none !important; font-size: 13px; color: var(--duvo-texto-2); }
.duvo-entrega .pisol-shipping-calculator-form { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.duvo-entrega .pisol-shipping-calculator-form > p { margin: 0 !important; padding: 0 !important; }
.duvo-entrega .pisol-shipping-calculator-form > p:has(#calc_shipping_postcode) { flex: 1; min-width: 0; }
.duvo-entrega #calc_shipping_postcode { width: 100%; height: 44px; margin: 0; padding: 0 14px; font-size: 16px; background: #fff; border: 1px solid #E5E5EA; }
.duvo-entrega .pisol-shipping-calculator-form button, .duvo-entrega .pisol-shipping-calculator-form [type="submit"] { height: 44px; margin: 0 !important; padding: 0 18px !important; background: transparent !important; color: var(--duvo-fucsia) !important; border: 1px solid var(--duvo-fucsia) !important; font-size: 15px; font-weight: 500; text-transform: none !important; letter-spacing: normal !important; white-space: nowrap; }
.duvo-entrega .pisol-shipping-calculator-form button:hover, .duvo-entrega .pisol-shipping-calculator-form [type="submit"]:hover { background: var(--duvo-fucsia) !important; color: #fff !important; }
.duvo-entrega.con-resultado .pisol-shipping-calculator-form { display: none !important; }
.duvo-entrega.calculando:not(.editando) .pisol-shipping-calculator-form { visibility: hidden; height: 44px; }
.duvo-entrega.calculando:not(.editando):not(.con-resultado)::after { content: "Calculando la entrega…"; display: block; margin-top: -34px; font-size: 14px; color: var(--duvo-texto-2); }
.duvo-entrega .duvo-entrega-resultado { margin: 0; padding: 0; background: none; font-size: 15px; line-height: 1.5; }
.duvo-entrega-cambiar { margin: 0 0 0 6px; padding: 0; background: none !important; border: 0; color: var(--duvo-fucsia); font-size: 13px; text-decoration: underline; text-underline-offset: 2px; text-transform: none; letter-spacing: normal; cursor: pointer; }
.pisol-ppscw-container button, .pisol-ppscw-container .button { text-transform: none !important; letter-spacing: normal !important; }
.summary .quantity:has(.nm-qty-minus), .woocommerce-cart-form .quantity:has(.nm-qty-minus) { display: inline-flex; align-items: center; height: 44px; border: 1px solid #E5E5EA; border-radius: 999px; overflow: hidden; background: #fff; }
.summary .quantity .nm-qty-minus, .summary .quantity .nm-qty-plus, .woocommerce-cart-form .quantity .nm-qty-minus, .woocommerce-cart-form .quantity .nm-qty-plus { display: flex; align-items: center; justify-content: center; width: 40px; height: 100%; font-size: 0; transform: none; cursor: pointer; color: var(--duvo-texto); }
.summary .quantity .nm-qty-minus::before, .summary .quantity .nm-qty-plus::before, .woocommerce-cart-form .quantity .nm-qty-minus::before, .woocommerce-cart-form .quantity .nm-qty-plus::before { font-family: -apple-system, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1; content: "+"; }
.summary .quantity .nm-qty-minus::before, .woocommerce-cart-form .quantity .nm-qty-minus::before { content: "\2212"; }
.summary .quantity .nm-qty-minus:hover, .summary .quantity .nm-qty-plus:hover, .woocommerce-cart-form .quantity .nm-qty-minus:hover, .woocommerce-cart-form .quantity .nm-qty-plus:hover { color: var(--duvo-fucsia); }
.summary .quantity:has(.nm-qty-minus) input.qty, .woocommerce-cart-form .quantity:has(.nm-qty-minus) input.qty { width: 36px; height: 100%; padding: 0; border: 0 !important; background: transparent; text-align: center; font-size: 16px; -moz-appearance: textfield; }
.summary .quantity:has(.nm-qty-minus) input.qty::-webkit-outer-spin-button, .summary .quantity:has(.nm-qty-minus) input.qty::-webkit-inner-spin-button, .woocommerce-cart-form .quantity:has(.nm-qty-minus) input.qty::-webkit-outer-spin-button, .woocommerce-cart-form .quantity:has(.nm-qty-minus) input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.duvo-entrega:not(.aviso) .pisol-ppscw-alert-container, .duvo-entrega .pisol-ppscw-error:empty { display: none !important; }
.duvo-entrega.aviso .pisol-ppscw-alert-container { display: block; }
.duvo-entrega.con-resultado .pisol-ppscw-container { display: none !important; }

/* 0.5.4 — Ficha: variaciones sin recuadros (etiqueta a la izquierda, opciones a la derecha), tamaños como botones,
   elegido con anillo fucsia, «Color: Coral», y el aviso gris de PI dentro del bloque «Entrega» como nota. */
.summary table.variations, .summary table.variations tbody, .summary table.variations tr, .summary table.variations th, .summary table.variations td,
.summary .nm-quantity-wrap, .summary .nm-quantity-wrap * { border: 0 !important; background: none; box-shadow: none; }
.summary .nm-quantity-wrap .quantity:has(.nm-qty-minus) { border: 1px solid #E5E5EA !important; }
.summary table.variations th.label { padding: 12px 16px 12px 0; vertical-align: middle; font-weight: 500; color: var(--duvo-texto); white-space: nowrap; }
.summary table.variations td.value { padding: 12px 0; text-align: right; vertical-align: middle; }
.duvo-opcion-elegida { font-weight: 400; color: var(--duvo-texto-2); }
.nm-variation-control-color li i.nm-pa-color { box-shadow: 0 0 0 1px #E5E5EA; }
.nm-variation-control-color li.selected i.nm-pa-color { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--duvo-fucsia); }
.nm-variation-control-color li, .nm-variation-control-color li.selected { border: 0 !important; }
.nm-variation-control-size li { display: inline-flex; align-items: center; margin: 4px 0 4px 8px; padding: 8px 16px; border: 1px solid #E5E5EA !important; border-radius: 999px; font-size: 14px; line-height: 1.2; color: var(--duvo-texto); cursor: pointer; }
.nm-variation-control-size li span { border: 0 !important; padding: 0 !important; }
.nm-variation-control-size li:hover { border-color: var(--duvo-fucsia) !important; }
.nm-variation-control-size li.selected { border-color: var(--duvo-fucsia) !important; box-shadow: inset 0 0 0 1px var(--duvo-fucsia); color: var(--duvo-fucsia); }
.single-product #pisol-ppscw-other-messages { display: none !important; }
.duvo-entrega.sin-variante:not(.con-resultado) .pisol-ppscw-container { display: block !important; }
.duvo-entrega-nota { margin: 0 0 10px; font-size: 14px; line-height: 1.4; color: var(--duvo-texto-2); }
.summary .nm-quantity-wrap > label { left: 0 !important; font-weight: 500; color: var(--duvo-texto); }

/* 0.6.1 — Aviso de hora de corte (bloque «Entrega» y carrito). Discreto: gris con la hora/fecha en negro. */
.duvo-entrega-corte { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: #6E6E73; }
.duvo-entrega-corte strong { color: #1D1D1F; font-weight: 600; }
.duvo-entrega.calculando:not(.editando):not(.con-resultado) .duvo-entrega-corte { display: none; } /* el «Calculando…» ocupa su lugar un momento */
.cart_totals .duvo-entrega-corte { margin: 4px 0 12px; font-size: 12px; text-align: inherit; }

/* 0.6.3–0.6.4 — Selector de cantidad: el estilo «− 1 +» blanco quedó solo en la ficha (.summary) y en la página del carrito
 * (.woocommerce-cart-form). Minicarrito (panel oscuro de Savoy) con estilo propio: compacto, contorno fino claro,
 * fondo transparente, alineado a la izquierda bajo el nombre. */
#nm-cart-panel .nm-cart-panel-quantity-pricing { display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow: visible; margin-top: 8px; }
#nm-cart-panel .product-quantity { float: none; flex: 0 0 auto; }
#nm-cart-panel .nm-quantity-wrap .quantity { display: inline-flex; align-items: center; margin: 0; height: 30px; padding: 0 2px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: transparent; overflow: visible; }
#nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-minus,
#nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-plus { display: flex; align-items: center; justify-content: center; width: 26px; height: 28px; font-size: 0; line-height: 1; text-align: center; transform: none; cursor: pointer; color: #E5E5EA; }
#nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-minus::before,
#nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-plus::before { font-family: -apple-system, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1; content: "+"; }
#nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-minus::before { content: "\2212"; }
.no-touch #nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-minus:hover,
.no-touch #nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-plus:hover { color: #FFFFFF; }
#nm-cart-panel .nm-quantity-wrap .quantity .qty { width: 24px; height: 28px; margin: 0; padding: 0; border: 0 !important; background: transparent !important; color: #FFFFFF; font-size: 14px; line-height: 28px; text-align: center; -moz-appearance: textfield; }
#nm-cart-panel .nm-quantity-wrap .quantity .qty::-webkit-outer-spin-button,
#nm-cart-panel .nm-quantity-wrap .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#nm-cart-panel .nm-cart-panel-item-price { flex: 0 0 auto; white-space: nowrap; }
#nm-cart-panel .nm-cart-panel-product-title { display: block; padding-right: 28px; overflow-wrap: anywhere; } /* el nombre largo salta de línea sin tocar la X ni empujar el precio */
.cart-panel-dark #nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-minus,
.cart-panel-dark #nm-cart-panel .nm-quantity-wrap .quantity .nm-qty-plus { color: #E5E5EA; } /* Savoy pinta estos signos con más especificidad */
.cart-panel-dark #nm-cart-panel .nm-quantity-wrap .quantity .qty { color: #FFFFFF; }
/* Página del carrito: Savoy fija aquí flechas pequeñas y margen negativo con más especificidad; «− 1 +» completo. */
.shop_table.cart .product-quantity .nm-quantity-wrap .quantity { display: inline-flex; align-items: center; margin: 0; height: 36px; padding: 0 2px; border: 1px solid #E5E5EA; border-radius: 999px; background: #fff; overflow: visible; }
.shop_table.cart .product-quantity .quantity .nm-qty-minus,
.shop_table.cart .product-quantity .quantity .nm-qty-plus { display: flex; align-items: center; justify-content: center; width: 32px; height: 34px; font-size: 0; line-height: 1; text-align: center; }
.shop_table.cart .product-quantity .quantity .nm-qty-minus::before,
.shop_table.cart .product-quantity .quantity .nm-qty-plus::before { font-size: 18px; }
.shop_table.cart .product-quantity .quantity .qty { width: 28px; height: 34px; line-height: 34px; font-size: 15px; }
.shop_table.cart .product-quantity .nm-quantity-wrap label.nm-qty-label-abbrev { display: none; }

/* 0.6.7 — Pago con tarjeta de Mercado Pago dentro del sitio: mismo aspecto que los campos del checkout
 * (esquinas 12 px, borde #E1E1E1, 48 px, tipografía Inter), íconos de tarjeta más grandes y orden
 * número → vencimiento / código → nombre. Sin selector de cuotas (ver js/duvo-mp-tarjeta.js). */
.mp-checkout-custom-container,
.mp-checkout-custom-container input,
.mp-checkout-custom-container select,
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-input-label { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; }
.mp-checkout-custom-card-form { display: flex; flex-direction: column; gap: 14px; }
.mp-checkout-custom-card-form > .mp-checkout-custom-card-row:first-child { order: 1; }
.mp-checkout-custom-card-form > .mp-checkout-custom-dual-column-row { order: 2; }
.mp-checkout-custom-card-form > #mp-card-holder-div { order: 3; }
.mp-checkout-custom-card-form > #mp-doc-div { order: 4; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-card-input,
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-security-code-input,
body #mp-checkout-custom-root #mp-custom-checkout-form-container input.mp-checkout-custom-card-input {
	height: 48px !important;
	border: 1px solid #E1E1E1 !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	box-shadow: none !important;
	transition: border-color .15s ease;
}
body #mp-checkout-custom-root #mp-custom-checkout-form-container input.mp-checkout-custom-card-input { padding: 0 16px !important; font-size: 16px !important; color: #1D1D1F !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-card-input:focus-within,
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-security-code-input:focus-within,
body #mp-checkout-custom-root #mp-custom-checkout-form-container input.mp-checkout-custom-card-input:focus { border-color: #1D1D1F !important; outline: none !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-card-input.mp-error,
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-security-code-input.mp-error,
body #mp-checkout-custom-root #mp-custom-checkout-form-container input.mp-checkout-custom-card-input.mp-error { border-color: #D70015 !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-input-label { padding: 0 0 6px 0 !important; font-size: 14px !important; font-weight: 500 !important; color: #1D1D1F !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-helper { font-size: 12px !important; }
#mp-checkout-custom-root img[alt="Visa"],
#mp-checkout-custom-root img[alt="Mastercard"],
#mp-checkout-custom-root img[alt="American Express"],
.mp-checkout-custom-container img[alt="Visa"],
.mp-checkout-custom-container img[alt="Mastercard"],
.mp-checkout-custom-container img[alt="American Express"] { width: 44px !important; height: 30px !important; object-fit: contain; }
#mp-checkout-custom-installments-card { display: none !important; } /* una sola exhibición */
.duvo-mp-una-exhibicion { order: 5; margin: 2px 0 0; font-size: 13px; color: #6E6E73; }
/* El plugin da al código de seguridad un selector propio más específico (con !important). */
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-column .mp-checkout-custom-security-code-container .mp-checkout-custom-security-code-input { border: 1px solid #E1E1E1 !important; border-radius: 12px !important; height: 48px !important; background: #FFFFFF !important; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-column .mp-checkout-custom-security-code-container .mp-checkout-custom-security-code-input:focus-within { border-color: #1D1D1F !important; }
body #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-column .mp-checkout-custom-security-code-container .mp-checkout-custom-security-code-input.mp-error { border-color: #D70015 !important; }

/* 0.6.11 — Página de gracias: aviso mientras se confirma el pago con Mercado Pago. */
.duvo-confirmando { margin: 0 0 16px; font-size: 14px; color: #6E6E73; }

/* 0.7.0 — Mi cuenta · Mis pedidos (maqueta «duvo — Mi cuenta · Mis pedidos»). Inter, #1D1D1F, #6E6E73, bordes #E5E5EA,
 * fucsia #E6007E solo de acento, esquinas 20–24 px, botones redondeados, zonas táctiles ≥ 44 px. */
.duvo-cuenta { display: flex; gap: 72px; align-items: flex-start; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1D1D1F; }
.duvo-cuenta a { text-decoration: none; }
.duvo-cuenta__lateral { width: 240px; flex-shrink: 0; display: flex; flex-direction: column; gap: 28px; }
.duvo-cuenta__sub { font-size: 13px; color: #6E6E73; margin-bottom: 6px; }
.duvo-cuenta__hola { font-size: 26px; font-weight: 600; letter-spacing: -0.5px; line-height: 1.2; }
.duvo-cuenta .woocommerce-MyAccount-navigation { float: none; width: auto; margin: 0; padding: 0; border: 0; }
.duvo-cuenta__menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.duvo-cuenta__menu li { margin: 0; padding: 0; border: 0; }
.duvo-cuenta__menu li a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 12px; font-size: 15px; color: #1D1D1F; }
.duvo-cuenta__menu li a:hover { background: #F5F5F7; color: #1D1D1F; }
.duvo-cuenta__menu li.is-active a { background: #F5F5F7; font-weight: 600; }
.duvo-cuenta__menu li.woocommerce-MyAccount-navigation-link--customer-logout a { color: #6E6E73; }
.duvo-cuenta__ayuda { padding: 20px; border-radius: 16px; background: #F5F5F7; display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 1.5; color: #6E6E73; }
.duvo-cuenta__ayuda strong { font-size: 14px; color: #1D1D1F; }
.duvo-cuenta__ayuda a, .duvo-ayuda a { color: #1D1D1F; font-weight: 600; }
.duvo-cuenta__contenido { flex: 1 1 auto; min-width: 0; float: none; width: auto; padding: 0; }
.duvo-gris { color: #6E6E73; }

/* Lista */
.duvo-pedidos { display: flex; flex-direction: column; gap: 32px; }
.duvo-pedidos__cabeza { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.duvo-pedidos__titulo { margin: 0 0 8px; font-size: 40px; font-weight: 600; letter-spacing: -1.2px; line-height: 1.1; color: #1D1D1F; }
.duvo-pedidos__bajada { margin: 0; font-size: 16px; color: #6E6E73; }
.duvo-filtros { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: #F5F5F7; }
.duvo-filtros__op { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: 999px; font-size: 14px; font-weight: 500; color: #6E6E73; }
.duvo-filtros__op:hover { color: #1D1D1F; }
.duvo-filtros__op.is-activo { background: #FFFFFF; color: #1D1D1F; font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.duvo-pedidos__lista { display: flex; flex-direction: column; gap: 20px; }
.duvo-pedido { border: 1px solid #E5E5EA; border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 28px; }
.duvo-pedido__cabeza { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.duvo-pedido__num { margin: 0 0 6px; font-size: 20px; font-weight: 600; letter-spacing: -0.3px; color: #1D1D1F; }
.duvo-pedido__meta { font-size: 14px; color: #6E6E73; }
.duvo-pedido__estado { display: flex; align-items: center; gap: 20px; }
.duvo-pedido__total { font-size: 20px; font-weight: 600; white-space: nowrap; }
.duvo-pill { display: inline-block; font-size: 13px; font-weight: 600; line-height: 1; padding: 8px 14px; border-radius: 999px; white-space: nowrap; }
.duvo-pill--gris { background: #F5F5F7; color: #1D1D1F; }
.duvo-pill--fucsia { background: #FDE7F2; color: #A3005A; }
.duvo-pill--verde { background: #E9F5EC; color: #1E6B3A; }
.duvo-pedido__articulos { display: flex; gap: 16px 24px; align-items: center; flex-wrap: wrap; }
.duvo-articulo { display: flex; gap: 14px; align-items: center; min-width: 0; }
.duvo-articulo__foto { width: 72px; height: 72px; flex-shrink: 0; border-radius: 16px; background: #F5F5F7; overflow: hidden; }
.duvo-articulo__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.duvo-articulo__foto--grande { width: 120px; height: 120px; border-radius: 20px; }
.duvo-articulo__nombre { font-size: 15px; font-weight: 500; }
.duvo-articulo__detalle { font-size: 13px; color: #6E6E73; margin-top: 4px; }
.duvo-pedido__mas { font-size: 14px; color: #6E6E73; }
.duvo-avance { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.duvo-avance__paso { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.duvo-avance__barra { display: block; height: 4px; border-radius: 2px; background: #E5E5EA; }
.duvo-avance__nombre { font-size: 13px; color: #86868B; }
.duvo-avance__fecha { font-size: 13px; color: #6E6E73; }
.duvo-avance__paso.is-hecho .duvo-avance__barra { background: #1D1D1F; }
.duvo-avance__paso.is-hecho .duvo-avance__nombre { color: #1D1D1F; }
.duvo-avance__paso.is-actual .duvo-avance__barra { background: #E6007E; }
.duvo-avance__paso.is-actual .duvo-avance__nombre { color: #E6007E; font-weight: 600; }
.duvo-avance--grande { gap: 12px; padding: 32px; border-radius: 24px; background: #F5F5F7; }
.duvo-avance--grande .duvo-avance__nombre { font-size: 15px; font-weight: 600; }
.duvo-avance--grande .duvo-avance__paso.is-pendiente .duvo-avance__nombre { font-weight: 500; }
.duvo-avance--grande .duvo-avance__paso.is-pendiente .duvo-avance__barra { background: #D2D2D7; }
.duvo-pedido__pie { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 24px; border-top: 1px solid #F0F0F2; flex-wrap: wrap; }
.duvo-pedido__eta { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.duvo-pedido__eta strong { font-weight: 600; }
.duvo-pedido__botones { display: flex; gap: 12px; align-items: center; }
.duvo-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.duvo-btn--borde { border: 1px solid #1D1D1F; color: #1D1D1F; background: #FFFFFF; }
.duvo-btn--borde:hover { background: #1D1D1F; color: #FFFFFF; }
.duvo-btn--fucsia { background: #E6007E; color: #FFFFFF; border: 1px solid #E6007E; }
.duvo-btn--fucsia:hover { background: #C4006B; border-color: #C4006B; color: #FFFFFF; }
.duvo-btn--texto { padding: 0 8px; font-weight: 500; color: #6E6E73; }
.duvo-btn--texto:hover { color: #1D1D1F; }
.duvo-btn--chico { width: fit-content; }
.duvo-paginacion { display: flex; gap: 12px; justify-content: center; }
.duvo-vacio { border: 1px dashed #D2D2D7; border-radius: 24px; padding: 64px 24px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.duvo-vacio__titulo { font-size: 18px; font-weight: 600; }
.duvo-vacio__texto { font-size: 15px; color: #6E6E73; margin-bottom: 8px; }

/* Detalle */
.duvo-detalle { display: flex; flex-direction: column; gap: 36px; }
.duvo-detalle__volver { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; width: fit-content; font-size: 14px; color: #6E6E73; }
.duvo-detalle__volver:hover { color: #1D1D1F; }
.duvo-detalle__cabeza { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.duvo-detalle__titulo { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.duvo-detalle__titulo h1 { margin: 0; font-size: 40px; font-weight: 600; letter-spacing: -1.2px; line-height: 1.1; color: #1D1D1F; }
.duvo-detalle__meta { font-size: 15px; color: #6E6E73; }
.duvo-detalle__eta { text-align: right; font-size: 13px; }
.duvo-detalle__eta-texto { font-size: 20px; font-weight: 600; letter-spacing: -0.3px; margin-top: 4px; }
.duvo-detalle__cuerpo { display: flex; gap: 48px; align-items: flex-start; }
.duvo-detalle__productos { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.duvo-detalle__productos h2, .duvo-detalle__notas h2 { margin: 0; font-size: 18px; font-weight: 600; color: #1D1D1F; }
.duvo-detalle__producto { display: flex; gap: 24px; align-items: center; padding: 24px 0; border-top: 1px solid #E5E5EA; }
.duvo-detalle__producto:last-of-type { border-bottom: 1px solid #E5E5EA; }
.duvo-detalle__producto-texto { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; font-size: 14px; min-width: 0; }
.duvo-detalle__producto-nombre { font-size: 18px; font-weight: 600; color: #1D1D1F; }
.duvo-detalle__producto-precio { font-size: 18px; font-weight: 600; white-space: nowrap; }
.duvo-detalle__acciones { display: flex; gap: 12px; flex-wrap: wrap; }
.duvo-detalle__notas { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.duvo-detalle__nota { padding: 16px 20px; border-radius: 16px; background: #F5F5F7; font-size: 14px; }
.duvo-detalle__nota p { margin: 4px 0 0; }
.duvo-detalle__lateral { width: 400px; flex-shrink: 0; display: flex; flex-direction: column; gap: 16px; }
.duvo-caja { border: 1px solid #E5E5EA; border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.duvo-caja__titulo { font-size: 13px; font-weight: 600; color: #6E6E73; }
.duvo-caja__fila { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.duvo-caja__linea { height: 1px; background: #E5E5EA; }
.duvo-caja__total { align-items: baseline; font-weight: 600; }
.duvo-caja__total span:last-child { font-size: 22px; }
.duvo-caja__nota { font-size: 12px; line-height: 1.5; color: #6E6E73; }
.duvo-caja__bloque { display: flex; flex-direction: column; gap: 8px; }
.duvo-caja__bloque + .duvo-caja__bloque { margin-top: 8px; }
.duvo-caja__texto { font-size: 15px; line-height: 1.5; }
.duvo-ayuda { padding: 20px 24px; border-radius: 20px; background: #F5F5F7; font-size: 14px; line-height: 1.5; color: #6E6E73; }

/* Celular */
@media (max-width: 991px) {
	.duvo-cuenta { flex-direction: column; gap: 24px; }
	.duvo-cuenta__lateral { width: 100%; gap: 16px; }
	.duvo-cuenta__hola { font-size: 13px; font-weight: 400; color: #6E6E73; letter-spacing: 0; }
	.duvo-cuenta__sub, .duvo-cuenta__ayuda { display: none; }
	.duvo-cuenta__menu { margin-right: -20px; }
	.duvo-cuenta__menu ul { flex-direction: row; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-right: 20px; }
	.duvo-cuenta__menu ul::-webkit-scrollbar { display: none; }
	.duvo-cuenta__menu li { flex-shrink: 0; scroll-snap-align: start; }
	.duvo-cuenta__menu li a { min-height: 44px; padding: 0 16px; border-radius: 999px; background: #F5F5F7; font-size: 14px; font-weight: 500; white-space: nowrap; }
	.duvo-cuenta__menu li.is-active a { background: #1D1D1F; color: #FFFFFF; font-weight: 600; }
	.duvo-detalle__cuerpo { flex-direction: column; }
	.duvo-detalle__lateral { width: 100%; }
}
@media (max-width: 767px) {
	.duvo-pedidos { gap: 20px; }
	.duvo-pedidos__titulo, .duvo-detalle__titulo h1 { font-size: 32px; letter-spacing: -1px; }
	.duvo-pedidos__bajada { display: none; }
	.duvo-filtros { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.duvo-filtros__op { padding: 0 8px; }
	.duvo-pedido { border-radius: 20px; padding: 20px; gap: 18px; }
	.duvo-pedido__num { font-size: 17px; }
	.duvo-pedido__meta { font-size: 13px; }
	.duvo-pedido__estado { flex-direction: column; align-items: flex-end; gap: 8px; }
	.duvo-pedido__total { font-size: 16px; }
	.duvo-pill { font-size: 12px; padding: 7px 12px; }
	.duvo-pedido__articulos { flex-direction: column; align-items: stretch; gap: 12px; }
	.duvo-articulo__foto { width: 64px; height: 64px; border-radius: 14px; }
	.duvo-avance { gap: 4px; }
	.duvo-pedido .duvo-avance__nombre { display: none; }
	.duvo-pedido__pie { flex-direction: column; align-items: stretch; padding-top: 16px; }
	.duvo-pedido__eta { font-size: 13px; }
	.duvo-pedido__eta svg { display: none; }
	.duvo-pedido__botones { flex-direction: column-reverse; align-items: stretch; gap: 8px; }
	.duvo-pedido__botones .duvo-btn { width: 100%; }
	.duvo-avance--grande { grid-template-columns: 1fr; gap: 16px; padding: 20px; border-radius: 20px; }
	.duvo-avance--grande .duvo-avance__paso { display: grid; grid-template-columns: 4px 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; }
	.duvo-avance--grande .duvo-avance__barra { grid-row: 1 / span 2; width: 4px; height: auto; }
	.duvo-detalle__eta { text-align: left; }
	.duvo-detalle__producto { gap: 16px; align-items: flex-start; }
	.duvo-articulo__foto--grande { width: 88px; height: 88px; border-radius: 16px; }
	.duvo-detalle__producto-nombre, .duvo-detalle__producto-precio { font-size: 16px; }
	.duvo-detalle__acciones .duvo-btn { flex: 1 1 100%; }
}
/* 0.7.1 — Ajustes tras la revisión visual: Savoy da a los enlaces del menú de Mi cuenta display:block, relleno inferior
 * y borde con más especificidad; se refuerza. Zonas táctiles ≥ 44 px, tarjetas blancas, contenido centrado. */
.duvo-cuenta { max-width: 1200px; margin: 48px auto 80px; padding: 0 20px; box-sizing: border-box; }
.duvo-cuenta .duvo-cuenta__menu ul li { display: block; line-height: 1.2; }
.duvo-cuenta .duvo-cuenta__menu ul li a { display: flex !important; align-items: center; min-height: 44px; padding: 0 16px !important; border: 0 !important; font-size: 15px !important; line-height: 1.2 !important; }
.duvo-filtros__op { min-height: 44px; }
.duvo-detalle__producto-nombre { display: inline-flex; align-items: center; min-height: 44px; }
.duvo-pedido, .duvo-caja, .duvo-vacio { background: #FFFFFF; }
@media (max-width: 991px) {
	.duvo-cuenta { margin: 24px auto 56px; }
	.duvo-cuenta .duvo-cuenta__menu ul li a { font-size: 14px !important; border-radius: 999px; }
}
@media (max-width: 767px) {
	.duvo-pedido__botones { flex-direction: column; }
	.duvo-pedido__botones .duvo-btn--fucsia { order: 0; }
	.duvo-pedido__botones .duvo-btn--borde { order: 1; }
	.duvo-pedido__botones .duvo-btn--texto { order: 2; }
}
@media (max-width: 991px) {
	.duvo-cuenta .duvo-cuenta__menu ul li.is-active a { background: #1D1D1F !important; color: #FFFFFF !important; }
}
.duvo-cuenta .duvo-cuenta__menu ul li a { color: #1D1D1F; }

/* 0.7.3 — Mi cuenta: Facturación y Lista de deseos. */
.duvo-facturacion, .duvo-deseos { display: flex; flex-direction: column; gap: 28px; }
.duvo-facturacion .duvo-pedidos__bajada { max-width: 720px; line-height: 1.5; }
.duvo-fact-caja { padding: 32px; border-radius: 24px; gap: 20px; }
.duvo-fact-cabeza { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.duvo-fact-intro { margin: 0; font-size: 14px; color: #6E6E73; max-width: 560px; }
form.duvo-fact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.duvo-fact-form .duvo-fact-datos { display: contents; }
.duvo-fact-form .duvo-fact-campo--ancho, .duvo-fact-form .duvo-fact-aviso-mes, .duvo-fact-form .duvo-fact-enviar, .duvo-fact-form .wpcf7-response-output { grid-column: 1 / -1; }
.duvo-fact-form label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500; color: #1D1D1F; }
.duvo-fact-form .wpcf7-form-control-wrap { display: block; }
.duvo-fact-form input[type="text"], .duvo-fact-form input[type="email"], .duvo-fact-form select { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid #E1E1E1; border-radius: 12px; background: #FFFFFF; font-family: inherit; font-size: 15px; color: #1D1D1F; box-sizing: border-box; }
.duvo-fact-form input:focus, .duvo-fact-form select:focus { border-color: #1D1D1F; outline: none; }
.duvo-fact-form input[type="file"] { min-height: 44px; font-size: 14px; }
.duvo-fact-form .wpcf7-not-valid { border-color: #D70015 !important; }
.duvo-fact-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: #D70015; }
.duvo-fact-privacidad { font-size: 13px; color: #6E6E73; }
.duvo-fact-privacidad label { display: inline; font-weight: 400; }
.duvo-fact-privacidad input[type="checkbox"] { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; }
.duvo-fact-enviar input[type="submit"] { min-height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: #E6007E; color: #FFFFFF; font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.duvo-fact-enviar input[type="submit"]:hover { background: #C4006B; }
.duvo-fact-enviar input[type="submit"]:disabled { background: #D2D2D7; cursor: not-allowed; }
.duvo-fact-aviso-mes, .duvo-fact-nota { padding: 14px 18px; border-radius: 14px; background: #FFF4E5; color: #7A4B00; font-size: 14px; line-height: 1.5; }
.duvo-fact-nota { background: #F5F5F7; color: #1D1D1F; }
.duvo-fact-form .wpcf7-response-output { margin: 0 !important; padding: 14px 18px !important; border-radius: 14px; border: 0 !important; background: #F5F5F7; font-size: 14px; }
form.duvo-fact-form.sent .wpcf7-response-output { background: #E9F5EC; color: #1E6B3A; }
.duvo-fact-historial { display: flex; flex-direction: column; gap: 4px; }
.duvo-fact-historial h2 { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
.duvo-fact-fila { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; border-bottom: 1px solid #E5E5EA; font-size: 15px; }
.duvo-fact-fila a { color: #1D1D1F; font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
.duvo-btn--estatico { cursor: default; }
.duvo-deseos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo { list-style: none; margin: 0; padding: 16px; border: 1px solid #E5E5EA; border-radius: 24px; background: #FFFFFF; display: flex; flex-direction: column; gap: 14px; width: auto; float: none; transition: opacity .3s ease; }
#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo.removing { opacity: .3; }
#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo > li { margin: 0; padding: 0; border: 0; list-style: none; width: auto; float: none; }
.duvo-deseo__foto a { display: block; border-radius: 16px; overflow: hidden; background: #F5F5F7; aspect-ratio: 1 / 1; }
.duvo-deseo__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.duvo-deseo__texto { display: flex; flex-direction: column; gap: 6px; }
.duvo-deseo__nombre { font-size: 16px; font-weight: 600; color: #1D1D1F; line-height: 1.3; }
.duvo-deseo__precio { font-size: 15px; color: #1D1D1F; }
.duvo-deseo__precio .duvo-desde { color: #6E6E73; font-weight: 400; }
.duvo-deseo__acciones { display: flex; align-items: center; gap: 8px; margin-top: auto !important; }
.duvo-deseo__acciones .duvo-btn { flex: 1 1 auto; }
.duvo-deseo__quitar { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 999px; background: #F5F5F7; color: #1D1D1F; display: inline-flex; align-items: center; justify-content: center; }
.duvo-deseo__quitar:hover { background: #1D1D1F; color: #FFFFFF; }
#nm-wishlist-empty.duvo-deseos__vacio { display: none; }
#nm-wishlist-empty.duvo-deseos__vacio.show { display: flex; }
@media (max-width: 991px) { .duvo-deseos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.duvo-fact-caja { padding: 20px; border-radius: 20px; }
	.duvo-fact-form .wpcf7-form { grid-template-columns: 1fr; }
	.duvo-fact-enviar input[type="submit"] { width: 100%; }
	.duvo-deseos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo { padding: 12px; border-radius: 20px; gap: 10px; }
	.duvo-deseo__nombre { font-size: 14px; }
	.duvo-deseo__precio { font-size: 14px; }
	.duvo-deseo__acciones .duvo-btn { padding: 0 12px; font-size: 13px; }
}
.duvo-deseo__nombre { display: flex; align-items: center; min-height: 44px; }

/* 0.7.5 — CF7 pone html_class en el <form>; Savoy fija #nm-wishlist-table por id. */
form.duvo-fact-form { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
form.duvo-fact-form > p, form.duvo-fact-form .duvo-fact-campo > p { margin: 0; }
form.duvo-fact-form br { display: none; }
form.duvo-fact-form .wpcf7-response-output:empty, form.duvo-fact-form .wpcf7-response-output[aria-hidden="true"]:empty { display: none !important; }
form.duvo-fact-form > .hidden-fields-container, form.duvo-fact-form > fieldset.hidden-fields-container { display: none; }
#nm-wishlist-table.duvo-deseos__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; width: auto; margin: 0; }
@media (max-width: 991px) { #nm-wishlist-table.duvo-deseos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	form.duvo-fact-form { grid-template-columns: 1fr; gap: 16px; }
	#nm-wishlist-table.duvo-deseos__grid { gap: 12px; }
}
.duvo-deseo__acciones { flex-wrap: nowrap; } .duvo-deseo__acciones .duvo-btn { flex: 1 1 0; min-width: 0; white-space: nowrap; }
#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo > li.duvo-deseo__acciones { display: flex !important; flex-wrap: nowrap; align-items: center; gap: 8px; }
#nm-wishlist-table.duvo-deseos__grid > ul.duvo-deseo > li.duvo-deseo__texto { display: flex !important; flex-direction: column; gap: 6px; }

/* 0.8.0 — Productos «Paquete de N» (inc/paquetes.php): precio del paquete + precio por pieza, selector «Paquetes». */
.duvo-paq-el { font-size: .85em; font-weight: 400; color: var(--duvo-texto-2, #6E6E73); }
.duvo-paq-pieza { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; line-height: 1.35; color: var(--duvo-texto-2, #6E6E73); }
.duvo-paq-pieza .woocommerce-Price-amount, .duvo-paq-linea .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.price:has(.duvo-paq-pieza) { flex-wrap: wrap; }
.price .duvo-paq-pieza { display: block !important; flex: 0 0 100%; width: 100%; }
.price .duvo-paq-pieza, .price .duvo-paq-pieza .woocommerce-Price-amount, .price .duvo-paq-pieza bdi, .price .duvo-paq-el { color: var(--duvo-texto-2, #6E6E73) !important; font-weight: 400 !important; }
.summary .price .duvo-paq-pieza { font-size: 15px !important; margin-top: 4px; }
.summary .price .duvo-paq-el { font-size: 15px; }
.duvo-paq-linea { display: block; margin-top: 3px; font-size: 13px; line-height: 1.35; color: var(--duvo-texto-2, #6E6E73); }
#nm-cart-panel .duvo-paq-linea { color: rgba(255, 255, 255, .6); font-size: 12px; }
.duvo-paq-total { font-size: 13px; line-height: 1.3; color: var(--duvo-texto-2, #6E6E73); white-space: nowrap; }
.summary .nm-quantity-wrap:has(.duvo-paq-total) { display: flex; align-items: center; justify-content: flex-end; }
.summary .nm-quantity-wrap:has(.duvo-paq-total) .duvo-paq-total { order: 1; margin-right: 12px; font-size: 14px; }
.summary .nm-quantity-wrap:has(.duvo-paq-total) .quantity { order: 2; float: none; }
.woocommerce-cart-form .nm-quantity-wrap:has(.duvo-paq-total), #nm-cart-panel .nm-quantity-wrap:has(.duvo-paq-total) { display: inline-flex; align-items: center; gap: 10px; }
.woocommerce-cart-form .nm-quantity-wrap:has(.duvo-paq-total) .quantity { float: none; }
#nm-cart-panel .duvo-paq-total { color: rgba(255, 255, 255, .6); font-size: 12px; }

/* 0.8.1 — Barra superior: «Consulta tu código postal» es enlace a Envíos; subrayado discreto para que se note. */
.nm-top-bar-text a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nm-top-bar-text a:hover { color: var(--duvo-fucsia, #E6007E); }

/* 0.9.0 — Ficha agotada: enlace «Ver similares» a su categoría. */
.duvo-ver-similares { margin: 12px 0 0; font-size: 15px; }
.duvo-ver-similares a { color: var(--duvo-fucsia, #E6007E); text-decoration: underline; text-underline-offset: 3px; }
