/* =========================================================================
   Las Cosicas — heredado del "Catálogo de coleccionista" de La Pieza Perdida
   Solo actúa bajo body.lpp (ver inc/lpp-core.php).
   ========================================================================= */

/* ---------- Fuentes ---------- */
@font-face {
	font-family: "LPP Display";
	src: url("../fonts/inter-tight-normal-500-700.woff2") format("woff2");
	font-weight: 500 700; font-style: normal; font-display: swap;
}
@font-face {
	font-family: "LPP Display";
	src: url("../fonts/inter-tight-italic-500-700.woff2") format("woff2");
	font-weight: 500 700; font-style: italic; font-display: swap;
}
@font-face {
	font-family: "LPP Sans";
	src: url("../fonts/inter-normal-400-700.woff2") format("woff2");
	font-weight: 400 700; font-style: normal; font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	/* Paleta "nude premium" (2026-10-23): base nude y blanco cálido, negro
	   para texto y botones, rosa empolvado solo en detalles. Para probar el
	   azul pastel, cambiar --lpp-accent por --lpp-blue en una línea. */
	--lpp-paper: #FBF8F5;      /* blanco cálido: fondo */
	--lpp-paper-2: #F3EBE4;    /* nude claro: tarjetas e imágenes */
	--lpp-paper-3: #E9DCD1;    /* nude: bloques de color */
	--lpp-ink: #161314;        /* negro cálido */
	--lpp-ink-2: #5F5550;
	--lpp-ink-3: #93877F;
	--lpp-line: #E6DAD0;
	--lpp-line-strong: #161314;
	--lpp-pink: #E8B4B6;       /* rosa empolvado */
	--lpp-blue: #BCCFDC;       /* azul pastel (alternativa) */
	--lpp-accent: var(--lpp-pink);
	--lpp-accent-soft: #F1E2DC; /* nude rosado: fondo de la ilustración */
	--lpp-nude-deep: #D6BDAE;  /* nude oscuro: capas de la ilustración */
	--lpp-red: #B42318;
	--lpp-green: #2F6B3A;

	--lpp-display: "LPP Display", "Helvetica Neue", Arial, sans-serif;
	--lpp-sans: "LPP Sans", "Helvetica Neue", Arial, sans-serif;

	--lpp-fs: 1; /* escala tipográfica: algo menor en escritorio */
	--lpp-hs: 1; /* escala extra de titulares */
	--lpp-wrap: 1320px;
	--lpp-gutter: clamp(20px, 4vw, 48px);
	--lpp-radius: 14px;
	--lpp-ease: cubic-bezier(.2, .7, .1, 1);
}

@media (min-width: 850px) { :root { --lpp-fs: .81; --lpp-hs: .9; } } /* texto -10 % y titulares otro -10 % (2026-10-23) */

/* ---------- Base ---------- */
body.lpp {
	background: var(--lpp-paper);
	color: var(--lpp-ink);
	font-family: var(--lpp-sans);
	font-size: calc(16px * var(--lpp-fs));
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.lpp #wrapper,
.lpp #main,
.lpp .page-wrapper,
.lpp .shop-container,
.lpp .product-main,
.lpp .product-footer .woocommerce-tabs,
.lpp #main.dark { background: var(--lpp-paper); }

.lpp ::selection { background: var(--lpp-accent); color: var(--lpp-ink); }

.lpp,
.lpp p, .lpp li, .lpp td, .lpp th, .lpp label, .lpp input, .lpp select, .lpp textarea, .lpp button,
.lpp .nav > li > a, .lpp .alt-font, .lpp .price, .lpp .button, .lpp .widget-title {
	font-family: var(--lpp-sans);
}
.lpp h1, .lpp h2, .lpp h3, .lpp h4, .lpp h5, .lpp h6,
.lpp .heading-font, .lpp .product-title, .lpp .page-title, .lpp .section-title {
	font-family: var(--lpp-display);
	font-weight: 500;
	letter-spacing: -0.03em;
	color: var(--lpp-ink);
	text-transform: none;
}
.lpp h1 { font-size: calc(var(--lpp-hs) * clamp(2.4rem, 4.6vw, 4rem) * var(--lpp-fs)); line-height: 1.02; }
.lpp h2 { font-size: calc(var(--lpp-hs) * clamp(2rem, 3.4vw, 3rem) * var(--lpp-fs)); line-height: 1.05; }
.lpp h3 { font-size: calc(1.75rem * var(--lpp-fs)); line-height: 1.15; }
.lpp h4 { font-size: calc(1.35rem * var(--lpp-fs)); line-height: 1.2; }
.lpp em, .lpp i { font-style: italic; }
.lpp h1 em, .lpp h2 em, .lpp h3 em { font-family: var(--lpp-display); font-style: italic; }

.lpp a { color: var(--lpp-ink); transition: color .2s, opacity .2s; }
.lpp a:hover { color: var(--lpp-ink); }
.lpp strong, .lpp b { font-weight: 600; }

.lpp :focus-visible {
	outline: 2px solid var(--lpp-ink);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--lpp-accent);
	border-radius: var(--lpp-radius);
}

/* Retícula: contenedores y filas de primer nivel comparten ancho y margen,
   de modo que cabecera, migas y rejillas arrancan en la misma vertical. */
.lpp .container { max-width: var(--lpp-wrap); padding-left: var(--lpp-gutter); padding-right: var(--lpp-gutter); }
.lpp .row:where(:not(.row .row, .row-full-width, .full-width)) {
	max-width: var(--lpp-wrap);
	padding-left: calc(var(--lpp-gutter) - 15px);
	padding-right: calc(var(--lpp-gutter) - 15px);
}
.lpp .row .row { max-width: none; }
.lpp .container .row:where(:not(.row .row)) { padding-left: 0; padding-right: 0; }

/* Rótulo pequeño: el "eyebrow" del catálogo. */
.lpp .lpp-eyebrow {
	display: inline-flex; align-items: center; gap: .6em;
	font-family: var(--lpp-sans);
	font-size: 11.5px; font-weight: 500;
	letter-spacing: .16em; text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	color: var(--lpp-ink-2);
}
.lpp .lpp-eyebrow--stud::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%;
	background: var(--lpp-accent); box-shadow: 0 0 0 1px rgba(22,19,20,.18);
}

/* ---------- Barra superior ---------- */
.lpp .header-top { background: var(--lpp-ink) !important; min-height: 34px; }
.lpp .header-top .flex-row { justify-content: center; }
.lpp .lpp-topbar {
	display: inline-flex; align-items: center; gap: 14px;
	font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
	color: #FBF8F5;
}
.lpp .lpp-topbar i {
	width: 4px; height: 4px; border-radius: 50%; background: var(--lpp-accent); display: inline-block;
}

/* ---------- Cabecera ---------- */
.lpp .header-wrapper,
.lpp .header-main,
.lpp .header-bg-color { background-color: var(--lpp-paper) !important; }
.lpp .header-main { border-bottom: 1px solid var(--lpp-line); }
.lpp .header-wrapper.stuck .header-main { box-shadow: none; border-bottom-color: var(--lpp-line); }
.lpp .header-shadow .header-wrapper,
.lpp .header-wrapper { box-shadow: none !important; }

.lpp .lpp-logo-wrap { margin: 0; font-size: inherit; line-height: 1; }
.lpp .lpp-logo {
	display: inline-flex; align-items: center; gap: 12px;
	text-decoration: none; color: var(--lpp-ink); white-space: nowrap;
}
.lpp .lpp-logo__mark { width: 26px; height: 26px; flex: none; }
.lpp .lpp-logo__word {
	font-family: var(--lpp-display); font-weight: 500; font-size: calc(26px * var(--lpp-fs)); letter-spacing: -0.03em; line-height: 1;
}
.lpp .lpp-logo__word em { font-style: italic; }
.lpp #logo { width: auto !important; margin-right: 44px; }

/* Navegación principal */
.lpp .header-nav-main.nav > li { margin: 0 14px; }
.lpp .header-nav-main.nav > li > a {
	font-size: calc(14.5px * var(--lpp-fs)); font-weight: 500; letter-spacing: .005em; text-transform: none;
	color: var(--lpp-ink); padding: 8px 0; position: relative;
}
.lpp .header-nav-main.nav > li > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px;
	background: var(--lpp-ink); transform: scaleX(0); transform-origin: left;
	transition: transform .35s var(--lpp-ease);
}
.lpp .header-nav-main.nav > li > a:hover::after,
.lpp .header-nav-main.nav > li.current-menu-item > a::after { transform: scaleX(1); }
.lpp .header-nav-main.nav > li.lpp-nav-accent > a::before {
	content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%;
	background: var(--lpp-accent); box-shadow: 0 0 0 1px rgba(22,19,20,.25);
	margin-right: 8px; transform: translateY(-2px);
}

/* Iconos */
.lpp .header-main .nav-right > li { margin-left: 18px; }
.lpp .header-main .nav-right > li > a { color: var(--lpp-ink); }
.lpp .header-main .icon-search,
.lpp .header-main .icon-user,
.lpp .header-main .icon-shopping-bag { font-size: calc(19px * var(--lpp-fs)); }
.lpp .header-main .header-divider { display: none; }
.lpp .cart-icon strong,
.lpp .header-cart-link .cart-icon strong {
	border: 0 !important; border-radius: 999px !important;
	background: var(--lpp-accent) !important; color: var(--lpp-ink) !important;
	font-family: var(--lpp-sans); font-weight: 600; font-size: 10.5px;
	min-width: 18px; height: 18px; line-height: 18px; padding: 0 5px;
	box-shadow: 0 0 0 1.5px var(--lpp-paper);
}
.lpp .cart-icon strong::after { display: none; }

/* Panel móvil */
.lpp .mfp-bg.off-canvas-left,
.lpp .off-canvas .mfp-content,
.lpp .off-canvas-left .mfp-content { background: var(--lpp-paper); }
.lpp .off-canvas .nav-sidebar > li > a {
	font-family: var(--lpp-display); font-size: calc(28px * var(--lpp-fs)); font-weight: 500; text-transform: none;
	letter-spacing: -0.01em; padding: 14px 28px; color: var(--lpp-ink);
}
.lpp .off-canvas .nav-sidebar > li.lpp-nav-accent > a::after {
	content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-left: 10px;
	background: var(--lpp-accent); box-shadow: 0 0 0 1px rgba(22,19,20,.25); transform: translateY(-4px);
}
.lpp .off-canvas .sidebar-menu { padding-top: 24px; }
.lpp .off-canvas .searchform-wrapper { padding: 0 28px 20px !important; }
.lpp .off-canvas .nav-sidebar > li { border-color: var(--lpp-line) !important; }

/* ---------- Botones ---------- */
.lpp .button,
.lpp button.button,
.lpp input[type="submit"],
.lpp input[type="button"],
.lpp .single_add_to_cart_button,
.lpp .checkout-button,
.lpp #place_order {
	font-family: var(--lpp-sans) !important;
	font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	border-radius: var(--lpp-radius) !important;
	min-height: 50px; line-height: 50px; padding: 0 28px;
	background-color: var(--lpp-ink); color: var(--lpp-paper);
	border: 1px solid var(--lpp-ink); box-shadow: none !important;
	transition: background-color .25s var(--lpp-ease), color .25s var(--lpp-ease), border-color .25s;
}
.lpp .button:hover,
.lpp button.button:hover,
.lpp input[type="submit"]:hover,
.lpp .single_add_to_cart_button:hover,
.lpp .checkout-button:hover,
.lpp #place_order:hover {
	background-color: var(--lpp-accent) !important; color: var(--lpp-ink) !important;
	border-color: var(--lpp-ink) !important; box-shadow: none !important; opacity: 1;
}
.lpp .button.is-outline,
.lpp .button.lpp-btn--ghost {
	background: transparent; color: var(--lpp-ink); border: 1px solid var(--lpp-ink);
}
.lpp .button.is-outline:hover,
.lpp .button.lpp-btn--ghost:hover { background: var(--lpp-ink) !important; color: var(--lpp-paper) !important; }
.lpp .button.is-link,
.lpp .button.is-underline { background: none; border: 0; color: var(--lpp-ink); }

/* Enlace con flecha */
.lpp .lpp-link {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none; color: var(--lpp-ink); padding-bottom: 4px;
	background: linear-gradient(var(--lpp-ink), var(--lpp-ink)) left bottom / 100% 1px no-repeat;
	transition: background-size .4s var(--lpp-ease);
}
.lpp .lpp-link::after { content: "→"; font-family: var(--lpp-sans); letter-spacing: 0; transition: transform .35s var(--lpp-ease); }
.lpp .lpp-link:hover { background-size: 35% 1px; }
.lpp .lpp-link:hover::after { transform: translateX(4px); }

