/* ==========================================================================
   LO TENGO Ecommerce - hoja de estilos del tema
   Mobile primero. Corte a 1024px para el layout de escritorio.
   Tokens tomados del handoff de diseño aprobado.
   ========================================================================== */

:root {
	--lt-yellow: #FFF44F;
	--lt-purple: #8040E8;
	--lt-purple-dark: #6030C0;
	--lt-purple-tint: #F0EAFF;
	--lt-purple-text: #4a2a8a;
	--lt-ink: #1A1A1A;
	--lt-ink-2: #444444;
	--lt-ink-3: #666666;
	--lt-ink-4: #8a8a8a;
	--lt-surface: #FFFFFF;
	--lt-bg: #F5F5F5;
	--lt-border: #E8E8E8;
	--lt-good: #1a8a4a;
	--lt-good-bg: #E8F5EC;
	--lt-radius: 6px;
	--lt-shadow: 0 1px 4px rgba(0, 0, 0, .10);
	--lt-wrap: 1200px;
	--lt-pad: 14px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--lt-bg);
	color: var(--lt-ink);
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; height: auto; display: block; }

a { color: var(--lt-purple); text-decoration: none; }
a:hover, a:focus { color: var(--lt-purple-dark); text-decoration: underline; }

h1, h2, h3, h4 { margin: 0; letter-spacing: -.01em; text-wrap: pretty; }
p { margin: 0 0 12px; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }

:focus-visible { outline: 3px solid var(--lt-purple); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

.lt-skip {
	position: absolute; left: -9999px; top: 0;
	background: var(--lt-yellow); color: var(--lt-ink);
	padding: 12px 16px; font-weight: 600; z-index: 100;
}
.lt-skip:focus { left: 0; }

.lt-wrap {
	width: 100%;
	max-width: var(--lt-wrap);
	margin: 0 auto;
	padding: 0 var(--lt-pad);
}

/* Tipografía de titulares ------------------------------------------------- */

.lt-h1 { font-size: 24px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 6px; }
.lt-h2 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }

.lt-eyebrow {
	font-size: 11px; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; color: var(--lt-purple); margin: 0 0 6px;
}
.lt-eyebrow--yellow { color: var(--lt-yellow); }

.lt-prose { color: var(--lt-ink-2); font-size: 15px; line-height: 1.7; }
.lt-prose h2 { font-size: 19px; font-weight: 700; color: var(--lt-ink); margin: 28px 0 8px; }
.lt-prose h3 { font-size: 15px; font-weight: 700; color: var(--lt-ink); margin: 18px 0 6px; }
.lt-prose p { margin: 0 0 12px; }
.lt-prose ul { list-style: disc; padding-left: 20px; margin: 0 0 12px; }
.lt-prose ol { list-style: decimal; padding-left: 20px; margin: 0 0 12px; }
.lt-prose li { margin-bottom: 6px; }

/* Marcador de dato pendiente --------------------------------------------- */

.lt-tbd {
	background: var(--lt-yellow);
	color: var(--lt-ink);
	font-weight: 600;
	padding: 0 4px;
	border-radius: 3px;
}

/* Placeholder de imagen -------------------------------------------------- */

