/* =========================================================
   LUMARA JOYAS — rebrand sobre WoodMart
   Paleta: rosa empolvado + rose gold + crema + carbón
   "Que nunca te falte un motivo para brillar."
   ========================================================= */

:root {
	/* --- Marca Lumara — paleta "Moda Urbana en Rosa Intenso" --- */
	--lumara-pink:        #ff0a8a;  /* rosa intenso — PRIMARIO (botones, badges, enlaces) */
	--lumara-pink-dark:   #d60076;  /* hover del primario */
	--lumara-mid:         #ff5dbd;  /* rosa medio — secundario */
	--lumara-rose:        #ff0a8a;  /* acentos/enlaces (antes rose gold) */
	--lumara-rose-dark:   #d60076;
	--lumara-rose-soft:   #ffd1f0;  /* rosa claro — fondos suaves */
	--lumara-rose-tint:   #ffd1f0;  /* rosa claro — barras de título/breadcrumb/secciones */
	--lumara-gold:        #ff5dbd;  /* (la paleta no tiene dorado) → rosa medio */
	--lumara-gold-dark:   #ff0a8a;
	--lumara-cream:       #f2f2f2;  /* gris muy claro de la paleta */
	--lumara-ink:         #1a1a1a;  /* negro — texto, precios y Buy Now */
	--lumara-ink-soft:    #333333;
	--lumara-line:        #ffd1f0;  /* bordes suaves rosados */

	/* --- Sobrescribir las variables EXACTAS de WoodMart (nombres reales) --- */
	--wd-primary-color: #ff0a8a;
	--wd-arrow-bg-hover: #ff0a8a;
	--wd-link-color: #ff0a8a;
	--wd-link-color-hover: #d60076;
	--wd-alert-color: #ff0a8a;
	--wd-title-font: "Cormorant Garamond", Georgia, serif;
}

/* WoodMart define estas variables inline y gana por orden de carga.
   Con !important en la custom property, nuestra definición gana SIEMPRE.
   Botón ACENTUADO (Añadir al carrito) = rosa intenso + texto blanco.
   Botón POR DEFECTO (Buy Now) = negro + texto blanco. */
:root {
	--wd-primary-color: #ff0a8a !important;
	--btn-accented-bgcolor: #ff0a8a !important;
	--btn-accented-bgcolor-hover: #d60076 !important;
	--btn-accented-color: #ffffff !important;
	--btn-accented-color-hover: #ffffff !important;
	--btn-default-bgcolor: #1a1a1a !important;
	--btn-default-bgcolor-hover: #000000 !important;
	--btn-default-color: #FFFFFF !important;
	--btn-default-color-hover: #FFFFFF !important;
	--wd-arrow-bg-hover: #ff0a8a !important;
	--wd-link-color: #ff0a8a !important;
	--wd-link-color-hover: #d60076 !important;
}

/* Barra de título de página → rosa empolvado suave (en vez del amarillo demo) */
.wd-page-title,
.page-title-default,
.title-size-default .wd-page-title {
	background-color: var(--lumara-rose-tint) !important;
	border-bottom: 1px solid var(--lumara-line);
}
.wd-page-title .entry-title,
.wd-page-title .title,
.wd-page-title h1 {
	color: var(--lumara-ink) !important;
}

/* Sección de breadcrumbs en templates de Elementor (producto, etc.):
   la demo la dejó amarilla; la pasamos a rosa suave sin importar el id. */
.wd-section-stretch:has(.wd-el-breadcrumbs),
.elementor-element:has(> .e-con-inner > .wd-el-breadcrumbs) {
	background-color: var(--lumara-rose-tint) !important;
}
.wd-el-breadcrumbs .wd-breadcrumbs a,
.wd-el-breadcrumbs .wd-breadcrumbs { color: var(--lumara-ink) !important; }
.wd-el-breadcrumbs .wd-breadcrumbs a:hover { color: var(--lumara-rose) !important; }

/* ---------- Tipografía de marca en títulos ---------- */
h1, h2, h3, .woodmart-title-container .title,
.section-title, .wd-el-title, .product-categories a,
.widget-title, .products-loop-head .title,
.page-title, .entry-title, .product_title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	letter-spacing: .01em;
}

/* =========================================================
   Botones — "Añadir al carrito" (single + listado) = rosa pastel + texto oscuro.
   "Buy Now" = negro. Buy Now también tiene .button.alt, por eso lo excluimos.
   ========================================================= */
.btn.btn-color-primary:not(.wd-buy-now-btn),
.single_add_to_cart_button:not(.wd-buy-now-btn),
.add_to_cart_button:not(.wd-buy-now-btn),
.wd-add-btn > a,
.wc-proceed-to-checkout .checkout-button,
.woocommerce a.button.alt:not(.wd-buy-now-btn),
.woocommerce button.button.alt:not(.wd-buy-now-btn),
.woocommerce input.button.alt:not(.wd-buy-now-btn),
.woocommerce #respond input#submit.alt:not(.wd-buy-now-btn) {
	background-color: var(--lumara-pink) !important;
	border-color: var(--lumara-pink) !important;
	color: #ffffff !important;
	letter-spacing: .04em;
}
.single_add_to_cart_button:not(.wd-buy-now-btn):hover,
.add_to_cart_button:not(.wd-buy-now-btn):hover,
.wd-add-btn > a:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce a.button.alt:not(.wd-buy-now-btn):hover,
.woocommerce button.button.alt:not(.wd-buy-now-btn):hover,
.woocommerce input.button.alt:not(.wd-buy-now-btn):hover {
	background-color: var(--lumara-pink-dark) !important;
	border-color: var(--lumara-pink-dark) !important;
	color: #ffffff !important;
}

/* "Buy Now" = negro + texto blanco (alta especificidad para ganar al rosa) */
.wd-buy-now-btn,
.woocommerce .wd-buy-now-btn.button,
.woocommerce .wd-buy-now-btn.button.alt,
.wd-buy-now-btn.btn-accent {
	background-color: var(--lumara-ink) !important;
	border-color: var(--lumara-ink) !important;
	color: #fff !important;
	letter-spacing: .04em;
}
.wd-buy-now-btn:hover,
.woocommerce .wd-buy-now-btn.button:hover,
.woocommerce .wd-buy-now-btn.button.alt:hover {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

/* =========================================================
   Enlaces, precios (NEGROS), badges
   ========================================================= */
a { color: var(--lumara-ink); }
a:hover { color: var(--lumara-rose); }

.woocommerce ul.products li.product .price,
.price, .price ins, .price ins .amount, .amount,
.woocommerce-Price-amount,
.product-price-wrapper .price {
	color: var(--lumara-ink) !important;
	font-weight: 600;
}
/* Precio anterior tachado en gris */
del, .price del, .price del .amount {
	color: #9a9a9a !important;
	font-weight: 400;
}

/* Etiqueta de oferta / badges → rosa de marca */
.product-labels .product-label.onsale,
.woocommerce span.onsale,
.wd-product-label.onsale,
span.onsale {
	background-color: var(--lumara-pink) !important;
	color: #ffffff !important;
}
.product-labels .product-label.new,
.wd-product-label.new {
	background-color: var(--lumara-rose) !important;
	color: #fff !important;
}

/* =========================================================
   Header / barra superior / iconos
   ========================================================= */
.whb-top-bar,
.wd-header-banner,
.color-scheme-light .whb-top-bar {
	background-color: var(--lumara-ink) !important;
	color: var(--lumara-cream) !important;
}
.whb-top-bar a { color: var(--lumara-cream) !important; }
.whb-top-bar a:hover { color: var(--lumara-rose-soft) !important; }

/* =========================================================
   Minicart del header — pastilla oscura de marca + texto/precio SIEMPRE visibles.
   (el precio heredaba el negro de los precios de producto y se perdía.)
   ========================================================= */
.whb-general-header .wd-header-cart.cart-widget-opener,
.whb-general-header .wd-header-cart .cart-widget-opener {
	background-color: var(--lumara-ink) !important;
	border-radius: 40px !important;
	padding: 8px 16px !important;
}
.whb-general-header .wd-header-cart .wd-tools-icon,
.whb-general-header .wd-header-cart .wd-tools-text,
.whb-general-header .wd-header-cart .wd-cart-subtotal,
.whb-general-header .wd-header-cart .wd-cart-subtotal .amount,
.whb-general-header .wd-header-cart .wd-cart-subtotal .woocommerce-Price-amount,
.whb-general-header .wd-header-cart .wd-tools-text .amount {
	color: #ffffff !important;
}
.wd-header-cart .wd-cart-number {
	background-color: var(--lumara-pink) !important;
	color: #ffffff !important;
}

/* Contador del carrito / burbujas */
.wd-tools-icon.wd-cart-design-with-bg .wd-cart-number,
.cart-widget-opener .wd-cart-number,
.wd-dropdown-menu .wd-cart-number,
.mini-cart-items,
.wd-header-cart .wd-tools-icon:after,
.menu-item .wd-count,
.wishlist-count,
.wd-cart-number {
	background-color: var(--lumara-rose) !important;
	color: #fff !important;
}

/* Enlaces del menú al hacer hover / activos */
.whb-general-header .navigation > ul > li.current-menu-item > a,
.navigation-style-default .item-level-0:hover > a,
.wd-nav > li > a:hover {
	color: var(--lumara-rose) !important;
}

/* =========================================================
   Categorías / secciones destacadas
   ========================================================= */
.wd-cat-design-default .category-image,
.product-category .category-image {
	background-color: var(--lumara-rose-tint);
}
.wd-cat-with-bg .category-image,
.wd-categories-inner {
	border-color: var(--lumara-line) !important;
}
.product-categories a:hover,
.wd-cat-el .category-name:hover {
	color: var(--lumara-rose) !important;
}

/* Títulos de sección con línea dorada */
.title-style-with-line .title-subtitle,
.wd-title-color { color: var(--lumara-gold-dark) !important; }

/* =========================================================
   Fondos suaves de marca en secciones neutras
   ========================================================= */
.wd-section-bg-lumara,
.reset-last-margin.bg-lumara { background-color: var(--lumara-rose-tint) !important; }

/* =========================================================
   Footer
   ========================================================= */
.wd-footer-container,
.site-footer .footer-container {
	background-color: var(--lumara-ink) !important;
	color: #E7D9D4;
}
.site-footer a { color: #E7D9D4; }
.site-footer a:hover { color: var(--lumara-rose-soft) !important; }
.site-footer .widget-title { color: var(--lumara-gold) !important; }

/* =========================================================
   Formularios / foco
   ========================================================= */
input:focus, textarea:focus, select:focus,
.woocommerce form .form-row input:focus {
	border-color: var(--lumara-rose) !important;
	box-shadow: 0 0 0 2px rgba(183,110,121,.15) !important;
}

/* Barra inferior móvil (WoodMart mobile nav) */
.wd-nav-mobile .wd-nav-opener.wd-active,
.mobile-nav .wd-active {
	color: var(--lumara-rose) !important;
}

/* =========================================================
   Logo Lumara (reemplaza el de la demo por CSS)
   ========================================================= */
/* Logo tipográfico "lumara.pe" en negro, fondo transparente (sin imagen). */
.wd-logo img { display: none !important; }
.wd-logo {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 34px !important;
	font-weight: 600 !important;
	letter-spacing: .005em !important;
	line-height: 1 !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
}
.wd-logo::after {
	content: "lumara.pe";
	color: #1a1a1a !important;
}
@media (max-width: 768px) {
	.wd-logo { font-size: 27px !important; }
}

/* =========================================================
   Hero de campaña (Día de la Novia · Set de Tulipanes)
   ========================================================= */

.lumara-hero {
	position: relative;
	background:
		radial-gradient(90% 90% at 72% 45%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 60%),
		radial-gradient(120% 130% at 90% 5%, #ffe1ec 0%, rgba(255,225,236,0) 58%),
		linear-gradient(180deg, #fff9f7 0%, #fff1f4 55%, #ffe8ee 100%);
	overflow: hidden;
}
.lumara-hero__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 3rem);
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3.5rem);
}
.lumara-hero__eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: .22em;
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	background: var(--lumara-pink);
	padding: 7px 16px;
	border-radius: 40px;
	margin: 0 0 1.3rem;
}
.lumara-hero__title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 600;
	font-size: clamp(2.6rem, 6vw, 4.6rem);
	line-height: 1.02;
	color: var(--lumara-ink);
	margin: 0 0 1.2rem;
}
.lumara-hero__title em { font-style: italic; color: var(--lumara-pink); }
.lumara-hero__sub {
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	color: #4a4a4a;
	max-width: 42ch;
	margin: 0 0 2rem;
	line-height: 1.65;
}
.lumara-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1.4rem; }
.lumara-hero__btn {
	display: inline-block;
	background: var(--lumara-pink);
	color: #fff !important;
	font-weight: 600;
	letter-spacing: .04em;
	padding: 15px 30px;
	border-radius: 44px;
	transition: background .25s ease, transform .25s ease;
}
.lumara-hero__btn:hover { background: var(--lumara-pink-dark); color: #fff !important; transform: translateY(-2px); }
.lumara-hero__link {
	color: var(--lumara-ink) !important;
	font-weight: 500;
	border-bottom: 1px solid var(--lumara-ink);
	padding-bottom: 2px;
}
.lumara-hero__link:hover { color: var(--lumara-pink) !important; border-color: var(--lumara-pink); }
.lumara-hero__perks { font-size: 13px; color: #7a7a7a; margin: 0; letter-spacing: .02em; }

.lumara-hero__media { position: relative; display: flex; justify-content: center; }
/* Halo cálido detrás de la foto */
.lumara-hero__media::before {
	content: ""; position: absolute; z-index: 0;
	width: 78%; aspect-ratio: 1; top: 50%; left: 50%; transform: translate(-50%, -50%);
	background: radial-gradient(circle, rgba(255,209,240,.75) 0%, rgba(255,209,240,0) 68%);
	filter: blur(6px);
}
.lumara-hero__media img {
	position: relative; z-index: 1;
	width: 100%;
	max-width: 560px;
	border-radius: 24px;
	box-shadow:
		0 2px 6px rgba(120, 60, 90, .06),
		0 30px 70px -18px rgba(190, 90, 130, .28);
	transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s ease;
}
.lumara-hero__media img:hover {
	transform: translateY(-6px) scale(1.012);
	box-shadow: 0 3px 8px rgba(120,60,90,.07), 0 40px 84px -20px rgba(190,90,130,.34);
}

@media (max-width: 860px) {
	.lumara-hero__inner { grid-template-columns: 1fr; text-align: center; }
	.lumara-hero__media { order: -1; }
	.lumara-hero__sub { margin-inline: auto; }
	.lumara-hero__actions { justify-content: center; }
	.lumara-hero__media img { max-width: 400px; }
}

/* =========================================================
   Sección "Para cada ocasión" (4 tarjetas → categorías)
   ========================================================= */
/* El widget shortcode de Elementor no propaga ancho: forzarlo */
.elementor-widget-shortcode,
.elementor-shortcode { width: 100%; }
.lumara-ocasiones { width: 100%; padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.lumara-ocasiones__inner { max-width: 1200px; margin-inline: auto; padding-inline: clamp(1.25rem, 5vw, 3rem); }
.lumara-ocasiones__head { text-align: center; margin-bottom: 2rem; }
.lumara-ocasiones__eyebrow {
	text-transform: uppercase; letter-spacing: .22em; font-size: 12px;
	color: var(--lumara-pink); font-weight: 500; margin: 0 0 .5rem;
}
.lumara-ocasiones__title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(2rem, 4vw, 3rem); color: var(--lumara-ink); margin: 0;
}
.lumara-ocasiones__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.9rem, 2vw, 1.4rem);
}
/* Tarjeta editorial: foto + título superpuesto (texto real, indexable) */
.lumara-ocasion {
	position: relative; display: block; overflow: hidden;
	/* Cuadrado: respeta la composición original de las fotos, sin recortes. */
	border-radius: 18px; aspect-ratio: 1 / 1; isolation: isolate;
	box-shadow: 0 12px 30px rgba(26, 26, 26, .10);
	transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}