/* ---------- Formularios ---------- */
.lpp input[type="text"], .lpp input[type="email"], .lpp input[type="tel"], .lpp input[type="password"],
.lpp input[type="number"], .lpp input[type="search"], .lpp input[type="url"], .lpp input[type="date"],
.lpp textarea, .lpp select, .lpp .select2-container .select2-selection--single {
	background-color: #FFFEFB;
	border: 1px solid var(--lpp-line);
	border-radius: var(--lpp-radius);
	box-shadow: none !important;
	color: var(--lpp-ink);
	font-size: calc(15px * var(--lpp-fs));
	height: 50px;
	padding: 0 14px;
	transition: border-color .2s, box-shadow .2s;
}
.lpp textarea { height: auto; min-height: 120px; padding: 12px 14px; }
.lpp .select2-container .select2-selection--single { display: flex; align-items: center; }
.lpp .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-left: 0; color: var(--lpp-ink); }
.lpp .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }
.lpp input:focus, .lpp textarea:focus, .lpp select:focus {
	border-color: var(--lpp-ink) !important; outline: none;
	box-shadow: 0 0 0 3px rgba(255, 213, 0, .55) !important;
}
.lpp label, .lpp legend {
	font-size: 12.5px; font-weight: 500; letter-spacing: .02em; color: var(--lpp-ink-2); text-transform: none;
}
.lpp .required { color: var(--lpp-ink-3); border: 0; text-decoration: none; }
.lpp ::placeholder { color: var(--lpp-ink-3); opacity: 1; }

/* Selector de cantidad */
.lpp .quantity .qty,
.lpp .quantity .button.minus,
.lpp .quantity .button.plus {
	height: 50px; min-height: 50px; line-height: 50px; border-color: var(--lpp-line);
	background: #FFFEFB; color: var(--lpp-ink); letter-spacing: 0; padding: 0 12px; font-size: calc(15px * var(--lpp-fs));
}
.lpp .quantity .button.minus:hover,
.lpp .quantity .button.plus:hover { background: var(--lpp-paper-2) !important; color: var(--lpp-ink) !important; }
.lpp .quantity .qty { width: 52px; border-left: 0; border-right: 0; font-variant-numeric: tabular-nums; }

/* ---------- Avisos ---------- */
.lpp .woocommerce-message,
.lpp .woocommerce-info,
.lpp .woocommerce-error,
.lpp .message-wrapper,
.lpp ul.woocommerce-error {
	background: #FFFEFB; border: 1px solid var(--lpp-line); border-left: 3px solid var(--lpp-ink);
	border-radius: var(--lpp-radius); padding: 14px 18px; color: var(--lpp-ink); font-size: calc(14.5px * var(--lpp-fs));
}
.lpp .woocommerce-error,
.lpp ul.woocommerce-error { border-left-color: var(--lpp-red); }
.lpp .message-wrapper .message-container { padding: 0; }
.lpp .woocommerce-message .button,
.lpp .message-wrapper .button { min-height: 38px; line-height: 38px; padding: 0 16px; font-size: 11px; }

/* ---------- Migas ---------- */
.lpp .woocommerce-breadcrumb,
.lpp .breadcrumbs {
	font-family: var(--lpp-sans); font-size: 11.5px !important; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase; color: var(--lpp-ink-3);
}
.lpp .woocommerce-breadcrumb a, .lpp .breadcrumbs a { color: var(--lpp-ink-2); }
.lpp .woocommerce-breadcrumb a:hover, .lpp .breadcrumbs a:hover { color: var(--lpp-ink); }
.lpp .breadcrumbs .divider { opacity: .5; margin: 0 .5em; }

/* ---------- Tarjeta de producto ---------- */
.lpp .product-small.box { background: transparent; }
.lpp .product-small .box-image {
	background: var(--lpp-paper-2);
	border-radius: var(--lpp-radius);
	overflow: hidden;
	isolation: isolate;
	aspect-ratio: 1 / 1;
}
.lpp .product-small .box-image .image-fade_in_back,
.lpp .product-small .box-image > div:first-child { height: 100%; }
.lpp .product-small .box-image a { display: block; height: 100%; }
.lpp .product-small .box-image img {
	mix-blend-mode: multiply;
	width: 100%; height: 100%; object-fit: contain;
	padding: 9%;
	transition: transform .9s var(--lpp-ease);
}
.lpp .product-small:hover .box-image img { transform: scale(1.045); }
.lpp .product-small .box-image .back-image { display: none; }

.lpp .product-small .box-text { padding: 16px 2px 8px; text-align: left; }
.lpp .product-small .box-text .lpp-card-eyebrow { margin-bottom: 6px; }
.lpp .product-small .name.product-title,
.lpp .product-small .product-title {
	font-family: var(--lpp-sans) !important; font-size: calc(15px * var(--lpp-fs)); font-weight: 500; line-height: 1.35;
	letter-spacing: 0; margin: 0 0 6px; height: auto !important;
}
.lpp .product-small .product-title a { color: var(--lpp-ink); text-decoration: none; }
.lpp .product-small .product-title a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.lpp .product-small .price-wrapper .price,
.lpp .product-small .price {
	font-family: var(--lpp-sans); font-size: calc(15px * var(--lpp-fs)); font-weight: 500; color: var(--lpp-ink);
	font-variant-numeric: tabular-nums;
}
.lpp .product-small .price del { color: var(--lpp-ink-3); font-weight: 400; }
.lpp .product-small .price ins { text-decoration: none; }
.lpp .product-small .category { display: none; }
.lpp .product-small .add-to-cart-button,
.lpp .product-small .add_to_cart_button,
.lpp .product-small .add-to-cart-grid { display: none !important; }
.lpp .product-small .image-tools { display: none; }

/* Fila título / precio al estilo catálogo */
.lpp .product-small .box-text .title-wrapper { padding: 0; }
.lpp .product-small .box-text .price-wrapper { padding: 0; }

/* Agotado */
.lpp .product-small.out-of-stock .box-image img { opacity: .55; filter: grayscale(.4); }
.lpp .out-of-stock-label {
	position: absolute; left: 14px; bottom: 14px; top: auto; right: auto; width: auto;
	background: var(--lpp-paper); color: var(--lpp-ink-2); opacity: 1;
	border: 1px solid var(--lpp-line); border-radius: 999px;
	font-family: var(--lpp-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	padding: 6px 11px; line-height: 1; text-shadow: none; transform: none; z-index: 3;
}

/* Insignias */
.lpp .badge-container { display: none; }
.lpp .lpp-badge {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: var(--lpp-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	line-height: 1; padding: 7px 11px 6px; border-radius: 999px; white-space: nowrap;
}
.lpp .lpp-badge--sale { background: var(--lpp-ink); color: var(--lpp-paper); }
.lpp .product-small .lpp-badges { position: absolute; top: 14px; left: 14px; z-index: 3; display: flex; gap: 6px; flex-wrap: wrap; }

/* Rejillas */
.lpp .products.row { margin-left: -12px; margin-right: -12px; }
.lpp .products.row:where(:not(.row .row)) {
	margin-left: auto; margin-right: auto;
	padding-left: calc(var(--lpp-gutter) - 12px); padding-right: calc(var(--lpp-gutter) - 12px);
}
.lpp .products.row > .col { padding: 0 12px 40px; }

/* ---------- Archivo de tienda / categoría ---------- */
.lpp .shop-page-title,
.lpp .category-page-title { background: var(--lpp-paper); border-bottom: 1px solid var(--lpp-line); }
.lpp .shop-page-title .page-title-inner,
.lpp .category-page-title .page-title-inner { padding-top: 28px; padding-bottom: 20px; }
.lpp .shop-page-title h1,
.lpp .category-page-title h1,
.lpp .shop-page-title .shop-page-title-heading { font-size: calc(var(--lpp-hs) * clamp(2.4rem, 5vw, 4rem) * var(--lpp-fs)) !important; text-transform: none; }
.lpp .woocommerce-result-count { font-size: calc(13px * var(--lpp-fs)); color: var(--lpp-ink-3); text-transform: none; letter-spacing: 0; }
.lpp .woocommerce-ordering select { height: 42px; font-size: calc(13.5px * var(--lpp-fs)); min-width: 220px; }
.lpp .lpp-term-intro { max-width: 60ch; color: var(--lpp-ink-2); font-size: calc(16px * var(--lpp-fs)); margin: 8px 0 0; }
.lpp .shop-container { padding-top: 32px; }
.lpp .term-description { max-width: 70ch; color: var(--lpp-ink-2); }
.lpp .widget-area { display: none; }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	.lpp *, .lpp *::before, .lpp *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ---------- Correcciones de cabecera ---------- */
.lpp .logo a.lpp-logo,
.lpp #logo a.lpp-logo {
	font-size: inherit; font-weight: 400; text-transform: none; display: inline-flex;
}
.lpp #logo .lpp-logo__word { font-family: var(--lpp-display) !important; font-weight: 500; letter-spacing: -0.035em; text-transform: none; }

.lpp .header-main .icon-shopping-bag,
.lpp .header-main .icon-user,
.lpp .header-main .icon-search { font-size: calc(20px * var(--lpp-fs)); line-height: 1; }
.lpp .header-main [data-icon-label]::after,
.lpp .icon-shopping-bag[data-icon-label]::after {
	background: var(--lpp-accent) !important; color: var(--lpp-ink) !important;
	font-family: var(--lpp-sans); font-weight: 600; font-size: 10px;
	min-width: 17px; height: 17px; line-height: 17px; padding: 0 4px;
	border-radius: 999px; box-shadow: 0 0 0 2px var(--lpp-paper);
	top: -6px; right: -9px;
}
.lpp .header-main [data-icon-label="0"]::after { display: none; }

/* ---------- Cabecera de archivo ---------- */
.lpp .lpp-masthead { border-bottom: 1px solid var(--lpp-line); padding: 14px 0 0; }
.lpp .lpp-masthead .breadcrumbs { margin: 0 0 22px; }
.lpp .lpp-masthead .lpp-eyebrow { margin-bottom: 14px; }
.lpp .lpp-masthead__title {
	font-size: calc(var(--lpp-hs) * clamp(2.8rem, 6.2vw, 5.4rem) * var(--lpp-fs)) !important; line-height: .98; margin: 0 0 18px;
	letter-spacing: -0.02em;
}
.lpp .lpp-masthead__intro { max-width: 52ch; color: var(--lpp-ink-2); font-size: calc(17px * var(--lpp-fs)); line-height: 1.55; margin: 0 0 34px; }

.lpp .lpp-chips {
	display: flex; gap: 8px; flex-wrap: wrap; padding: 0 0 22px;
}
.lpp .lpp-chip {
	display: inline-flex; align-items: center; gap: 8px;
	height: 38px; padding: 0 16px; border: 1px solid var(--lpp-line); border-radius: 999px;
	font-size: calc(14px * var(--lpp-fs)); font-weight: 500; color: var(--lpp-ink); text-decoration: none; background: transparent;
	transition: border-color .2s, background-color .2s, color .2s;
}
.lpp .lpp-chip:hover { border-color: var(--lpp-ink); }
.lpp .lpp-chip.is-active { background: var(--lpp-ink); border-color: var(--lpp-ink); color: var(--lpp-paper); }
.lpp .lpp-chip__count { font-size: 11.5px; font-variant-numeric: tabular-nums; color: var(--lpp-ink-3); }
.lpp .lpp-chip.is-active .lpp-chip__count { color: rgba(246,244,239,.6); }

.lpp .lpp-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	border-top: 1px solid var(--lpp-line); padding: 14px 0;
}
.lpp .lpp-toolbar .woocommerce-result-count { margin: 0; }
.lpp .lpp-toolbar .woocommerce-ordering { margin: 0; }
.lpp .lpp-toolbar .woocommerce-ordering select {
	border: 0; background-color: transparent; height: 34px; padding-right: 26px;
	font-size: calc(13.5px * var(--lpp-fs)); font-weight: 500; min-width: 0; text-align: right;
}

.lpp.archive .shop-container,
.lpp.post-type-archive-product .shop-container { padding-top: 36px; }
.lpp .category-page-row { padding-top: 0; }

/* =========================================================================
   Portada
   ========================================================================= */
