/* Milly's: dirección visual «Noche de café». Todo cuelga de body.millys-lujo o de clases .ml-*: quitar MILLYS_LUJO devuelve el aspecto anterior.
   Sale de diseno-lujo/prototipo (tokens.css, lujo.css y basel-puente.css), sin los componentes de trofeos, cupón y chat. */

/* ---------- Tokens ---------- */
@font-face { font-family: "Fraunces Milly"; src: url("fonts/fraunces-soft-normal.woff2") format("woff2"); font-weight: 300 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces Milly"; src: url("fonts/fraunces-soft-italic.woff2") format("woff2"); font-weight: 300 600; font-style: italic; font-display: swap; }
/* Poppins es el texto largo: si llegara tarde, cambiar de fuente movería toda la página. Con optional, esa visita sigue con el respaldo y la siguiente ya la tiene en caché. */
@font-face { font-family: "Poppins"; src: url("fonts/poppins-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: optional; }
@font-face { font-family: "Poppins"; src: url("fonts/poppins-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: optional; }
@font-face { font-family: "Poppins"; src: url("fonts/poppins-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: optional; }
/* Respaldos con métricas ajustadas: evitan que el texto salte cuando llega la fuente (CLS). */
@font-face { font-family: "Fraunces Respaldo"; src: local("Georgia"), local("Noto Serif"); size-adjust: 104%; ascent-override: 93%; descent-override: 24%; line-gap-override: 0%; }
@font-face { font-family: "Poppins Respaldo"; src: local("Arial"), local("Roboto"); size-adjust: 112%; ascent-override: 93%; descent-override: 31%; line-gap-override: 0%; }

:root {
	--ml-cafe: #512a00; --ml-crema: #fbf1e9; --ml-rosa: #e1b1a5;
	--ml-espresso: #1d0e05; --ml-espresso-2: #2a1508;
	--ml-caramelo: #e0ae73; --ml-caramelo-hover: #ecc08a; --ml-caramelo-tinta: #8a4f16;
	--ml-crema-2: #f4e6d8; --ml-borde-claro: #d9c6b5;
	--ml-tinta: #2b1a0c; --ml-tinta-2: #6a4d36;
	--ml-sobre-oscuro: #fbf1e9; --ml-sobre-oscuro-2: #d8c5b4;
	--ml-velo: rgba(251, 241, 233, .055); --ml-velo-fuerte: rgba(251, 241, 233, .1); --ml-velo-borde: rgba(251, 241, 233, .16);
	--ml-fuente-titulo: "Fraunces Milly", "Fraunces Respaldo", Georgia, serif;
	--ml-fuente-texto: "Poppins", "Poppins Respaldo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ml-t-h1: clamp(2.5rem, 1.55rem + 4.2vw, 4.75rem);
	--ml-t-h2: clamp(1.9rem, 1.45rem + 2vw, 3.1rem);
	--ml-t-h3: clamp(1.15rem, 1.08rem + .35vw, 1.35rem);
	--ml-t-grande: clamp(1.03rem, 1rem + .2vw, 1.16rem);
	--ml-t-peq: .875rem; --ml-t-mini: .78rem; --ml-interlinea: 1.65; --ml-tracking-cejilla: .16em;
	--ml-e-1: .25rem; --ml-e-2: .5rem; --ml-e-3: .75rem; --ml-e-4: 1rem; --ml-e-5: 1.5rem; --ml-e-6: 2rem; --ml-e-7: 3rem; --ml-e-8: 4rem;
	--ml-sec: clamp(4.5rem, 3rem + 7vw, 9rem); --ml-ancho: 76rem; --ml-margen: clamp(1.25rem, .6rem + 3vw, 3rem);
	--ml-r-s: 10px; --ml-r-m: 18px; --ml-r-l: 28px; --ml-r-pildora: 999px;
	--ml-sombra: 0 24px 60px -24px rgba(29, 14, 5, .55); --ml-sombra-clara: 0 18px 44px -24px rgba(81, 42, 0, .4);
	--ml-toque: 44px; --ml-curva: cubic-bezier(.22, .8, .24, 1);
	--ml-textura-cafe: image-set(url("img/textura-cafe.avif") type("image/avif"), url("img/textura-cafe.webp") type("image/webp"));
	--ml-textura-crema: image-set(url("img/textura-crema.avif") type("image/avif"), url("img/textura-crema.webp") type("image/webp"));
}

/* ---------- Base sobre Basel ---------- */
html:has(body.millys-lujo) { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body.millys-lujo { background: var(--ml-espresso); color: var(--ml-tinta); font-family: var(--ml-fuente-texto); line-height: var(--ml-interlinea); }
body.millys-lujo .website-wrapper { background: var(--ml-espresso); }
body.millys-lujo, body.millys-lujo input, body.millys-lujo select, body.millys-lujo textarea, body.millys-lujo button, body.millys-lujo .btn, body.millys-lujo .button,
body.millys-lujo h1, body.millys-lujo h2, body.millys-lujo h3, body.millys-lujo h4, body.millys-lujo .title, body.millys-lujo .product-title { font-family: var(--ml-fuente-texto); }
body.millys-lujo h1, body.millys-lujo .page-title .entry-title, body.millys-lujo .product_title, body.millys-lujo .main-page-wrapper h2 { font-family: var(--ml-fuente-titulo); font-weight: 400; letter-spacing: -.012em; text-transform: none; }
body.millys-lujo :where(a) { color: var(--ml-cafe); }
body.millys-lujo :where(a:hover) { color: var(--ml-caramelo-tinta); }
body.millys-lujo :focus-visible { outline: 3px solid var(--ml-caramelo-tinta); outline-offset: 2px; }
body.millys-lujo .main-header :focus-visible, body.millys-lujo .ml-sec--oscura :focus-visible, body.millys-lujo .ml-pie :focus-visible { outline-color: var(--ml-caramelo); }

.ml-raiz { font-family: var(--ml-fuente-texto); line-height: var(--ml-interlinea); }
.ml-raiz *, .ml-raiz *::before, .ml-raiz *::after { box-sizing: border-box; }
.ml-raiz :where(h1, h2, h3, p, ol, ul, dl, dd, li) { margin: 0; padding: 0; list-style: none; }
.ml-raiz h1, .ml-raiz h2, .ml-raiz h3 { color: inherit; }
.ml-raiz :where(img, svg) { display: block; max-width: 100%; height: auto; }
.ml-raiz [hidden] { display: none !important; }
.ml-raiz a, .ml-raiz a:hover { color: inherit; }
.ml-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ml-marco { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); margin-inline: auto; }

/* Páginas a todo el ancho: portada y tienda */
body.millys-lujo-ancho .main-page-wrapper { padding: 0; margin: 0; background: var(--ml-espresso); }
body.millys-lujo-ancho .main-page-wrapper > .container, body.millys-lujo-ancho .main-page-wrapper > .container-fluid { width: 100%; max-width: none; padding: 0; }
body.millys-lujo-ancho .main-page-wrapper > .container > .row, body.millys-lujo-ancho .main-page-wrapper > .container-fluid > .row { margin: 0; }
body.millys-lujo-ancho .site-content { float: none; width: 100%; padding: 0; margin: 0; }
body.millys-lujo-ancho article.page, body.millys-lujo-ancho .entry-content { margin: 0; padding: 0; }

/* ---------- Encabezado de Basel ---------- */
body.millys-lujo .main-header { position: relative; margin: 0; background: var(--ml-espresso); border: 0; box-shadow: none; }
body.millys-lujo .main-header > .container { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); max-width: none; padding: 0; }
body.millys-lujo .main-header .wrapp-header { display: flex; align-items: center; justify-content: space-between; gap: var(--ml-e-4); min-height: 84px; padding: 0; }
body.millys-lujo .main-header .site-logo { flex: none; width: auto; padding: 0; margin: 0; order: 0; }
body.millys-lujo .main-header .widgetarea-head { display: none; }
body.millys-lujo .main-header .basel-logo { display: block; padding: 0; }
body.millys-lujo .main-header .basel-logo img { display: block; width: 62px; height: auto; aspect-ratio: 192 / 210; max-width: none; max-height: none; padding-block: 0; }
body.millys-lujo .main-header .right-column { flex: none; display: flex; align-items: center; gap: .25rem; width: auto; margin: 0; padding: 0; order: 2; }
body.millys-lujo .main-header .right-column > div { margin: 0; padding: 0; border: 0; }
body.millys-lujo .main-header .right-column a, body.millys-lujo .main-header .search-button > a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ml-toque); min-height: var(--ml-toque); color: var(--ml-crema); }
body.millys-lujo .main-header .right-column a:hover { color: var(--ml-caramelo); }
body.millys-lujo .main-header .search-button i, body.millys-lujo .main-header .shopping-cart a::before { color: var(--ml-crema); }
body.millys-lujo .main-header .shopping-cart a > span:first-child { color: var(--ml-crema); }
body.millys-lujo .main-header .basel-cart-totals, body.millys-lujo .main-header .basel-cart-subtotal, body.millys-lujo .main-header .basel-cart-subtotal .amount, body.millys-lujo .main-header .subtotal-divider { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .main-header .basel-cart-number { color: var(--ml-espresso) !important; background-color: var(--ml-caramelo) !important; }
body.millys-lujo .main-header .mobile-nav-icon { display: none; align-items: center; justify-content: center; width: var(--ml-toque); height: var(--ml-toque); cursor: pointer; }
body.millys-lujo .main-header .basel-burger, body.millys-lujo .main-header .basel-burger::before, body.millys-lujo .main-header .basel-burger::after { background-color: var(--ml-crema); border-color: var(--ml-crema); }
body.millys-lujo .main-header .navigation-wrap { position: absolute; inset: 0 auto auto 50%; transform: translateX(-50%); width: auto; background: none; border: 0; }
body.millys-lujo .main-header .navigation-wrap > .container { width: auto; padding: 0; }
body.millys-lujo .main-header .main-nav { padding: 0; border: 0; background: none; min-height: 84px; display: flex; align-items: center; }
body.millys-lujo .basel-navigation .menu > li { margin: 0; }
body.millys-lujo .basel-navigation .menu > li > a, body.millys-lujo .main-nav .menu > li > a { display: inline-flex; align-items: center; min-height: var(--ml-toque); padding: 0 .85rem; color: var(--ml-sobre-oscuro); font: 400 .9rem var(--ml-fuente-texto); text-transform: none; letter-spacing: 0; }
body.millys-lujo .basel-navigation .menu > li > a:hover, body.millys-lujo .main-nav .menu > li.current-menu-item > a { color: var(--ml-caramelo); }
/* Menú y carrito laterales de Basel */
body.millys-lujo .mobile-nav { background: var(--ml-espresso-2); }
body.millys-lujo .mobile-nav a, body.millys-lujo .mobile-nav .site-mobile-menu a { display: flex; align-items: center; min-height: 48px; color: var(--ml-sobre-oscuro); text-transform: none; font-size: 1rem; letter-spacing: 0; }
body.millys-lujo .mobile-nav li { border-color: var(--ml-velo-borde); }
body.millys-lujo .mobile-nav .search-field { min-height: 48px; background: var(--ml-espresso); color: var(--ml-crema); border-color: var(--ml-velo-borde); }
body.millys-lujo .mobile-nav .search-field::placeholder { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .widget-close { display: inline-flex; align-items: center; min-height: var(--ml-toque); }

/* ---------- Secciones y tipografía ---------- */
.ml-sec { position: relative; padding-block: var(--ml-sec); isolation: isolate; overflow: clip; }
.ml-sec--oscura { background-color: var(--ml-espresso); background-image: var(--ml-textura-cafe); background-size: 640px; color: var(--ml-sobre-oscuro); }
.ml-sec--crema { background-color: var(--ml-crema); background-image: var(--ml-textura-crema); background-size: 640px; color: var(--ml-tinta); }
.ml-hero + .ml-sec--oscura::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 14rem; background: linear-gradient(var(--ml-espresso), transparent); }
.ml-raiz .ml-cejilla { font-size: var(--ml-t-mini); font-weight: 500; letter-spacing: var(--ml-tracking-cejilla); text-transform: uppercase; color: var(--ml-caramelo); }
.ml-raiz .ml-h1, .ml-raiz .ml-h2 { font-family: var(--ml-fuente-titulo); font-weight: 400; letter-spacing: -.012em; line-height: 1.06; text-transform: none; color: inherit; margin: 0; }
.ml-raiz .ml-h1 { font-size: var(--ml-t-h1); }
.ml-raiz .ml-h2 { font-size: var(--ml-t-h2); }
.ml-raiz .ml-h1 em, .ml-raiz .ml-h2 em { font-style: italic; font-weight: 300; color: var(--ml-caramelo); }
.ml-sec--crema .ml-h2 em, .ml-pagina .ml-h2 em { color: var(--ml-caramelo-tinta) !important; }
.ml-entrada { max-width: 44rem; display: grid; gap: var(--ml-e-4); margin-bottom: var(--ml-e-8); }
.ml-entrada--centro { margin-inline: auto; text-align: center; justify-items: center; }
.ml-raiz .ml-lead { font-size: var(--ml-t-grande); color: var(--ml-sobre-oscuro-2); max-width: 36rem; }
.ml-sec--crema .ml-lead, .ml-pagina .ml-lead { color: var(--ml-tinta-2) !important; }

/* Botones */
body.millys-lujo .ml-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 50px; padding: .75rem 1.65rem; border: 1.5px solid transparent; border-radius: var(--ml-r-pildora); font-family: inherit; font-weight: 500; font-size: .95rem; line-height: 1.2; text-decoration: none; text-transform: none; letter-spacing: 0; cursor: pointer; background: none; transition: background-color .25s var(--ml-curva), color .25s var(--ml-curva), border-color .25s var(--ml-curva), transform .25s var(--ml-curva); }
body.millys-lujo .ml-btn:hover { transform: translateY(-1px); }
body.millys-lujo .ml-btn--oro { background: var(--ml-caramelo); color: var(--ml-espresso); }
body.millys-lujo .ml-btn--oro:hover { background: var(--ml-caramelo-hover); color: var(--ml-espresso); }
body.millys-lujo .ml-btn--linea { border-color: rgba(251, 241, 233, .45); color: var(--ml-crema); }
body.millys-lujo .ml-btn--linea:hover { border-color: var(--ml-caramelo); color: var(--ml-caramelo); background: none; }
body.millys-lujo .ml-btn--cafe { background: var(--ml-cafe); color: var(--ml-crema); }
body.millys-lujo .ml-btn--cafe:hover { background: var(--ml-espresso); color: var(--ml-crema); }
body.millys-lujo .ml-btn--linea-cafe { border-color: var(--ml-cafe); color: var(--ml-cafe); }
body.millys-lujo .ml-btn--linea-cafe:hover { background: var(--ml-cafe); color: var(--ml-crema); }
.ml-btn svg { width: 1.1em; height: 1.1em; flex: none; }
.ml-btns { display: flex; flex-wrap: wrap; gap: var(--ml-e-3); }
body.millys-lujo .ml-enlace { display: inline-flex; align-items: center; min-height: var(--ml-toque); gap: .5em; padding: 0; background: none; border: 0; font: inherit; font-weight: 500; text-decoration: underline; text-transform: none; letter-spacing: 0; text-underline-offset: .25em; color: var(--ml-caramelo); cursor: pointer; }
body.millys-lujo .ml-sec--crema .ml-enlace { color: var(--ml-cafe); }
.ml-enlace svg { width: 1.1em; height: 1.1em; flex: none; }

/* Hero. El alto se reserva antes de que lleguen foto y fuente. */
.ml-hero { position: relative; background: var(--ml-espresso); color: var(--ml-sobre-oscuro); isolation: isolate; overflow: clip; }
.ml-hero__foto { position: absolute; z-index: -1; top: 0; right: 0; width: min(88vw, 1420px); aspect-ratio: 16 / 9; }
.ml-hero__foto img { width: 100%; height: auto; display: block; }
.ml-hero__in { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); margin-inline: auto; min-height: calc(min(88vw, 1420px) * .5625); display: flex; flex-direction: column; justify-content: center; padding-block: 2rem 4rem; }
.ml-hero__txt { max-width: 40rem; display: grid; gap: var(--ml-e-5); justify-items: start; }
.ml-raiz .ml-hero .ml-h1 em { display: block; }
.ml-hero__txt > p:not(.ml-cejilla) { font-size: var(--ml-t-grande); color: var(--ml-sobre-oscuro-2); max-width: 30rem; }

/* Estrellas */
.ml-raiz .ml-estrellas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ml-e-8) var(--ml-e-5); }
.ml-estrella { position: relative; display: flex; flex-direction: column; margin-top: 4.5rem; padding: 0 var(--ml-e-5) var(--ml-e-5); background: var(--ml-velo); border: 1px solid var(--ml-velo-borde); border-radius: var(--ml-r-l); transition: background-color .35s var(--ml-curva), border-color .35s var(--ml-curva); }
.ml-estrella:hover { background: var(--ml-velo-fuerte); border-color: rgba(224, 174, 115, .5); }
.ml-estrella__foto { height: 17rem; margin: -4.5rem auto var(--ml-e-4); display: flex; align-items: flex-end; justify-content: center; }
.ml-estrella__foto picture { display: flex; align-items: flex-end; justify-content: center; height: 100%; min-width: 0; }
.ml-raiz .ml-estrella__foto img { height: 100%; width: auto; max-width: 100%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .45)); transition: transform .5s var(--ml-curva); }
.ml-estrella:hover .ml-estrella__foto img { transform: translateY(-6px) scale(1.02); }
.ml-raiz .ml-estrella h3 { font: 400 1.5rem/1.2 var(--ml-fuente-titulo); text-transform: none; }
.ml-estrella h3 a { text-decoration: none; }
.ml-estrella h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.ml-raiz .ml-estrella p { margin-top: var(--ml-e-2); font-size: var(--ml-t-peq); color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .ml-estrella__cta { position: relative; z-index: 1; min-height: var(--ml-toque); padding: .5rem 1rem; font-size: .86rem; white-space: nowrap; }
.ml-estrella__pie { margin-top: auto; padding-top: var(--ml-e-4); display: flex; align-items: center; justify-content: space-between; gap: var(--ml-e-3); }
.ml-precio { font-weight: 500; font-size: 1.06rem; color: var(--ml-caramelo); white-space: nowrap; }
.ml-precio .amount, .ml-precio bdi { color: inherit; font-weight: inherit; }
.ml-precio small { font-size: .74rem; font-weight: 400; color: var(--ml-sobre-oscuro-2); margin-right: .25em; }
.ml-sec--crema .ml-precio { color: var(--ml-cafe); }
.ml-sec--crema .ml-precio small { color: var(--ml-tinta-2); }
body.millys-lujo .ml-mas { position: relative; z-index: 1; flex: none; width: var(--ml-toque); height: var(--ml-toque); display: grid; place-items: center; border-radius: 50%; background: var(--ml-caramelo); color: var(--ml-espresso); transition: background-color .25s, transform .25s var(--ml-curva); }
body.millys-lujo .ml-mas:hover { background: var(--ml-caramelo-hover); transform: scale(1.06); }
.ml-mas svg { width: 18px; height: 18px; }
body.millys-lujo .ml-sec--crema .ml-mas { background: var(--ml-cafe); color: var(--ml-crema); }
body.millys-lujo .ml-sec--crema .ml-mas:hover { background: var(--ml-espresso); }
.ml-raiz .ml-sec__pie { margin-top: var(--ml-e-7); text-align: center; }
.ml-grano { position: absolute; z-index: -1; pointer-events: none; animation: ml-flotar 9s ease-in-out infinite alternate; }
.ml-grano--b { animation-duration: 12s; animation-delay: -4s; }
@keyframes ml-flotar { from { transform: translateY(-8px) rotate(-4deg); } to { transform: translateY(10px) rotate(5deg); } }

/* Frase de marca */
.ml-frase { background-color: var(--ml-crema); background-image: var(--ml-textura-crema); background-size: 640px; padding-inline: var(--ml-margen); padding-block: clamp(2.5rem, 4vw, 4rem) 0; }
.ml-frase + .ml-sec--crema { padding-top: clamp(4rem, 8vw, 7rem); }
.ml-frase__in { max-width: var(--ml-ancho); margin-inline: auto; background: var(--ml-cafe); color: var(--ml-crema); border-radius: var(--ml-r-l); padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem); text-align: center; display: grid; justify-items: center; gap: var(--ml-e-5); }
.ml-raiz .ml-frase p:first-child { font: 300 clamp(1.7rem, 1.2rem + 2.2vw, 3rem)/1.16 var(--ml-fuente-titulo); max-width: 22em; }
.ml-frase em { font-style: italic; color: var(--ml-rosa); }
.ml-raiz .ml-sellos { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ml-e-2); }
.ml-raiz .ml-sellos li { padding: .4rem 1rem; border: 1px solid rgba(251, 241, 233, .35); border-radius: var(--ml-r-pildora); font-size: var(--ml-t-peq); }