.lt-ph {
	position: relative;
	width: 100%;
	background-image: repeating-linear-gradient(135deg, #E4E4E4 0 8px, #EDEDED 8px 16px);
	border-radius: var(--lt-radius);
	display: flex;
	align-items: flex-end;
	padding: 8px;
}
.lt-ph span {
	font-size: 10px;
	font-family: ui-monospace, SFMono-Regular, monospace;
	color: var(--lt-ink-4);
}

.lt-media { overflow: hidden; background: var(--lt-surface); }
.lt-media__img { width: 100%; height: 100%; object-fit: cover; }

/* Botones ---------------------------------------------------------------- */

.lt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 18px;
	border: 1px solid transparent;
	border-radius: var(--lt-radius);
	font: 600 15px/1 Inter, sans-serif;
	cursor: pointer;
	text-align: center;
}
.lt-btn:hover, .lt-btn:focus { text-decoration: none; }
.lt-btn--purple { background: var(--lt-purple); color: #fff; }
.lt-btn--purple:hover, .lt-btn--purple:focus { background: var(--lt-purple-dark); color: #fff; }
.lt-btn--yellow { background: var(--lt-yellow); color: var(--lt-ink); }
.lt-btn--yellow:hover, .lt-btn--yellow:focus { background: #FFEB00; color: var(--lt-ink); }
.lt-btn--ghost { background: transparent; border-color: var(--lt-purple); color: var(--lt-purple); }
.lt-btn--ghost:hover, .lt-btn--ghost:focus { background: var(--lt-purple-tint); }
.lt-btn--muted { border-color: var(--lt-border); color: var(--lt-ink); }
.lt-btn--block { display: flex; width: 100%; }

/* Header ----------------------------------------------------------------- */

.lt-header__top { background: var(--lt-yellow); padding: 10px 0 12px; }
.lt-header__top-in {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "brand acts" "search search";
	gap: 10px;
	align-items: center;
}
.lt-brand { grid-area: brand; display: flex; align-items: center; gap: 8px; color: var(--lt-ink); }
.lt-brand:hover { color: var(--lt-ink); text-decoration: none; }
.lt-brand__mark {
	width: 26px; height: 26px; flex: 0 0 26px;
	border: 2px solid var(--lt-ink); border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font: 800 7px/1 Inter, sans-serif;
}
.lt-brand__logo { max-height: 30px; width: auto; }
.lt-brand__word { font: 800 16px/1 Inter, sans-serif; letter-spacing: -.01em; }

.lt-header__search { grid-area: search; }
.lt-header__acts { grid-area: acts; display: flex; align-items: center; gap: 14px; }
.lt-header__act { color: var(--lt-ink); font-weight: 600; font-size: 13px; }
.lt-header__act--sm { display: none; }

.lt-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border-radius: var(--lt-radius);
	padding: 0 12px;
	box-shadow: var(--lt-shadow);
}
.lt-search__icon {
	width: 12px; height: 12px; flex: 0 0 12px;
	border: 2px solid var(--lt-purple); border-radius: 50%;
}
.lt-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 12px 0;
	font: 400 14px Inter, sans-serif;
	color: var(--lt-ink);
}
.lt-search input[type="search"]:focus { outline: none; }
.lt-search__clear { color: var(--lt-ink-4); font-size: 14px; padding: 4px; }

.lt-cart { display: inline-flex; align-items: center; gap: 5px; color: var(--lt-ink); font-weight: 600; font-size: 13px; }
.lt-cart:hover { color: var(--lt-ink); text-decoration: none; }
.lt-cart__icon {
	width: 16px; height: 14px;
	border: 2px solid var(--lt-ink);
	border-radius: 0 0 4px 4px;
}

.lt-header__nav { background: var(--lt-purple); }
.lt-header__nav-in { display: flex; align-items: center; gap: 18px; overflow-x: auto; scrollbar-width: none; }
.lt-header__nav-in::-webkit-scrollbar { display: none; }
.lt-catnav__list { display: flex; gap: 18px; padding: 11px 0; white-space: nowrap; }
.lt-catnav__list a, .lt-catnav__sell { color: #fff; font: 600 13px Inter, sans-serif; }
.lt-catnav__list a:hover, .lt-catnav__sell:hover { color: var(--lt-yellow); text-decoration: none; }
.lt-catnav__list .is-current > a, .lt-catnav__list .current-menu-item > a { color: var(--lt-yellow); }
.lt-catnav__sell { padding: 11px 0; white-space: nowrap; color: var(--lt-yellow); }

/* Footer ----------------------------------------------------------------- */

.lt-footer { background: var(--lt-ink); color: #999; margin-top: 40px; padding: 28px 0 20px; }
.lt-footer__cols { display: grid; gap: 24px; }
.lt-footer__word { font: 800 18px Inter, sans-serif; color: var(--lt-yellow); display: block; margin-bottom: 8px; }
.lt-footer__brand p { font-size: 13px; line-height: 1.6; margin: 0; }
.lt-footer__col h2 { font: 700 13px Inter, sans-serif; color: #fff; margin: 0 0 8px; }
.lt-footer__list { display: flex; flex-direction: column; gap: 8px; }
.lt-footer__list a { color: #999; font-size: 13px; }
.lt-footer__list a:hover { color: #fff; }
.lt-footer__legalcta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
	margin-top: 24px; padding-top: 18px; border-top: 1px solid #333;
}
.lt-footer__dnc { color: #999; font-size: 13px; }
.lt-footer__legal { margin-top: 14px; }
.lt-footer__legal p { font-size: 12px; color: #777; margin: 0; }
.lt-footer__credit { margin-top: 4px; }
.lt-footer__credit a { color: var(--lt-yellow); text-decoration: underline; }
.lt-footer__credit a:hover, .lt-footer__credit a:focus { color: #fff; }

/* Home: banners ---------------------------------------------------------- */

.lt-home { padding-top: 16px; }
.lt-banners { display: grid; gap: 12px; }
.lt-banner {
	border-radius: var(--lt-radius);
	overflow: hidden;
	color: #fff;
	display: flex;
	flex-direction: column;
}
.lt-banner--main { min-height: 300px; }
.lt-banner__text { padding: 24px 18px; display: flex; flex-direction: column; gap: 6px; justify-content: center; }
.lt-banner__title { font-size: 34px; font-weight: 800; line-height: .98; letter-spacing: -.03em; }
.lt-banner__sub { font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, .85); margin: 0; }
.lt-banner__text .lt-btn { align-self: flex-start; margin-top: 12px; }
.lt-banner__media { flex: 1; min-height: 180px; }
.lt-banner__media img, .lt-banner__media .lt-ph { height: 100%; width: 100%; object-fit: cover; border-radius: 0; }

.lt-banners__side { display: grid; gap: 12px; }
.lt-banner--side { padding: 20px; gap: 6px; }
.lt-banner--side h2 { font-size: 20px; font-weight: 800; line-height: 1.2; }
.lt-banner--side p { font-size: 14px; margin: 0; color: rgba(255, 255, 255, .85); }
.lt-banner--light { color: var(--lt-ink); }
.lt-banner--light p { color: var(--lt-purple-text); }
.lt-banner--light .lt-eyebrow { color: var(--lt-purple); }

/* Secciones -------------------------------------------------------------- */

.lt-section { padding: 24px 0 0; }
.lt-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.lt-more { font-size: 13px; font-weight: 600; }

.lt-cattiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lt-cattiles a {
	background: var(--lt-surface);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	box-shadow: var(--lt-shadow);
	padding: 12px 8px;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	min-height: 88px;
	color: var(--lt-ink);
	font: 600 11px/1.25 Inter, sans-serif;
	text-align: center;
}
.lt-cattiles a:hover { border-color: var(--lt-purple); text-decoration: none; }
.lt-cattiles__icon, .lt-cattiles__img {
	width: 30px; height: 30px; border-radius: var(--lt-radius);
	background: var(--lt-purple-tint); object-fit: cover;
}

.lt-curaduria {
	margin-top: 28px;
	background: var(--lt-purple-tint);
	border-radius: var(--lt-radius);
	padding: 20px 18px;
	display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
}
.lt-curaduria h2 { font-size: 20px; font-weight: 800; }
.lt-curaduria p { color: var(--lt-purple-text); font-size: 14px; margin: 0; }

.lt-cta-vender { background: var(--lt-purple); margin-top: 28px; padding: 22px 0; }
.lt-cta-vender__in { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.lt-cta-vender h2 { font-size: 18px; font-weight: 800; color: var(--lt-yellow); }
.lt-cta-vender p { color: rgba(255, 255, 255, .88); font-size: 14px; margin: 0; }

/* Precio y metadatos ----------------------------------------------------- */

.lt-price { display: flex; flex-direction: column; gap: 2px; }
.lt-price__was { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: var(--lt-ink-4); }
.lt-price__was s { color: var(--lt-ink-4); }
.lt-off { color: var(--lt-good); font-weight: 500; }
.lt-price__now { font-weight: 800; color: var(--lt-purple); }
.lt-price--sm .lt-price__now { font-size: 16px; }
.lt-price--md .lt-price__now { font-size: 20px; }
.lt-price--lg .lt-price__now { font-size: 32px; letter-spacing: -.02em; }

.lt-meta-line { font-size: 11px; font-weight: 500; color: var(--lt-ink-3); margin: 0; }
.lt-good { color: var(--lt-good); font-weight: 500; }

.lt-curator {
	background: var(--lt-purple-tint);
	border-radius: var(--lt-radius);
	padding: 14px;
	color: var(--lt-purple-text);
	margin-bottom: 16px;
}
.lt-curator strong { display: block; font-size: 13px; margin-bottom: 4px; }
.lt-curator p { font-size: 13px; line-height: 1.55; margin: 0; }
.lt-curator--inline {
	background: var(--lt-purple-tint); color: var(--lt-purple-text);
	font-size: 12px; line-height: 1.45; padding: 6px 8px;
	border-radius: var(--lt-radius); margin: 4px 0 0;
}

.lt-note {
	background: var(--lt-purple-tint);
	color: var(--lt-purple-text);
	border-radius: var(--lt-radius);
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 500;
}
.lt-note--good { background: var(--lt-good-bg); color: var(--lt-good); }
.lt-fineprint { font-size: 12px; color: var(--lt-ink-3); line-height: 1.5; }

/* Breadcrumb ------------------------------------------------------------- */

.lt-crumbs { padding: 14px 0 6px; }
.lt-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: var(--lt-ink-3); }
.lt-crumbs li + li::before { content: "· "; }
.lt-crumbs a { color: var(--lt-ink-3); }

/* Tarjeta de producto ---------------------------------------------------- */

ul.products, .lt-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lt-card {
	background: var(--lt-surface);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	box-shadow: var(--lt-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.lt-card__media { display: block; }
.lt-card__media .lt-ph { border-radius: 0; }
.lt-card__body { padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.lt-card__title { font-size: 13px; font-weight: 400; line-height: 1.3; order: 2; }
.lt-card__title a { color: var(--lt-ink); }
.lt-card .lt-price { order: 1; }
.lt-card .lt-meta-line { order: 3; }
.lt-card__quote { font-size: 12px; font-weight: 600; color: var(--lt-purple); margin: 0; order: 4; }

.lt-card--list { flex-direction: row; align-items: stretch; }
.lt-card--list .lt-card__media { flex: 0 0 110px; }
.lt-card--list .lt-card__media .lt-media, .lt-card--list .lt-card__media .lt-ph { height: 100%; }
.lt-card--list .lt-card__body { flex: 1; padding: 12px; }
.lt-card--list .lt-card__act { display: none; }

/* Archivo de catálogo ---------------------------------------------------- */

.lt-archive { padding-bottom: 24px; }
.lt-archive__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.lt-archive__count { font-size: 12px; font-weight: 500; color: var(--lt-ink-3); margin: 0; }
.lt-archive__desc { color: var(--lt-ink-3); font-size: 14px; margin: 8px 0 0; }
.lt-archive__body { display: block; margin-top: 14px; }

.lt-filters { margin-bottom: 16px; }
.lt-filters__order {
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
	margin-bottom: 10px;
}
.lt-filters__order label { font-size: 12px; font-weight: 600; }
.lt-filters__order select {
	border: 1px solid var(--lt-border); border-radius: var(--lt-radius);
	background: #fff; padding: 10px 12px; font: 600 13px Inter, sans-serif; color: var(--lt-ink);
	min-height: 44px;
}
.lt-filters__box {
	background: var(--lt-surface);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	padding: 0 16px;
}
.lt-filters__box > summary {
	cursor: pointer;
	padding: 14px 0;
	font: 700 14px Inter, sans-serif;
	list-style: none;
}
.lt-filters__box > summary::-webkit-details-marker { display: none; }
.lt-filters__box > summary::after { content: " +"; color: var(--lt-purple); }
.lt-filters__box[open] > summary::after { content: " −"; }
.lt-filters__group { padding: 0 0 16px; }
.lt-filters__group + .lt-filters__group { border-top: 1px solid var(--lt-border); padding-top: 16px; }
.lt-filters__group h2 { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.lt-filters__group ul { display: flex; flex-direction: column; gap: 2px; }
.lt-filters__group a {
	display: flex; justify-content: space-between; gap: 8px;
	color: var(--lt-ink-3); font-size: 14px; padding: 9px 0; min-height: 44px; align-items: center;
}
.lt-filters__group a.is-on { color: var(--lt-purple); font-weight: 600; }
.lt-filters__count { color: var(--lt-ink-4); font-size: 13px; }
.lt-filters__clear { padding: 0 0 14px; margin: 0; font-size: 13px; }

.lt-pagination { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.lt-pagination .page-numbers, .lt-pagination a {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; min-width: 44px; padding: 10px 14px;
	border: 1px solid var(--lt-purple); border-radius: var(--lt-radius);
	color: var(--lt-purple); font-weight: 600; font-size: 14px;
}
.lt-pagination .current { background: var(--lt-purple); color: #fff; }
.lt-pagination a:hover { background: var(--lt-purple-tint); text-decoration: none; }

.lt-empty {
	background: var(--lt-surface);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	padding: 24px 18px;
	margin-bottom: 20px;
}
.lt-empty h2 { font-size: 20px; font-weight: 800; line-height: 1.25; margin-bottom: 8px; }
.lt-empty p { color: var(--lt-ink-3); font-size: 14px; }
.lt-empty--sm { padding: 20px; }
.lt-suggest { margin-top: 8px; }

/* Ficha de producto ------------------------------------------------------ */

.lt-single { padding-bottom: 24px; }
.lt-single__top { display: block; }

.lt-gallery { background: var(--lt-surface); border-radius: var(--lt-radius); overflow: hidden; }
.lt-gallery__strip {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.lt-gallery__strip::-webkit-scrollbar { display: none; }
.lt-gallery__item { flex: 0 0 100%; scroll-snap-align: center; margin: 0; }
.lt-gallery__item img { width: 100%; height: auto; }
.lt-gallery__thumbs { display: flex; gap: 8px; padding: 10px; order: 2; }
.lt-gallery__thumbs a {
	display: block; width: 56px; height: 56px;
	border: 1px solid var(--lt-border); border-radius: 4px; overflow: hidden;
}
.lt-gallery__thumbs a.is-current, .lt-gallery__thumbs a:hover { border-color: var(--lt-purple); }
.lt-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }

.lt-buybox { background: var(--lt-surface); padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; }
.lt-buybox__meta { font-size: 12px; font-weight: 500; color: var(--lt-ink-3); margin: 0; }
.lt-buybox__title { font-size: 20px; font-weight: 700; line-height: 1.25; }
.lt-buybox__ship { font-size: 14px; margin: 0; }
.lt-buybox__eta { font-size: 13px; color: var(--lt-ink-3); margin: 0; }
.lt-buybox__trust {
	margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--lt-border);
	display: flex; flex-direction: column; gap: 8px;
	font-size: 13px; color: var(--lt-ink-3);
}
.lt-oos { font-weight: 600; color: var(--lt-ink-3); margin: 0; }
.lt-presupuesto { font-size: 14px; color: var(--lt-purple-text); background: var(--lt-purple-tint); padding: 12px 14px; border-radius: var(--lt-radius); }
.lt-aviso-digital { font-size: 13px; line-height: 1.55; color: var(--lt-purple-text); background: var(--lt-purple-tint); padding: 12px 14px; border-radius: var(--lt-radius); }

/* Formulario de compra de WooCommerce, con el vocabulario del tema */
.cart, form.cart { display: flex; flex-direction: column; gap: 10px; margin: 10px 0 0; }
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--lt-border); border-radius: var(--lt-radius); }
.quantity label { padding: 0 10px; font-size: 13px; font-weight: 500; }
.quantity input[type="number"] {
	width: 72px; min-height: 44px; border: 0; border-left: 1px solid var(--lt-border);
	text-align: center; font: 600 15px Inter, sans-serif; color: var(--lt-ink); background: transparent;
}
.single_add_to_cart_button, button.button, input.button, .woocommerce-Button, .checkout-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; padding: 13px 20px;
	background: var(--lt-purple); color: #fff; border: 0;
	border-radius: var(--lt-radius); font: 600 15px Inter, sans-serif; cursor: pointer;
}
.single_add_to_cart_button:hover, button.button:hover, .checkout-button:hover { background: var(--lt-purple-dark); color: #fff; }
.checkout-button { width: 100%; }

.lt-panel {
	background: var(--lt-surface);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	padding: 18px 16px;
	margin-top: 12px;
}
.lt-specs { margin: 0; }
.lt-specs__row {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 9px 0; border-bottom: 1px solid var(--lt-border);
	font-size: 13px;
}
.lt-specs__row:last-child { border-bottom: 0; }
.lt-specs dt { color: var(--lt-ink-3); margin: 0; }
.lt-specs dd { color: var(--lt-ink); margin: 0; text-align: right; }

.lt-related__list { display: flex; flex-direction: column; gap: 12px; }
.lt-related__list a { display: flex; gap: 12px; align-items: center; color: var(--lt-ink); }
.lt-related__media { flex: 0 0 64px; }
.lt-related__media .lt-media, .lt-related__media .lt-ph { border-radius: 4px; overflow: hidden; }
.lt-related__body { display: flex; flex-direction: column; gap: 3px; }
.lt-related__title { font-size: 14px; }
.lt-related__price { font-weight: 800; font-size: 16px; color: var(--lt-purple); }

/* Carrito ---------------------------------------------------------------- */

.lt-cartpage, .lt-checkout, .lt-cartempty { padding: 16px 0 24px; }
.lt-cartlist { display: flex; flex-direction: column; gap: 10px; }
.lt-cartlist__item {
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 12px;
	display: grid; grid-template-columns: 72px 1fr; gap: 12px;
}
.lt-cartlist__media { grid-row: span 2; }
.lt-cartlist__media .lt-media, .lt-cartlist__media .lt-ph { border-radius: 4px; overflow: hidden; }
.lt-cartlist__title { font-size: 14px; font-weight: 400; line-height: 1.3; margin-bottom: 4px; }
.lt-cartlist__title a { color: var(--lt-ink); }
.lt-cartlist__controls { display: flex; align-items: center; gap: 12px; margin-top: 6px; flex-wrap: wrap; }
.lt-cartlist__remove { font-size: 12px; font-weight: 500; color: var(--lt-ink-3); }
.lt-cartlist__price { grid-column: 2; font-weight: 800; font-size: 17px; color: var(--lt-purple); }

.lt-cartpage__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.lt-coupon { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.lt-coupon label { font-size: 13px; font-weight: 600; }
.lt-coupon input { min-height: 44px; border: 1px solid var(--lt-border); border-radius: var(--lt-radius); padding: 10px 12px; }

.cart_totals, .lt-cartpage__aside {
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 18px 16px; margin-top: 14px;
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { text-align: left; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--lt-border); }
.cart_totals .order-total td { font-weight: 800; font-size: 20px; color: var(--lt-purple); }

.lt-summary { display: flex; flex-direction: column; gap: 8px; }
.lt-summary li { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--lt-ink-3); }
.lt-summary li span:last-child { color: var(--lt-ink); }
.lt-summary__total {
	padding-top: 12px; margin-top: 4px; border-top: 1px solid var(--lt-border);
}
.lt-summary__total span:first-child { font-weight: 700; font-size: 15px; color: var(--lt-ink); }
.lt-summary__total span:last-child { font-weight: 800; font-size: 20px; color: var(--lt-purple); }

/* Checkout --------------------------------------------------------------- */

.lt-checkout__body { display: block; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3 {
	font-size: 15px; font-weight: 700; margin: 14px 0 8px;
}
.form-row { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.form-row label { font-size: 13px; font-weight: 600; }
.form-row .required { color: var(--lt-purple); }
.input-text, select, textarea {
	width: 100%; min-height: 44px;
	border: 1px solid var(--lt-border); border-radius: var(--lt-radius);
	padding: 11px 12px; font: 400 15px Inter, sans-serif; background: #fff; color: var(--lt-ink);
}
textarea { min-height: 90px; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	text-align: left; padding: 10px 0; font-size: 14px; border-bottom: 1px solid var(--lt-border);
}
.woocommerce-checkout-review-order-table .order-total td { font-weight: 800; color: var(--lt-purple); font-size: 18px; }
.wc_payment_methods { display: flex; flex-direction: column; gap: 10px; margin: 12px 0; }
.wc_payment_method label { font-weight: 600; font-size: 14px; }
.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--lt-ink-3); }
#place_order { width: 100%; }

.woocommerce-error, .woocommerce-message, .woocommerce-info {
	border-radius: var(--lt-radius); padding: 12px 14px; margin: 0 0 14px;
	font-size: 14px; list-style: none;
}
.woocommerce-message, .woocommerce-info { background: var(--lt-purple-tint); color: var(--lt-purple-text); }
.woocommerce-error { background: #FDECEC; color: #A11B1B; }

/* Compra confirmada ------------------------------------------------------ */

.lt-thanks__hero { background: var(--lt-purple); color: #fff; padding: 28px 0; }
.lt-thanks__hero-in { display: flex; gap: 16px; align-items: center; }
.lt-thanks__check {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
	background: var(--lt-yellow); color: var(--lt-ink);
	display: flex; align-items: center; justify-content: center;
	font: 800 20px Inter, sans-serif;
}
.lt-thanks__hero h1 { font-size: 22px; font-weight: 800; line-height: 1.2; margin-bottom: 4px; }
.lt-thanks__hero p { font-size: 14px; color: rgba(255, 255, 255, .86); margin: 0; }
.lt-thanks__body { padding-bottom: 24px; }

.lt-orderitems { display: flex; flex-direction: column; gap: 14px; }
.lt-orderitems li { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; }
.lt-orderitems__media .lt-media, .lt-orderitems__media .lt-ph { border-radius: 4px; overflow: hidden; }
.lt-orderitems__body { display: flex; flex-direction: column; gap: 3px; }
.lt-orderitems__title { font-size: 14px; line-height: 1.3; }
.lt-orderitems__qty { font-size: 12px; font-weight: 500; color: var(--lt-ink-3); }
.lt-orderitems__price { font-weight: 700; font-size: 15px; }

/* Stepper de seguimiento (sin JS) ---------------------------------------- */

.lt-steps { display: flex; flex-direction: column; gap: 10px; }
.lt-steps__rail { display: none; }
.lt-steps__labels { display: flex; flex-direction: column; gap: 14px; }
.lt-steps__labels li {
	display: flex; flex-direction: column; gap: 2px;
	padding-left: 22px; position: relative;
}
.lt-steps__labels li::before {
	content: ""; position: absolute; left: 0; top: 5px;
	width: 10px; height: 10px; border-radius: 50%; background: var(--lt-border);
}
.lt-steps__labels li.is-done::before { background: var(--lt-purple); }
.lt-steps__labels li::after {
	content: ""; position: absolute; left: 4px; top: 17px; bottom: -14px; width: 2px; background: var(--lt-border);
}
.lt-steps__labels li:last-child::after { display: none; }
.lt-steps__label { font-size: 14px; font-weight: 600; color: var(--lt-ink-4); }
.lt-steps__labels li.is-done .lt-steps__label { color: var(--lt-ink); }
.lt-steps__sub { font-size: 12px; color: var(--lt-ink-3); }

/* Mi cuenta -------------------------------------------------------------- */

.lt-account__hero { background: var(--lt-purple); color: #fff; padding: 18px 0; }
.lt-account__hero-in { display: flex; align-items: center; gap: 12px; }
.lt-account__avatar {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
	background: var(--lt-yellow); color: var(--lt-ink);
	display: flex; align-items: center; justify-content: center;
	font: 800 16px Inter, sans-serif;
}
.lt-account__hero h1 { font-size: 17px; font-weight: 700; }
.lt-account__hero p { font-size: 13px; color: rgba(255, 255, 255, .8); margin: 0; }
.lt-account__body { padding: 0 var(--lt-pad) 24px; }
.lt-account__tabs { background: var(--lt-surface); border-bottom: 1px solid var(--lt-border); margin: 0 calc(var(--lt-pad) * -1) 14px; }
.lt-account__tabs ul { display: flex; gap: 20px; padding: 0 var(--lt-pad); overflow-x: auto; scrollbar-width: none; }
.lt-account__tabs ul::-webkit-scrollbar { display: none; }
.lt-account__tabs a {
	display: block; padding: 12px 0; white-space: nowrap;
	font: 600 14px Inter, sans-serif; color: var(--lt-ink-3);
	border-bottom: 2px solid transparent;
}
.lt-account__tabs .is-active a { color: var(--lt-purple); border-bottom-color: var(--lt-purple); }

.lt-orders { display: flex; flex-direction: column; gap: 10px; }
.lt-orders__item {
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 14px;
	display: flex; flex-direction: column; gap: 10px;
}
.lt-orders__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lt-orders__num { font-size: 12px; color: var(--lt-ink-3); }
.lt-orders__row { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; }
.lt-orders__media .lt-media, .lt-orders__media .lt-ph { border-radius: 4px; overflow: hidden; }
.lt-orders__body { display: flex; flex-direction: column; gap: 3px; }
.lt-orders__title { font-size: 14px; line-height: 1.3; }
.lt-orders__more, .lt-orders__date { font-size: 12px; color: var(--lt-ink-3); }
.lt-orders__acts { display: flex; gap: 8px; }
.lt-orders__acts .lt-btn { flex: 1; }

.lt-chip-state {
	display: inline-flex; align-items: center;
	font: 600 12px Inter, sans-serif;
	padding: 4px 8px; border-radius: var(--lt-radius);
}
.lt-chip-state--purple { background: var(--lt-purple-tint); color: var(--lt-purple); }
.lt-chip-state--good { background: var(--lt-good-bg); color: var(--lt-good); }
.lt-chip-state--wait { background: #FFF9CC; color: #7a6a00; }
.lt-chip-state--off { background: #F0F0F0; color: var(--lt-ink-3); }

/* Centro legal ----------------------------------------------------------- */

.lt-legalpage { padding-bottom: 24px; }
.lt-legalpage__date { font-size: 13px; color: var(--lt-ink-3); margin: 4px 0 0; }
.lt-legalpage__body { display: block; margin-top: 14px; }
.lt-legal-nav { display: none; }
.lt-legal-acc { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; }
.lt-legal-acc__row {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	min-height: 44px; padding: 12px;
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius);
	font: 600 14px Inter, sans-serif; color: var(--lt-ink);
}
.lt-legal-acc__row.is-open { background: var(--lt-purple); border-color: var(--lt-purple); color: #fff; }
.lt-legal-acc a.lt-legal-acc__row:hover { border-color: var(--lt-purple); text-decoration: none; }
.lt-legal-acc a.lt-legal-acc__row span:last-child { color: var(--lt-purple); }

.lt-legalpage__doc {
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 20px 16px;
}
.lt-legalpage__titular {
	margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--lt-border);
	font-size: 12px; color: var(--lt-ink-3);
}

/* Formularios del tema --------------------------------------------------- */

.lt-form { display: flex; flex-direction: column; gap: 10px; }
.lt-form__grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.lt-field { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.lt-field label { font-size: 13px; font-weight: 600; }
.lt-field input, .lt-field textarea {
	width: 100%; min-height: 44px;
	border: 1px solid var(--lt-border); border-radius: var(--lt-radius);
	padding: 11px 12px; font: 400 15px Inter, sans-serif; background: var(--lt-bg);
}
.lt-field textarea { min-height: 90px; }
.lt-chips { border: 0; padding: 0; margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 8px; }
.lt-chips legend { font-size: 13px; font-weight: 600; margin-bottom: 6px; width: 100%; }
.lt-chip { display: inline-flex; }
.lt-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lt-chip span {
	display: inline-flex; align-items: center; min-height: 40px;
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 8px 12px;
	font: 600 12px Inter, sans-serif; cursor: pointer;
}
.lt-chip input:checked + span { background: var(--lt-purple); border-color: var(--lt-purple); color: #fff; }
.lt-chip input:focus-visible + span { outline: 3px solid var(--lt-purple); outline-offset: 2px; }
.lt-hp { position: absolute; left: -9999px; }
.lt-form__actions { margin: 4px 0 0; }
.lt-form__actions .lt-btn { width: 100%; }
.lt-form__legal { font-size: 12px; color: var(--lt-ink-3); margin: 0; }
.lt-form-ok {
	background: var(--lt-good-bg); color: #12522f;
	border-radius: var(--lt-radius); padding: 14px 16px; font-size: 14px; line-height: 1.55;
}
.lt-form-err {
	background: #FDECEC; color: #A11B1B;
	border-radius: var(--lt-radius); padding: 12px 14px; font-size: 14px; margin: 0;
}

/* Páginas de marca ------------------------------------------------------- */

.lt-hero--purple { background: var(--lt-purple); color: #fff; padding: 28px 0; }
.lt-hero--light { padding: 24px 0 8px; }
.lt-hero__in { display: flex; flex-direction: column; gap: 18px; }
.lt-hero__text { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.lt-hero h1 { font-size: 27px; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; }
.lt-hero--purple .lt-hero__sub { color: rgba(255, 255, 255, .86); }
.lt-hero__sub { font-size: 15px; line-height: 1.6; color: var(--lt-ink-2); margin: 0; }
.lt-hero__media img, .lt-hero__img { border-radius: var(--lt-radius); }

.lt-steps4, .lt-steps3 { display: grid; gap: 16px; margin-top: 4px; }
.lt-steps4 li, .lt-steps3 li { display: flex; flex-direction: column; gap: 6px; }
.lt-steps4 h3, .lt-steps3 h3 { font-size: 16px; font-weight: 700; }
.lt-steps4 p, .lt-steps3 p { font-size: 14px; color: var(--lt-ink-3); margin: 0; }
.lt-num {
	width: 30px; height: 30px; border-radius: 50%;
	background: var(--lt-purple-tint); color: var(--lt-purple);
	display: inline-flex; align-items: center; justify-content: center;
	font: 800 13px Inter, sans-serif;
}

.lt-cards3 { display: grid; gap: 12px; }
.lt-cards3 li {
	background: var(--lt-surface); border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius); padding: 18px;
}
.lt-cards3 h3 { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.lt-cards3 p { font-size: 14px; color: var(--lt-ink-3); margin: 0; }

.lt-nosotros__how { background: var(--lt-bg); padding: 24px 0; margin-top: 20px; }
.lt-vender__terms { background: var(--lt-bg); padding: 24px 0; margin-top: 24px; }
.lt-vender__terms-in { display: flex; flex-direction: column; gap: 20px; }
.lt-vender__facts { display: grid; gap: 12px; margin: 14px 0 0; }
.lt-vender__facts dt { font-size: 13px; font-weight: 700; }
.lt-vender__facts dd { margin: 0; font-size: 14px; color: var(--lt-ink-3); }

.lt-contacto { padding-bottom: 24px; }
.lt-contacto__head { margin-bottom: 16px; }
.lt-contacto__head h1 { font-size: 24px; font-weight: 800; line-height: 1.2; }
.lt-contacto__head p { color: var(--lt-ink-3); font-size: 14px; }
.lt-contacto__body { display: flex; flex-direction: column; gap: 16px; }
.lt-contacto__cards { display: grid; gap: 10px; }
.lt-contacto__cards li {
	border: 1px solid var(--lt-border); border-radius: var(--lt-radius);
	padding: 14px; background: var(--lt-surface);
}
.lt-contacto__cards h2 { font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.lt-contacto__cards p { margin: 0; font-size: 14px; }

/* Blog / páginas sueltas ------------------------------------------------- */

.lt-page { padding: 16px 0 24px; }
.lt-page__article { background: var(--lt-surface); border: 1px solid var(--lt-border); border-radius: var(--lt-radius); padding: 20px 16px; }
.lt-postlist { display: flex; flex-direction: column; gap: 12px; }
.lt-postcard { background: var(--lt-surface); border: 1px solid var(--lt-border); border-radius: var(--lt-radius); padding: 16px; }
.lt-postcard h2 { font-size: 17px; font-weight: 700; margin-bottom: 4px; }
.lt-postcard__meta { font-size: 12px; color: var(--lt-ink-3); }

/* ==========================================================================
   Escritorio
   ========================================================================== */

@media (min-width: 768px) {
	ul.products, .lt-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.lt-cattiles { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.lt-steps4, .lt-steps3, .lt-cards3 { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.lt-footer__cols { grid-template-columns: repeat(2, 1fr); }
	.lt-banners { grid-template-columns: 1fr; }
}

@media (min-width: 1024px) {
	body { font-size: 15px; }

	.lt-h1 { font-size: 30px; }
	.lt-h2 { font-size: 24px; }
	.lt-eyebrow { font-size: 13px; }

	/* Header de dos franjas */
	.lt-header__top { padding: 14px 0; }
	.lt-header__top-in {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "brand search acts";
		gap: 32px;
	}
	.lt-brand__mark { width: 34px; height: 34px; flex-basis: 34px; font-size: 9px; }
	.lt-brand__word { font-size: 20px; }
	.lt-header__acts { gap: 22px; }
	.lt-header__act, .lt-cart { font-size: 14px; }
	.lt-header__act--sm { display: inline; }
	.lt-search input[type="search"] { font-size: 15px; }
	.lt-header__nav-in { overflow: visible; gap: 26px; }
	.lt-catnav__list { gap: 26px; padding: 12px 0; }
	.lt-catnav__list a, .lt-catnav__sell { font-size: 14px; }
	.lt-catnav__sell { margin-left: auto; padding: 12px 0; }

	/* Footer de cuatro columnas */
	.lt-footer { padding: 36px 0 24px; }
	.lt-footer__cols { grid-template-columns: repeat(4, 1fr); gap: 32px; }
	.lt-footer__word { font-size: 18px; }

	/* Home */
	.lt-home { padding-top: 24px; }
	.lt-banners { grid-template-columns: 1fr 300px; gap: 16px; align-items: stretch; }
	.lt-banner--main { flex-direction: row; min-height: 300px; }
	.lt-banner__text { flex: 1; padding: 44px 0 44px 44px; }
	.lt-banner__title { font-size: 68px; line-height: .95; letter-spacing: -.04em; }
	.lt-banner__sub { font-size: 17px; }
	.lt-banner__media { flex: 0 0 400px; min-height: 0; }
	.lt-banners__side { grid-template-rows: 1fr 1fr; }
	.lt-banner--side h2 { font-size: 24px; }

	.lt-section { padding: 36px 0 0; }
	.lt-cattiles { grid-template-columns: repeat(6, 1fr); }
	.lt-cattiles a { padding: 20px 12px; font-size: 13px; min-height: 118px; }
	.lt-cattiles__icon, .lt-cattiles__img { width: 44px; height: 44px; }
	.lt-grid--5 { grid-template-columns: repeat(5, 1fr); }
	.lt-grid--4 { grid-template-columns: repeat(4, 1fr); }

	.lt-curaduria {
		flex-direction: row; align-items: center; justify-content: space-between;
		padding: 28px 32px; margin-top: 40px; gap: 32px;
	}
	.lt-curaduria h2 { font-size: 22px; }
	.lt-curaduria p { font-size: 15px; }

	.lt-cta-vender { padding: 44px 0; margin-top: 40px; }
	.lt-cta-vender__in { flex-direction: row; align-items: center; justify-content: space-between; gap: 40px; }
	.lt-cta-vender h2 { font-size: 28px; }
	.lt-cta-vender p { font-size: 16px; }

	/* Catálogo: sidebar fija + grilla de 4 */
	.lt-archive__body { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; }
	.lt-filters { margin-bottom: 0; }
	.lt-filters__order { justify-content: flex-start; }
	.lt-filters__box { padding: 16px; }
	.lt-filters__box > summary { display: none; }
	.lt-filters__box[open] > summary { display: none; }
	.lt-filters__group a { padding: 6px 0; min-height: 0; }
	ul.products, .lt-grid { grid-template-columns: repeat(4, 1fr); }
	.lt-card__body { padding: 14px; }
	.lt-card__title { font-size: 14px; }
	.lt-price--sm .lt-price__now { font-size: 19px; }
	.lt-meta-line { font-size: 12px; }

	/* Búsqueda en lista horizontal */
	.lt-card--list { grid-column: 1 / -1; padding: 18px; gap: 20px; align-items: center; box-shadow: var(--lt-shadow); }
	.lt-card--list .lt-card__media { flex: 0 0 150px; }
	.lt-card--list .lt-card__title { font-size: 17px; }
	.lt-card--list .lt-price--md .lt-price__now { font-size: 26px; }
	.lt-card--list .lt-curator--inline { background: transparent; padding: 0; font-size: 14px; line-height: 1.5; color: var(--lt-ink-3); max-width: 520px; }
	.lt-card--list .lt-card__act { display: flex; }
	.lt-archive__main ul.products:has(.lt-card--list) { grid-template-columns: 1fr; gap: 14px; }

	/* Ficha */
	.lt-single__top { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; }
	.lt-gallery { display: grid; grid-template-columns: 76px 1fr; gap: 20px; padding: 24px; }
	.lt-gallery__thumbs { flex-direction: column; order: 0; padding: 0; }
	.lt-gallery__thumbs a { width: 64px; height: 64px; }
	.lt-gallery__strip { border-radius: var(--lt-radius); }
	.lt-buybox {
		border: 1px solid var(--lt-border); border-radius: var(--lt-radius);
		box-shadow: var(--lt-shadow); padding: 24px; gap: 10px;
	}
	.lt-buybox__title { font-size: 24px; }
	.lt-price--lg .lt-price__now { font-size: 40px; }
	.lt-single__bottom { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; margin-top: 4px; }
	.lt-panel { padding: 24px; }
	.lt-specs__row { font-size: 14px; padding: 10px 0; }

	/* Carrito y checkout en dos columnas */
	.lt-cartpage__body, .lt-checkout__body { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
	.lt-cartlist__item { grid-template-columns: 96px 1fr auto; align-items: center; padding: 20px; gap: 18px; }
	.lt-cartlist__media { grid-row: auto; }
	.lt-cartlist__price { grid-column: auto; font-size: 22px; }
	.lt-panel--sticky { position: sticky; top: 16px; }
	.lt-summary__total span:last-child { font-size: 26px; }

	/* Compra confirmada */
	.lt-thanks__hero { padding: 48px 0; }
	.lt-thanks__check { flex-basis: 56px; width: 56px; height: 56px; font-size: 26px; }
	.lt-thanks__hero h1 { font-size: 34px; }
	.lt-thanks__hero p { font-size: 16px; }
	.lt-thanks__body { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; padding-top: 32px; }
	.lt-orderitems li { grid-template-columns: 72px 1fr auto; gap: 16px; }

	/* Stepper horizontal */
	.lt-steps__rail { display: flex; align-items: center; padding: 0 12.5%; }
	.lt-steps__rail li { flex: 0 0 14px; }
	.lt-steps__rail li + li { position: relative; }
	.lt-steps__rail li:not(:first-child) { margin-left: 0; }
	.lt-steps__rail { gap: 0; }
	.lt-steps__rail li { display: flex; align-items: center; }
	.lt-steps__rail li::before {
		content: ""; height: 2px; background: var(--lt-border); flex: 1;
	}
	.lt-steps__rail li:first-child::before { display: none; }
	.lt-steps__rail { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
	.lt-steps__rail li { justify-content: center; position: relative; }
	.lt-steps__rail li::before {
		content: ""; position: absolute; left: 0; right: 50%; top: 50%;
		height: 2px; background: var(--lt-border); flex: none;
	}
	.lt-steps__rail li::after {
		content: ""; position: absolute; left: 50%; right: 0; top: 50%;
		height: 2px; background: var(--lt-border);
	}
	.lt-steps__rail li:first-child::before,
	.lt-steps__rail li:last-child::after { display: none; }
	.lt-steps__dot {
		position: relative; z-index: 1;
		width: 14px; height: 14px; border-radius: 50%; background: var(--lt-border);
	}
	.lt-steps__rail li.is-done .lt-steps__dot { background: var(--lt-purple); }
	.lt-steps__labels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
	.lt-steps__labels li { align-items: center; text-align: center; padding-left: 0; }
	.lt-steps__labels li::before, .lt-steps__labels li::after { display: none; }

	/* Mi cuenta */
	.lt-account__body { display: block; padding-top: 0; }
	.lt-account__hero h1 { font-size: 20px; }
	.lt-orders__item { padding: 20px; }
	.lt-orders__row { grid-template-columns: 72px 1fr; }
	.lt-orders__acts { justify-content: flex-start; }
	.lt-orders__acts .lt-btn { flex: 0 0 auto; }

	/* Centro legal: índice lateral */
	.lt-legalpage__body { display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; }
	.lt-legal-nav {
		display: block;
		background: var(--lt-surface); border: 1px solid var(--lt-border);
		border-radius: var(--lt-radius); padding: 20px;
		position: sticky; top: 16px;
	}
	.lt-legal-nav__title {
		font: 700 13px Inter, sans-serif; letter-spacing: .1em;
		text-transform: uppercase; color: var(--lt-purple); margin-bottom: 10px;
	}
	.lt-legal-nav__list { display: flex; flex-direction: column; gap: 2px; }
	.lt-legal-nav__list a {
		display: block; padding: 9px 10px; border-radius: var(--lt-radius);
		font: 500 14px Inter, sans-serif; color: var(--lt-ink-2);
	}
	.lt-legal-nav__list a:hover { background: var(--lt-bg); text-decoration: none; }
	.lt-legal-nav__list a.is-current { background: var(--lt-purple-tint); color: var(--lt-ink); font-weight: 600; }
	.lt-legal-nav__titular { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--lt-border); }
	.lt-legal-nav__titular h3 { font-size: 13px; font-weight: 600; margin-bottom: 4px; }
	.lt-legal-nav__titular p { font-size: 13px; line-height: 1.6; color: var(--lt-ink-3); margin: 0; }
	.lt-legal-acc { display: none; }
	.lt-legalpage__doc { padding: 40px 48px; }
	.lt-legalpage__doc h2 { font-size: 22px; }

	/* Formularios */
	.lt-form__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
	.lt-form__actions .lt-btn { width: auto; }

	/* Páginas de marca */
	.lt-hero--purple { padding: 60px 0; }
	.lt-hero--light { padding: 56px 0 24px; }
	.lt-hero__in { flex-direction: row; align-items: center; gap: 56px; }
	.lt-hero__text { flex: 1; }
	.lt-hero h1 { font-size: 44px; line-height: 1.1; letter-spacing: -.03em; }
	.lt-hero__sub { font-size: 17px; max-width: 520px; }
	.lt-hero__media { flex: 0 0 480px; }
	.lt-steps4 { grid-template-columns: repeat(4, 1fr); }
	.lt-steps4 li, .lt-cards3 li {
		background: var(--lt-surface); border: 1px solid var(--lt-border);
		border-radius: var(--lt-radius); padding: 28px;
	}
	.lt-nosotros__how, .lt-vender__terms { padding: 48px 0; }
	.lt-vender__terms-in { flex-direction: row; gap: 56px; align-items: flex-start; }
	.lt-vender__terms-in > div:first-child { flex: 1; }
	.lt-vender__terms-in .lt-panel { flex: 0 0 480px; margin-top: 0; padding: 32px; }
	.lt-vender__facts { grid-template-columns: 1fr 1fr; }

	.lt-contacto__body { flex-direction: row; gap: 32px; align-items: flex-start; }
	.lt-contacto__cards { flex: 0 0 320px; }
	.lt-contacto__body .lt-panel { flex: 1; margin-top: 0; }
	.lt-contacto__head h1 { font-size: 34px; }

	.lt-page__article, .lt-postcard { padding: 32px; }
}

@media print {
	.lt-header__nav, .lt-footer__legalcta, .lt-legal-nav, .lt-legal-acc, .lt-form { display: none; }
	body { background: #fff; }
	.lt-legalpage__doc { border: 0; padding: 0; }
}