@keyframes lpp-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.lpp .lpp-rise { animation: lpp-rise 1s var(--lpp-ease) both; animation-delay: calc(var(--d, 0) * 110ms + 60ms); }

.lpp.home .page-wrapper,
.lpp .page-template-page-blank #content { padding-top: 0; }

/* Hero */
.lpp .lpp-hero { border-bottom: 1px solid var(--lpp-line); }
.lpp .lpp-hero__inner {
	display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 104px); align-items: center;
	padding-top: clamp(16px, 2vw, 28px); padding-bottom: clamp(40px, 5vw, 72px);
}
.lpp .lpp-hero__title {
	font-size: calc(var(--lpp-hs) * clamp(3.3rem, 7.2vw, 7.1rem) * var(--lpp-fs)) !important; line-height: .93; letter-spacing: -0.028em;
	margin: 26px 0 28px; max-width: 13ch;
}
.lpp .lpp-hero__title em { letter-spacing: -0.02em; }
.lpp .lpp-hero__lede { font-size: calc(18px * var(--lpp-fs)); line-height: 1.55; color: var(--lpp-ink-2); max-width: 38ch; margin: 0; }
.lpp .lpp-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 38px; }
.lpp .lpp-hero__actions .button { margin: 0; }

.lpp .lpp-hero__piece { margin: 0; }
.lpp .lpp-hero__well {
	display: block; position: relative; overflow: hidden; isolation: isolate;
	background: var(--lpp-paper-2); border-radius: var(--lpp-radius); aspect-ratio: 1 / 1;
}
.lpp .lpp-hero__img {
	width: 100%; height: 100%; object-fit: contain; padding: 4% 6% 6%;
	mix-blend-mode: multiply; transition: transform 1.4s var(--lpp-ease);
}
.lpp .lpp-hero__well:hover .lpp-hero__img { transform: scale(1.035); }
.lpp .lpp-hero__tag { position: absolute; top: 20px; left: 22px; color: var(--lpp-ink-2); }
.lpp .lpp-hero__caption {
	display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px 20px;
	padding-top: 18px;
}
.lpp .lpp-hero__caption .lpp-eyebrow { grid-column: 1 / -1; }
.lpp .lpp-hero__name {
	font-family: var(--lpp-display); font-size: calc(28px * var(--lpp-fs)); line-height: 1.1; letter-spacing: -0.03em;
	text-decoration: none; color: var(--lpp-ink);
}
.lpp .lpp-hero__name:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.lpp .lpp-hero__price { font-size: calc(16px * var(--lpp-fs)); font-weight: 500; font-variant-numeric: tabular-nums; }
.lpp .lpp-sep { margin: 0 .55em; opacity: .6; }

/* Garantías */
.lpp .lpp-assure { border-bottom: 1px solid var(--lpp-line); }
.lpp .lpp-assure__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
}
.lpp .lpp-assure__list li {
	margin: 0; padding: 30px 28px 32px; display: flex; flex-direction: column; gap: 4px;
	border-left: 1px solid var(--lpp-line);
}
.lpp .lpp-assure__list li:first-child { border-left: 0; padding-left: 0; }
.lpp .lpp-assure__n {
	font-size: 11px; font-weight: 500; letter-spacing: .14em; color: var(--lpp-ink-3);
	font-variant-numeric: tabular-nums; margin-bottom: 12px;
}
.lpp .lpp-assure__list strong { font-size: calc(15.5px * var(--lpp-fs)); font-weight: 600; }
.lpp .lpp-assure__list span:last-child { font-size: calc(14px * var(--lpp-fs)); line-height: 1.5; color: var(--lpp-ink-2); }

/* Secciones */
.lpp .lpp-section { padding: clamp(72px, 9vw, 128px) 0 clamp(16px, 2vw, 32px); }
.lpp .lpp-head {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 64px;
	margin-bottom: 44px; flex-wrap: wrap;
}
.lpp .lpp-head__title {
	margin: 16px 0 0; font-size: calc(var(--lpp-hs) * clamp(2.6rem, 5vw, 4.4rem) * var(--lpp-fs)) !important; line-height: .96; letter-spacing: -0.022em;
}
.lpp .lpp-head__aside { max-width: 36ch; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 6px; }
.lpp .lpp-head__aside p { margin: 0; color: var(--lpp-ink-2); font-size: calc(15.5px * var(--lpp-fs)); line-height: 1.55; }

/* Índice de universos */
.lpp .lpp-universes { padding-bottom: clamp(48px, 6vw, 88px); }
.lpp .lpp-index {
	list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lpp-ink);
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px;
}
.lpp .lpp-index li { margin: 0; border-bottom: 1px solid var(--lpp-line); }
.lpp .lpp-index__row {
	position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto 22px;
	align-items: center; gap: 16px; padding: 24px 0; min-height: 104px;
	text-decoration: none; color: var(--lpp-ink);
}
.lpp .lpp-index__n { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; color: var(--lpp-ink-3); font-variant-numeric: tabular-nums; }
.lpp .lpp-index__name {
	font-family: var(--lpp-display); font-size: calc(var(--lpp-hs) * clamp(1.9rem, 2.8vw, 2.7rem) * var(--lpp-fs)); line-height: 1; letter-spacing: -0.035em;
	transition: transform .5s var(--lpp-ease);
}
.lpp .lpp-index__count { font-size: calc(13px * var(--lpp-fs)); color: var(--lpp-ink-3); font-variant-numeric: tabular-nums; transition: opacity .25s; }
.lpp .lpp-index__arrow { font-size: calc(18px * var(--lpp-fs)); transition: transform .4s var(--lpp-ease); }
.lpp .lpp-index__thumb {
	position: absolute; right: 38px; top: 50%; width: 84px; height: 84px;
	background: var(--lpp-paper-2); border-radius: var(--lpp-radius); overflow: hidden; isolation: isolate;
	opacity: 0; transform: translateY(-50%) scale(.86) rotate(-3deg);
	transition: opacity .35s var(--lpp-ease), transform .5s var(--lpp-ease); pointer-events: none;
}
.lpp .lpp-index__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8px; mix-blend-mode: multiply; }
.lpp .lpp-index__row:hover .lpp-index__name { transform: translateX(10px); }
.lpp .lpp-index__row:hover .lpp-index__count { opacity: 0; }
.lpp .lpp-index__row:hover .lpp-index__thumb { opacity: 1; transform: translateY(-50%) scale(1) rotate(0); }
.lpp .lpp-index__row:hover .lpp-index__arrow { transform: translateX(5px); }

/* Declaración */
.lpp .lpp-statement { background: var(--lpp-paper-3); color: var(--lpp-ink); margin-top: clamp(48px, 6vw, 96px); }
.lpp .lpp-statement__inner {
	display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center;
	gap: clamp(32px, 6vw, 96px); padding-top: clamp(72px, 10vw, 144px); padding-bottom: clamp(72px, 10vw, 144px);
}
.lpp .lpp-statement__mark { width: clamp(104px, 13vw, 184px); height: auto; }
.lpp .lpp-statement__text {
	font-family: var(--lpp-display); font-size: calc(var(--lpp-hs) * clamp(2.8rem, 6.4vw, 6rem) * var(--lpp-fs)); line-height: .95; letter-spacing: -0.045em;
	margin: 0 0 26px; max-width: 13ch; color: var(--lpp-ink);
}
.lpp .lpp-statement__sub { font-size: calc(16.5px * var(--lpp-fs)); line-height: 1.55; margin: 0; max-width: 50ch; color: rgba(22,19,20,.78); }
.lpp .lpp-statement__sub a { color: var(--lpp-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* =========================================================================
   Ficha de producto
   ========================================================================= */
.lpp .woocommerce-Price-currencySymbol { font-size: 1em !important; vertical-align: baseline !important; top: 0 !important; margin-left: .1em; }

.lpp .product-main { padding-top: clamp(24px, 3vw, 44px); padding-bottom: clamp(48px, 6vw, 88px); }
.lpp .product-main .row.content-row { align-items: stretch; }

/* Galería */
.lpp .product-gallery .woocommerce-product-gallery__image,
.lpp .product-gallery .product-gallery-slider:not(.product-gallery-stacked) { background: var(--lpp-paper-2); border-radius: var(--lpp-radius); }
.lpp .product-gallery .woocommerce-product-gallery__image { isolation: isolate; }
.lpp .product-gallery .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.lpp .product-gallery .zoom-button {
	width: 40px; height: 40px; min-height: 40px; line-height: 38px; padding: 0;
	background: var(--lpp-paper) !important; color: var(--lpp-ink) !important; border: 1px solid var(--lpp-line) !important;
	border-radius: 999px !important; letter-spacing: 0;
}
.lpp .product-gallery .zoom-button:hover { border-color: var(--lpp-ink) !important; background: var(--lpp-paper) !important; }
.lpp .product-gallery .image-tools.bottom.left { left: 16px; bottom: 16px; }
.lpp .product-thumbnails { margin-top: 12px; }
.lpp .product-thumbnails .col { padding-bottom: 0; }
.lpp .product-thumbnails a {
	display: block; background: var(--lpp-paper-2); border-radius: var(--lpp-radius); overflow: hidden; isolation: isolate;
	border: 0 !important; box-shadow: inset 0 -2px 0 transparent; transition: box-shadow .25s;
}
.lpp .product-thumbnails img { mix-blend-mode: multiply; opacity: .55 !important; transform: none !important; transition: opacity .25s; }
.lpp .product-thumbnails .is-nav-selected a,
.lpp .product-thumbnails a:hover { box-shadow: inset 0 -2px 0 var(--lpp-ink); }
.lpp .product-thumbnails .is-nav-selected img,
.lpp .product-thumbnails a:hover img { opacity: 1 !important; }
.lpp .product-gallery .flickity-prev-next-button { color: var(--lpp-ink); }

/* Columna de información */
.lpp .product-info { padding-top: 6px; }
@media (min-width: 850px) { .lpp .product-info { padding-left: clamp(16px, 3vw, 48px); } }
.lpp .product-info .breadcrumbs { margin: 0 0 30px; }
.lpp .lpp-single-eyebrow { margin: 0 0 12px; }
.lpp .product-info h1.product-title {
	font-size: calc(var(--lpp-hs) * clamp(2.6rem, 4.2vw, 4rem) * var(--lpp-fs)) !important; line-height: .98; letter-spacing: -0.04em; margin: 0 0 20px;
}
.lpp .product-info .is-divider { display: none; }
.lpp .lpp-single-badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 26px; }
.lpp .product-info .price-wrapper { margin-bottom: 6px; }
.lpp .product-info .price-wrapper .price {
	font-size: calc(28px * var(--lpp-fs)); font-weight: 500; letter-spacing: -0.01em; color: var(--lpp-ink); font-variant-numeric: tabular-nums;
}
.lpp .product-info .price-wrapper .price .amount { color: var(--lpp-ink); }

/* Etiqueta del plugin de envío gratis: discreta en la ficha, fuera en tarjetas. */
.lpp .devnet_fsl-label {
	background: none !important; box-shadow: none !important; border: 0 !important; transform: none !important;
	color: var(--lpp-green) !important; font-family: var(--lpp-sans) !important; font-size: calc(13px * var(--lpp-fs)) !important; font-weight: 500 !important;
	padding: 0 !important; margin: 0 0 22px !important; text-align: left !important; width: auto !important; display: inline-block !important;
	letter-spacing: 0 !important; text-shadow: none !important;
}
.lpp .product-small .devnet_fsl-label { display: none !important; }

/* Tabla de especificaciones escrita en la descripción corta */
.lpp .product-short-description { margin-bottom: 8px; }
.lpp .product-short-description table {
	width: 100% !important; height: auto !important; border-collapse: collapse; table-layout: fixed;
	border-top: 1px solid var(--lpp-line); border-bottom: 1px solid var(--lpp-line); margin: 0 0 24px;
}
.lpp .product-short-description tr { height: auto !important; }
.lpp .product-short-description td {
	border: 0 !important; padding: 0 0 0 18px !important; height: auto !important; vertical-align: top; text-align: left;
}
.lpp .product-short-description td:first-child { padding-left: 0 !important; }
.lpp .product-short-description td + td { border-left: 1px solid var(--lpp-line) !important; }
.lpp .product-short-description td span,
.lpp .product-short-description td strong { font-size: inherit !important; color: inherit !important; font-weight: inherit !important; }
.lpp .product-short-description tr:first-child td {
	font-family: var(--lpp-display); font-size: calc(var(--lpp-hs) * clamp(24px, 2.2vw, 32px) * var(--lpp-fs)); line-height: 1; letter-spacing: -0.03em; padding-top: 18px !important; white-space: nowrap;
	font-variant-numeric: lining-nums;
}
.lpp .product-short-description tr:nth-child(2) td {
	font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--lpp-ink-3);
	padding-top: 8px !important; padding-bottom: 16px !important;
}
.lpp .product-short-description p:has(> span[style*="ed1c24"]:only-child),
.lpp .product-short-description span[style*="ed1c24"] { display: none; }
.lpp .product-short-description p { font-size: calc(16.5px * var(--lpp-fs)); line-height: 1.6; color: var(--lpp-ink-2); }
.lpp .product-short-description p strong { color: var(--lpp-ink); font-weight: 500; }