.lumara-ocasion:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(214, 0, 118, .18); }

.lumara-ocasion__media { position: absolute; inset: 0; display: block; }
.lumara-ocasion__media img {
	width: 100%; height: 100%; object-fit: cover; object-position: center;
	transition: transform .9s cubic-bezier(.2,.8,.2,1);
}
.lumara-ocasion:hover .lumara-ocasion__media img { transform: scale(1.06); }

/* Velo suave para que el texto siempre se lea (y un filo interior premium) */
.lumara-ocasion__veil {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(26,26,26,0) 46%, rgba(26,26,26,.14) 64%, rgba(26,26,26,.60) 100%);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.20);
	border-radius: 18px;
	transition: background .45s ease;
}
.lumara-ocasion:hover .lumara-ocasion__veil {
	background: linear-gradient(180deg, rgba(26,26,26,0) 28%, rgba(26,26,26,.26) 52%, rgba(26,26,26,.72) 100%);
}

.lumara-ocasion__content {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	display: flex; flex-direction: column; align-items: flex-start;
	padding: 20px 22px 22px; color: #fff; text-align: left;
}
.lumara-ocasion__eyebrow {
	font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
	color: rgba(255,255,255,.82); margin-bottom: 7px;
}
.lumara-ocasion__title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(1.45rem, 2.1vw, 1.85rem); font-weight: 600; line-height: 1.1;
	color: #fff !important; margin: 0 0 10px;
	text-shadow: 0 1px 12px rgba(0,0,0,.28);
}
/* CTA con línea que crece al pasar el mouse */
.lumara-ocasion__cta {
	position: relative; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	color: #fff; padding-bottom: 5px;
}
.lumara-ocasion__cta::after {
	content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 26px;
	background: var(--lumara-pink); transition: width .45s cubic-bezier(.2,.8,.2,1);
}
.lumara-ocasion:hover .lumara-ocasion__cta::after { width: 100%; }

@media (prefers-reduced-motion: reduce) {
	.lumara-ocasion, .lumara-ocasion__media img, .lumara-ocasion__cta::after { transition: none; }
}
@media (max-width: 900px) { .lumara-ocasiones__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .lumara-ocasiones__grid { grid-template-columns: 1fr; } }

/* =========================================================
   Sección TikTok (prueba social dinámica)
   ========================================================= */