/* Pasos */
.ml-raiz .ml-pasos { display: grid; grid-template-columns: 1fr minmax(15rem, 21rem) 1fr; gap: var(--ml-e-7); align-items: center; counter-reset: paso; }
.ml-pasos__col { display: grid; gap: var(--ml-e-7); }
.ml-raiz .ml-pasos__foto img { width: 100%; filter: drop-shadow(0 26px 24px rgba(81, 42, 0, .28)); }
.ml-paso { counter-increment: paso; display: grid; gap: var(--ml-e-2); }
.ml-paso::before { content: counter(paso, decimal-leading-zero); font: italic 300 clamp(2.8rem, 2rem + 2vw, 4rem)/1 var(--ml-fuente-titulo); color: #a56a3c; }
.ml-raiz .ml-paso h3 { font: 500 var(--ml-t-h3)/1.3 var(--ml-fuente-texto); color: var(--ml-cafe); text-transform: none; }
.ml-raiz .ml-paso p { font-size: .94rem; color: var(--ml-tinta-2); }

/* Cómo llegar */
.ml-raiz .ml-llegar { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.ml-llegar__foto { position: relative; border-radius: var(--ml-r-l); overflow: hidden; box-shadow: var(--ml-sombra); aspect-ratio: 800 / 747; }
.ml-raiz .ml-llegar__foto img { width: 100%; }
.ml-raiz .ml-llegar__intro { margin-block: var(--ml-e-4) var(--ml-e-5); }
.ml-raiz .ml-llegar__extra { display: flex; flex-wrap: wrap; gap: 0 var(--ml-e-5); margin-top: var(--ml-e-3); }
.ml-raiz .ml-llegar__aviso { font-size: var(--ml-t-peq); color: var(--ml-sobre-oscuro-2); }
.ml-llegar__mapa { margin-top: var(--ml-e-3); border-radius: var(--ml-r-m); overflow: hidden; }
.ml-llegar__mapa iframe { display: block; width: 100%; height: 320px; border: 0; }
.ml-llegar__cupon { margin-top: var(--ml-e-4); }
.ml-raiz .ml-datos { display: grid; gap: var(--ml-e-4); margin-block: var(--ml-e-6); }
.ml-dato { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--ml-e-3); padding-bottom: var(--ml-e-4); border-bottom: 1px solid var(--ml-velo-borde); }
.ml-raiz .ml-dato dt { font-size: var(--ml-t-peq); font-weight: 400; color: var(--ml-sobre-oscuro-2); }
.ml-raiz .ml-dato dd { color: inherit; }
body.millys-lujo .ml-raiz .ml-dato a { display: inline-flex; align-items: center; min-height: var(--ml-toque); margin-block: -.65rem; color: var(--ml-caramelo); text-decoration: underline; text-underline-offset: .22em; }
.ml-pagina .ml-dato { border-color: var(--ml-borde-claro); }
.ml-raiz.ml-pagina .ml-dato dt { color: var(--ml-tinta-2); }
body.millys-lujo .ml-raiz.ml-pagina .ml-dato a { color: var(--ml-cafe); }

/* Preguntas frecuentes: las pinta millys-seo con el texto de su schema */
body.millys-lujo .millys-faq { float: none; width: 100%; margin: 0; padding: var(--ml-sec) var(--ml-margen); background-color: var(--ml-crema); background-image: var(--ml-textura-crema); background-size: 640px; color: var(--ml-tinta); }
body.millys-lujo .millys-faq h2 { font-size: var(--ml-t-h2); line-height: 1.06; color: var(--ml-cafe); margin: 0 auto var(--ml-e-7); text-align: center; }
body.millys-lujo .millys-faq details { max-width: 52rem; margin: 0 auto; padding: 0; background: none; border-radius: 0; border-bottom: 1px solid var(--ml-borde-claro); }
body.millys-lujo .millys-faq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--ml-e-4); min-height: 64px; padding: var(--ml-e-3) 0; font-size: 1rem; font-weight: 500; color: var(--ml-cafe); }
body.millys-lujo .millys-faq summary::after { content: "+"; position: static; flex: none; font: 300 1.7rem/1 var(--ml-fuente-titulo); color: var(--ml-cafe); transition: transform .3s var(--ml-curva); }
body.millys-lujo .millys-faq details[open] summary::after { content: "+"; transform: rotate(45deg); }
body.millys-lujo .millys-faq details p { padding-bottom: var(--ml-e-5); color: var(--ml-tinta-2); }
body.millys-lujo .millys-faq a { display: inline-flex; align-items: center; min-height: var(--ml-toque); margin-block: -.65rem; color: var(--ml-cafe); font-weight: 500; text-underline-offset: .2em; }