/* Stock y compra */
.lpp .product-info .stock {
	display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 14px;
	font-size: calc(13.5px * var(--lpp-fs)); font-weight: 500; color: var(--lpp-ink);
}
.lpp .product-info .stock.in-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--lpp-green); }
.lpp .product-info .stock.out-of-stock { color: var(--lpp-ink-3); }
.lpp .product-info .stock.out-of-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--lpp-ink-3); }
.lpp .product-info form.cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; margin-bottom: 10px; }
.lpp .product-info form.cart .quantity { margin: 0; }
.lpp .product-info form.cart .single_add_to_cart_button {
	flex: 1 1 220px; width: 100%; margin: 0; min-height: 56px; line-height: 56px; font-size: calc(13px * var(--lpp-fs));
}
.lpp .product-info #wc-stripe-express-checkout-element,
.lpp .product-info .wc-stripe-express-checkout-element { margin-top: 2px; }
.lpp .product-info #wc-stripe-express-checkout-button-separator { font-size: 12px; color: var(--lpp-ink-3); margin: 10px 0 !important; }

.lpp .lpp-assurances { list-style: none; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--lpp-line); }
.lpp .lpp-assurances li {
	position: relative; margin: 0; padding: 14px 0 14px 22px; border-bottom: 1px solid var(--lpp-line);
	display: flex; flex-direction: column; gap: 2px;
}
.lpp .lpp-assurances li::before {
	content: ""; position: absolute; left: 0; top: 21px; width: 7px; height: 7px; border-radius: 50%;
	background: var(--lpp-accent); box-shadow: 0 0 0 1px rgba(22,19,20,.22);
}
.lpp .lpp-assurances strong { font-size: calc(14px * var(--lpp-fs)); font-weight: 600; }
.lpp .lpp-assurances span { font-size: calc(13.5px * var(--lpp-fs)); color: var(--lpp-ink-2); line-height: 1.45; }

/* Pestañas */
.lpp .product-footer .woocommerce-tabs { border-top: 1px solid var(--lpp-line); padding-top: 0; }
.lpp .product-tabs.nav-line { border: 0; margin: 0 0 40px; gap: 28px; }
.lpp .product-tabs.nav-line > li { margin: 0; }
.lpp .product-tabs.nav-line > li > a {
	font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--lpp-ink-3); padding: 22px 0 14px;
}
.lpp .product-tabs.nav-line > li.active > a,
.lpp .product-tabs.nav-line > li > a:hover { color: var(--lpp-ink); }
.lpp .product-tabs.nav-line > li > a::before {
	top: -1px; bottom: auto; height: 1px !important; background-color: var(--lpp-ink) !important;
}
.lpp .woocommerce-Tabs-panel { max-width: 74ch; padding: 0 0 24px; }
.lpp .woocommerce-Tabs-panel p { font-size: calc(16.5px * var(--lpp-fs)); line-height: 1.7; color: var(--lpp-ink-2); }
.lpp .woocommerce-Tabs-panel p strong { color: var(--lpp-ink); font-weight: 500; }
.lpp .woocommerce-Tabs-panel h2 { font-size: calc(var(--lpp-hs) * clamp(2rem, 3vw, 2.6rem) * var(--lpp-fs)) !important; margin: 56px 0 18px; }
.lpp .woocommerce-Tabs-panel h3 { font-size: calc(var(--lpp-hs) * clamp(1.5rem, 2.2vw, 1.9rem) * var(--lpp-fs)) !important; margin: 40px 0 14px; }
.lpp .woocommerce-Tabs-panel h2:first-child,
.lpp .woocommerce-Tabs-panel h3:first-child { margin-top: 0; }
.lpp .woocommerce-Tabs-panel hr { border: 0; border-top: 1px solid var(--lpp-line); margin: 48px 0; }
.lpp .woocommerce-Tabs-panel--description ul,
.lpp .woocommerce-Tabs-panel--description ol { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid var(--lpp-line); }
.lpp .woocommerce-Tabs-panel--description ul li,
.lpp .woocommerce-Tabs-panel--description ol li {
	position: relative; margin: 0; padding: 12px 0 12px 22px; border-bottom: 1px solid var(--lpp-line);
	font-size: calc(15.5px * var(--lpp-fs)); line-height: 1.55; color: var(--lpp-ink-2);
}
.lpp .woocommerce-Tabs-panel--description ul li::before {
	content: ""; position: absolute; left: 2px; top: 21px; width: 6px; height: 6px; background: var(--lpp-ink);
}
.lpp .woocommerce-Tabs-panel--description ul ul { border-top: 0; margin: 8px 0 0; }
.lpp .woocommerce-Tabs-panel--description ul ul li { border-bottom: 0; padding-top: 4px; padding-bottom: 4px; }
.lpp .woocommerce-Tabs-panel--description ul ul li::before { width: 5px; height: 1px; top: 16px; }
.lpp .woocommerce-Tabs-panel--description li strong { color: var(--lpp-ink); font-weight: 500; }
.lpp .woocommerce-Tabs-panel table.shop_attributes { border-top: 1px solid var(--lpp-line); }
.lpp .woocommerce-Tabs-panel table.shop_attributes th,
.lpp .woocommerce-Tabs-panel table.shop_attributes td {
	border-bottom: 1px solid var(--lpp-line); padding: 12px 0; font-size: calc(14.5px * var(--lpp-fs)); background: none;
}
.lpp .woocommerce-Tabs-panel table.shop_attributes th { font-weight: 500; color: var(--lpp-ink-3); width: 40%; }