.lumara-tiktok {
	padding: clamp(2.5rem, 5vw, 4.5rem) 0;
	background: linear-gradient(180deg, #fff 0%, #fff5f9 100%);
	overflow: hidden;
}
.lumara-tiktok__head { text-align: center; margin-bottom: 2rem; padding-inline: 1rem; }
.lumara-tiktok__title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(2rem, 4vw, 3rem); color: var(--lumara-ink); margin: 0 0 1rem;
}
.lumara-tiktok__follow {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--lumara-ink); color: #fff !important;
	padding: 10px 22px; border-radius: 40px; font-weight: 500; font-size: 14px;
	transition: background .25s ease;
}
.lumara-tiktok__follow:hover { background: var(--lumara-pink); color: #fff !important; }
.lumara-tiktok__follow .tt-ico { font-size: 16px; }

.lumara-tiktok__track {
	display: flex; gap: 18px;
	max-width: 1140px; margin-inline: auto; padding: 4px clamp(1.25rem, 5vw, 3rem);
	overflow-x: auto; scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.lumara-tiktok__track::-webkit-scrollbar { display: none; }

.tt-card {
	flex: 0 0 auto; width: 240px; scroll-snap-align: center;
	border-radius: 16px; overflow: hidden; display: block;
	box-shadow: 0 14px 34px rgba(214,0,118,.14);
	transition: transform .3s ease;
	background: #111;
}
.tt-card:hover { transform: translateY(-5px); }
.tt-card__media { position: relative; aspect-ratio: 9 / 16; }
.tt-video, .tt-poster {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.tt-play {
	position: absolute; inset: 0; margin: auto; width: 58px; height: 58px;
	display: grid; place-items: center; color: #fff; font-size: 20px;
	background: rgba(0,0,0,.35); border: 2px solid rgba(255,255,255,.85);
	border-radius: 50%; backdrop-filter: blur(2px);
}
.tt-badge {
	position: absolute; top: 10px; left: 10px; z-index: 2;
	background: rgba(0,0,0,.6); color: #fff; font-size: 10px; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 20px;
}
.tt-overlay {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	padding: 40px 12px 12px; color: #fff;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.7));
	display: flex; flex-direction: column; gap: 3px;
}
.tt-user { font-weight: 700; font-size: 13px; }
.tt-caption { font-size: 11.5px; line-height: 1.35; opacity: .95;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

@media (max-width: 600px) {
	.tt-card { width: 200px; }
}

/* =========================================================
   PDP — Presentación y empaque
   ========================================================= */
.lumara-packaging {
	margin: clamp(2rem, 5vw, 4rem) 0;
	background: linear-gradient(120deg, #fff5f9 0%, #ffeaf3 100%);
	border-radius: 20px;
	overflow: hidden;
}
.lumara-packaging__inner {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3rem);
}
.lumara-packaging__media img {
	display: block; width: 100%; height: 100%;
	object-fit: cover; max-height: 460px;
}
.lumara-packaging__text { padding: clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3.2rem); }
.lumara-packaging__eyebrow {
	text-transform: uppercase; letter-spacing: .22em; font-size: 12px;
	color: var(--lumara-pink); font-weight: 500; margin: 0 0 .6rem;
}
.lumara-packaging__title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(1.9rem, 3.4vw, 2.8rem); color: var(--lumara-ink); margin: 0 0 1rem; line-height: 1.05;
}
.lumara-packaging__sub { color: #4a4a4a; font-size: 1rem; line-height: 1.65; margin: 0 0 1.4rem; }
.lumara-packaging__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.lumara-packaging__list li {
	position: relative; padding-left: 1.7rem; color: var(--lumara-ink); font-size: .96rem;
}
.lumara-packaging__list li::before {
	content: "✓"; position: absolute; left: 0; top: 0;
	color: #fff; background: var(--lumara-pink);
	width: 20px; height: 20px; border-radius: 50%;
	display: grid; place-items: center; font-size: 11px; font-weight: 700;
}
@media (max-width: 782px) {
	.lumara-packaging__inner { grid-template-columns: 1fr; }
	.lumara-packaging__media { order: -1; }
	.lumara-packaging__media img { max-height: 360px; }
}

/* Banner WhatsApp / envío el mismo día (bajo el empaque) */
.lumara-wa {
	display: flex; align-items: center; gap: 18px;
	background: var(--lumara-ink); color: #fff !important;
	border-radius: 18px; padding: 22px 26px; margin: 1.4rem 0 0;
	text-decoration: none; transition: transform .25s ease, box-shadow .25s ease;
}
.lumara-wa:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(0,0,0,.18); color: #fff !important; }
.lumara-wa__icon { color: #ffffff; flex: 0 0 auto; display: flex; }
.lumara-wa__text { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.lumara-wa__q {
	font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.55rem; font-weight: 600; line-height: 1.1;
}
.lumara-wa__a { font-size: .95rem; color: #e8ded9; }
.lumara-wa__a b { color: #fff; border-bottom: 2px solid var(--lumara-pink); padding-bottom: 1px; }
.lumara-wa__cta {
	background: var(--lumara-pink); color: #fff; padding: 11px 20px; border-radius: 40px;
	font-size: 13px; font-weight: 600; white-space: nowrap; flex: 0 0 auto;
}
@media (max-width: 600px) {
	.lumara-wa { flex-wrap: wrap; padding: 18px; }
	.lumara-wa__cta { width: 100%; text-align: center; }
}

/* =========================================================
   Checkout — estilo Shopify (limpio y moderno)
   ========================================================= */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }

/* Ancho contenido y divisor central (como la referencia) */
@media (min-width: 1024px) {
	/* El cupón/avisos comparten el mismo ancho centrado que el formulario */
	.woocommerce-checkout .wd-content-area .e-con-inner { max-width: 1040px; margin-inline: auto; }
	.woocommerce-checkout form.checkout > .e-con-inner,
	.woocommerce-checkout .wd-checkout-form > .e-con-inner,
	.woocommerce-checkout .e-con-inner:has(.woocommerce-billing-fields):has(.wd-order-table) {
		max-width: 1040px !important; margin-inline: auto !important; gap: 0 !important;
	}
	.woocommerce-checkout .e-con-inner > .e-con:has(.woocommerce-billing-fields) {
		flex: 1 1 auto !important; max-width: 580px;
		padding-right: 44px !important; border-right: 1px solid #e6ded7;
	}
	/* Columna del resumen: ancho fijo cómodo (la columna real es .wd-sticky-container-lg) */
	.woocommerce-checkout .e-con-inner > .e-con:has(.wd-order-table),
	.woocommerce-checkout .wd-sticky-container-lg:has(.wd-order-table) {
		flex: 0 0 416px !important; max-width: 416px !important;
		padding-left: 40px !important; padding-right: 0 !important;
	}
}

/* Espaciado compacto */
.woocommerce-checkout .form-row { margin-bottom: 10px; }
/* Labels solo para lectores de pantalla: la referencia usa placeholders */
.woocommerce-checkout .woocommerce-billing-fields .form-row > label,
.woocommerce-checkout .woocommerce-shipping-fields .form-row > label {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.woocommerce-checkout .form-row label .required { color: var(--lumara-pink); border: 0; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
	border: 1px solid #d9d0ca !important;
	border-radius: 8px !important;
	padding: 11px 13px !important;
	height: auto !important;
	min-height: 46px;
	font-size: 14px !important;
	background: #fff;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection {
	border-color: var(--lumara-pink) !important;
	box-shadow: 0 0 0 3px rgba(255, 10, 138, .12) !important;
	outline: none;
}

/* Títulos de sección */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woodmart-title-container {
	font-family: "Jost", sans-serif !important;
	font-size: 17px !important; font-weight: 600 !important; color: var(--lumara-ink) !important;
	letter-spacing: 0 !important; text-transform: none !important;
	margin-bottom: 12px !important;
}

/* Fondo off-white en TODA la página, sin franjas blancas (estilo Shopify) */
html:has(body.woocommerce-checkout),
body.woocommerce-checkout,
body.woocommerce-checkout .wd-page-wrapper,
body.woocommerce-checkout .website-wrapper,
body.woocommerce-checkout .wd-page-content,
body.woocommerce-checkout .main-page-wrapper,
body.woocommerce-checkout .wd-content-area,
body.woocommerce-checkout .wd-content-layout { background: #f7f5f2 !important; }
body.woocommerce-checkout .wd-content-layout { padding-top: 0 !important; }

/* ---- Checkout minimalista: sin marquee, header, footer ni barra móvil ---- */
body.woocommerce-checkout .lumara-marquee,
body.woocommerce-checkout .whb-header,
body.woocommerce-checkout header.whb-header,
body.woocommerce-checkout .wd-header,
body.woocommerce-checkout .wd-toolbar,
body.woocommerce-checkout .wd-sticky-toolbar,
body.woocommerce-checkout .wd-footer,
body.woocommerce-checkout footer.wd-footer,
body.woocommerce-checkout .wd-page-title,
body.woocommerce-checkout .wd-checkout-steps { display: none !important; }

/* Logo minimalista arriba, franja a todo el ancho (como Shopify) */
.lumara-co-top {
	text-align: center;
	padding: 22px 0 18px;
	border-bottom: 1px solid #e6ded7;
	margin: 0 0 22px;
	background: transparent;
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
.lumara-co-logo {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 30px; font-weight: 600; letter-spacing: .01em;
	color: #1a1a1a !important;
}

/* Barra "Resumen del pedido" (solo móvil) */
.lumara-co-toggle { display: none !important; text-transform: none !important; }
@media (max-width: 1023px) {
	.lumara-co-toggle {
		display: flex !important; width: 100%; align-items: center; justify-content: space-between !important;
		background: #efece8; border: 1px solid #e3dad2; border-radius: 12px;
		padding: 14px 16px; margin: 0 0 16px;
		font-size: 14px; color: #444; cursor: pointer; font-family: inherit;
		text-transform: none !important; text-align: left; letter-spacing: 0;
	}
	.lumara-co-toggle__label { text-transform: none !important; font-weight: 500; }
	.lumara-co-toggle__total { font-weight: 700; font-size: 16px; color: #1a1a1a; }
	.lumara-co-chevron { display: inline-block; color: var(--lumara-pink); transition: transform .25s ease; margin-left: 4px; }
	body.lumara-co-open .lumara-co-chevron { transform: rotate(180deg); }

	/* El resumen (movido por JS) arranca contraído y se abre con la barra */
	.lumara-co-summary { display: none; margin: -6px 0 16px; }
	body.lumara-co-open .lumara-co-summary { display: block; }
	.lumara-co-summary .wd-order-table,
	.lumara-co-summary .shop_table {
		background: #fff; border: 1px solid #eae3dd; border-radius: 14px; padding: 16px !important;
	}
	/* Ocultar el título "Tu pedido" en móvil: la barra ya lo dice */
	.lumara-co-hide-mobile,
	.woocommerce-checkout #order_review_heading { display: none !important; }
}

/* Grid de 6 columnas para poder tener filas de 2 (nombres) y de 3 (ubigeo) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	grid-template-columns: repeat(6, 1fr) !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: span 3 !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide:not(.lumara-col3),
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p.form-row:not(.form-row-first):not(.form-row-last):not(.lumara-col3) { grid-column: 1 / -1 !important; }
/* Departamento · Provincia · Distrito = 2 columnas cada uno (fila de 3) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .lumara-col3 { grid-column: span 2 !important; width: auto !important; float: none !important; margin: 0 !important; }
/* Los 3 selects del ubigeo sí muestran su label arriba (como la referencia) */
.woocommerce-checkout .woocommerce-billing-fields .lumara-col3 > label {
	position: static !important; width: auto; height: auto; overflow: visible;
	clip: auto; clip-path: none; white-space: normal;
	font-size: 12px; font-weight: 500; color: #6b6b6b; margin-bottom: 5px; display: block;
}
.woocommerce-checkout .lumara-col3 select,
.woocommerce-checkout .lumara-col3 .select2-selection__rendered { font-size: 13.5px !important; }

/* El resumen es solo lectura: no se puede quitar el producto ni cambiar cantidad */
.woocommerce-checkout .wd-order-table .product-remove,
.woocommerce-checkout .wd-order-table .remove,
.woocommerce-checkout .wd-order-table a.remove,
.woocommerce-checkout .wd-order-table .quantity .plus,
.woocommerce-checkout .wd-order-table .quantity .minus { display: none !important; }
.woocommerce-checkout .wd-order-table .quantity {
	pointer-events: none; opacity: 1;
}
.woocommerce-checkout .wd-order-table .quantity input.qty {
	border: 0 !important; background: transparent !important; min-height: 0 !important;
	padding: 0 !important; width: auto !important; font-size: 13px !important; color: #6b6b6b !important;
	-moz-appearance: textfield; appearance: textfield; text-align: left;
}
.woocommerce-checkout .wd-order-table .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-checkout .wd-order-table .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Cuponera dentro del resumen (input + botón "Aplicar"), estilo Shopify */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }
.lumara-co-coupon { margin: 0 0 18px; }
.lumara-co-coupon form.checkout_coupon {
	display: flex !important; gap: 8px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; background: transparent !important;
}
.lumara-co-coupon form.checkout_coupon p { margin: 0 !important; padding: 0 !important; flex: 1; }
.lumara-co-coupon form.checkout_coupon p.form-row-last { flex: 0 0 auto; }
.lumara-co-coupon input#coupon_code {
	width: 100% !important; min-height: 44px !important; border: 1px solid #d9d0ca !important;
	border-radius: 8px !important; padding: 10px 12px !important; font-size: 14px !important; background: #fff;
}
.lumara-co-coupon button {
	min-height: 44px; padding: 0 20px !important; border-radius: 8px !important;
	background: #eceae6 !important; color: #4a4a4a !important; border: 1px solid #ddd6cf !important;
	font-size: 14px !important; font-weight: 500 !important; white-space: nowrap;
}
.lumara-co-coupon button:hover { background: var(--lumara-pink) !important; color: #fff !important; border-color: var(--lumara-pink) !important; }

/* =========================================================
   Resumen del pedido igual a la referencia (Shopify)
   ========================================================= */
/* Sin encabezado de tabla ni bordes de caja */
.woocommerce-checkout .wd-order-table thead { display: none !important; }
.woocommerce-checkout #order_review,
.woocommerce-checkout .wd-order-table {
	background: transparent !important; border: 0 !important; padding: 0 !important;
}
/* El resumen debe ocupar todo el ancho de su columna */
.woocommerce-checkout .wd-order-table,
.woocommerce-checkout .wd-order-table table,
.woocommerce-checkout .elementor-widget-wd_checkout_order_review { width: 100% !important; }
.woocommerce-checkout .wd-order-table table { margin: 0 !important; table-layout: auto; }

/* Fila del producto: foto | nombre | precio (alineado con el resto de la columna) */
.woocommerce-checkout .wd-order-table .cart_item td,
.woocommerce-checkout .wd-order-table td.wd-checkout-prod {
	border: 0 !important; padding: 0 0 18px 0 !important; vertical-align: top;
}
.woocommerce-checkout .wd-order-table td.wd-checkout-prod {
	display: flex; align-items: center; gap: 14px;
}
/* El hueco del botón eliminar (oculto) desalineaba la fila */
.woocommerce-checkout .wd-checkout-remove-btn-wrapp { display: none !important; }
.woocommerce-checkout .wd-checkout-prod-img {
	position: relative; flex: 0 0 auto; width: 62px; height: 62px;
	background: #fff; border: 1px solid #eae3dd; border-radius: 12px; overflow: visible;
}
.woocommerce-checkout .wd-checkout-prod-img img {
	width: 100%; height: 100%; object-fit: cover; border-radius: 11px; max-width: none;
}
/* Cantidad como badge (círculo oscuro arriba a la derecha) */
.lumara-qty-badge {
	position: absolute; top: -8px; right: -8px; z-index: 2;
	min-width: 21px; height: 21px; padding: 0 5px;
	background: var(--lumara-ink); color: #fff;
	border-radius: 999px; font-size: 11.5px; font-weight: 600;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 0 0 2px #f7f5f2;
}
/* Nombre y precio */
.woocommerce-checkout .wd-order-table .wd-checkout-prod-name,
.woocommerce-checkout .wd-order-table .product-name {
	flex: 1; padding: 0 !important; font-size: 15px; line-height: 1.35; color: var(--lumara-ink);
}
.woocommerce-checkout .wd-order-table .wd-checkout-prod-price,
.woocommerce-checkout .wd-order-table .product-total {
	flex: 0 0 auto; text-align: right; white-space: nowrap; font-size: 15px; padding: 0 !important; color: #2b2b2b;
}
/* Contenido del item alineado en una fila (nombre a la izquierda, precio a la derecha) */
.woocommerce-checkout .wd-checkout-prod-cont {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 1;
}
/* La cantidad numérica del theme se oculta: ya está en el badge */
.woocommerce-checkout .wd-order-table .quantity { display: none !important; }

/* Cupón: fila propia debajo de los productos, sin líneas */
.woocommerce-checkout .lumara-coupon-row td { border: 0 !important; padding: 2px 0 20px !important; }

/* Totales: label izquierda / valor derecha, sin líneas ni cajas */
.woocommerce-checkout .wd-order-table tfoot th,
.woocommerce-checkout .wd-order-table tfoot td {
	border: 0 !important;
	padding: 5px 0 !important; font-size: 15px; background: transparent !important;
}
.woocommerce-checkout .wd-order-table tfoot th { font-weight: 400; color: #4a4a4a; text-align: left; }
.woocommerce-checkout .wd-order-table tfoot td { text-align: right; font-weight: 400; color: #2b2b2b; }
/* Total destacado, con aire por encima */
.woocommerce-checkout .wd-order-table tfoot .order-total th,
.woocommerce-checkout .wd-order-table tfoot .order-total td {
	font-size: 24px !important; font-weight: 700 !important; color: var(--lumara-ink) !important;
	padding-top: 18px !important;
}
/* Sin líneas: la separación es por espacio (como la referencia) */
.woocommerce-checkout .wd-order-table tbody,
.woocommerce-checkout .wd-order-table tbody tr,
.woocommerce-checkout .wd-order-table tbody td,
.woocommerce-checkout .wd-order-table tfoot tr { border: 0 !important; }
.woocommerce-checkout .wd-order-table tfoot tr:first-child th,
.woocommerce-checkout .wd-order-table tfoot tr:first-child td { padding-top: 8px !important; }
/* Orden explícito del ubigeo (WooCommerce reinyecta el campo state y rompe la prioridad) */
.woocommerce-checkout #billing_state_field { order: 1; }
.woocommerce-checkout #billing_city_field { order: 2; }
.woocommerce-checkout #billing_distrito_field { order: 3; }
.woocommerce-checkout #billing_phone_field { order: 4; }
@media (max-width: 600px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr !important; }
	.woocommerce-checkout .lumara-col3,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 1 / -1 !important; }
}

/* Resumen del pedido = card limpia (neutra) */
.woocommerce-checkout #order_review {
	background: #ffffff;
	border: 1px solid #eae3dd;
	border-radius: 16px;
	padding: 24px !important;
}
.woocommerce-checkout #order_review table.shop_table { background: transparent; border: 0; }
.woocommerce-checkout #order_review .cart_item td,
.woocommerce-checkout #order_review tfoot th,
.woocommerce-checkout #order_review tfoot td { border-top: 1px solid #f0e2ea; }
.woocommerce-checkout .woocommerce-Price-amount { color: var(--lumara-ink) !important; }

/* Métodos de pago */
.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment ul.payment_methods {
	border: 1px solid #f2e0e9; border-radius: 12px; background: #fff; padding: 10px 16px;
}

/* Botón finalizar compra */
.woocommerce-checkout #place_order {
	width: 100%;
	background: var(--lumara-pink) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 44px !important;
	padding: 16px 24px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .03em;
	margin-top: 8px;
	transition: background .25s ease;
}
.woocommerce-checkout #place_order:hover { background: var(--lumara-pink-dark) !important; }

/* Cupón / login superior más discretos */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { font-size: .92rem; }

/* Ocultar campos innecesarios (código postal y país — Perú por defecto) */
.lumara-hidden,
#billing_postcode_field, #shipping_postcode_field,
#billing_country_field, #shipping_country_field { display: none !important; }

/* =========================================================
   Marquee intermedio de la PDP (colores de marca)
   ========================================================= */
.lumara-marquee-pdp {
	background-color: var(--lumara-pink) !important;
	background-image: linear-gradient(90deg, #ff0a8a 0%, #ff5dbd 50%, #ff0a8a 100%) !important;
	color: #fff !important;
	overflow: hidden; white-space: nowrap;
	margin: clamp(1.5rem, 4vw, 3rem) 0;
	width: 100vw; margin-left: calc(50% - 50vw);
	box-shadow: 0 6px 22px rgba(214, 0, 118, .18);
}
.lumara-marquee-pdp .lm-pdp-track {
	display: inline-flex; align-items: center;
	animation: lm-pdp-scroll 30s linear infinite;
	will-change: transform;
}
.lumara-marquee-pdp .lm-pdp-item {
	display: inline-flex; align-items: center;
	font-size: clamp(13px, 1.4vw, 16px); font-weight: 500; letter-spacing: .02em;
	padding-block: 14px;
}
.lumara-marquee-pdp .lm-pdp-dot { margin: 0 26px; font-size: 8px; opacity: .75; }
@keyframes lm-pdp-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.lumara-marquee-pdp:hover .lm-pdp-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .lumara-marquee-pdp .lm-pdp-track { animation: none; } }

/* =========================================================
   Marquee superior (barra que se desplaza)
   ========================================================= */
.lumara-marquee {
	background: var(--lumara-ink);
	color: #fff;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
}
.lumara-marquee .lm-track {
	display: inline-flex;
	align-items: center;
	will-change: transform;
	animation: lm-scroll 34s linear infinite;
}
.lumara-marquee .lm-item {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 400;
	padding-block: 9px;
}
.lumara-marquee .lm-dot {
	color: var(--lumara-pink);
	margin: 0 22px;
	font-size: 9px;
}
@keyframes lm-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
.lumara-marquee:hover .lm-track { animation-play-state: paused; }

/* Selección de texto */
::selection { background: var(--lumara-rose-soft); color: var(--lumara-ink); }

/* ─────────────────────────────────────────────────────────────
   Selector de inicial en grilla (PDP del collar con letra)
   El <select> nativo queda oculto pero sigue en el DOM: es el que
   WooCommerce lee. Los botones solo lo accionan.
   ───────────────────────────────────────────────────────────── */

.lumara-has-letras select[name="attribute_pa_letra"] {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* WoodMart deja el "Limpiar" al lado del select; sin el select sobra. */
.lumara-has-letras .variations .reset_variations { display: none !important; }

.lumara-letras {
	margin: 4px 0 18px;
	padding: 16px;
	border: 1px solid var(--lumara-borde, #efe6ea);
	border-radius: 14px;
	background: #fff;
}

.lumara-letras__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.lumara-letras__title {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
}

.lumara-letras__current {
	font-size: 13px;
	font-weight: 700;
	color: var(--lumara-rosa, #ff0a8a);
}

.lumara-letras__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 8px;
}

/* WoodMart estiliza los <button> del producto, así que los estados se
   fuerzan: sin esto una letra agotada se ve igual que una disponible. */
.lumara-letra {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	border: 1px solid #e6e6e6 !important;
	border-radius: 10px;
	background: #fafafa !important;
	font-size: 15px;
	font-weight: 600;
	color: #1a1a1a !important;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease;
}

.lumara-letra:hover:not(:disabled):not(.is-activa) {
	background: #fff !important;
	border-color: var(--lumara-rosa, #ff0a8a) !important;
	color: var(--lumara-rosa, #ff0a8a) !important;
}

.lumara-letra:focus-visible {
	outline: 2px solid var(--lumara-rosa, #ff0a8a);
	outline-offset: 2px;
}

.lumara-letra.is-activa {
	background: #1a1a1a !important;
	border-color: #1a1a1a !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* Agotada: se ve, pero se entiende que no se puede elegir. */
.lumara-letra.is-agotada {
	position: relative;
	background: #f7f7f7 !important;
	border-color: #ededed !important;
	color: #bdbdbd !important;
	cursor: not-allowed;
	opacity: 1;
}

.lumara-letra.is-agotada::after {
	content: "";
	position: absolute;
	left: 18%; right: 18%; top: 50%;
	height: 1px;
	background: #cfcfcf;
	transform: rotate(-45deg);
}

@media (max-width: 480px) {
	.lumara-letras { padding: 14px 12px; }
	.lumara-letras__grid { grid-template-columns: repeat(6, 1fr); gap: 6px; }
	.lumara-letra { font-size: 14px; border-radius: 9px; }
}

/* ─────────────────────────────────────────────────────────────
   PDP: se oculta el "N disponibles" cuando HAY stock.
   La urgencia la comunica ConvierteBoost solo cuando de verdad
   queda poco. Los avisos de AGOTADO se conservan: esos sí
   tienen que verse.

   Se enumeraban los dos sitios conocidos —la fila de la variación
   y el widget de estado— y se escapaba un tercero: WooCommerce
   también lo imprime dentro del bloque de añadir al carrito, que
   es por donde salía en los productos simples con inventario.
   Ahora se apunta a la clase, no a sus contenedores.
   ───────────────────────────────────────────────────────────── */
.single-product .stock.in-stock {
	display: none !important;
}

/* ─────────────────────────────────────────────────────────────
   PDP — limpieza de la columna de compra
   ───────────────────────────────────────────────────────────── */

/* "Agregar a favoritos" de la ficha. Solo el de la PDP: los iconos de
   las tarjetas de producto del listado se conservan. */
.single-product .wd-single-action-btn { display: none !important; }

/* La tabla de variaciones pierde el label "Letra:": la grilla ya se
   presenta sola con su propio título "Elige tu inicial". */
.single-product .variations th.label { display: none !important; }
.single-product .variations td.value { display: block; width: 100%; }
.single-product .variations,
.single-product .variations tbody,
.single-product .variations tr { display: block; width: 100%; }
.single-product .variations { border: 0; margin-bottom: 0; }

/* ─────────────────────────────────────────────────────────────
   Testimonios (PDP, debajo de "Así llega tu pedido")
   Lectura premium: mucho aire, serif de marca, y el rosa solo
   como acento. Sin sombras duras ni insignias de color.
   ───────────────────────────────────────────────────────────── */

.lumara-testimonios {
	padding: 64px 0 8px;
}
.lumara-testimonios__inner {
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 20px;
}

.lumara-testimonios__head {
	text-align: center;
	margin-bottom: 40px;
}
.lumara-testimonios__eyebrow {
	display: block;
	color: var(--lumara-pink, #ff0a8a);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.lumara-testimonios__title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.15;
	color: var(--lumara-ink, #1a1a1a);
	margin: 0;
}

.lumara-testimonios__grid {
	display: grid;
	grid-template-columns: repeat(var(--lumara-testi-cols, 3), 1fr);
	gap: 28px;
}

.lumara-testi {
	margin: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #f0e7ec;
	border-radius: 18px;
	overflow: hidden;
}

.lumara-testi__media {
	aspect-ratio: 4 / 5;
	background: #faf6f8;
	overflow: hidden;
}
.lumara-testi__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.lumara-testi:hover .lumara-testi__media img { transform: scale(1.04); }

.lumara-testi__body {
	position: relative;
	padding: 26px 26px 28px;
	text-align: center;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Comilla decorativa muy tenue, en vez de la insignia de color. */
.lumara-testi__body::before {
	content: "\201C";
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 76px;
	line-height: 1;
	color: var(--lumara-rose-soft, #ffd1f0);
	pointer-events: none;
}

.lumara-testi__stars {
	position: relative;
	color: var(--lumara-pink, #ff0a8a);
	font-size: 13px;
	letter-spacing: .22em;
	margin-bottom: 14px;
}

.lumara-testi__quote {
	position: relative;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 19.5px;
	line-height: 1.5;
	color: #2a2a2a;
	quotes: none;
}
.lumara-testi__quote::before,
.lumara-testi__quote::after { content: none; }

.lumara-testi__autor {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid #f3ecef;
	width: 100%;
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lumara-ink, #1a1a1a);
}
.lumara-testi__autor span {
	display: block;
	margin-top: 3px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: none;
	color: #9a9198;
}

@media (max-width: 1024px) {
	.lumara-testimonios__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }
}

@media (max-width: 640px) {
	.lumara-testimonios { padding: 44px 0 4px; }
	.lumara-testimonios__head { margin-bottom: 28px; }
	.lumara-testimonios__grid { grid-template-columns: 1fr !important; gap: 18px; }
	.lumara-testi__quote { font-size: 18px; }
}

/* ─────────────────────────────────────────────────────────────
   Página de gracias — dos columnas estilo Shopify
   Izquierda: seguimiento y datos. Derecha: resumen sobre gris.
   ───────────────────────────────────────────────────────────── */

.lumara-ty {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	align-items: start;
	gap: 0;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0;
}

.lumara-ty__main { padding: 8px 56px 56px 0; min-width: 0; }

/* ---- Cabecera ---- */
.lumara-ty__head {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 28px;
}
.lumara-ty__check {
	flex: none;
	width: 42px; height: 42px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--lumara-pink, #ff0a8a);
	color: #fff;
	margin-top: 4px;
}
.lumara-ty--fallido .lumara-ty__check { background: #b3261e; }

.lumara-ty__num {
	display: block;
	font-size: 13px;
	color: #8a8189;
	margin-bottom: 2px;
}
.lumara-ty__titulo {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.15;
	margin: 0 0 6px;
	color: var(--lumara-ink, #1a1a1a);
}
.lumara-ty__sub { margin: 0; font-size: 14px; color: #5c565b; }

/* ---- Tarjetas ---- */
.lumara-ty__card {
	border: 1px solid #ece3e8;
	border-radius: 12px;
	padding: 22px 24px;
	margin-bottom: 18px;
	background: #fff;
}
.lumara-ty__card-t {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--lumara-ink, #1a1a1a);
	font-family: inherit;
}

/* ---- Línea de tiempo ---- */
.lumara-ty__pasos {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}
.lumara-ty__paso {
	position: relative;
	padding-top: 22px;
	text-align: center;
	font-size: 13px;
	color: #a8a0a6;
}
/* La línea que une los hitos */
.lumara-ty__paso::before {
	content: "";
	position: absolute;
	top: 6px; left: 0; right: 0;
	height: 2px;
	background: #ede6ea;
}
.lumara-ty__paso:first-child::before { left: 50%; }
.lumara-ty__paso:last-child::before { right: 50%; }
.lumara-ty__paso.is-hecho::before { background: var(--lumara-pink, #ff0a8a); }

.lumara-ty__punto {
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 14px; height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #ded5db;
}
.lumara-ty__paso.is-hecho .lumara-ty__punto {
	background: var(--lumara-pink, #ff0a8a);
	border-color: var(--lumara-pink, #ff0a8a);
}
.lumara-ty__paso-t { display: block; font-weight: 600; }
.lumara-ty__paso.is-hecho .lumara-ty__paso-t { color: var(--lumara-ink, #1a1a1a); }
.lumara-ty__paso-f { display: block; font-size: 12px; margin-top: 2px; }

/* ---- Datos del pedido ---- */
.lumara-ty__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 28px;
}
.lumara-ty__bloque h3 {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8a8189;
	margin: 0 0 5px;
	font-family: inherit;
}
.lumara-ty__bloque p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #3a353a;
}

.lumara-ty__ayuda { font-size: 14px; color: #5c565b; margin: 22px 0 0; }
.lumara-ty__ayuda a { color: var(--lumara-pink, #ff0a8a); text-decoration: underline; }

/* ---- Resumen (derecha) ---- */
.lumara-ty__resumen {
	background: #faf7f9;
	border-left: 1px solid #efe7ec;
	padding: 30px 32px 36px;
	border-radius: 0 12px 12px 0;
	position: sticky;
	top: 20px;
}
.lumara-ty__resumen-t {
	font-size: 13px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	color: #8a8189; margin: 0 0 18px;
	font-family: inherit;
}

.lumara-ty__items { list-style: none; margin: 0 0 20px; padding: 0; }
.lumara-ty__item {
	display: flex; align-items: center; gap: 14px;
	padding: 10px 0;
}
.lumara-ty__item-img { position: relative; flex: none; }
.lumara-ty__item-img img {
	width: 58px; height: 58px;
	object-fit: cover;
	border-radius: 9px;
	border: 1px solid #ece3e8;
	background: #fff;
	display: block;
}
/* Badge de cantidad, igual que en el checkout */
.lumara-ty__qty {
	position: absolute;
	top: -7px; right: -7px;
	min-width: 21px; height: 21px;
	padding: 0 5px;
	border-radius: 999px;
	background: #6f6a6e;
	color: #fff;
	font-size: 11.5px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.lumara-ty__item-info { flex: 1; min-width: 0; }
.lumara-ty__item-n {
	display: block; font-size: 13.5px; font-weight: 600;
	color: var(--lumara-ink, #1a1a1a); line-height: 1.35;
}
.lumara-ty__item-meta { display: block; font-size: 12px; color: #8a8189; margin-top: 2px; }
.lumara-ty__item-meta p { margin: 0; }
.lumara-ty__item-p { font-size: 13.5px; font-weight: 600; white-space: nowrap; }

.lumara-ty__totales { margin: 0; border-top: 1px solid #eae1e6; padding-top: 16px; }
.lumara-ty__fila {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 16px; margin-bottom: 10px;
	font-size: 13.5px; color: #5c565b;
}
.lumara-ty__fila dt, .lumara-ty__fila dd { margin: 0; }
.lumara-ty__fila dd { font-weight: 600; color: #3a353a; }
.lumara-ty__fila.is-total {
	border-top: 1px solid #eae1e6;
	margin-top: 14px; padding-top: 14px;
	font-size: 17px;
}
.lumara-ty__fila.is-total dt { font-weight: 600; color: var(--lumara-ink, #1a1a1a); }
.lumara-ty__fila.is-total dd { font-size: 21px; font-weight: 700; color: var(--lumara-ink, #1a1a1a); }

/* Se ocultan los restos de la plantilla por defecto */
.woocommerce-order > .woocommerce-notice,
.woocommerce-order > .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details { display: none !important; }

@media (max-width: 900px) {
	.lumara-ty { grid-template-columns: 1fr; }
	/* En móvil el resumen va primero: es lo que el cliente quiere confirmar. */
	.lumara-ty__resumen {
		order: -1;
		border-left: 0;
		border-bottom: 1px solid #efe7ec;
		border-radius: 12px;
		position: static;
		padding: 22px 20px 26px;
		margin-bottom: 24px;
	}
	.lumara-ty__main { padding: 0 0 40px; }
	.lumara-ty__grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ── Página de gracias: ajustes de espaciado ───────────────── */

/* Aire arriba y abajo: antes arrancaba pegada al breadcrumb. */
.lumara-ty {
	padding: 40px 20px 72px;
	gap: 40px;
	align-items: start;   /* la tabla no se estira al alto de la foto */
}
.lumara-ty__main { padding: 0; }

/* Cabecera con más respiro respecto a la primera tarjeta. */
.lumara-ty__head { margin-bottom: 32px; }
.lumara-ty__sub { margin-top: 8px; }

.lumara-ty__card { padding: 26px 28px; margin-bottom: 20px; }

/* El título de la tarjeta se alinea con el "RESUMEN" de la derecha. */
.lumara-ty__card-t {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8a8189;
	margin-bottom: 20px;
}

/* La línea de tiempo necesita margen: los puntos se salían de la tarjeta. */
.lumara-ty__pasos { padding: 6px 8px 4px; }
.lumara-ty__paso { padding-top: 26px; }
.lumara-ty__paso-f { margin-top: 4px; }

.lumara-ty__grid { gap: 26px 32px; }
.lumara-ty__bloque h3 { margin-bottom: 7px; }

.lumara-ty__ayuda { margin-top: 26px; }

/* ---- Resumen ---- */
.lumara-ty__resumen {
	border-left: 0;
	border: 1px solid #efe7ec;
	border-radius: 12px;
	padding: 26px 28px 30px;
	align-self: start;
}
.lumara-ty__resumen-t { margin-bottom: 20px; }

/* Separador entre productos: con varios items se amontonaban. */
.lumara-ty__items { margin-bottom: 4px; }
.lumara-ty__item { padding: 14px 0; border-bottom: 1px solid #efe7ec; }
.lumara-ty__item:first-child { padding-top: 0; }
.lumara-ty__item:last-child { border-bottom: 0; }

.lumara-ty__totales { padding-top: 18px; }
.lumara-ty__fila { margin-bottom: 12px; }
.lumara-ty__fila.is-total { margin-top: 16px; padding-top: 16px; margin-bottom: 0; }

@media (max-width: 900px) {
	.lumara-ty { padding: 24px 16px 48px; gap: 0; }
	.lumara-ty__resumen { padding: 22px 20px 26px; margin-bottom: 26px; }
}

/* ─────────────────────────────────────────────────────────────
   PDP: se oculta el selector de cantidad y entra el botón de
   WhatsApp como tercera opción de compra.
   ───────────────────────────────────────────────────────────── */

.single-product form.cart .quantity,
.single-product .wd-buttons .quantity { display: none !important; }

/* Los tres botones ocupan el ancho completo, uno por línea. */
.single-product form.cart .lumara-wa-btn,
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .wd-buy-now-btn { width: 100%; }

.lumara-wa-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	margin-top: 10px;
	padding: 14px 20px;
	border-radius: 8px;
	background: #25D366 !important;   /* verde WhatsApp: se reconoce al instante */
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
	transition: background .15s ease, transform .1s ease;
}
.lumara-wa-btn:hover {
	background: #1da851 !important;
	color: #fff !important;
	transform: translateY(-1px);
}
.lumara-wa-btn svg { flex: none; }

@media (max-width: 480px) {
	.lumara-wa-btn { padding: 13px 16px; font-size: 13.5px; }
}

/* ─────────────────────────────────────────────────────────────
   WhatsApp flotante — SOLO móvil, abajo a la derecha
   ───────────────────────────────────────────────────────────── */
/* Visible en escritorio y en móvil. Las notificaciones de ConvierteBoost
   salen abajo a la izquierda, así que esta esquina queda libre. */
.lumara-wa-float {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px; height: 58px;
	border-radius: 50%;
	background: #25D366;
	color: #fff !important;
	box-shadow: 0 6px 20px rgba(0,0,0,.20);
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.lumara-wa-float:hover {
	color: #fff !important;
	transform: scale(1.06);
	box-shadow: 0 10px 26px rgba(37,211,102,.38);
}
.lumara-wa-float:active { transform: scale(.94); }

@media (max-width: 1024px) {
	.lumara-wa-float {
		right: 16px;
		bottom: 18px;
		width: 54px; height: 54px;
	}
	/* WoodMart tiene su propia barra fija de compra en móvil: se sube el
	   botón para no quedar encima de ella. */
	body.single-product .lumara-wa-float { bottom: 78px; }
}

/* ─────────────────────────────────────────────────────────────
   Galería: miniaturas más pequeñas.
   Ocupaban tanto alto que empujaban el contenido de abajo.
   ───────────────────────────────────────────────────────────── */
.single-product .wd-gallery-thumb .wd-carousel-item,
.single-product .thumbnails .wd-carousel-item { max-width: 84px; }

.single-product .wd-gallery-thumb img,
.single-product .thumbnails img {
	border-radius: 8px;
	aspect-ratio: 1;
	object-fit: cover;
}
.single-product .wd-gallery-thumb { margin-top: 10px; }

@media (max-width: 768px) {
	.single-product .wd-gallery-thumb .wd-carousel-item { max-width: 64px; }
}

/* ─────────────────────────────────────────────────────────────
   "+N personas ya la eligieron" — bajo el precio
   ───────────────────────────────────────────────────────────── */
.lumara-vendidas {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	margin: 2px 0 16px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #fdf2f8;
	border: 1px solid #f9d9ea;
	font-size: 12.5px;
	color: #6b5b64;
	letter-spacing: .01em;
}
.lumara-vendidas__n {
	font-weight: 700;
	font-size: 14px;
	color: var(--lumara-pink, #ff0a8a);
	font-variant-numeric: tabular-nums;
}

/* ─────────────────────────────────────────────────────────────
   Mini carrusel de testimonios bajo los botones
   ───────────────────────────────────────────────────────────── */
.lumara-mini-testi {
	margin: 18px 0 4px;
	padding: 16px 18px;
	border: 1px solid #f0e7ec;
	border-radius: 12px;
	background: #fdfbfc;
}
.lumara-mini-testi__pista { position: relative; min-height: 74px; }

.lumara-mini-testi__item {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease;
}
.lumara-mini-testi__item.is-activo { opacity: 1; visibility: visible; position: relative; }

.lumara-mini-testi__item blockquote {
	margin: 0 0 8px; padding: 0; border: 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 17px;
	line-height: 1.45;
	color: #2a2a2a;
}
.lumara-mini-testi__item blockquote::before,
.lumara-mini-testi__item blockquote::after { content: none; }

.lumara-mini-testi__item figcaption {
	display: flex; align-items: center; gap: 10px;
	flex-wrap: wrap;
}
.lumara-mini-testi__autor {
	font-size: 12px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	color: #8a8189;
}
.lumara-mini-testi__estrellas {
	color: var(--lumara-pink, #ff0a8a);
	font-size: 12px; letter-spacing: .16em;
}

.lumara-mini-testi__puntos {
	display: flex; justify-content: center; gap: 6px;
	margin-top: 12px;
}
.lumara-mini-testi__puntos button {
	all: unset;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #ded5db;
	cursor: pointer;
	transition: background .2s ease, width .2s ease;
}
.lumara-mini-testi__puntos button.is-activo {
	background: var(--lumara-pink, #ff0a8a);
	width: 16px; border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.lumara-mini-testi__item { transition: none; }
}

/* ═════════════════════════════════════════════════════════════
   PDP MÓVIL — foto, miniaturas, nombre y precio en la primera
   pantalla. La galería ocupaba casi todo el alto y empujaba el
   nombre y el precio fuera de vista.
   ═════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* Se limita SOLO la imagen, nunca el contenedor: al recortar el
	   contenedor las miniaturas se desbordaban sobre el título. */
	.single-product .wd-gallery-images .wd-carousel-item img,
	.single-product .woocommerce-product-gallery__image img {
		max-height: 44vh;
		width: 100%;
		object-fit: contain;
		border-radius: 12px;
	}
	.single-product .woocommerce-product-gallery,
	.single-product .wd-gallery-images { overflow: visible; }

	/* Miniaturas pegadas a la foto, sin hueco muerto. */
	.single-product .wd-gallery-thumb { margin-top: 10px; margin-bottom: 4px; clear: both; }
	.single-product .wd-gallery-thumb .wd-carousel-item { max-width: 56px; }

	/* El hueco entre título y descripción venía de márgenes acumulados
	   de widgets de Elementor. */
	.single-product .elementor-widget-wd_single_product_title { margin-bottom: 0 !important; }
	.single-product .elementor-widget-wd_single_product_short_description { margin-top: 0 !important; }
	.single-product .woocommerce-product-details__short-description { margin: 6px 0 10px !important; }
	.single-product .woocommerce-product-details__short-description p { margin: 0 !important; }

	/* Título y precio suben: menos aire entre bloques. */
	.single-product .product_title { margin: 12px 0 6px !important; font-size: 22px !important; }
	.single-product .summary .price { margin-bottom: 10px !important; }

	/* El zoom flotante ocupaba espacio visual sin aportar en móvil. */
	.single-product .wd-gallery-images .wd-action-btn.wd-zoom-btn { transform: scale(.85); }
}

/* ═════════════════════════════════════════════════════════════
   Precio de oferta en rosa de marca.
   El precio normal sigue negro; solo el rebajado toma color, que
   es lo que debe saltar a la vista.
   ═════════════════════════════════════════════════════════════ */
.price ins,
.price ins .amount,
.price ins bdi,
.woocommerce-variation-price ins .amount,
.summary .price ins .woocommerce-Price-amount {
	color: var(--lumara-pink, #ff0a8a) !important;
	text-decoration: none !important;
	font-weight: 700;
}
.price del,
.price del .amount,
.price del bdi {
	color: #a49aa0 !important;
	font-weight: 400 !important;
}

@media (max-width: 1024px) {
	/* El flotante de WhatsApp se sube para no chocar con la barra. */
	body.single-product .lumara-wa-float { bottom: 86px; }
}
/* En escritorio no hay barra fija: vuelve a su sitio. */
@media (min-width: 1025px) {
	body.single-product .lumara-wa-float { bottom: 24px; }
}

/* La barra fija se activó con el interruptor maestro de WoodMart, que la
   muestra también en escritorio. Ahí no aporta (los botones ya están a la
   vista), así que se limita a móvil. */
@media (min-width: 1025px) {
	.wd-sticky-btn { display: none !important; }
}

/* ═════════════════════════════════════════════════════════════
   PDP móvil — ajustes de jerarquía
   ═════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* Breadcrumbs fuera: en móvil ocupa una franja entera para decir
	   algo que el cliente ya sabe. */
	.single-product .wd-page-title,
	.single-product .wd-el-breadcrumbs,
	.single-product .wd-section-stretch:has(.wd-el-breadcrumbs) { display: none !important; }

	/* Nombre del producto más presente. */
	.single-product .product_title {
		font-size: 28px !important;
		line-height: 1.2 !important;
		margin: 14px 0 4px !important;
		clear: both;      /* que nunca quede bajo las miniaturas */
		position: relative;
		z-index: 2;
	}

	/* La etiqueta de descuento es un argumento de venta: que se vea. */
	.single-product .product-labels .product-label.onsale,
	.single-product span.onsale,
	.single-product .wd-product-label.onsale {
		font-size: 15px !important;
		font-weight: 800 !important;
		padding: 9px 15px !important;
		border-radius: 999px !important;
		min-height: 0 !important;
		line-height: 1.1 !important;
	}
}

/* Etiqueta de descuento también algo mayor en escritorio. */
.single-product .product-labels .product-label.onsale,
.single-product span.onsale {
	font-size: 14px;
	font-weight: 800;
	padding: 8px 14px;
}

/* ── Badge de unidades vendidas, pegado al precio ── */
.lumara-vendidas {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	margin: 10px 0 2px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #fdf2f8;
	border: 1px solid #f9d9ea;
	font-size: 12.5px;
	color: #6b5b64;
}
.lumara-vendidas__n {
	font-weight: 700;
	font-size: 14px;
	color: var(--lumara-pink, #ff0a8a);
	font-variant-numeric: tabular-nums;
}
/* En los relacionados y listados no debe salir. */
.products .lumara-vendidas,
.wd-products .lumara-vendidas { display: none !important; }

/* ── Espacio entre las mini reseñas y el marquee ── */
.single-product .lumara-mini-testi { margin-bottom: 0 !important; }
.single-product .lumara-marquee-pdp { margin-top: 14px !important; }

/* ── Sección de Instagram fuera de la ficha ── */
.single-product .elementor-widget-wd_instagram,
.single-product .wd-instagram-wrapper { display: none !important; }

/* ═════════════════════════════════════════════════════════════
   Checkout — método de envío como paso propio
   ═════════════════════════════════════════════════════════════ */

.lumara-envio {
	margin: 26px 0 4px;
	padding: 18px 20px;
	border: 1px solid #ece3e8;
	border-radius: 12px;
	background: #fff;
}
.lumara-envio__t {
	font-size: 15px !important;
	font-weight: 700 !important;
	margin: 0 0 12px !important;
	color: var(--lumara-ink, #1a1a1a);
	font-family: inherit !important;
}
.lumara-envio__vacio { margin: 0; font-size: 13.5px; color: #8a8189; }

.lumara-envio ul#shipping_method,
.lumara-envio .woocommerce-shipping-methods {
	list-style: none; margin: 0; padding: 0;
}
.lumara-envio ul#shipping_method li {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 8px; padding: 13px 15px;
	border: 1px solid #e6dde3; border-radius: 10px;
	font-size: 14px;
}
.lumara-envio ul#shipping_method li:last-child { margin-bottom: 0; }
.lumara-envio ul#shipping_method li:has(input:checked) {
	border-color: var(--lumara-pink, #ff0a8a);
	background: #fff7fb;
}
.lumara-envio ul#shipping_method label {
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px; width: 100%; margin: 0; cursor: pointer;
}
.lumara-envio ul#shipping_method .amount { font-weight: 700; }
/* Envío gratis en verde: es una buena noticia, que se lea como tal. */
.lumara-envio ul#shipping_method label:not(:has(.amount)) { color: #16a34a; font-weight: 600; }

/* El envío se ELIGE arriba, pero su IMPORTE debe verse en el desglose: sin
   él, Subtotal 275 y Total 290 no cuadran a ojos del cliente. Aquí se deja
   el texto y se quitan los radios (elegir es tarea del módulo de arriba). */
.woocommerce-checkout .woocommerce-shipping-totals.shipping ul#shipping_method input,
.woocommerce-checkout .woocommerce-shipping-totals.shipping .woocommerce-shipping-destination { display: none !important; }
.woocommerce-checkout .woocommerce-shipping-totals.shipping ul#shipping_method {
	margin: 0 !important; padding: 0 !important; list-style: none !important;
}
/* Solo el método elegido: mostrar los dos confundiría. */
.woocommerce-checkout .woocommerce-shipping-totals.shipping ul#shipping_method li:not(:has(input:checked)) { display: none !important; }
.woocommerce-checkout .woocommerce-shipping-totals.shipping ul#shipping_method label {
	cursor: default; margin: 0 !important; font-size: 14px;
}

/* ═════════════════════════════════════════════════════════════
   Checkout móvil — ritmo de los campos
   Los huecos entre campos eran enormes y obligaban a scrollear
   de más para completar el formulario.
   ═════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.woocommerce-checkout .form-row { margin-bottom: 12px !important; padding: 0 !important; }
	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row textarea,
	.woocommerce-checkout select,
	.woocommerce-checkout .select2-container .select2-selection--single {
		height: 48px !important;
		min-height: 48px !important;
		padding: 12px 14px !important;
		/* 16px exactos: por debajo de eso iOS hace zoom al enfocar el campo
		   y descuadra toda la pantalla del checkout. */
		font-size: 16px !important;
	}
	.woocommerce-checkout h3,
	.woocommerce-checkout .lumara-co-title { margin: 22px 0 12px !important; font-size: 17px !important; }

	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields { margin-bottom: 4px !important; }

	/* El resumen contraído estaba muy separado del primer bloque. */
	.woocommerce-checkout .lumara-co-toggle { margin-bottom: 18px !important; }

	.lumara-envio { margin: 18px 0 4px; padding: 16px; }
}

/* "Gratis" en verde: es una buena noticia, que se lea como tal. */
.lumara-gratis { color: #16a34a !important; font-weight: 700 !important; }

/* ═════════════════════════════════════════════════════════════
   Páginas de contenido: Nosotros, FAQ y Contacto
   ═════════════════════════════════════════════════════════════ */

.lumara-pg { max-width: 760px; margin: 0 auto; padding: 8px 0 40px; }

.lumara-pg__lead {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.45;
	color: var(--lumara-ink, #1a1a1a);
	margin: 0 0 34px;
}

.lumara-pg h2 {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(22px, 2.6vw, 28px);
	margin: 34px 0 12px;
	color: var(--lumara-ink, #1a1a1a);
}
.lumara-pg p { font-size: 15.5px; line-height: 1.7; color: #4a444a; margin: 0 0 14px; }
.lumara-pg ul { margin: 0 0 18px; padding-left: 20px; }
.lumara-pg li { font-size: 15.5px; line-height: 1.7; color: #4a444a; margin-bottom: 8px; }
.lumara-pg a { color: var(--lumara-pink, #ff0a8a); text-decoration: underline; }

.lumara-pg__cierre {
	margin-top: 34px !important;
	padding-top: 22px;
	border-top: 1px solid #efe7ec;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 19px !important;
	color: var(--lumara-ink, #1a1a1a) !important;
}

/* ---- Preguntas frecuentes ---- */
.lumara-faq__item {
	border: 1px solid #ece3e8;
	border-radius: 12px;
	margin-bottom: 10px;
	background: #fff;
	overflow: hidden;
}
.lumara-faq__item summary {
	list-style: none;
	cursor: pointer;
	padding: 17px 46px 17px 20px;
	position: relative;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--lumara-ink, #1a1a1a);
}
.lumara-faq__item summary::-webkit-details-marker { display: none; }
/* Signo + que gira al abrir */
.lumara-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 20px; top: 50%;
	transform: translateY(-50%);
	font-size: 21px; line-height: 1;
	color: var(--lumara-pink, #ff0a8a);
	transition: transform .2s ease;
}
.lumara-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.lumara-faq__item[open] { border-color: #f6dfeb; }
.lumara-faq__r { padding: 0 20px 18px; }
.lumara-faq__r p { margin: 0; font-size: 15px; color: #5c565b; }

/* ---- Contacto ---- */
.lumara-contacto__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 0 0 12px;
}
.lumara-contacto__card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 22px;
	border: 1px solid #ece3e8;
	border-radius: 14px;
	background: #fff;
	text-decoration: none !important;
	transition: border-color .15s ease, transform .12s ease;
}
.lumara-contacto__card:hover {
	border-color: var(--lumara-pink, #ff0a8a);
	transform: translateY(-2px);
}
.lumara-contacto__card--wa:hover { border-color: #25D366; }
.lumara-contacto__eti {
	font-size: 11px; font-weight: 700;
	letter-spacing: .1em; text-transform: uppercase;
	color: #a89ba3;
}
.lumara-contacto__card strong {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 24px; color: var(--lumara-ink, #1a1a1a); font-weight: 600;
}
.lumara-contacto__dato { font-size: 15px; color: #4a444a; }
.lumara-contacto__cta {
	margin-top: 8px;
	font-size: 13px; font-weight: 700;
	color: var(--lumara-pink, #ff0a8a);
}
.lumara-contacto__card--wa .lumara-contacto__cta { color: #16a34a; }

@media (max-width: 640px) {
	.lumara-contacto__grid { grid-template-columns: 1fr; }
	.lumara-pg { padding: 4px 0 30px; }
}

/* ─────────────────────────────────────────────────────────────
   Métodos de pago aceptados (PDP, bajo las mini reseñas)

   Todas las tarjetas miden EXACTAMENTE lo mismo. Los logos tienen
   proporciones muy distintas (Scotiabank es 7x más ancho que Yape),
   así que si la tarjeta se ajusta a su logo la fila se ve desordenada.
   La caja manda y el logo se contiene dentro.
   ───────────────────────────────────────────────────────────── */
.lumara-pagos { margin: 18px 0 4px; }

.lumara-pagos__t {
	margin: 0 0 9px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #8a8189;
}

.lumara-pagos__lista {
	display: grid;
	/* minmax(0,1fr) y no 1fr: con 1fr el contenido puede ensanchar su
	   columna y las tarjetas dejan de medir igual. */
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	margin: 0 0 12px;
	/* La fila no se estira a todo el ancho: es un apoyo, no una sección. */
	max-width: 340px;
	padding: 0;
	list-style: none;
}
.lumara-pagos__lista li {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 62 / 40;      /* misma caja para los cinco */
	padding: 0 8px;
	border: 1px solid #e8dfe5;
	border-radius: 9px;
	background: #fff;
}
.lumara-pagos__lista img {
	/* El logo ocupa poco: la tarjeta debe leerse como un sello discreto,
	   no como un banner. */
	max-width: 62%;
	max-height: 30%;
	width: auto; height: auto;
	display: block;
	object-fit: contain;
}
/* Yape es cuadrado: sin un tope propio se ve enorme frente a los wordmarks. */
.lumara-pagos__lista img[alt="Yape"] { max-height: 42%; max-width: 34%; }

.lumara-pagos__nota {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: 12.5px;
	color: #7a7178;
	line-height: 1.4;
}
.lumara-pagos__candado { font-size: 13px; }

@media (max-width: 480px) {
	.lumara-pagos__lista { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; max-width: 100%; }
}

/* La sección de medios de pago dejaba un hueco muerto antes del marquee. */
.single-product .lumara-pagos { margin-bottom: 0 !important; }
.single-product form.cart { margin-bottom: 14px !important; }

/* ═════════════════════════════════════════════════════════════
   Checkout — alineación y ritmo (escritorio y móvil)
   ═════════════════════════════════════════════════════════════ */

/* Nombres y Apellidos ya los coloca la grilla de 6 columnas de más arriba
   (span 3 cada uno). No añadir anchos ni floats aquí: rompen esa grilla. */

/* Campos más compactos: menos alto y menos hueco entre ellos. */
.woocommerce-checkout .form-row { margin-bottom: 10px !important; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
	height: 46px !important;
	min-height: 46px !important;
	padding: 11px 14px !important;
	border-radius: 9px !important;
}

/* ---- Resumen del pedido ---- */
.woocommerce-checkout .wd-order-table .cart_item td { padding: 10px 0 !important; vertical-align: middle; }
.woocommerce-checkout .wd-checkout-prod-img img {
	width: 52px !important; height: 52px !important;
	object-fit: cover; border-radius: 8px;
}
.woocommerce-checkout .wd-order-table .product-name {
	font-size: 13.5px !important;
	line-height: 1.35 !important;
	padding-right: 12px !important;
}
.woocommerce-checkout .wd-order-table .product-total { font-size: 13.5px !important; white-space: nowrap; }

/* Filas de totales alineadas y con jerarquía clara. */
.woocommerce-checkout .wd-order-table tfoot th,
.woocommerce-checkout .wd-order-table tfoot td {
	padding: 9px 0 !important;
	font-size: 14px !important;
	border: 0 !important;
}
.woocommerce-checkout .wd-order-table tfoot .order-total th,
.woocommerce-checkout .wd-order-table tfoot .order-total td {
	padding-top: 14px !important;
	border-top: 1px solid #e6dde3 !important;
	font-size: 18px !important;
}
.woocommerce-checkout .wd-order-table tfoot .order-total td { font-weight: 700 !important; }

/* Cuponera: campo y botón a la misma altura. */
.woocommerce-checkout .lumara-co-coupon form.checkout_coupon { gap: 8px; align-items: stretch; }
.woocommerce-checkout .lumara-co-coupon #coupon_code { height: 46px !important; border-radius: 9px !important; }
.woocommerce-checkout .lumara-co-coupon button {
	height: 46px !important; border-radius: 9px !important;
	padding: 0 20px !important; white-space: nowrap;
}

@media (max-width: 768px) {
	.woocommerce-checkout .wd-checkout-prod-img img { width: 46px !important; height: 46px !important; }
}

/* ═════════════════════════════════════════════════════════════
   PDP móvil — huecos sobrantes y barra fija a ancho completo
   ═════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
	/* Bajo el título quedaba aire de widgets vacíos de Elementor. */
	.single-product .elementor-widget-wd_single_product_title,
	.single-product .elementor-widget-wd_single_product_short_description,
	.single-product .elementor-widget-wd_single_product_price { margin-bottom: 0 !important; }
	.single-product .product_title { margin: 10px 0 2px !important; }
	.single-product .woocommerce-product-details__short-description { margin: 4px 0 8px !important; }

	/* Tras los medios de pago quedaba un bloque vacío antes del marquee. */
	.single-product .lumara-pagos { margin-bottom: 4px !important; }
	.single-product .summary > *:empty,
	.single-product .elementor-widget-container > *:empty { display: none !important; }
	.single-product .lumara-marquee-pdp { margin-top: 8px !important; }
}


/* ═════════════════════════════════════════════════════════════
   PDP móvil — el hueco venía del `gap` de los contenedores de
   Elementor (20px entre cada widget), no de márgenes. Por eso
   anular márgenes no cambiaba nada.
   ═════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.single-product .e-con,
	.single-product .e-con-inner,
	.single-product .elementor-widget-wrap {
		--gap: 10px;
		--row-gap: 10px;
		--grid-row-gap: 10px;
		gap: 10px !important;
		row-gap: 10px !important;
	}
	/* Título y descripción, aún más juntos: son una sola unidad de lectura. */
	.single-product .elementor-widget-wd_single_product_title { margin-bottom: -4px !important; }
}

/* ═════════════════════════════════════════════════════════════
   PDP — 158px de hueco antes del marquee.
   Lo causaban dos widgets que quedaron VACÍOS al ocultar su
   contenido: la tabla de atributos (40px) y el meta del
   producto con el SKU (16px). Ocupaban alto sin mostrar nada.
   ═════════════════════════════════════════════════════════════ */
.single-product .elementor-widget-wd_single_product_additional_info_table,
.single-product .elementor-widget-wd_single_product_meta,
.single-product .wd-single-attrs:empty,
.single-product .wd-single-meta:empty { display: none !important; }

/* Contenedores de Elementor que quedan sin contenido visible. */
.single-product .e-con.e-child:not(:has(.elementor-widget)) { display: none !important; }

/* Bandera de Perú junto al nombre: refuerza que son clientas locales. */
.lumara-bandera {
	display: inline-block;
	vertical-align: -1px;
	margin-right: 6px;
	border-radius: 2px;
	border: 1px solid rgba(0,0,0,.10);
	flex: none;
}
.lumara-mini-testi__autor { display: inline-flex; align-items: center; }
.lumara-testi__autor .lumara-bandera { margin-right: 5px; }

/* ═════════════════════════════════════════════════════════════
   PLP de categoría — cabecera con la imagen del término

   La foto y el texto vienen de los campos nativos de WooCommerce
   (miniatura y descripción de la categoría). Los colores van FUERA
   del media query: el fondo se inyecta en todas las pantallas y si
   el título blanco solo aplicara en móvil, en escritorio quedaría
   texto negro sobre la foto.
   ═════════════════════════════════════════════════════════════ */
.tax-product_cat.lumara-tiene-hero .wd-page-title,
.tax-product_cat.lumara-tiene-hero .page-title {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 280px;
	padding: 32px 40px !important;
	background-color: #6b6169 !important;   /* solo mientras carga la foto */
	background-size: cover !important;
	background-position: center !important;
	border: 0 !important;
	margin-bottom: 0 !important;
}
.tax-product_cat.lumara-tiene-hero .wd-page-title .entry-title,
.tax-product_cat.lumara-tiene-hero .wd-page-title h1,
.tax-product_cat.lumara-tiene-hero .wd-page-title .title,
.tax-product_cat.lumara-tiene-hero .page-title h1 {
	color: #fff !important;
	margin: 0 !important;
	text-shadow: 0 2px 12px rgba(0,0,0,.40);
}
.tax-product_cat.lumara-tiene-hero .wd-page-title .wd-breadcrumbs,
.tax-product_cat.lumara-tiene-hero .wd-page-title .wd-breadcrumbs a,
.tax-product_cat.lumara-tiene-hero .wd-page-title .woocommerce-breadcrumb,
.tax-product_cat.lumara-tiene-hero .wd-page-title .woocommerce-breadcrumb a {
	color: rgba(255,255,255,.85) !important;
	text-shadow: 0 1px 6px rgba(0,0,0,.35);
}
.tax-product_cat.lumara-tiene-hero .wd-page-title .wd-breadcrumbs a:hover { color: #fff !important; }

/* Descripción de la categoría bajo la cabecera. */
.tax-product_cat .term-description {
	margin: 20px 0 6px !important;
	font-size: 15px;
	line-height: 1.65;
	color: #5c565b;
	max-width: 760px;
}
.tax-product_cat .term-description p { margin: 0; }

@media (max-width: 768px) {
	.tax-product_cat.lumara-tiene-hero .wd-page-title,
	.tax-product_cat.lumara-tiene-hero .page-title {
		min-height: 210px;
		padding: 24px 20px !important;
	}
	.tax-product_cat.lumara-tiene-hero .wd-page-title .entry-title,
	.tax-product_cat.lumara-tiene-hero .wd-page-title h1 { font-size: 30px !important; }
	.tax-product_cat .term-description { margin: 16px 0 4px !important; font-size: 14px; padding: 0 4px; }
}

/* ── PLP móvil: cabecera al ras y sin ruido ── */
@media (max-width: 768px) {
	/* Título a la izquierda, como el resto del contenido. */
	.tax-product_cat.lumara-tiene-hero .wd-page-title,
	.tax-product_cat.lumara-tiene-hero .page-title {
		align-items: flex-start !important;
		text-align: left !important;
	}
	.tax-product_cat.lumara-tiene-hero .wd-page-title .entry-title,
	.tax-product_cat.lumara-tiene-hero .wd-page-title h1,
	.tax-product_cat.lumara-tiene-hero .wd-page-title .title {
		text-align: left !important;
		width: 100%;
	}

	/* El breadcrumb repite lo que ya dice el título. */
	.tax-product_cat .wd-breadcrumbs,
	.tax-product_cat .woocommerce-breadcrumb { display: none !important; }

	/* "Mostrando los 2 resultados" no aporta con catálogos cortos. */
	.tax-product_cat .woocommerce-result-count { display: none !important; }
}

/* El título quedaba centrado aunque tuviera text-align:left: lo centraba un
   contenedor interno del tema. Se fuerza a ancho completo y al margen. */
@media (max-width: 768px) {
	.tax-product_cat.lumara-tiene-hero .wd-page-title > .container,
	.tax-product_cat.lumara-tiene-hero .wd-page-title .container,
	.tax-product_cat.lumara-tiene-hero .wd-page-title .wd-page-title-inner,
	.tax-product_cat.lumara-tiene-hero .wd-page-title .title-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	.tax-product_cat.lumara-tiene-hero .wd-page-title .entry-title,
	.tax-product_cat.lumara-tiene-hero .wd-page-title h1,
	.tax-product_cat.lumara-tiene-hero .wd-page-title .title {
		margin-left: 0 !important;
		margin-right: auto !important;
		align-self: flex-start !important;
	}
}

/* ═════════════════════════════════════════════════════════════
   PDP — línea de tiempo de entrega
   Las fechas las escribe el JS; hasta entonces la sección queda
   oculta para no mostrar huecos vacíos.
   ═════════════════════════════════════════════════════════════ */
.lumara-entrega { margin: 20px 0 4px; opacity: 0; transition: opacity .25s ease; }
.lumara-entrega.is-listo { opacity: 1; }

.lumara-entrega__pasos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}
.lumara-entrega__paso {
	position: relative;
	text-align: center;
	padding-top: 4px;
}
/* La línea que une los hitos, detrás de los círculos. */
.lumara-entrega__paso::before {
	content: "";
	position: absolute;
	top: 22px; left: 0; right: 0;
	height: 1px;
	background: var(--lumara-rose-soft, #ffd1f0);
	z-index: 0;
}
.lumara-entrega__paso:first-child::before { left: 50%; }
.lumara-entrega__paso:last-child::before { right: 50%; }

.lumara-entrega__icono {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--lumara-pink, #ff0a8a);
	color: #fff;
	margin-bottom: 9px;
}
.lumara-entrega__fecha {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--lumara-ink, #1a1a1a);
	font-variant-numeric: tabular-nums;
}
.lumara-entrega__t {
	display: block;
	font-size: 12.5px;
	color: #8a8189;
	margin-top: 1px;
}
.lumara-entrega__nota {
	margin: 14px 0 0;
	font-size: 11.5px;
	line-height: 1.5;
	color: #a49aa0;
	text-align: center;
}

@media (max-width: 480px) {
	.lumara-entrega__icono { width: 40px; height: 40px; }
	.lumara-entrega__paso::before { top: 20px; }
	.lumara-entrega__fecha { font-size: 13px; }
	.lumara-entrega__t { font-size: 12px; }
}

/* ═════════════════════════════════════════════════════════════
   PDP — bloques de confianza con jerarquía común
   Orden: entrega (¿cuándo llega?) → pago (¿es seguro?) →
   reseña (cierre). Cada uno con su titulillo y un filete sutil
   que los separa sin cargar la columna.
   ═════════════════════════════════════════════════════════════ */
.lumara-bloque {
	padding-top: 18px;
	margin-top: 18px !important;
	border-top: 1px solid #f0e7ec;
}
/* El primero no lleva filete: ya lo separan los botones. */
.lumara-bloque:first-of-type { border-top: 0; }

.lumara-bloque__t {
	margin: 0 0 14px !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #a89ba3;
}

/* Las reglas viejas del titulillo de pagos dejan de aplicar. */
.lumara-pagos__t { display: none !important; }

/* Ajustes finos dentro de cada bloque. */
.lumara-entrega { margin-bottom: 0 !important; }
.lumara-entrega__nota { margin-top: 12px; }
.lumara-pagos { margin: 0 !important; }
.lumara-pagos__nota { margin-top: 10px !important; }

/* La reseña cierra: sin filete propio, ya viene de un bloque con borde. */
.lumara-mini-testi {
	margin-top: 18px !important;
	border-color: #f0e7ec;
}

/* "Personas viendo" queda pegado a los botones: es urgencia, no confianza. */
.cb-viewers { margin: 12px 0 2px !important; }

/* Aire entre la nota de fechas y el filete del bloque siguiente. */
.lumara-entrega__nota { margin: 14px 0 4px !important; }
.lumara-pagos.lumara-bloque { padding-top: 22px; margin-top: 22px !important; }

/* ═════════════════════════════════════════════════════════════
   Breadcrumb en escritorio: deja de ser una franja rosa.
   La barra a todo el ancho competía con el hero y el producto;
   el rastro de navegación es información de apoyo, no una sección.
   ═════════════════════════════════════════════════════════════ */
@media (min-width: 769px) {
	.single-product .wd-page-title,
	.single-product .wd-section-stretch:has(.wd-el-breadcrumbs),
	.single-product .elementor-element:has(> .e-con-inner > .wd-el-breadcrumbs) {
		background-color: #fff !important;
		background-image: none !important;
		border-bottom: 1px solid #f2ecef !important;
		padding-top: 14px !important;
		padding-bottom: 14px !important;
		min-height: 0 !important;
	}
	.single-product .wd-breadcrumbs,
	.single-product .wd-el-breadcrumbs .wd-breadcrumbs {
		font-size: 12.5px !important;
		color: #9a9198 !important;
	}
	.single-product .wd-breadcrumbs a,
	.single-product .wd-el-breadcrumbs .wd-breadcrumbs a { color: #7a7178 !important; }
	.single-product .wd-breadcrumbs a:hover { color: var(--lumara-pink, #ff0a8a) !important; }
	/* El último nivel repite el título del producto: se apaga. */
	.single-product .wd-breadcrumbs .wd-last { color: #b9b0b6 !important; }
}

/* Breadcrumb: fuera el último nivel (repite el título del producto) y
   padding al mínimo. El schema BreadcrumbList que lee Google se genera
   aparte del HTML, así que ocultarlo no afecta al SEO. */
@media (min-width: 769px) {
	.single-product .wd-breadcrumbs .wd-last,
	.single-product .wd-breadcrumbs .breadcrumb-last,
	.single-product .wd-el-breadcrumbs .wd-breadcrumbs > .wd-last { display: none !important; }
	/* El separador que quedaba colgando antes del elemento oculto. */
	.single-product .wd-breadcrumbs .wd-delimiter:last-of-type { display: none !important; }

	.single-product .wd-page-title,
	.single-product .wd-section-stretch:has(.wd-el-breadcrumbs),
	.single-product .elementor-element:has(> .e-con-inner > .wd-el-breadcrumbs) {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.single-product .wd-page-title .container,
	.single-product .wd-el-breadcrumbs { padding-top: 0 !important; padding-bottom: 0 !important; }
	.single-product .wd-breadcrumbs { line-height: 1.3 !important; margin: 0 !important; }
}

/* Quedaba una barra "/" colgando tras ocultar el último nivel. */
@media (min-width: 769px) {
	.single-product .wd-breadcrumbs > .wd-delimiter:last-child,
	.single-product .wd-breadcrumbs .wd-last + .wd-delimiter,
	.single-product .wd-breadcrumbs .wd-delimiter:nth-last-child(2) { display: none !important; }
}


/* ═════════════════════════════════════════════════════════════
   "¿Por qué elegir Lumara?" — una sola sección
   Cabecera centrada arriba y debajo dos columnas de igual peso:
   el aval (foto + datos) y la comparativa. Antes eran dos bloques
   sueltos y se leían como piezas sin relación.
   ═════════════════════════════════════════════════════════════ */
.lumara-porque { padding: 60px 0 56px; }
.lumara-porque__inner { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

.lumara-porque__head { text-align: center; margin-bottom: 40px; }
.lumara-porque__eyebrow {
	display: block;
	color: var(--lumara-pink, #ff0a8a);
	font-size: 11.5px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase;
	margin-bottom: 10px;
}
.lumara-porque__title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.15;
	color: var(--lumara-ink, #1a1a1a);
	margin: 0 0 8px;
}
.lumara-porque__sub { margin: 0; font-size: 15px; line-height: 1.6; color: #6b6269; }

.lumara-porque__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;   /* la tabla no se estira al alto de la foto */
}

/* ── Aval: foto y datos como una sola tarjeta ── */
.lumara-porque__aval {
	display: flex;
	flex-direction: column;
	border: 1px solid #f0e7ec;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
}
.lumara-porque__img { width: 100%; height: auto; display: block; }
.lumara-porque__copy {
	margin: 0;
	padding: 22px 24px 24px;
	font-size: 14.5px;
	line-height: 1.7;
	color: #5c565b;
}
.lumara-porque__copy strong { color: var(--lumara-ink, #1a1a1a); font-weight: 700; }

/* ── Comparativa ── */
.lumara-porque__tabla {
	display: flex;
	flex-direction: column;
	border: 1px solid #f0e7ec;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
}
.lumara-porque__thead,
.lumara-porque__fila {
	display: grid;
	grid-template-columns: minmax(0,1fr) 92px 92px;
	align-items: center;
}
.lumara-porque__thead {
	padding: 16px 22px;
	border-bottom: 1px solid #f0e7ec;
	background: #fdfbfc;
}
.lumara-porque__thead span {
	font-size: 11px; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase;
	text-align: center;
}
.lumara-porque__marca { color: var(--lumara-pink, #ff0a8a); }
.lumara-porque__otros { color: #a89ba3; }

.lumara-porque__fila {
	padding: 15px 22px;
	border-bottom: 1px solid #f6f0f3;
}
.lumara-porque__fila:last-child { border-bottom: 0; }
.lumara-porque__q { font-size: 14.5px; color: #3a353a; line-height: 1.4; }
.lumara-porque__si,
.lumara-porque__no { display: flex; align-items: center; justify-content: center; }
.lumara-porque__si { color: #16a34a; }
.lumara-porque__no { color: #cfc6cc; font-size: 17px; }

@media (max-width: 900px) {
	.lumara-porque { padding: 40px 0 36px; }
	.lumara-porque__head { margin-bottom: 26px; }
	.lumara-porque__grid { grid-template-columns: 1fr; gap: 20px; }
	/* La comparativa primero: es el argumento, la foto es el respaldo. */
	.lumara-porque__tabla { order: -1; }
	.lumara-porque__thead,
	.lumara-porque__fila { grid-template-columns: minmax(0,1fr) 74px 74px; padding-left: 16px; padding-right: 16px; }
	.lumara-porque__q { font-size: 13.5px; }
	.lumara-porque__copy { padding: 18px 18px 20px; font-size: 14px; }
}

/* ═════════════════════════════════════════════════════════════
   Selector de color (muestras nativas de WoodMart)

   La etiqueta de la fila está oculta en toda la ficha porque en el
   selector de letra estorbaba. Aquí se recupera solo para el color,
   que sí necesita un titular que invite a elegir.
   ═════════════════════════════════════════════════════════════ */
.single-product .variations th.label:has(label[for="pa_color"]) {
	display: flex !important;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 10px;
	padding: 0;
	text-align: left;
}
.single-product .variations th.label label[for="pa_color"] {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #1a1a1a;
}
/* El nombre del color elegido, en rosa: es la respuesta a la pregunta.
   Lo imprime WoodMart en .wd-attr-selected; aquí solo se le da forma. */
.single-product .variations th.label .wd-attr-selected {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--lumara-pink, #ff0a8a);
	text-transform: none;
}
.lumara-color-elegido .variations th.label .wd-attr-selected::before {
	content: "·";
	margin-right: 7px;
	color: #d8ccd3;
	font-weight: 400;
}

/* Las muestras: de 25px a un objetivo cómodo para el pulgar. */
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px !important;
}
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50%;
	padding: 3px;
	/* El aro va en outline: el borde y el box-shadow los controla el tema
	   con reglas que ni un !important inline consigue sobrescribir.
	   outline además dibuja por fuera, así que el círculo no se mueve. */
	border: 0 !important;
	outline: 1px solid;
	outline-offset: -1px;
	/* El tema resuelve outline-color a currentColor pase lo que pase, así
	   que el color del aro se controla desde aquí. */
	color: #ece3e8;
	background: #fff;
	transition: outline-color .18s ease, transform .18s ease;
}
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch-bg {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	/* Un filo interior tenue para que el color crema no se pierda sobre
	   el blanco de la ficha. */
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.07);
}
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch:hover {
	color: #cfc2ca;
	transform: translateY(-1px);
}
/* El aro elegido va en tinta, no en rosa: alrededor de la muestra rosada
   un aro rosa no se vería, y el mismo aro debe funcionar en los cinco. */
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch.wd-active {
	color: #1a1a1a;
	outline-width: 2px;
	outline-offset: 2px;
}
/* WoodMart además subraya la muestra activa con un ::after. Con el aro ya
   puesto, la raya sobra: son dos marcas para una sola decisión. */
.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch::after {
	display: none !important;
}

/* "Limpiar" solo tiene sentido cuando hay algo que limpiar, y nunca
   compartiendo fila con las muestras. */
.lumara-has-colores .variations .reset_variations {
	display: none !important;
}
.lumara-has-colores.lumara-color-elegido .variations .reset_variations {
	display: inline-block !important;
	margin: 10px 0 0;
	font-size: 12px;
	color: #9b929a !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 768px) {
	.lumara-has-colores .wd-swatches-product[data-id="pa_color"] { gap: 12px !important; }
	.lumara-has-colores .wd-swatches-product[data-id="pa_color"] .wd-swatch {
		width: 40px !important;
		height: 40px !important;
	}
	.single-product .variations th.label:has(label[for="pa_color"]) { margin-bottom: 9px; }
}

/* Aval de empresa y forma de pago. Tres niveles de jerarquía: quiénes
   somos, cómo se paga (lo que de verdad quieren saber) y la alternativa. */
.lumara-aval { padding: 20px 22px 22px; }
.lumara-aval p { margin: 0; }

.lumara-aval__empresa {
	font-size: 13px;
	color: #6b6168;
	letter-spacing: .01em;
	padding-bottom: 14px;
	border-bottom: 1px solid #f2eaee;
}
.lumara-aval__empresa strong { color: #1a1a1a; font-weight: 700; }

.lumara-aval__pago {
	margin-top: 14px !important;
	font-size: 14.5px;
	line-height: 1.62;
	color: #3f383f;
}
.lumara-aval__tag {
	display: block;
	margin-bottom: 5px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lumara-pink, #ff0a8a);
}
.lumara-aval__pago strong { color: #1a1a1a; font-weight: 700; }

/* La vía online, en voz baja: es la alternativa, no el titular. */
.lumara-aval__alt {
	margin-top: 12px !important;
	padding-top: 12px;
	border-top: 1px solid #f2eaee;
	font-size: 12.5px;
	line-height: 1.55;
	color: #8a8189;
}

@media (max-width: 768px) {
	.lumara-aval { padding: 16px 18px 18px; }
	.lumara-aval__pago { font-size: 14px; }
}

/* Etiqueta "Más vendido": negro de la paleta para no competir con el rosa
   del descuento, y en la esquina opuesta a él, que quedó libre al desactivar
   la lista de deseos. */
.lumara-destacado {
	position: absolute;
	top: 12px; right: 12px;
	z-index: 3;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--lumara-ink, #1a1a1a);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;
}
.wd-product .product-image-link,
.wd-product .product-element-top { position: relative; }
/* En la ficha no hace falta: ahí ya está el contador de unidades vendidas. */
.single-product .summary .lumara-destacado { display: none !important; }

/* En la grilla de dos columnas la foto mide 146px y comparte la fila con el
   badge de descuento: la etiqueta se estrecha para dejar aire entre ambos. */
@media (max-width: 768px) {
	.lumara-destacado {
		top: 9px; right: 9px;
		padding: 3px 7px;
		font-size: 8.5px;
		letter-spacing: .04em;
	}
}

/* ═════════════════════════════════════════════════════════════
   Barra fija de compra (PDP móvil)

   Un solo bloque a propósito: antes había tres, escritos en momentos
   distintos, y entre ellos se contradecían. La estructura real del tema es

     .wd-sticky-btn > .wd-sticky-btn-container > [ -content | -cart ]

   donde -content es miniatura + nombre (no cabe en móvil) y -cart trae el
   precio y hasta dos botones. Poner width:100% a todos los hijos de un
   contenedor flex es justo lo que desbordaba la barra por la derecha.
   ═════════════════════════════════════════════════════════════ */
.wd-sticky-btn {
	padding: 10px 0 !important;
	background: #fff !important;
	border-top: 1px solid #efe7ec !important;
	box-shadow: 0 -4px 16px rgba(0,0,0,.08) !important;
	height: auto !important;
	min-height: 0 !important;
}
.wd-sticky-btn .wd-sticky-btn-container {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 14px !important;
	margin: 0 !important;
	gap: 0 !important;
	height: auto !important;
	min-height: 0 !important;
}

/* A sangre. El propio tema fuerza border-radius:0 en móvil con más
   especificidad que nosotros: pelearlo dejaba un botón cuadrado metido
   14px hacia dentro, que es lo peor de las dos opciones. */
@media (max-width: 768.98px) {
	.wd-sticky-btn { padding: 0 !important; }
	.wd-sticky-btn .wd-sticky-btn-container { padding: 0 !important; }
	.wd-sticky-btn .single_add_to_cart_button,
	.wd-sticky-btn .wd-sticky-add-to-cart {
		border-radius: 0 !important;
		min-height: 56px !important;
	}
}

/* Miniatura y nombre: el usuario acaba de verlos al hacer scroll. */
.wd-sticky-btn .wd-sticky-btn-content { display: none !important; }

/* El carrito ocupa la barra entera. */
.wd-sticky-btn .wd-sticky-btn-cart {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	display: flex !important;
	align-items: center;
	gap: 0 !important;
	height: auto !important;
	min-height: 0 !important;
}
.wd-sticky-btn form.cart {
	flex: 1 1 auto !important;   /* el tema lo fija en 0: sin esto el botón
	                                se queda del ancho de su texto */
	width: auto !important;
	margin: 0 !important;
	display: block !important;
}

/* Lista blanca, no lista negra. WoodMart clona aquí el bloque de compra
   entero, así que cada sección nueva de la ficha (entrega, medios de pago,
   reseñas…) se colaba en la barra y estrujaba el botón. Enumerarlas una por
   una obliga a acordarse cada vez; esto deja pasar solo el formulario. */
.wd-sticky-btn .wd-sticky-btn-cart > *:not(form.cart):not(.wd-sticky-add-to-cart),
.wd-sticky-btn form.cart > *:not(.single_add_to_cart_button) { display: none !important; }

/* Un solo botón, a ancho completo. Dos botones rosados idénticos en 375px
   no ayudan a decidir: en variables manda "Elegir opciones", que lleva al
   selector de letra; comprar sin haberla elegido fallaría. */
.wd-sticky-btn .wd-buy-now-btn { display: none !important; }
.wd-sticky-btn .single_add_to_cart_button,
.wd-sticky-btn .wd-sticky-add-to-cart {
	background-color: var(--lumara-pink, #ff0a8a) !important;
	border-color: var(--lumara-pink, #ff0a8a) !important;
	color: #fff !important;
	flex: 1 1 auto;
	width: 100% !important;
	margin: 0 !important;
	min-height: 50px !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: .03em;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
}