/* Pie */
body.millys-lujo .basel-prefooter { background: var(--ml-cafe); padding: 0; margin: 0; }
body.millys-lujo .basel-prefooter > .container { width: 100%; max-width: none; padding: 0; }
.ml-pie { color: var(--ml-crema); padding-block: var(--ml-e-8) var(--ml-e-5); width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); margin-inline: auto; }
.ml-raiz .ml-pie__in { display: grid; grid-template-columns: minmax(0, 5fr) repeat(2, minmax(0, 3fr)); gap: var(--ml-e-7); }
.ml-pie__marca { display: grid; gap: var(--ml-e-4); justify-items: start; }
.ml-raiz .ml-pie__marca img { width: 128px; height: auto; }
.ml-raiz .ml-pie__marca p { max-width: 21rem; color: var(--ml-crema); }
.ml-raiz .ml-pie__titulo { font: 400 1.3rem/1.2 var(--ml-fuente-titulo); color: var(--ml-rosa); margin-bottom: var(--ml-e-3); }
body.millys-lujo .ml-pie a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-crema); text-decoration: underline; text-underline-offset: .22em; }
body.millys-lujo .ml-pie a:hover { color: var(--ml-rosa); }
body.millys-lujo .footer-container { background: var(--ml-cafe); color: var(--ml-crema); }
body.millys-lujo .footer-container .copyrights-wrapper { border-top: 1px solid rgba(251, 241, 233, .25); padding: var(--ml-e-4) 0; }
body.millys-lujo .footer-container p { color: var(--ml-crema); font-size: var(--ml-t-peq); margin: 0; }