/* Compartir: monocromo */
.lpp .simplesocialbuttons { margin: 36px 0 0 !important; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lpp .simplesocialbuttons::before {
	content: "Compartir"; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
	color: var(--lpp-ink-3); margin-right: 8px;
}
.lpp .simplesocialbuttons button {
	background: transparent !important; color: var(--lpp-ink) !important; border: 1px solid var(--lpp-line) !important;
	border-radius: 999px !important; height: 34px !important; padding: 0 14px !important; margin: 0 !important;
	font-family: var(--lpp-sans) !important; font-size: 12.5px !important; font-weight: 500 !important;
	box-shadow: none !important; transition: border-color .2s;
}
.lpp .simplesocialbuttons button:hover { border-color: var(--lpp-ink) !important; }
.lpp .simplesocialbuttons button svg,
.lpp .simplesocialbuttons button svg path { fill: currentColor !important; }
.lpp .simplesocialbuttons .simplesocialtxt { color: inherit !important; }
.lpp .simplesocialbuttons button span { background: none !important; color: inherit !important; }

/* Relacionados */
.lpp .related.related-products-wrapper,
.lpp .product-section { border-top: 1px solid var(--lpp-line); }
.lpp .related.related-products-wrapper { padding-top: clamp(56px, 7vw, 96px); }
.lpp .product-section-title {
	font-family: var(--lpp-display) !important; font-weight: 500; text-transform: none !important; letter-spacing: -0.03em !important;
	font-size: calc(var(--lpp-hs) * clamp(2.2rem, 4vw, 3.4rem) * var(--lpp-fs)) !important; line-height: 1; padding: 0 0 36px !important;
	max-width: none; margin: 0;
}

/* Ficha: correcciones */
.lpp .product-short-description tr,
.lpp .product-short-description tbody { border: 0 !important; }
.lpp .product-short-description tr:first-child td { color: var(--lpp-ink) !important; border-bottom: 0 !important; }
.lpp .product-short-description td { border-top: 0 !important; border-bottom: 0 !important; border-style: solid !important; }
.lpp .product-info .price-wrapper { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; }
.lpp .product-info .price-wrapper .devnet_fsl-label,
.lpp .product-info .devnet_fsl-label { margin: 0 0 22px !important; }
.lpp .product-info .price-wrapper + .devnet_fsl-label { margin-top: -4px !important; }

.lpp .product-footer .woocommerce-tabs { border-top: 0; padding-top: clamp(40px, 5vw, 72px); }
.lpp .woocommerce-tabs.container { padding-left: 0; padding-right: 0; max-width: none; }
.lpp .product-tabs.nav-line { border-bottom: 1px solid var(--lpp-line) !important; margin: 0 0 44px; }
.lpp .product-tabs.nav-line > li > a { padding: 0 0 16px; }
.lpp .product-tabs.nav-line > li > a::before {
	top: auto !important; bottom: -1px !important; height: 1px !important; background-color: var(--lpp-ink) !important;
}

/* =========================================================================
   Pie
   ========================================================================= */
.lpp #footer,
.lpp .footer-wrapper { background: var(--lpp-ink); }
.lpp .absolute-footer { display: none; }
.lpp .lpp-footer { background: var(--lpp-ink); color: rgba(251, 248, 245, .72); font-size: calc(14.5px * var(--lpp-fs)); }
.lpp .lpp-footer a { color: #FBF8F5; text-decoration: none; }
.lpp .lpp-footer a:hover { color: var(--lpp-accent); }
.lpp .lpp-footer__top {
	display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: 48px; padding: clamp(64px, 8vw, 104px) 0 clamp(48px, 6vw, 72px);
}
.lpp .lpp-footer__brand p { max-width: 34ch; margin: 22px 0 18px; line-height: 1.55; color: rgba(251, 248, 245, .72); }
.lpp .lpp-logo--footer .lpp-logo__word { color: #FBF8F5; font-size: calc(30px * var(--lpp-fs)); }
.lpp .lpp-footer__mail {
	font-family: var(--lpp-display); font-size: calc(22px * var(--lpp-fs)); font-style: italic;
	border-bottom: 1px solid rgba(251, 248, 245, .3); padding-bottom: 2px;
}
.lpp .lpp-footer__title {
	font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
	color: rgba(251, 248, 245, .5); margin: 6px 0 18px;
}
.lpp .lpp-footer__col ul { list-style: none; margin: 0; padding: 0; }
.lpp .lpp-footer__col li { margin: 0 0 11px; }
.lpp .lpp-footer__bottom {
	display: grid; grid-template-columns: auto 1fr; gap: 10px 32px; align-items: baseline;
	border-top: 1px solid rgba(251, 248, 245, .14); padding: 24px 0 32px; font-size: 12.5px;
}
.lpp .lpp-footer__bottom p { margin: 0; color: rgba(251, 248, 245, .55); }
.lpp .lpp-footer__pay { text-align: right; }

/* =========================================================================
   Carrito y checkout
   ========================================================================= */
.lpp input[type="checkbox"], .lpp input[type="radio"] { accent-color: var(--lpp-ink); }

/* Los avisos reciben el foco por accesibilidad: sin anillo decorativo. */
.lpp .woocommerce-notices-wrapper [tabindex="-1"]:focus,
.lpp .woocommerce-message:focus, .lpp .woocommerce-info:focus, .lpp .woocommerce-error:focus,
.lpp .message-wrapper:focus, .lpp [role="alert"]:focus { outline: none !important; box-shadow: none !important; }
.lpp .woocommerce-cart .woocommerce-notices-wrapper,
.lpp .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 28px; }

/* Pasos (carrito > pago > completado) */
.lpp .checkout-breadcrumbs {
	font-size: 11.5px !important; font-weight: 500; letter-spacing: .14em; gap: 4px;
}
.lpp .checkout-breadcrumbs a { color: var(--lpp-ink-3); }
.lpp .checkout-breadcrumbs a.current,
.lpp .checkout-breadcrumbs .current { color: var(--lpp-ink); }
.lpp .checkout-breadcrumbs .divider { opacity: .45; }
.lpp .cart-container, .lpp .checkout-page-title { background: var(--lpp-paper); }
.lpp .checkout-page-title { border-bottom: 1px solid var(--lpp-line); }

/* Títulos de bloque */
.lpp form.checkout h3,
.lpp .woocommerce-checkout h3,
.lpp #order_review_heading,
.lpp .cart_totals h2,
.lpp .woocommerce-billing-fields > h3,
.lpp .woocommerce-additional-fields > h3 {
	font-family: var(--lpp-display) !important; font-weight: 500 !important; text-transform: none !important;
	font-size: calc(30px * var(--lpp-fs)) !important; letter-spacing: -0.012em; line-height: 1.1; margin: 0 0 22px; padding-top: 0;
}
.lpp form.checkout label { letter-spacing: 0; }

/* Tablas */
.lpp .shop_table { border: 0; }
.lpp .shop_table thead th,
.lpp .cart_totals table th.product-name,
.lpp .cart_totals > table thead th {
	font-size: 11px !important; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase;
	color: var(--lpp-ink-3); border-bottom: 1px solid var(--lpp-ink) !important; padding: 0 0 12px;
}
.lpp .shop_table td, .lpp .shop_table th { border-bottom: 1px solid var(--lpp-line); padding-top: 16px; padding-bottom: 16px; }
.lpp .shop_table td { color: var(--lpp-ink); font-variant-numeric: tabular-nums; }

/* Carrito */
.lpp .woocommerce-cart-form .product-thumbnail a,
.lpp .woocommerce-cart-form .product-thumbnail { display: block; }
.lpp .woocommerce-cart-form .product-thumbnail img,
.lpp .cart_list img, .lpp .widget_shopping_cart img {
	background: var(--lpp-paper-2); mix-blend-mode: multiply; border-radius: var(--lpp-radius);
	width: 84px !important; height: 84px !important; object-fit: contain; padding: 6px;
}
.lpp .woocommerce-cart-form .product-name a { font-size: calc(15.5px * var(--lpp-fs)); font-weight: 500; color: var(--lpp-ink); text-decoration: none; }
.lpp .woocommerce-cart-form .product-name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lpp .woocommerce-cart-form .product-remove a.remove {
	width: 28px; height: 28px; line-height: 26px; font-size: calc(16px * var(--lpp-fs)) !important; font-weight: 400;
	border: 1px solid var(--lpp-line) !important; color: var(--lpp-ink-2) !important; border-radius: 999px;
}
.lpp .woocommerce-cart-form .product-remove a.remove:hover { border-color: var(--lpp-ink) !important; color: var(--lpp-ink) !important; background: none !important; }
.lpp .woocommerce-cart-form .actions .button,
.lpp .continue-shopping .button { min-height: 46px; line-height: 46px; font-size: 11.5px; }
.lpp .woocommerce-cart-form button[name="update_cart"],
.lpp .woocommerce-cart-form button[name="update_cart"]:disabled {
	background: transparent !important; color: var(--lpp-ink) !important; border: 1px solid var(--lpp-line) !important; opacity: 1;
}
.lpp .woocommerce-cart-form button[name="update_cart"]:disabled { color: var(--lpp-ink-3) !important; cursor: default; }
.lpp .continue-shopping .button { background: transparent; color: var(--lpp-ink); border-color: var(--lpp-ink); }
.lpp .cart-collaterals .cart-sidebar,
.lpp .cart-sidebar .col-inner { background: transparent; }
@media (min-width: 850px) {
	.lpp .cart-collaterals { border-left: 1px solid var(--lpp-line) !important; padding-left: 36px !important; }
}
.lpp .cart_totals tr.order-total th,
.lpp .cart_totals tr.order-total td,
.lpp .woocommerce-checkout-review-order-table tr.order-total th,
.lpp .woocommerce-checkout-review-order-table tr.order-total td {
	font-size: calc(18px * var(--lpp-fs)) !important; font-weight: 600; border-bottom: 1px solid var(--lpp-ink) !important; padding-top: 20px;
}
.lpp .cart_totals tr.order-total small,
.lpp .woocommerce-checkout-review-order-table tr.order-total small { font-size: 12px; font-weight: 400; color: var(--lpp-ink-3); }
.lpp .woocommerce-shipping-destination,
.lpp .woocommerce-shipping-calculator .shipping-calculator-button { font-size: calc(13px * var(--lpp-fs)); color: var(--lpp-ink-3); }
.lpp .wc-proceed-to-checkout .checkout-button { min-height: 58px; line-height: 58px; font-size: calc(13px * var(--lpp-fs)); margin-bottom: 14px; width: 100%; }
.lpp .wc-proceed-to-checkout #wc-stripe-express-checkout-element,
.lpp .wc-proceed-to-checkout .wc-stripe-express-checkout-element { width: 100% !important; }
.lpp .cart-sidebar .coupon h3,
.lpp .cart-sidebar .coupon .widget-title { font-family: var(--lpp-sans) !important; font-size: calc(13px * var(--lpp-fs)) !important; font-weight: 500 !important; text-transform: none; letter-spacing: 0; }
.lpp .cart-sidebar .coupon .widget-title .icon-tag { display: none; }
.lpp .cart-sidebar .coupon .is-divider { display: none; }
.lpp .cart-sidebar .coupon button,
.lpp form.checkout_coupon button {
	background: transparent !important; color: var(--lpp-ink) !important; border: 1px solid var(--lpp-ink) !important;
}
.lpp .cart-sidebar .coupon button:hover,
.lpp form.checkout_coupon button:hover { background: var(--lpp-ink) !important; color: var(--lpp-paper) !important; }

/* Barra de envío gratis / regalo (plugin Free Shipping Label) */
.lpp .devnet_fsl-free-shipping {
	background: #FFFEFB !important; border: 1px solid var(--lpp-line) !important; box-shadow: none !important;
	border-radius: var(--lpp-radius) !important; padding: 20px 22px !important; margin: 0 0 22px !important;
	text-align: left !important;
}
.lpp .devnet_fsl-free-shipping .fsl-title {
	font-family: var(--lpp-sans) !important; font-size: calc(14px * var(--lpp-fs)) !important; font-weight: 600 !important;
	text-transform: none !important; letter-spacing: 0 !important; line-height: 1.4; margin: 0 !important; color: var(--lpp-ink);
}
.lpp .devnet_fsl-free-shipping .fsl-description { font-size: calc(13.5px * var(--lpp-fs)); color: var(--lpp-ink-2); }
.lpp .devnet_fsl-free-shipping .fsl-progress-bar {
	background: var(--lpp-paper-3) !important; border: 0 !important; border-radius: 999px !important;
	height: 6px !important; overflow: hidden; margin-top: 16px !important; box-shadow: none !important;
}
.lpp .devnet_fsl-free-shipping .fsl-progress-amount {
	background: var(--lpp-ink) !important; background-image: none !important; height: 6px !important;
	border-radius: 999px !important; animation: none !important;
}
.lpp .devnet_fsl-free-shipping .fsl-progress-bar::before,
.lpp .devnet_fsl-free-shipping .fsl-progress-bar::after,
.lpp .devnet_fsl-free-shipping .fsl-progress-amount::before,
.lpp .devnet_fsl-free-shipping .fsl-progress-amount::after { display: none !important; }

/* Checkout */
.lpp .woocommerce-form-login-toggle .woocommerce-info,
.lpp .woocommerce-form-coupon-toggle .woocommerce-info {
	background: transparent; border: 0; border-bottom: 1px solid var(--lpp-line); border-radius: 0;
	padding: 14px 0; margin: 0; font-size: calc(14px * var(--lpp-fs)); color: var(--lpp-ink-2);
}
.lpp .woocommerce-form-login-toggle .message-container,
.lpp .woocommerce-form-coupon-toggle .message-container {
	background: transparent; border: 0; padding: 0; margin: 0; max-width: none; text-align: left;
}
.lpp .woocommerce-form-login-toggle a, .lpp .woocommerce-form-coupon-toggle a { color: var(--lpp-ink); text-decoration: underline; text-underline-offset: 3px; }
.lpp .woocommerce-form-coupon-toggle { margin-bottom: 36px; }

.lpp .woocommerce-checkout .col-inner.has-border,
.lpp .woocommerce-checkout .col-inner.is-well {
	border: 1px solid var(--lpp-line) !important; background: #FFFEFB; box-shadow: none !important;
	border-radius: var(--lpp-radius); padding: clamp(24px, 2.6vw, 36px) !important;
}
.lpp .woocommerce-checkout-review-order-table .product-name { font-size: calc(14.5px * var(--lpp-fs)); color: var(--lpp-ink-2); }
.lpp .woocommerce-checkout-review-order-table .product-quantity { color: var(--lpp-ink-3); font-weight: 400; }

.lpp #payment { background: transparent; }
.lpp #payment .payment_methods { border: 0; padding: 0; margin: 8px 0 18px; }
.lpp #payment .payment_methods > li {
	border-bottom: 1px solid var(--lpp-line); padding: 14px 0; margin: 0; list-style: none;
}
.lpp #payment .payment_methods > li > label { font-size: calc(15px * var(--lpp-fs)); font-weight: 500; color: var(--lpp-ink); display: inline-flex; align-items: center; gap: 10px; }
.lpp #payment .payment_methods > li > label img { display: none; }
.lpp #payment .payment_box {
	background: transparent !important; padding: 14px 0 4px !important; margin: 0; font-size: calc(14px * var(--lpp-fs)); color: var(--lpp-ink-2);
}
.lpp #payment .payment_box::before { display: none; }
.lpp .lpp-pay-icon {
	display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 999px;
	background: var(--lpp-ink); color: var(--lpp-accent); font-size: calc(13px * var(--lpp-fs)); font-weight: 600; line-height: 1;
}
.lpp #payment .payment_methods > li > label .lpp-pay-icon { order: 2; }
.lpp .woocommerce-terms-and-conditions-wrapper { font-size: calc(13.5px * var(--lpp-fs)); color: var(--lpp-ink-2); }
.lpp .woocommerce-terms-and-conditions-wrapper a { color: var(--lpp-ink); text-decoration: underline; text-underline-offset: 3px; }
.lpp #place_order { width: 100%; min-height: 58px; line-height: 58px; font-size: calc(13px * var(--lpp-fs)); margin-top: 8px; }
.lpp .woocommerce-privacy-policy-text p { font-size: 12.5px; line-height: 1.55; color: var(--lpp-ink-3); }

/* Recogida en punto CTT */
.lpp .pickup-points {
	border: 1px solid var(--lpp-line); border-radius: var(--lpp-radius); background: #FFFEFB;
	box-shadow: none !important; padding: 26px 26px 22px; margin: 0 0 44px;
}
.lpp .pickup-points h3 {
	align-items: center; gap: 14px; font-size: calc(24px * var(--lpp-fs)) !important; margin: 0 0 10px !important;
}
.lpp .pickup-points h3 img { width: 34px !important; height: 30px !important; margin-right: 0 !important; object-fit: contain; }
.lpp .pickup-points p { font-size: calc(14.5px * var(--lpp-fs)); color: var(--lpp-ink-2); margin-bottom: 16px; }
.lpp .pickup-points .form-row { align-items: stretch; }
.lpp .pickup-points input#cttexpress_postal_code { width: 180px !important; margin: 0; }
.lpp .pickup-points .button {
	background: transparent !important; color: var(--lpp-ink) !important; border: 1px solid var(--lpp-ink) !important;
	margin: 0; min-height: 50px; line-height: 48px; font-size: 11.5px;
}
.lpp .pickup-points .button:hover { background: var(--lpp-ink) !important; color: var(--lpp-paper) !important; }
.lpp .pickup-points .button:disabled { border-color: var(--lpp-line) !important; color: var(--lpp-ink-3) !important; background: transparent !important; }

.lpp .checkout-sidebar { border: 0; background: transparent; padding: 0; box-shadow: none; }
.lpp .lpp-pay-icon svg { display: block; }

.lpp .woocommerce-checkout-review-order-table tr.order-total th,
.lpp .woocommerce-checkout-review-order-table tr.order-total td,
.lpp .cart_totals tr.order-total th,
.lpp .cart_totals tr.order-total td { border-top: 0 !important; }

/* =========================================================================
   Tableta y móvil
   ========================================================================= */
@media (max-width: 1100px) {
	.lpp .header-nav-main.nav > li { margin: 0 10px; }
	.lpp #logo { margin-right: 24px; }
	.lpp .lpp-footer__top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lpp .lpp-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 849px) {
	/* Cabecera móvil */
	.lpp .header-main { height: 62px; }
	.lpp .lpp-logo__word { font-size: calc(22px * var(--lpp-fs)); }
	.lpp .lpp-logo__mark { width: 22px; height: 22px; }
	.lpp #logo { margin: 0 !important; }
	.lpp .lpp-topbar { font-size: 10.5px; letter-spacing: .12em; }
	.lpp .lpp-topbar i,
	.lpp .lpp-topbar__more { display: none; }
	.lpp .header-top { min-height: 0; }
	.lpp .header-top .flex-row { padding: 7px 0; }

	/* Portada */
	.lpp .lpp-hero__inner { grid-template-columns: 1fr; gap: 36px; padding-top: 28px; padding-bottom: 48px; }
	.lpp .lpp-hero__title { font-size: calc(var(--lpp-hs) * clamp(2.9rem, 13vw, 4.2rem) * var(--lpp-fs)) !important; max-width: 11ch; margin: 18px 0 18px; }
	.lpp .lpp-hero__lede { font-size: calc(16.5px * var(--lpp-fs)); }
	.lpp .lpp-hero__actions { margin-top: 28px; gap: 16px 24px; }
	.lpp .lpp-hero__actions .button { width: 100%; }
	.lpp .lpp-hero__name { font-size: calc(24px * var(--lpp-fs)); }

	.lpp .lpp-assure__list { grid-template-columns: 1fr 1fr; }
	.lpp .lpp-assure__list li { padding: 22px 16px 24px; border-left: 0; border-top: 1px solid var(--lpp-line); }
	.lpp .lpp-assure__list li:nth-child(odd) { padding-left: 0; }
	.lpp .lpp-assure__list li:nth-child(even) { border-left: 1px solid var(--lpp-line); padding-right: 0; }
	.lpp .lpp-assure__list li:nth-child(-n+2) { border-top: 0; }
	.lpp .lpp-assure__n { margin-bottom: 8px; }

	.lpp .lpp-section { padding-top: 64px; }
	.lpp .lpp-head { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
	.lpp .lpp-head__title { font-size: calc(var(--lpp-hs) * clamp(2.4rem, 11vw, 3.2rem) * var(--lpp-fs)) !important; }

	.lpp .lpp-index { grid-template-columns: 1fr; }
	.lpp .lpp-index__row { grid-template-columns: 32px minmax(0, 1fr) auto 18px; min-height: 76px; padding: 16px 0; gap: 12px; }
	.lpp .lpp-index__name { font-size: calc(1.9rem * var(--lpp-fs)); }
	.lpp .lpp-index__thumb { display: none; }
	.lpp .lpp-index__row:hover .lpp-index__count { opacity: 1; }
	.lpp .lpp-index__row:hover .lpp-index__name { transform: none; }

	.lpp .lpp-statement__inner { grid-template-columns: 1fr; gap: 28px; padding-top: 64px; padding-bottom: 72px; }
	.lpp .lpp-statement__mark { width: 84px; }
	.lpp .lpp-statement__text { font-size: calc(var(--lpp-hs) * clamp(2.6rem, 12vw, 3.6rem) * var(--lpp-fs)); }

	/* Rejillas */
	.lpp .products.row > .col { padding: 0 8px 28px; }
	.lpp .products.row { margin-left: -8px; margin-right: -8px; }
	.lpp .products.row:where(:not(.row .row)) {
		margin-left: auto; margin-right: auto;
		padding-left: calc(var(--lpp-gutter) - 8px); padding-right: calc(var(--lpp-gutter) - 8px);
	}
	.lpp .product-small .box-text { padding-top: 12px; }
	.lpp .product-small .name.product-title,
	.lpp .product-small .product-title { font-size: calc(14px * var(--lpp-fs)); }
	.lpp .product-small .lpp-card-eyebrow { font-size: 9.5px; letter-spacing: .12em; }
	.lpp .product-small .lpp-card-eyebrow { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
	.lpp .product-small .lpp-card-eyebrow .lpp-sep { margin: 0 .4em; }
	.lpp .product-small .lpp-badges { top: 8px; left: 8px; }
	.lpp .product-small .lpp-badge { font-size: 8.5px; padding: 5px 8px 4px; letter-spacing: .1em; }
	.lpp .out-of-stock-label { left: 8px; bottom: 8px; font-size: 8.5px; padding: 5px 8px; }

	/* Archivo */
	.lpp .lpp-masthead { padding-top: 18px; }
	.lpp .lpp-masthead .breadcrumbs { margin-bottom: 24px; }
	.lpp .lpp-masthead__title { font-size: calc(var(--lpp-hs) * clamp(2.6rem, 12vw, 3.6rem) * var(--lpp-fs)) !important; }
	.lpp .lpp-masthead__intro { font-size: calc(15.5px * var(--lpp-fs)); margin-bottom: 24px; }
	.lpp .lpp-chips {
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		margin: 0 calc(-1 * var(--lpp-gutter)); padding: 0 var(--lpp-gutter) 18px; scroll-padding-left: var(--lpp-gutter);
	}
	.lpp .lpp-chips::-webkit-scrollbar { display: none; }
	.lpp .lpp-chip { flex: none; height: 36px; font-size: calc(13.5px * var(--lpp-fs)); }
	.lpp .lpp-toolbar { padding: 10px 0; }
	.lpp .lpp-toolbar .woocommerce-ordering select { font-size: calc(13px * var(--lpp-fs)); }

	/* Ficha */
	.lpp .product-main { padding-top: 8px; }
	.lpp .product-gallery { margin-bottom: 8px; }
	.lpp .product-info { padding-top: 18px; }
	.lpp .product-info .breadcrumbs { margin-bottom: 18px; }
	.lpp .product-info h1.product-title { font-size: calc(var(--lpp-hs) * clamp(2.3rem, 10vw, 3rem) * var(--lpp-fs)) !important; }
	.lpp .product-short-description tr:first-child td { font-size: calc(27px * var(--lpp-fs)); }
	.lpp .product-short-description td { padding-left: 12px !important; }
	.lpp .product-tabs.nav-line { gap: 20px; flex-wrap: nowrap; overflow-x: auto; }
	.lpp .product-tabs.nav-line > li > a { font-size: 11px; white-space: nowrap; }
	.lpp .woocommerce-Tabs-panel p { font-size: calc(15.5px * var(--lpp-fs)); }

	/* Carrito y checkout */
	.lpp .woocommerce-cart-form .product-thumbnail img { width: 64px !important; height: 64px !important; }
	.lpp .cart-collaterals { padding-left: 0 !important; border-left: 0 !important; margin-top: 24px; }
	.lpp form.checkout h3, .lpp #order_review_heading { font-size: calc(26px * var(--lpp-fs)) !important; }
	.lpp .pickup-points { padding: 20px 18px; }
	.lpp .pickup-points input#cttexpress_postal_code { width: 100% !important; }
	.lpp .pickup-points .form-row { display: grid !important; grid-template-columns: 1fr; }

	/* Pie */
	.lpp .lpp-footer__top { grid-template-columns: 1fr 1fr; gap: 36px 24px; padding-top: 56px; }
	.lpp .lpp-footer__brand { grid-column: 1 / -1; }
	.lpp .lpp-footer__col:last-child { grid-column: 1 / -1; }
	.lpp .lpp-footer__bottom { grid-template-columns: 1fr; }
	.lpp .lpp-footer__pay { text-align: left; }
}

/* La etiqueta de envío gratis va dentro del precio */
.lpp .product-info .price .devnet_fsl-label { margin: 0 0 0 14px !important; vertical-align: 0.15em; }

/* Cabecera de páginas (Mi cuenta, legales…) */
.lpp .page-title:not(.shop-page-title):not(.category-page-title),
.lpp .page-title-inner { background: var(--lpp-paper) !important; }
.lpp .page-title:not(.shop-page-title) { border-bottom: 1px solid var(--lpp-line); }
.lpp .page-title:not(.shop-page-title) h1 { font-size: calc(var(--lpp-hs) * clamp(2.6rem, 5vw, 4.2rem) * var(--lpp-fs)) !important; text-transform: none; }
.lpp .woocommerce-account .col-inner > h3,
.lpp .account-container h3,
.lpp .woocommerce-form-login + h3,
.lpp #customer_login h3 { font-size: calc(32px * var(--lpp-fs)) !important; text-transform: none; font-weight: 400; }
.lpp .woocommerce-LostPassword a,
.lpp .lost_password a { font-size: calc(14px * var(--lpp-fs)); color: var(--lpp-ink-2); text-decoration: underline; text-underline-offset: 3px; }
.lpp .woocommerce-MyAccount-navigation ul li a { font-size: calc(15px * var(--lpp-fs)); padding: 12px 0; border-bottom: 1px solid var(--lpp-line); }
.lpp .woocommerce-MyAccount-navigation ul li.is-active a { font-weight: 600; }
.lpp .off-canvas .searchform-wrapper .searchform,
.lpp .off-canvas .searchform-wrapper form { max-width: none; width: 100%; }

/* =========================================================================
   Ficha: galería en cuadrícula y secciones editoriales
   ========================================================================= */
/* Escritorio: foto principal a todo el ancho y el resto en pares, cada una en
   su propio pozo cuadrado. La columna de información acompaña el scroll. */
@media (min-width: 850px) {
	.lpp .product-gallery-stacked .flickity-slider,
	.lpp .product-gallery-stacked:not(.flickity-enabled) { gap: 12px !important; }
	.lpp .product-gallery-stacked .slide { aspect-ratio: 1 / 1; display: flex !important; align-items: center; justify-content: center; }
	.lpp .product-gallery-stacked .slide:first-child { aspect-ratio: 5 / 4; }
	.lpp .product-gallery-stacked .slide:last-child:nth-child(even) { grid-column: 1 / 3; aspect-ratio: 2 / 1; }
	.lpp .product-gallery-stacked .slide > a,
	.lpp .product-gallery-stacked .slide img { width: 100%; height: 100%; }
	.lpp .product-gallery-stacked .slide img { object-fit: contain; padding: 6%; transition: transform .8s var(--lpp-ease); }
	.lpp .product-gallery-stacked .slide:hover img { transform: scale(1.03); }
	.lpp .product-gallery-stacked .slide { cursor: zoom-in; }
	.lpp .product-gallery .image-tools.bottom.left { display: none; }

	.lpp .product-main .product-info > .is-sticky-column { position: sticky; top: 110px; }
}

/* Móvil y tableta: carrusel con miniaturas cuadradas iguales. */
.lpp .product-gallery-stacked-thumbnails .col a,
.lpp .product-thumbnails .col a { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.lpp .product-gallery-stacked-thumbnails img,
.lpp .product-thumbnails img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }

/* Secciones editoriales bajo la ficha */
.lpp .lpp-story { border-top: 1px solid var(--lpp-ink); }
.lpp .lpp-story__row {
	display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 0 clamp(24px, 4vw, 64px);
	padding: clamp(40px, 5vw, 72px) 0; border-bottom: 1px solid var(--lpp-line);
}
.lpp .lpp-story__head { align-self: start; position: sticky; top: 110px; }
.lpp .lpp-story__head .lpp-eyebrow { color: var(--lpp-ink-3); margin-bottom: 14px; }
.lpp .lpp-story__head h2 { font-size: calc(var(--lpp-hs) * clamp(1.9rem, 2.6vw, 2.5rem) * var(--lpp-fs)) !important; line-height: 1.02; letter-spacing: -0.035em; margin: 0; }
.lpp .lpp-story__body { min-width: 0; }
.lpp .lpp-prose { max-width: 760px; }

.lpp .lpp-prose p { font-size: calc(16px * var(--lpp-fs)); line-height: 1.7; color: var(--lpp-ink-2); margin: 0 0 1.1em; }
.lpp .lpp-prose p:last-child { margin-bottom: 0; }
.lpp .lpp-prose strong { color: var(--lpp-ink); font-weight: 500; }
.lpp .lpp-prose--lead p { font-size: calc(var(--lpp-hs) * clamp(18px, 1.5vw, 21px) * var(--lpp-fs)); line-height: 1.55; letter-spacing: -0.01em; color: var(--lpp-ink-2); }
.lpp .lpp-prose--lead p:first-child { color: var(--lpp-ink); }

.lpp .lpp-highlights {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px;
	background: var(--lpp-line); border: 1px solid var(--lpp-line);
}
.lpp .lpp-highlights li { background: var(--lpp-paper); padding: 28px 28px 30px; margin: 0; }
.lpp .lpp-highlights__n { display: block; font-size: 11.5px; font-weight: 500; letter-spacing: .16em; color: var(--lpp-ink-3); margin-bottom: 36px; }
.lpp .lpp-highlights h3 { font-size: calc(20px * var(--lpp-fs)) !important; line-height: 1.2; letter-spacing: -0.025em; margin: 0 0 8px; }
.lpp .lpp-highlights p { font-size: calc(14.5px * var(--lpp-fs)); line-height: 1.6; color: var(--lpp-ink-2); margin: 0; }
.lpp .lpp-highlights p strong { font-weight: 500; color: var(--lpp-ink); }
.lpp .lpp-highlights p::first-letter { text-transform: uppercase; }

.lpp .lpp-specs { margin: 0; border-top: 1px solid var(--lpp-ink); }
.lpp .lpp-specs > div {
	display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2.4fr); gap: 24px;
	padding: 16px 0; border-bottom: 1px solid var(--lpp-line);
}
.lpp .lpp-specs dt { font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--lpp-ink-3); padding-top: 3px; }
.lpp .lpp-specs dd { margin: 0; text-transform: none; letter-spacing: 0; font-size: calc(15.5px * var(--lpp-fs)); line-height: 1.5; color: var(--lpp-ink); }