/* ---------- Páginas internas ---------- */
body.millys-lujo .page-title { background-color: var(--ml-espresso) !important; background-image: var(--ml-textura-cafe); background-size: 640px; padding-block: clamp(2rem, 4vw, 3.5rem); margin-bottom: 0; text-align: left; }
body.millys-lujo .page-title > .container { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); max-width: none; padding: 0; }
body.millys-lujo .page-title .entry-title { font-size: clamp(2.1rem, 1.5rem + 2.8vw, 3.8rem); line-height: 1.06; color: var(--ml-crema) !important; margin-bottom: var(--ml-e-2); text-align: left; }
body.millys-lujo .page-title .entry-title em { display: block; font-style: italic; font-weight: 300; color: var(--ml-caramelo); }
body.millys-lujo .page-title .breadcrumbs { text-align: left; font-size: var(--ml-t-peq); color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .page-title .breadcrumbs a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo) !important; text-decoration: underline; }
body.millys-lujo .page-title .breadcrumbs span { color: var(--ml-sobre-oscuro-2) !important; }
body.millys-lujo .page-title .nav-shop { text-align: left; display: block; }
body.millys-lujo .page-title .basel-product-categories a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-sobre-oscuro) !important; text-transform: none; }
body.millys-lujo .page-title .basel-show-categories { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo) !important; }
body.millys-lujo .main-page-wrapper { background-color: var(--ml-crema); background-image: var(--ml-textura-crema); background-size: 640px; padding: 0; margin: 0; }
body.millys-lujo:not(.millys-lujo-ancho):not(.single-product) .main-page-wrapper > .container, body.millys-lujo.archive:not(.millys-lujo-ancho) .main-page-wrapper > .container-fluid { padding-block: clamp(2.5rem, 5vw, 4.5rem) !important; }
body.millys-lujo:not(.millys-lujo-ancho):not(.single-product) .main-page-wrapper > .container { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); max-width: none; padding: 0; }
body.millys-lujo:not(.millys-lujo-ancho):not(.single-product) .main-page-wrapper > .container > .row { margin: 0; }
body.millys-lujo:not(.millys-lujo-ancho):not(.single-product) .site-content { padding: 0; }
body.millys-lujo :where(.main-page-wrapper) h2 { color: var(--ml-cafe); }