.lpp .lpp-faq { border-bottom: 1px solid var(--lpp-line); }
.lpp .lpp-faq:first-child { border-top: 1px solid var(--lpp-ink); }
.lpp .lpp-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px;
	padding: 20px 0; font-size: calc(17px * var(--lpp-fs)); font-weight: 500; letter-spacing: -0.01em; color: var(--lpp-ink);
}
.lpp .lpp-faq summary::-webkit-details-marker { display: none; }
.lpp .lpp-faq summary::after {
	content: ""; flex: none; width: 12px; height: 12px;
	background: linear-gradient(var(--lpp-ink), var(--lpp-ink)) center / 12px 1.5px no-repeat,
	            linear-gradient(var(--lpp-ink), var(--lpp-ink)) center / 1.5px 12px no-repeat;
	transition: transform .3s var(--lpp-ease);
}
.lpp .lpp-faq[open] summary::after { transform: rotate(45deg); }
.lpp .lpp-faq > div { padding: 0 48px 24px 0; font-size: calc(15.5px * var(--lpp-fs)); line-height: 1.65; color: var(--lpp-ink-2); }
.lpp .lpp-faq > div strong { font-weight: 500; color: var(--lpp-ink); }

.lpp .product-footer .related { border-top: 0; padding-top: clamp(56px, 7vw, 104px); }

@media (max-width: 849px) {
	.lpp .lpp-story__row { grid-template-columns: 1fr; gap: 20px; padding: 40px 0; }
	.lpp .lpp-story__head { position: static; }
	.lpp .lpp-highlights { grid-template-columns: 1fr; }
	.lpp .lpp-highlights__n { margin-bottom: 16px; }
	.lpp .lpp-specs > div { grid-template-columns: 1fr; gap: 4px; }
	.lpp .lpp-faq > div { padding-right: 0; }
}
.lpp .lpp-specs dd::first-letter { text-transform: uppercase; }
.lpp .lpp-specs > div:last-child,
.lpp .lpp-faq:last-child { border-bottom: 0; }

/* Móvil y tableta: galería a sangre, imágenes a pantalla completa y un
   indicador de posición en lugar de miniaturas. */
@media (max-width: 849px) {
	.lpp .product-main { padding-top: 0; }
	.lpp .product-images { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 0 !important; }
	.lpp .product-gallery-stacked .slide { width: 100vw; aspect-ratio: 4 / 5; display: flex !important; align-items: center; justify-content: center; border-radius: 0; }
	.lpp .product-gallery-stacked .slide > a { width: 100%; height: 100%; }
	.lpp .product-gallery-stacked .slide img { width: 100%; height: 100%; object-fit: contain; padding: 10%; }
	.lpp .product-gallery-stacked-thumbnails { display: none !important; }
	/* Antes de que arranque el carrusel: misma fila recortada, sin saltos. */
	.lpp .product-gallery-stacked:not(.flickity-enabled) { display: flex !important; overflow: hidden; }
	.lpp .product-gallery-stacked:not(.flickity-enabled) .slide { flex: 0 0 100vw; }
	.lpp .product-gallery .image-tools.bottom.left { left: var(--lpp-gutter); bottom: 16px; }
	.lpp .lpp-gal-count {
		display: flex; align-items: center; gap: 16px; padding: 14px 0 0;
		font-size: 11.5px; font-weight: 500; letter-spacing: .16em; color: var(--lpp-ink-2); font-variant-numeric: tabular-nums;
	}
	.lpp .lpp-gal-bar { flex: 1; height: 1px; background: var(--lpp-line); position: relative; }
	.lpp .lpp-gal-bar i { position: absolute; left: 0; top: -0.5px; height: 2px; background: var(--lpp-ink); transition: width .4s var(--lpp-ease); }
}
@media (min-width: 850px) { .lpp .lpp-gal-count { display: none; } }

/* =========================================================================
   Las Cosicas — piezas nuevas (2026-10-23)
   ========================================================================= */

/* ---------- Logo provisional: cúpula de capas ---------- */
.lpp .lpp-logo__mark .lpp-logo__body { fill: var(--lpp-ink); }
.lpp .lpp-logo__mark .lpp-logo__top { fill: var(--lpp-accent); }

.lpp .lpp-logo--footer .lpp-logo__mark .lpp-logo__body { fill: #FBF8F5; }
.lpp .lpp-logo--footer .lpp-logo__mark .lpp-logo__top { fill: var(--lpp-accent); }
.lpp .lpp-statement__mark .lpp-logo__body { fill: var(--lpp-ink); }
.lpp .lpp-statement__mark .lpp-logo__top { fill: var(--lpp-pink); }

/* ---------- Ilustración de la portada ---------- */
.lpp .lpp-hero__well { display: grid; place-items: center; aspect-ratio: 1; background: var(--lpp-accent-soft); border-radius: calc(var(--lpp-radius) * 2); overflow: hidden; }
.lpp .lpp-art { width: 86%; height: auto; overflow: visible; }
.lpp .lpp-art__rail { fill: var(--lpp-ink); opacity: .12; }
.lpp .lpp-art__bed, .lpp .lpp-art__bar, .lpp .lpp-art__head rect, .lpp .lpp-art__head path { fill: var(--lpp-ink); }
.lpp .lpp-art__vase { fill: var(--lpp-accent); }
.lpp .lpp-art__grooves rect { fill: var(--lpp-ink); opacity: .1; }
.lpp .lpp-art__ghost { fill: none; stroke: var(--lpp-ink); stroke-width: 1.4; stroke-dasharray: 4 6; opacity: .28; }
.lpp .lpp-art__hot { fill: var(--lpp-accent); }
@media (prefers-reduced-motion: no-preference) {
	.lpp .lpp-art__head { animation: lpp-head 2.4s ease-in-out infinite alternate; }
	.lpp .lpp-art__hot { animation: lpp-hot 1.2s ease-in-out infinite alternate; }
}
@keyframes lpp-head { from { transform: translateX(-46px); } to { transform: translateX(46px); } }
@keyframes lpp-hot { from { opacity: .35; } to { opacity: 1; } }

/* ---------- Tu figura Chibi ---------- */
.lpp .lpp-chibi { background: var(--lpp-ink); color: #FBF8F5; margin-top: clamp(48px, 6vw, 96px); }
.lpp .lpp-chibi__inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(32px, 6vw, 96px); padding-top: clamp(56px, 8vw, 112px); padding-bottom: clamp(56px, 8vw, 112px); align-items: center; }
.lpp .lpp-chibi .lpp-eyebrow { color: rgba(251, 248, 245, .7); }
.lpp .lpp-chibi__title { font-size: calc(var(--lpp-hs) * clamp(2.6rem, 5.5vw, 4.6rem) * var(--lpp-fs)) !important; line-height: 1; margin: 18px 0; color: #FBF8F5 !important; }
.lpp .lpp-chibi__title em { color: var(--lpp-accent); }
.lpp .lpp-chibi__lede { font-size: calc(18px * var(--lpp-fs)); line-height: 1.55; color: rgba(251, 248, 245, .8); max-width: 40ch; }
.lpp .lpp-chibi .button.primary { background: var(--lpp-accent) !important; border-color: var(--lpp-accent) !important; color: var(--lpp-ink) !important; }
.lpp .lpp-chibi .lpp-link { color: #FBF8F5; }

/* ---------- Pasos de un encargo ---------- */
.lpp .lpp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; counter-reset: none; }
.lpp .lpp-steps li { margin: 0; padding: 26px 24px; border-radius: var(--lpp-radius); background: rgba(251, 248, 245, .06); border: 1px solid rgba(251, 248, 245, .14); }
.lpp .lpp-page .lpp-steps li, .lpp .lpp-section .lpp-steps li { background: #fff; border-color: var(--lpp-line); }
.lpp .lpp-steps__n { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--lpp-accent); color: var(--lpp-ink); font-weight: 600; font-size: 15px; margin-bottom: 14px; }
.lpp .lpp-steps strong { display: block; font-family: var(--lpp-display); font-size: calc(19px * var(--lpp-fs)); font-weight: 500; letter-spacing: -.01em; margin-bottom: 6px; }
.lpp .lpp-steps p { margin: 0; font-size: calc(14.5px * var(--lpp-fs)); line-height: 1.55; opacity: .8; }

/* ---------- Páginas fijas (encargos, contacto) ---------- */
.lpp .lpp-page { padding-top: clamp(16px, 2vw, 28px); padding-bottom: clamp(48px, 6vw, 96px); }
.lpp .lpp-page__title { font-size: calc(var(--lpp-hs) * clamp(2.6rem, 6vw, 5rem) * var(--lpp-fs)) !important; line-height: 1; margin: 18px 0 20px; max-width: 14ch; }
.lpp .lpp-page__lede { font-size: calc(18px * var(--lpp-fs)); line-height: 1.55; color: var(--lpp-ink-2); max-width: 46ch; }
.lpp .lpp-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.lpp .lpp-split__media { margin: 0; }
.lpp .lpp-split__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: calc(var(--lpp-radius) * 2); }
.lpp .lpp-faq details { border-top: 1px solid var(--lpp-line); padding: 20px 0; max-width: 820px; }
.lpp .lpp-faq details:last-child { border-bottom: 1px solid var(--lpp-line); }
.lpp .lpp-faq summary { cursor: pointer; font-family: var(--lpp-display); font-size: calc(20px * var(--lpp-fs)); font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.lpp .lpp-faq summary::-webkit-details-marker { display: none; }
.lpp .lpp-faq summary::after { content: "+"; color: var(--lpp-accent); font-size: 1.3em; line-height: 1; transition: transform .25s var(--lpp-ease); }
.lpp .lpp-faq details[open] summary::after { transform: rotate(45deg); }
.lpp .lpp-faq details p { margin: 12px 0 0; color: var(--lpp-ink-2); max-width: 70ch; }
.lpp .lpp-contact { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lpp .lpp-contact li { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--lpp-line); border-radius: var(--lpp-radius); display: grid; gap: 10px; }
.lpp .lpp-contact a { font-family: var(--lpp-display); font-size: calc(19px * var(--lpp-fs)); color: var(--lpp-ink); text-decoration: underline; text-decoration-color: var(--lpp-accent); text-underline-offset: 4px; word-break: break-word; }

/* ---------- Insignia de personalizado ---------- */
.lpp .lpp-badge--custom { background: var(--lpp-accent); color: var(--lpp-ink); }

@media (max-width: 849px) {
	.lpp .lpp-chibi__inner, .lpp .lpp-split { grid-template-columns: 1fr; }
	.lpp .lpp-steps, .lpp .lpp-contact { grid-template-columns: 1fr; }
	.lpp .lpp-split__media { order: -1; }
	.lpp .lpp-split__media img { aspect-ratio: 4 / 3; }
}

/* ---------- Plazo de cada producto (inc/lpp-fulfillment.php) ---------- */
.lpp-lead { margin: 4px 0 0; font-size: 12.5px; color: #5F5550; display: flex; align-items: center; gap: 6px; }
.lpp-lead::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #93877F; flex: none; }
.lpp-lead--stock::before { background: #4F8A5B; }
.lpp-lead--order::before { background: var(--lpp-accent, #E8B4B6); }
.lpp-lead-box { display: grid; gap: 4px; margin: 18px 0 22px; padding: 16px 18px; border-radius: 14px; background: var(--lpp-paper-2, #F3EBE4); border-left: 4px solid var(--lpp-accent, #E8B4B6); font-size: 14.5px; line-height: 1.5; }
.lpp-lead-box--stock { border-left-color: #4F8A5B; }
.lpp-lead-box strong { font-weight: 600; }
.lpp-lead-box span { color: var(--lpp-ink-2, #5F5550); }
.lpp-lead-box--cart { margin: 0 0 24px; }

/* ---------- Categorías en mosaico ---------- */
.lpp .lpp-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(250px, auto); gap: 16px; }
.lpp .lpp-cat {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate;
	min-height: 250px; padding: 22px; border-radius: calc(var(--lpp-radius) * 1.4);
	background: var(--lpp-paper-2); color: var(--lpp-ink); text-decoration: none;
	transition: transform .4s var(--lpp-ease), box-shadow .4s var(--lpp-ease);
}
.lpp .lpp-cat:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(22, 19, 20, .45); }
.lpp .lpp-cat--feature { grid-column: span 2; grid-row: span 2; padding: 32px; }
.lpp .lpp-cat__media { position: absolute; inset: 0; z-index: -1; display: grid; place-items: center; }
.lpp .lpp-cat__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; transition: transform .8s var(--lpp-ease); }
.lpp .lpp-cat:hover .lpp-cat__media img { transform: scale(1.04); }
.lpp .lpp-cat.has-img .lpp-cat__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22, 19, 20, 0) 40%, rgba(22, 19, 20, .72) 100%); }
.lpp .lpp-cat.has-img { color: #FBF8F5; }
.lpp .lpp-cat__icon { width: 64px; height: 64px; margin-top: -48px; fill: none; stroke: var(--lpp-ink); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; opacity: .55; transition: transform .5s var(--lpp-ease); }
.lpp .lpp-cat:hover .lpp-cat__icon { transform: translateY(-4px); }
.lpp .lpp-cat:nth-child(3n) { background: var(--lpp-paper-3); }
.lpp .lpp-cat__body { display: grid; gap: 6px; max-width: 34ch; }
.lpp .lpp-cat__count {
	justify-self: start; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	padding: 6px 10px 5px; border-radius: 999px; background: rgba(251, 248, 245, .85); color: var(--lpp-ink);
}
.lpp .lpp-cat:not(.has-img) .lpp-cat__count { background: var(--lpp-paper); }
.lpp .lpp-cat__name { font-family: var(--lpp-display); font-weight: 500; letter-spacing: -.02em; line-height: 1.05; font-size: calc(var(--lpp-hs) * 26px * var(--lpp-fs)); }
.lpp .lpp-cat--feature .lpp-cat__name { font-size: calc(var(--lpp-hs) * clamp(2.2rem, 3.4vw, 3.2rem) * var(--lpp-fs)); }
.lpp .lpp-cat__desc { font-size: calc(14px * var(--lpp-fs)); line-height: 1.45; opacity: .78; }
.lpp .lpp-cat:not(.lpp-cat--feature) .lpp-cat__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lpp .lpp-cat__arrow {
	position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--lpp-paper); color: var(--lpp-ink); font-size: 17px; transition: background .3s, transform .4s var(--lpp-ease);
}
.lpp .lpp-cat:hover .lpp-cat__arrow { background: var(--lpp-accent); transform: rotate(-45deg); }
@media (max-width: 1099px) { .lpp .lpp-cats__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 549px) {
	.lpp .lpp-cats__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(190px, auto); gap: 10px; }
	.lpp .lpp-cat { min-height: 190px; padding: 16px; }
	.lpp .lpp-cat--feature { grid-column: span 2; grid-row: span 1; min-height: 340px; padding: 22px; }
	.lpp .lpp-cat__desc { display: none !important; }
	.lpp .lpp-cat--feature .lpp-cat__desc { display: block !important; }
	.lpp .lpp-cat__icon { width: 48px; height: 48px; }
	.lpp .lpp-cat__arrow { width: 34px; height: 34px; top: 12px; right: 12px; }
}
.lpp .lpp-art__eye { fill: var(--lpp-ink); }
.lpp .lpp-art__cheek { fill: var(--lpp-nude-deep); opacity: .8; }
.lpp .lpp-art__smile { fill: none; stroke: var(--lpp-ink); stroke-width: 3; stroke-linecap: round; }

/* ---------- Precio "desde" ---------- */
.lpp .lpp-price-from { display: inline-flex; align-items: baseline; gap: 8px; margin: 6px 0 0; font-family: var(--lpp-display); font-size: calc(30px * var(--lpp-fs)); font-weight: 500; letter-spacing: -.02em; }
.lpp .lpp-price-from span { font-family: var(--lpp-sans); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.lpp .lpp-price-from--big { font-size: calc(var(--lpp-hs) * 44px * var(--lpp-fs)); }

/* ---------- Formulario de presupuesto (inc/lpp-quotes.php) ---------- */
.lpp .lpp-quote { max-width: 920px; }
.lpp .lpp-quote__form { display: grid; gap: 18px; }
.lpp .lpp-quote fieldset { margin: 0; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--lpp-line); border-radius: calc(var(--lpp-radius) * 1.4); background: #fff; display: grid; gap: 16px; }
.lpp .lpp-quote legend { float: left; width: 100%; padding: 0; margin: 0 0 6px; display: flex; align-items: center; gap: 12px; font-family: var(--lpp-display); font-size: calc(var(--lpp-hs) * 24px * var(--lpp-fs)); font-weight: 500; letter-spacing: -.02em; }
.lpp .lpp-quote legend span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--lpp-accent); font-family: var(--lpp-sans); font-size: 14px; font-weight: 600; }
.lpp .lpp-quote label { display: grid; gap: 6px; margin: 0; font-size: 14px; font-weight: 500; color: var(--lpp-ink); }
.lpp .lpp-quote small { font-weight: 400; color: var(--lpp-ink-3); }
.lpp .lpp-quote input[type=text], .lpp .lpp-quote input[type=email], .lpp .lpp-quote input[type=tel], .lpp .lpp-quote input[type=number], .lpp .lpp-quote textarea {
	width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--lpp-line); border-radius: 10px; background: var(--lpp-paper); box-shadow: none; font-size: 15px; height: auto;
}
.lpp .lpp-quote input:focus, .lpp .lpp-quote textarea:focus { border-color: var(--lpp-ink); outline: 2px solid var(--lpp-accent); outline-offset: 1px; }
.lpp .lpp-quote__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.lpp .lpp-quote__types { display: flex; flex-wrap: wrap; gap: 8px; }
.lpp .lpp-chipbox { display: inline-flex !important; cursor: pointer; }
.lpp .lpp-chipbox input { position: absolute; opacity: 0; pointer-events: none; }
.lpp .lpp-chipbox span { padding: 10px 16px; border: 1px solid var(--lpp-line); border-radius: 999px; background: var(--lpp-paper); font-weight: 500; transition: background .2s, border-color .2s; }
.lpp .lpp-chipbox input:checked + span { background: var(--lpp-ink); border-color: var(--lpp-ink); color: #FBF8F5; }
.lpp .lpp-chipbox input:focus-visible + span { outline: 2px solid var(--lpp-accent); outline-offset: 2px; }
.lpp .lpp-quote__hint { margin: 0; font-size: 14px; color: var(--lpp-ink-2); }
.lpp .lpp-drop { position: relative; display: block !important; }
.lpp .lpp-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.lpp .lpp-drop__ui { display: grid; gap: 4px; place-items: center; text-align: center; padding: 34px 20px; border: 1.5px dashed var(--lpp-nude-deep); border-radius: 14px; background: var(--lpp-paper-2); font-weight: 400; transition: background .2s, border-color .2s; }
.lpp .lpp-drop:hover .lpp-drop__ui, .lpp .lpp-drop input:focus-visible + .lpp-drop__ui { border-color: var(--lpp-ink); background: var(--lpp-accent-soft); }
.lpp .lpp-drop__ui strong { font-size: 16px; }
.lpp .lpp-drop__preview { display: flex; flex-wrap: wrap; gap: 10px; }
.lpp .lpp-drop__preview:empty { display: none; }
.lpp .lpp-drop__preview figure { margin: 0; width: 88px; height: 88px; border-radius: 10px; overflow: hidden; background: var(--lpp-paper-2); display: grid; place-items: center; font-size: 11px; text-align: center; }
.lpp .lpp-drop__preview img { width: 100%; height: 100%; object-fit: cover; }
.lpp .lpp-quote__consent { grid-template-columns: auto 1fr; align-items: start; font-weight: 400 !important; font-size: 13.5px !important; color: var(--lpp-ink-2) !important; }
.lpp .lpp-quote__consent input { margin: 3px 0 0; }
.lpp .lpp-quote__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.lpp .lpp-quote__submit .button { margin: 0; }
.lpp .lpp-quote__submit p { margin: 0; font-size: 13.5px; color: var(--lpp-ink-2); }
.lpp .lpp-quote__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lpp .lpp-quote__errors { margin: 0 0 18px; padding: 16px 20px; border-radius: 14px; background: #FBEAEA; border-left: 4px solid var(--lpp-red); }
.lpp .lpp-quote__errors ul { margin: 8px 0 0 18px; }
.lpp .lpp-quote__done { padding: clamp(28px, 5vw, 56px); border-radius: calc(var(--lpp-radius) * 1.4); background: var(--lpp-paper-2); text-align: center; display: grid; justify-items: center; gap: 8px; }
.lpp .lpp-quote__mark { width: 54px; height: auto; }
.lpp .lpp-quote__mark .lpp-logo__body { fill: var(--lpp-ink); }
.lpp .lpp-quote__mark .lpp-logo__top { fill: var(--lpp-accent); }
.lpp .lpp-quote__done p { max-width: 52ch; margin: 0; color: var(--lpp-ink-2); }

/* Menos aire bajo la cabecera (2026-10-23): el contenido empieza pegado al menú. */
.lpp .page-wrapper, .lpp #main > .page-wrapper { padding-top: 0 !important; }
.lpp .lpp-hero .lpp-eyebrow:first-child, .lpp .lpp-page .lpp-eyebrow:first-child { margin-top: 0; }
.lpp .lpp-hero__title, .lpp .lpp-page__title { margin-top: 14px !important; }
.lpp .lpp-split__media .lpp-hero__well { max-height: min(560px, 70vh); }
.lpp .lpp-split__media .lpp-art { width: auto; height: 86%; max-width: 86%; }
.lpp .lpp-hero__piece { align-self: start; }

/* ---------- Formulario + tarjeta lateral ---------- */
.lpp .lpp-quote-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(20px, 3vw, 40px); align-items: start; }
.lpp .lpp-quote-layout .lpp-quote { max-width: none; }
.lpp .lpp-quote-aside { position: sticky; top: 110px; }
.lpp .lpp-quote-aside__card { padding: 28px; border-radius: calc(var(--lpp-radius) * 1.4); background: var(--lpp-paper-2); display: grid; gap: 10px; }
.lpp .lpp-quote-aside__card .lpp-price-from { margin: 0; }
.lpp .lpp-quote-aside__sub { margin: 0 0 12px; font-size: 14px; color: var(--lpp-ink-2); }
.lpp .lpp-quote-aside__card .lpp-eyebrow { margin: 10px 0 0; padding-top: 16px; border-top: 1px solid var(--lpp-line); }
.lpp .lpp-check, .lpp .lpp-tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; }
.lpp .lpp-check li, .lpp .lpp-tips li { margin: 0; padding-left: 26px; position: relative; line-height: 1.45; }
.lpp .lpp-check li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--lpp-ink); color: #FBF8F5; font-size: 11px; display: grid; place-items: center; }
.lpp .lpp-tips li::before { content: ""; position: absolute; left: 6px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--lpp-accent); }
.lpp .lpp-quote-aside__help { margin: 12px 0 0; padding-top: 16px; border-top: 1px solid var(--lpp-line); font-size: 14px; color: var(--lpp-ink-2); }
.lpp .lpp-quote-aside__help a { color: var(--lpp-ink); text-decoration: underline; text-decoration-color: var(--lpp-accent); text-underline-offset: 3px; word-break: break-word; }
@media (max-width: 999px) {
	.lpp .lpp-quote-layout { grid-template-columns: 1fr; }
	.lpp .lpp-quote-aside { position: static; }
}
.lpp .lpp-quote-aside__title { margin: 0; font-family: var(--lpp-display); font-size: calc(var(--lpp-hs) * 30px * var(--lpp-fs)); font-weight: 500; letter-spacing: -.02em; line-height: 1.1; }