.ml-pagina { max-width: 52rem; margin-inline: auto; color: var(--ml-tinta); display: grid; gap: var(--ml-e-6); }
.ml-raiz.ml-pagina .ml-lead { max-width: none; }
body.millys-lujo .ml-raiz.ml-pagina .ml-lead a { color: var(--ml-cafe); text-decoration: underline; font-weight: 500; display: inline-flex; align-items: center; min-height: var(--ml-toque); margin-block: -.65rem; }
.ml-raiz .ml-lista-pasos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ml-e-6) var(--ml-e-7); counter-reset: paso; }
.ml-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ml-e-4); }
.ml-caja { padding: var(--ml-e-5); background: #fffaf5; border: 1px solid var(--ml-borde-claro); border-radius: var(--ml-r-m); box-shadow: var(--ml-sombra-clara); }
body.millys-lujo .ml-caja h2 { font-size: 1.45rem; line-height: 1.2; margin-bottom: var(--ml-e-2); }
.ml-raiz .ml-caja p { color: var(--ml-tinta-2); }
.ml-raiz.ml-pagina .ml-datos { margin: 0; }
body.millys-lujo .entry-content > p > a { display: inline-flex; align-items: center; min-height: var(--ml-toque); }

/* Formularios y botones de Woo y Basel */
body.millys-lujo .main-page-wrapper input[type="text"], body.millys-lujo .main-page-wrapper input[type="email"], body.millys-lujo .main-page-wrapper input[type="password"], body.millys-lujo .main-page-wrapper input[type="tel"], body.millys-lujo .main-page-wrapper input[type="number"], body.millys-lujo .main-page-wrapper select, body.millys-lujo .main-page-wrapper textarea { min-height: var(--ml-toque); padding-inline: 1rem; background: #fffaf5; color: var(--ml-tinta); border: 1px solid #a89080; border-radius: var(--ml-r-s); font-size: 1rem; }
body.millys-lujo .main-page-wrapper label { color: var(--ml-tinta); font-weight: 500; text-transform: none; letter-spacing: 0; }
body.millys-lujo .main-page-wrapper .button, body.millys-lujo .main-page-wrapper button.button, body.millys-lujo .main-page-wrapper .btn, body.millys-lujo .main-page-wrapper input[type="submit"], body.millys-lujo .checkout-button, body.millys-lujo #place_order, body.millys-lujo .button.alt, body.millys-lujo .widget_shopping_cart .buttons a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .6rem 1.65rem; background-color: var(--ml-cafe) !important; border: 1.5px solid var(--ml-cafe) !important; color: var(--ml-crema) !important; border-radius: var(--ml-r-pildora) !important; font: 500 .95rem/1.2 var(--ml-fuente-texto); text-transform: none; letter-spacing: 0; box-shadow: none;
}
body.millys-lujo .main-page-wrapper .button:hover, body.millys-lujo .checkout-button:hover, body.millys-lujo .button.alt:hover { background-color: var(--ml-espresso) !important; border-color: var(--ml-espresso) !important; color: var(--ml-crema) !important; }
body.millys-lujo .button:disabled, body.millys-lujo .button.disabled { opacity: 1; background-color: #8d7564 !important; border-color: #8d7564 !important; color: #fff !important; }
body.millys-lujo .woocommerce-message, body.millys-lujo .woocommerce-info, body.millys-lujo .woocommerce-error, body.millys-lujo .wc-block-components-notice-banner { background: #fffaf5; color: var(--ml-tinta); border: 1px solid var(--ml-borde-claro); border-radius: var(--ml-r-s); }
body.millys-lujo .woocommerce-message a, body.millys-lujo .woocommerce-info a { color: var(--ml-cafe); }

/* Carrito */
body.millys-lujo .woocommerce-cart-form, body.millys-lujo .cart-totals-inner, body.millys-lujo .cart_totals { background: #fffaf5; border: 1px solid var(--ml-borde-claro); border-radius: var(--ml-r-m); padding: var(--ml-e-5); box-shadow: var(--ml-sombra-clara); }
body.millys-lujo .cart_totals .cart-totals-inner { background: none; border: 0; padding: 0; box-shadow: none; }
body.millys-lujo .shop_table { background: none; border: 0; color: var(--ml-tinta); }
body.millys-lujo .shop_table th { color: var(--ml-tinta-2); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: var(--ml-t-peq); border-color: var(--ml-borde-claro); }
body.millys-lujo .shop_table td { border-color: var(--ml-borde-claro); color: var(--ml-tinta); }
body.millys-lujo .shop_table .product-name a { color: var(--ml-cafe); font-family: var(--ml-fuente-titulo); font-size: 1.15rem; display: inline-flex; align-items: center; min-height: var(--ml-toque); }
body.millys-lujo .shop_table .amount { color: var(--ml-cafe); font-weight: 500; }
body.millys-lujo .shop_table .product-thumbnail img { border-radius: var(--ml-r-s); }
body.millys-lujo .shop_table .variation, body.millys-lujo .shop_table dl.variation dt, body.millys-lujo .shop_table dl.variation dd, body.millys-lujo .shop_table dl.variation p { color: var(--ml-tinta-2); font-size: var(--ml-t-peq); }
body.millys-lujo .product-remove a, body.millys-lujo a.remove { display: inline-flex !important; align-items: center; justify-content: center; width: var(--ml-toque) !important; height: var(--ml-toque) !important; background: none !important; color: var(--ml-cafe) !important; font-size: 1.3rem; }
body.millys-lujo .quantity { display: inline-flex; align-items: center; }
body.millys-lujo .quantity input[type="button"], body.millys-lujo .quantity .plus, body.millys-lujo .quantity .minus { width: var(--ml-toque) !important; height: var(--ml-toque) !important; min-height: var(--ml-toque); padding: 0 !important; background: var(--ml-crema-2) !important; border: 1px solid #a89080 !important; color: var(--ml-cafe) !important; border-radius: var(--ml-r-s) !important; font-size: 1.1rem; }
body.millys-lujo .quantity input.qty { width: 3rem !important; height: var(--ml-toque) !important; padding: 0 !important; text-align: center; }
body.millys-lujo .basel-empty-page-text { color: var(--ml-tinta-2); }
body.millys-lujo .basel-empty-page, body.millys-lujo .cart-empty { color: var(--ml-cafe); font-family: var(--ml-fuente-titulo); }
body.millys-lujo .millys-carrito-nota { color: var(--ml-tinta-2); }

/* Finalizar compra (bloque de Woo) */
body.millys-lujo .wc-block-checkout, body.millys-lujo .wp-block-woocommerce-checkout { color: var(--ml-tinta); font-family: var(--ml-fuente-texto); }
body.millys-lujo .wc-block-components-checkout-step__title, body.millys-lujo .wc-block-components-title { font-family: var(--ml-fuente-titulo); font-weight: 400; color: var(--ml-cafe); text-transform: none; letter-spacing: 0; }
body.millys-lujo .wc-block-components-checkout-step__description { color: var(--ml-tinta-2); }
body.millys-lujo .wc-block-components-text-input input, body.millys-lujo .wc-block-components-combobox .wc-block-components-combobox-control input, body.millys-lujo .wc-block-components-address-form select, body.millys-lujo .wc-blocks-components-select__select, body.millys-lujo .wc-block-components-textarea { background: #fffaf5 !important; color: var(--ml-tinta) !important; border: 1px solid #a89080 !important; border-radius: var(--ml-r-s) !important; }
body.millys-lujo .wc-block-components-text-input label, body.millys-lujo .wc-block-components-combobox label, body.millys-lujo .wc-blocks-components-select__label { color: var(--ml-tinta-2); font-weight: 400; }
body.millys-lujo .wc-block-components-button:not(.is-link), body.millys-lujo .wc-block-components-checkout-place-order-button { min-height: 50px; background: var(--ml-cafe) !important; color: var(--ml-crema) !important; border: 0 !important; border-radius: var(--ml-r-pildora) !important; font: 500 1rem/1.2 var(--ml-fuente-texto); text-transform: none; letter-spacing: 0; }
body.millys-lujo .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: var(--ml-crema); }
body.millys-lujo .wc-block-components-button:not(.is-link):hover { background: var(--ml-espresso) !important; }
body.millys-lujo .wc-block-components-button:disabled, body.millys-lujo .wc-block-components-button[disabled] { background: #8d7564 !important; opacity: 1 !important; }
body.millys-lujo .wc-block-checkout__shipping-method-option, body.millys-lujo .wc-block-components-radio-control__option, body.millys-lujo .wc-block-components-radio-control-accordion-option { border-radius: var(--ml-r-s); background: #fffaf5; color: var(--ml-tinta); min-height: var(--ml-toque); }
body.millys-lujo .wc-block-checkout__shipping-method-option { border: 1.5px solid #a89080; }
body.millys-lujo .wc-block-checkout__shipping-method-option--selected { border-color: var(--ml-cafe); box-shadow: inset 0 0 0 1px var(--ml-cafe); background: var(--ml-crema-2); }
body.millys-lujo .wc-block-components-radio-control__input:checked { border-color: var(--ml-cafe); }
body.millys-lujo .wc-block-components-radio-control__input:checked::before { background: var(--ml-cafe); }
body.millys-lujo .wc-block-components-radio-control__label, body.millys-lujo .wc-block-components-radio-control__description, body.millys-lujo .wc-block-components-radio-control__secondary-label { color: var(--ml-tinta); }
body.millys-lujo .wc-block-components-checkbox__label { color: var(--ml-tinta); }
body.millys-lujo .wc-block-components-checkbox label { display: flex; align-items: center; min-height: var(--ml-toque); }
body.millys-lujo .wc-block-components-product-price, body.millys-lujo .wc-block-components-order-summary-item__total-price, body.millys-lujo .wc-block-formatted-money-amount, body.millys-lujo .wc-block-components-order-summary-item__individual-prices { color: var(--ml-tinta); opacity: 1; }
body.millys-lujo .wc-block-components-checkbox__input { border-color: #6a4d36 !important; }
body.millys-lujo .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { background: #fffaf5; border: 1px solid var(--ml-borde-claro); border-radius: var(--ml-r-m); box-shadow: var(--ml-sombra-clara); }
body.millys-lujo .wc-block-components-order-summary-item__description, body.millys-lujo .wc-block-components-product-metadata, body.millys-lujo .wc-block-components-totals-item { color: var(--ml-tinta); }
body.millys-lujo .wc-block-components-order-summary-item__quantity { background: var(--ml-cafe); color: var(--ml-crema); border: 0; box-shadow: none; }
body.millys-lujo .wc-block-components-validation-error p, body.millys-lujo .wc-block-components-validation-error { color: #a31515; }
body.millys-lujo .wc-block-components-checkout-return-to-cart-button { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); }
body.millys-lujo .wc-block-components-address-card__edit, body.millys-lujo .wc-block-components-address-form__address_2-toggle, body.millys-lujo .wc-block-components-panel__button { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); }

/* Cuenta */
body.millys-lujo .ml-cuenta-titulo { font-size: clamp(2.1rem, 1.5rem + 2.8vw, 3.2rem); line-height: 1.06; color: var(--ml-cafe); text-align: center; margin: 0 0 var(--ml-e-6); }
body.millys-lujo .basel-registration-page { max-width: 30rem; margin-inline: auto; }
body.millys-lujo .basel-registration-page .u-columns, body.millys-lujo .basel-registration-page .col-login { float: none; width: 100%; padding-inline: 0; }
body.millys-lujo .basel-registration-page .col-login h2 { margin-bottom: var(--ml-e-4); }
body.millys-lujo .show-password-input { width: var(--ml-toque) !important; height: var(--ml-toque) !important; }
body.millys-lujo .basel-registration-page .col-login, body.millys-lujo .basel-registration-page .col-register, body.millys-lujo .woocommerce-form-login:not(.login-form-side form), body.millys-lujo .woocommerce-ResetPassword { background: #fffaf5; border: 1px solid var(--ml-borde-claro); border-radius: var(--ml-r-m); padding: var(--ml-e-5); box-shadow: var(--ml-sombra-clara); }
body.millys-lujo .basel-registration-page .col-login .woocommerce-form-login { background: none; border: 0; padding: 0; box-shadow: none; }
body.millys-lujo .basel-registration-page h2 { font-size: 1.8rem; text-transform: none; }
body.millys-lujo .login-form-footer a, body.millys-lujo .woocommerce-LostPassword a, body.millys-lujo .woocommerce-privacy-policy-text a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); }
body.millys-lujo .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: .5rem; min-height: var(--ml-toque); }
body.millys-lujo .woocommerce-form__input-checkbox { width: 20px; height: 20px; }
body.millys-lujo .woocommerce-privacy-policy-text p { color: var(--ml-tinta-2); font-size: var(--ml-t-peq); }
body.millys-lujo .woocommerce-MyAccount-navigation a, body.millys-lujo .basel-my-account-sidebar a { display: flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); text-transform: none; }
body.millys-lujo .basel-my-account-links a { color: var(--ml-cafe); text-transform: none; min-height: var(--ml-toque); }
body.millys-lujo .basel-my-account-links .wishlist-link, body.millys-lujo .basel-my-account-links .trofeos-link { display: none; }
body.millys-lujo .login-form-side, body.millys-lujo .cart-widget-side { background: var(--ml-crema); color: var(--ml-tinta); }
body.millys-lujo .widget-heading .widget-title { color: var(--ml-cafe); font-family: var(--ml-fuente-titulo); text-transform: none; }

/* Cuadrículas de Woo: categorías, búsqueda y relacionados */
body.millys-lujo .basel-back-btn, body.millys-lujo .open-quick-view, body.millys-lujo .quick-view, body.millys-lujo .basel-products-nav { display: none !important; }
body.millys-lujo .woocommerce-breadcrumb { font-size: var(--ml-t-peq); color: var(--ml-tinta-2); }
body.millys-lujo .woocommerce-breadcrumb a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); }
body.millys-lujo .breadcrumb-last, body.millys-lujo .woocommerce-result-count { color: var(--ml-tinta-2) !important; }
body.millys-lujo .open-filters { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); }
body.millys-lujo .main-page-wrapper .searchform button { min-width: var(--ml-toque); min-height: var(--ml-toque); background: var(--ml-cafe) !important; color: var(--ml-crema) !important; border-radius: var(--ml-r-s); }
body.millys-lujo .product-grid-item .btn-add > a { width: 100%; min-height: var(--ml-toque); padding: .5rem .6rem; white-space: normal; font-size: .82rem; line-height: 1.2; text-align: center; }
body.millys-lujo .product-grid-item .btn-add > a::before { display: none; }
body.millys-lujo .product-grid-item .btn-add { width: 100%; }
body.millys-lujo .product-grid-item a:has(img) { display: block; }
body.millys-lujo .product-grid-item .product-element-top { background: none; }
body.millys-lujo .product-grid-item { border-radius: var(--ml-r-m); }
body.millys-lujo .product-grid-item .product-title a { color: var(--ml-cafe); font: 400 1.18rem/1.25 var(--ml-fuente-titulo); text-transform: none; display: inline-flex; align-items: center; min-height: var(--ml-toque); }
body.millys-lujo .product-grid-item .price, body.millys-lujo .product-grid-item .price .amount { color: var(--ml-cafe); font-weight: 500; }
body.millys-lujo .product-grid-item .basel-product-cats a { color: var(--ml-tinta-2); display: inline-flex; align-items: center; min-height: var(--ml-toque); }
body.millys-lujo .product-grid-item .btn-add a, body.millys-lujo .product-grid-item .add_to_cart_button { color: var(--ml-cafe); }

/* ---------- Tienda ---------- */
body.millys-lujo-ancho.millys-tienda-por-secciones .main-page-wrapper { padding: 0; }
body.millys-tienda-por-secciones.millys-lujo .shop-loop-head, body.millys-tienda-por-secciones.millys-lujo .basel-show-categories, body.millys-tienda-por-secciones.millys-lujo .page-title .basel-product-categories, body.millys-tienda-por-secciones.millys-lujo .filters-area, body.millys-tienda-por-secciones.millys-lujo .basel-active-filters { display: none !important; }
body.millys-tienda-por-secciones.millys-lujo .page-title { padding-bottom: var(--ml-e-3); }
.ml-tienda-lead { background: var(--ml-espresso); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.ml-chips { position: sticky; top: 0; z-index: 15; background: var(--ml-espresso); border-block: 1px solid var(--ml-velo-borde); }
.ml-raiz .ml-chips ul { display: flex; gap: .4rem; overflow-x: auto; padding-block: .6rem; scrollbar-width: none; }
.ml-chips ul::-webkit-scrollbar { display: none; }
.ml-chips li { flex: none; }
body.millys-lujo .ml-chips a { display: inline-flex; align-items: center; min-height: var(--ml-toque); padding-inline: 1rem; border-radius: var(--ml-r-pildora); white-space: nowrap; font-size: var(--ml-t-peq); text-decoration: none; color: var(--ml-sobre-oscuro); transition: background-color .2s, color .2s; }
body.millys-lujo .ml-chips a:hover { background: var(--ml-velo-fuerte); color: var(--ml-caramelo); }
.ml-sec.ml-cat { padding-block: clamp(3.5rem, 6vw, 6rem); scroll-margin-top: 3.8rem; }
.ml-cat__cab { display: grid; gap: var(--ml-e-1); margin-bottom: var(--ml-e-6); }
body.millys-lujo .ml-raiz .ml-cat__cab h2 { font: 400 clamp(1.7rem, 1.4rem + 1.3vw, 2.5rem)/1.15 var(--ml-fuente-titulo); letter-spacing: -.01em; color: inherit; text-transform: none; }
.ml-raiz .ml-cat__cab p { color: var(--ml-sobre-oscuro-2); }
.ml-raiz .ml-sec--crema .ml-cat__cab p { color: var(--ml-tinta-2); }
.ml-cuadro { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ml-e-5); }
.ml-tarjeta { position: relative; display: flex; flex-direction: column; border-radius: var(--ml-r-m); overflow: hidden; background: var(--ml-velo); border: 1px solid var(--ml-velo-borde); transition: transform .35s var(--ml-curva), border-color .35s var(--ml-curva); }
.ml-sec--crema .ml-tarjeta { background: #fffaf5; border-color: var(--ml-borde-claro); box-shadow: var(--ml-sombra-clara); }
.ml-tarjeta:hover { transform: translateY(-3px); border-color: var(--ml-caramelo); }
.ml-tarjeta picture { aspect-ratio: 4 / 5; background: #bd8664; display: block; }
.ml-raiz .ml-tarjeta img { width: 100%; height: 100%; object-fit: cover; }
.ml-tarjeta__txt { flex: 1; display: flex; flex-direction: column; gap: var(--ml-e-2); padding: var(--ml-e-4); }
.ml-raiz .ml-tarjeta h3 { font: 400 1.18rem/1.25 var(--ml-fuente-titulo); text-transform: none; color: inherit; }
.ml-tarjeta h3 a { text-decoration: none; }
.ml-tarjeta h3 a::after { content: ""; position: absolute; inset: 0; }
.ml-raiz .ml-tarjeta p { font-size: .84rem; line-height: 1.5; color: var(--ml-sobre-oscuro-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.ml-raiz .ml-sec--crema .ml-tarjeta p { color: var(--ml-tinta-2); }
.ml-tarjeta__pie { margin-top: auto; padding-top: var(--ml-e-2); display: flex; justify-content: space-between; align-items: center; gap: var(--ml-e-2); }
.ml-filas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ml-e-7); margin-top: var(--ml-e-5); }
.ml-mezcla { display: grid; gap: var(--ml-e-7); align-items: start; }
.ml-mezcla--1 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
.ml-mezcla--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ml-mezcla .ml-cuadro { grid-template-columns: repeat(var(--n), minmax(0, 1fr)); }
.ml-mezcla .ml-filas { grid-template-columns: 1fr; margin-top: 0; }
.ml-mezcla .ml-fila:first-child { padding-top: 0; }
.ml-mezcla--1 .ml-filas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ml-cuadro--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ml-cuadro--solo { grid-template-columns: minmax(0, 46rem); }
.ml-cuadro--solo .ml-tarjeta { flex-direction: row; }
.ml-cuadro--solo .ml-tarjeta picture { flex: 0 0 42%; }
.ml-cuadro--solo .ml-tarjeta__txt { padding: var(--ml-e-5); justify-content: center; }
.ml-raiz .ml-cuadro--solo .ml-tarjeta h3 { font-size: 1.6rem; }
.ml-raiz .ml-cuadro--solo .ml-tarjeta p { font-size: 1rem; -webkit-line-clamp: 5; }
.ml-fila { position: relative; display: flex; justify-content: space-between; align-items: center; gap: var(--ml-e-4); padding-block: var(--ml-e-4); border-bottom: 1px solid var(--ml-velo-borde); }
.ml-sec--crema .ml-fila { border-color: var(--ml-borde-claro); }
.ml-raiz .ml-fila h3 { font: 500 1rem/1.35 var(--ml-fuente-texto); text-transform: none; color: inherit; }
.ml-fila h3 a { text-decoration: none; }
.ml-fila h3 a::after { content: ""; position: absolute; inset: 0; }
.ml-fila:hover h3 a { text-decoration: underline; text-underline-offset: .2em; }
.ml-raiz .ml-fila p { margin-top: .2rem; font-size: .84rem; line-height: 1.5; color: var(--ml-sobre-oscuro-2); }
.ml-raiz .ml-sec--crema .ml-fila p { color: var(--ml-tinta-2); }
.ml-fila__der { flex: none; display: flex; align-items: center; gap: var(--ml-e-3); }

/* ---------- Ficha: Basel y Product Builder solo con CSS ---------- */
body.millys-lujo.single-product .main-page-wrapper { padding: 0; background-color: var(--ml-espresso); background-image: var(--ml-textura-cafe); color: var(--ml-sobre-oscuro); }
body.millys-lujo.single-product .site-content { padding: 0; }
body.millys-lujo.single-product .single-breadcrumbs-wrapper { background: none; border: 0; padding-block: var(--ml-e-2); margin: 0; }
body.millys-lujo.single-product .woocommerce-breadcrumb, body.millys-lujo.single-product .breadcrumb-last { color: var(--ml-sobre-oscuro-2) !important; font-size: var(--ml-t-peq); }
body.millys-lujo.single-product .woocommerce-breadcrumb a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo); text-decoration: underline; }
body.millys-lujo.single-product .woocommerce-breadcrumb a::after { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo.single-product .basel-back-btn, body.millys-lujo.single-product .basel-products-nav, body.millys-lujo.single-product .product-share, body.millys-lujo.single-product .basel-share, body.millys-lujo.single-product .basel-compare-btn, body.millys-lujo.single-product .product-images .product-additional-galleries { display: none !important; }
body.millys-lujo.single-product .product_title { color: var(--ml-crema); font-size: clamp(2.2rem, 1.6rem + 2.6vw, 3.6rem); line-height: 1.08; }
body.millys-lujo.single-product .summary-inner .price, body.millys-lujo.single-product .summary-inner .price .amount, body.millys-lujo.single-product .summary-inner .woocommerce-variation-price .amount { color: var(--ml-caramelo); font-weight: 500; font-size: 1.4rem; }
body.millys-lujo.single-product .woocommerce-product-details__short-description, body.millys-lujo.single-product .woocommerce-product-details__short-description p, body.millys-lujo.single-product .woocommerce-variation-description p { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo.single-product .product-images-inner, body.millys-lujo.single-product .woocommerce-product-gallery, body.millys-lujo.single-product .product-image-summary .product-images img { border-radius: var(--ml-r-l); overflow: hidden; }
body.millys-lujo.single-product .product-image-summary .summary-inner label, body.millys-lujo.single-product .variations label, body.millys-lujo.single-product .variations th { color: var(--ml-crema); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 1rem; }
body.millys-lujo.single-product form.cart select { min-height: var(--ml-toque); background-color: var(--ml-espresso-2); color: var(--ml-crema); border: 1px solid rgba(251, 241, 233, .45); border-radius: var(--ml-r-s); font-size: 1rem; }
body.millys-lujo.single-product form.cart select option { background: var(--ml-espresso-2); color: var(--ml-crema); }
body.millys-lujo.single-product .reset_variations { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo); }
body.millys-lujo.single-product .summary-inner .quantity .plus, body.millys-lujo.single-product .summary-inner .quantity .minus { background: var(--ml-velo-fuerte) !important; color: var(--ml-crema) !important; border-color: rgba(251, 241, 233, .45) !important; }
body.millys-lujo.single-product .summary-inner .quantity input.qty { background: var(--ml-espresso-2); color: var(--ml-crema); border: 1px solid rgba(251, 241, 233, .45); }
body.millys-lujo.single-product .summary-inner .single_add_to_cart_button { min-height: 50px; background-color: var(--ml-caramelo) !important; border-color: var(--ml-caramelo) !important; color: var(--ml-espresso) !important; border-radius: var(--ml-r-pildora) !important; font: 500 1rem/1.2 var(--ml-fuente-texto); text-transform: none; letter-spacing: 0; }
body.millys-lujo.single-product .summary-inner .single_add_to_cart_button:hover { background-color: var(--ml-caramelo-hover) !important; color: var(--ml-espresso) !important; }
body.millys-lujo.single-product .summary-inner .single_add_to_cart_button.disabled, body.millys-lujo.single-product .summary-inner .single_add_to_cart_button.millys-pb-locked { background-color: #b28f6c !important; border-color: #b28f6c !important; color: var(--ml-espresso) !important; opacity: 1; }
body.millys-lujo.single-product .product_meta, body.millys-lujo.single-product .product_meta span, body.millys-lujo.single-product .product_meta .posted_in { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo.single-product .product_meta a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo); }
body.millys-lujo.single-product .woocommerce-tabs, body.millys-lujo.single-product .product-tabs-wrapper { background: var(--ml-crema); color: var(--ml-tinta); border: 0; margin: 0; }
body.millys-lujo.single-product .product-tabs-wrapper > .container { width: min(100% - 2 * var(--ml-margen), var(--ml-ancho)); max-width: none; padding: 0; }
body.millys-lujo.single-product .product-tabs-wrapper .row { margin: 0; }
body.millys-lujo.single-product .product-tabs-wrapper .col-sm-12 { padding: 0; }
body.millys-lujo.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }
body.millys-lujo.single-product .single-product-content { margin: 0; padding-bottom: var(--ml-e-6); }
body.millys-lujo.single-product .basel-show-product-gallery { width: var(--ml-toque); height: var(--ml-toque); }
body.millys-lujo.single-product .woocommerce-product-gallery__image > a { display: block; }
body.millys-lujo.single-product .product-tabs-wrapper { padding-block: var(--ml-e-6); }
body.millys-lujo.single-product .woocommerce-tabs a, body.millys-lujo.single-product .tabs a { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-cafe); text-transform: none; letter-spacing: 0; font-weight: 500; }
body.millys-lujo.single-product .woocommerce-tabs td, body.millys-lujo.single-product .woocommerce-tabs th, body.millys-lujo.single-product .woocommerce-tabs p, body.millys-lujo.single-product .woocommerce-Tabs-panel { color: var(--ml-tinta); }
body.millys-lujo.single-product .related-and-upsells, body.millys-lujo.single-product .related.products { background: var(--ml-crema); color: var(--ml-tinta); }
body.millys-lujo.single-product .container.related-and-upsells { width: 100%; max-width: none; margin: 0; padding: var(--ml-e-6) var(--ml-margen) var(--ml-e-7); }
body.millys-lujo.single-product .related-and-upsells .slide-product, body.millys-lujo.single-product .related-and-upsells .container { color: var(--ml-tinta); }
body.millys-lujo.single-product .related-and-upsells h3, body.millys-lujo.single-product .title-wrapper .title, body.millys-lujo.single-product .related-and-upsells .title { color: var(--ml-cafe); font-family: var(--ml-fuente-titulo); text-transform: none; }

/* Product Builder */
body.millys-lujo .millys-pb-builder { --pb-accent: var(--ml-caramelo); --pb-ink: var(--ml-crema); --pb-muted: var(--ml-sobre-oscuro-2); --pb-border: var(--ml-velo-borde); background: var(--ml-velo); color: var(--ml-crema); border-color: var(--ml-velo-borde); border-radius: var(--ml-r-l); font-family: var(--ml-fuente-texto); }
body.millys-lujo .millys-pb-builder h2, body.millys-lujo .millys-pb-builder__header h2 { color: var(--ml-crema); }
body.millys-lujo .millys-pb-builder__eyebrow { color: var(--ml-caramelo); }
body.millys-lujo .millys-pb-builder__size { background: var(--ml-velo-fuerte); color: var(--ml-crema); }
body.millys-lujo .millys-pb-group, body.millys-lujo .millys-pb-builder--generic .millys-pb-group { background: none; border-color: var(--ml-velo-borde); color: var(--ml-crema); }
body.millys-lujo .millys-pb-group legend, body.millys-lujo .millys-pb-builder--generic .millys-pb-group legend { color: var(--ml-crema); }
body.millys-lujo .millys-pb-group__help, body.millys-lujo .millys-pb-notes small { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .millys-pb-slot select, body.millys-lujo .millys-pb-notes textarea { min-height: var(--ml-toque); background: var(--ml-espresso-2) !important; color: var(--ml-crema) !important; border: 1px solid rgba(251, 241, 233, .45) !important; border-radius: var(--ml-r-s); }
body.millys-lujo .millys-pb-notes label { color: var(--ml-crema); }
body.millys-lujo .millys-pb-add, body.millys-lujo .millys-pb-remove { min-height: var(--ml-toque); min-width: var(--ml-toque); background: none !important; color: var(--ml-caramelo) !important; border: 1px solid rgba(224, 174, 115, .6) !important; border-radius: var(--ml-r-pildora) !important; text-transform: none; font-weight: 500; }
body.millys-lujo .millys-pb-choice { min-height: var(--ml-toque); padding: 7px 14px; background: none; color: var(--ml-crema); border: 1px solid rgba(251, 241, 233, .45); border-radius: var(--ml-r-pildora); font-weight: 400; }
body.millys-lujo .millys-pb-choice input { accent-color: var(--ml-caramelo); }
body.millys-lujo .millys-pb-choice:has(input:checked) { background: var(--ml-caramelo); border-color: var(--ml-caramelo); color: var(--ml-espresso); font-weight: 500; }
body.millys-lujo .millys-pb-choice:has(input:disabled) { opacity: 1; color: #a8937f; border-style: dashed; }
body.millys-lujo .millys-pb-step { grid-template-columns: minmax(0, 1fr) 44px 28px 44px; color: var(--ml-crema); }
body.millys-lujo .millys-pb-step button { width: 44px; height: 44px; background: var(--ml-velo-fuerte); color: var(--ml-crema); border-color: rgba(251, 241, 233, .45); }
body.millys-lujo .millys-pb-step button:disabled { opacity: 1; color: #a8937f; background: none; }
body.millys-lujo .millys-pb-step output { color: var(--ml-crema); opacity: 1; }
body.millys-lujo .millys-pb-summary { background: var(--ml-espresso-2); color: var(--ml-crema); border: 1px solid var(--ml-velo-borde); border-radius: var(--ml-r-m); }
body.millys-lujo .millys-pb-feedback ul { color: #ffc2b5; }
body.millys-lujo .millys-pb-feedback.is-valid { color: #b6e6c0; }
body.millys-lujo .millys-pb-feedback.is-pending { color: var(--ml-sobre-oscuro-2); }
body.millys-lujo .millys-pb-group[aria-invalid="true"], body.millys-lujo .millys-pb-builder--generic .millys-pb-group[aria-invalid="true"] { border-color: #ffc2b5; }
body.millys-lujo .millys-pb-preview-note { background: var(--ml-espresso-2); color: var(--ml-crema); }

/* ---------- Aviso de cookies y botón de subir ---------- */
body.millys-lujo .basel-cookies-popup { left: var(--ml-e-4); right: var(--ml-e-4); bottom: var(--ml-e-4); width: auto; max-width: 44rem; margin-inline: auto; padding: var(--ml-e-5); background: var(--ml-espresso-2) !important; border: 1px solid var(--ml-velo-borde); border-radius: var(--ml-r-m); box-shadow: var(--ml-sombra); color: var(--ml-sobre-oscuro); }
body.millys-lujo .basel-cookies-popup .cookies-inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ml-e-4); padding: 0; }
body.millys-lujo .basel-cookies-popup .cookies-info-text { flex: 1 1 20rem; color: var(--ml-sobre-oscuro) !important; font-size: var(--ml-t-peq); line-height: 1.55; padding: 0; margin: 0; }
body.millys-lujo .basel-cookies-popup .cookies-info-text strong { color: var(--ml-caramelo); font-weight: 500; }
body.millys-lujo .basel-cookies-popup .cookies-buttons { display: flex; flex-wrap: wrap; gap: var(--ml-e-2); align-items: center; padding: 0; margin: 0; }
body.millys-lujo .basel-cookies-popup .cookies-accept-btn { display: inline-flex; align-items: center; justify-content: center; min-height: var(--ml-toque); padding: .5rem 1.5rem; background: var(--ml-caramelo) !important; color: var(--ml-espresso) !important; border: 0; border-radius: var(--ml-r-pildora); font: 500 .95rem var(--ml-fuente-texto); text-transform: none; letter-spacing: 0; }
body.millys-lujo .basel-cookies-popup .cookies-accept-btn:hover { background: var(--ml-caramelo-hover) !important; }
body.millys-lujo .basel-cookies-popup .cookies-more-btn { display: inline-flex; align-items: center; min-height: var(--ml-toque); color: var(--ml-caramelo) !important; }
body.millys-lujo .scrollToTop { width: var(--ml-toque); height: var(--ml-toque); background: var(--ml-crema); color: var(--ml-cafe); border-radius: 50%; box-shadow: var(--ml-sombra); }

/* ---------- Aparición al desplazarse ---------- */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ml-aparece { animation: ml-subir linear both; animation-timeline: view(); animation-range: entry 0% entry 38%; }
		@keyframes ml-subir { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
	}
}

@media (max-width: 1024px) {
	body.millys-lujo .main-header .navigation-wrap { display: none; }
	body.millys-lujo .main-header .wrapp-header { position: relative; min-height: 76px; }
	body.millys-lujo .main-header .site-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
	body.millys-lujo .main-header .basel-logo img { width: 56px; }
	body.millys-lujo .main-header .right-column { width: 100%; justify-content: flex-end; }
	body.millys-lujo .main-header .mobile-nav-icon { display: inline-flex; order: -1; margin-right: auto; }
	body.millys-lujo .main-header .shopping-cart a > span:first-child, body.millys-lujo .main-header .subtotal-divider, body.millys-lujo .main-header .basel-cart-subtotal { display: none; }
}

@media (max-width: 1000px) {
	.ml-raiz .ml-pasos { grid-template-columns: 1fr 1fr; }
	/* Con ancho propio: con margin auto y sin él, la foto medía 0 hasta cargar y empujaba 423 px los pasos (el CLS aislado de la portada). */
	.ml-pasos__foto { grid-column: 1 / -1; grid-row: 1; width: 15rem; max-width: 100%; margin-inline: auto; }
	.ml-cuadro { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ml-mezcla { grid-template-columns: 1fr; gap: var(--ml-e-5); }
	.ml-mezcla .ml-cuadro { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ml-mezcla--1 .ml-filas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-cuadro--solo { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	/* Hero de celular: el texto va en la zona vacía superior de la foto vertical */
	.ml-hero__foto { position: relative; display: block; top: auto; width: 100%; aspect-ratio: 2 / 3; margin-top: -32vw; }
	.ml-grano:not(.ml-grano--b) { display: none; }
	.ml-hero__in { min-height: 0; padding-block: 1.75rem 0; display: block; }
	.ml-hero__txt { gap: var(--ml-e-4); }
	.ml-raiz .ml-hero .ml-h1 { font-size: 2.6rem; }
	.ml-hero .ml-btns { position: relative; z-index: 1; }
	.ml-raiz .ml-estrellas { display: flex; gap: var(--ml-e-4); overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--ml-margen)); padding-inline: var(--ml-margen); padding-bottom: var(--ml-e-3); scrollbar-width: none; }
	.ml-estrella { flex: 0 0 84%; scroll-snap-align: center; padding-inline: var(--ml-e-4); }
	.ml-estrella__foto { height: 13.5rem; }
	.ml-entrada { margin-bottom: var(--ml-e-6); }
	.ml-raiz .ml-pasos { grid-template-columns: 1fr; gap: var(--ml-e-6); }
	.ml-pasos__col { gap: var(--ml-e-6); }
	.ml-raiz .ml-llegar { grid-template-columns: 1fr; }
	.ml-llegar .ml-btns .ml-btn { width: 100%; }
	.ml-raiz .ml-pie__in { grid-template-columns: 1fr; gap: var(--ml-e-6); }
	.ml-cuadro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ml-e-3); }
	.ml-tarjeta__txt { padding: var(--ml-e-3); }
	.ml-raiz .ml-tarjeta h3 { font-size: 1.05rem; }
	.ml-raiz .ml-tarjeta p { -webkit-line-clamp: 2; font-size: .8rem; }
	.ml-filas, .ml-mezcla--1 .ml-filas { grid-template-columns: 1fr; }
	.ml-mezcla .ml-cuadro, .ml-cuadro--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-cuadro--solo { grid-template-columns: 1fr; }
	.ml-cuadro--solo .ml-tarjeta picture { flex-basis: 38%; }
	.ml-cuadro--solo .ml-tarjeta__txt { padding: var(--ml-e-4); }
	.ml-raiz .ml-cuadro--solo .ml-tarjeta h3 { font-size: 1.25rem; }
	.ml-raiz .ml-cuadro--solo .ml-tarjeta p { font-size: .84rem; -webkit-line-clamp: 4; }
	.ml-raiz .ml-lista-pasos, .ml-par { grid-template-columns: 1fr; }
	body.millys-lujo .ml-pagina .ml-btns .ml-btn { width: 100%; }
	body.millys-lujo .basel-cookies-popup { left: .5rem; right: .5rem; bottom: .5rem; padding: var(--ml-e-4); }
	body.millys-lujo .basel-cookies-popup .cookies-accept-btn { width: 100%; }
	body.millys-lujo .basel-cookies-popup .cookies-buttons { flex: 1 1 100%; }
	body.millys-lujo .basel-cookies-popup .cookies-inner { flex-direction: column; align-items: stretch; }
	body.millys-lujo .basel-cookies-popup .cookies-info-text { flex: none; text-align: left; }
	body.millys-lujo.single-product .summary-inner .single_add_to_cart_button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	html:has(body.millys-lujo) { scroll-behavior: auto; }
	.ml-raiz *, .ml-raiz *::before, .ml-raiz *::after { animation: none !important; transition: none !important; }
}
