/*
Theme Name:   Ferreteria Lucasur Fast
Theme URI:    https://ferreterialucasur.com
Description:  Tema ultraligero a medida para Ferretería Lucasur, sin dependencia de Elementor ni temas de terceros.
Author:       Ferreteria Lucasur
Version:      1.1.0
Text Domain:  lucasur-fast
Requires at least: 6.0
Requires PHP: 8.0
*/

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('assets/fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--ls-blue: #088ED7;
	--ls-blue-dark: #283992;
	--ls-blue-light: #EBF5FB;
	--ls-teal: #00796B;
	--ls-teal-dark: #004D40;
	--ls-teal-light: #E0F2F1;
	--ls-dark: #0F172A;
	--ls-text: #334155;
	--ls-muted: #64748B;
	--ls-gray: #94A3B8;
	--ls-bg-light: #F8FAFC;
	--ls-bg-card: #F1F5F9;
	--ls-border: #E2E8F0;
	--ls-white: #FFFFFF;
	--ls-gradient-header: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%);
	--ls-gradient-footer: linear-gradient(145deg, #0F172A 0%, #1E293B 40%, #004D40 100%);
	--ls-container: 1440px;
	--ls-radius: 12px;
	--ls-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
	--ls-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
	--ls-shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.12);
	--ls-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

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

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

html {
	overflow-x: clip;
}

body {
	margin: 0;
	font-family: var(--ls-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--ls-text);
	background-color: var(--ls-white);
	overflow-x: clip;
}

a {
	color: inherit;
	text-decoration: none;
	transition: all 0.2s ease;
}

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

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ls-container {
	width: 100%;
	max-width: var(--ls-container);
	margin: 0 auto;
	padding: 0 24px;
}

/* ==========================================================================
   TOPBAR
   ========================================================================== */
.ls-topbar {
	background: #0B132B;
	color: #94A3B8;
	font-size: 12.5px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 7px 0;
}

.ls-topbar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.ls-topbar-left, .ls-topbar-right {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ls-topbar-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #CBD5E1;
}

.ls-topbar-sep {
	opacity: 0.3;
}

.ls-topbar-badge {
	color: #38BDF8;
	font-weight: 500;
}

.ls-topbar-wa {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #22C55E;
	font-weight: 600;
	background: rgba(34, 197, 94, 0.1);
	padding: 2px 10px;
	border-radius: 99px;
}

.ls-topbar-wa:hover {
	background: rgba(34, 197, 94, 0.2);
}

/* ==========================================================================
   HEADER PRINCIPAL
   ========================================================================== */
.ls-header {
	background: var(--ls-white);
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

/* Ocultar barra de administración en frontend */
#wpadminbar {
	display: none !important;
}

html {
	margin-top: 0 !important;
}

body.admin-bar .ls-header {
	top: 0 !important;
}

.ls-header-top {
	padding: 16px 0;
}

.ls-header-top-inner {
	display: grid;
	grid-template-columns: 220px 1fr auto;
	align-items: center;
	gap: 40px;
}

.ls-logo-link {
	display: block;
}

.ls-logo-img {
	width: 210px;
	height: auto;
}

.ls-header-center {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 720px;
	width: 100%;
	margin: 0 auto;
}

.ls-quick-cats {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: var(--ls-muted);
}

.ls-quick-label {
	font-weight: 600;
	color: var(--ls-dark);
	margin-right: 2px;
}

.ls-quick-cats a {
	color: var(--ls-muted);
	font-weight: 500;
}

.ls-quick-cats a:hover {
	color: var(--ls-blue);
}

.ls-quick-cats .ls-sep {
	color: #CBD5E1;
	font-size: 8px;
}

.ls-search-wrap {
	position: relative;
	width: 100%;
}

.ls-search-form {
	display: flex;
	align-items: center;
	width: 100%;
	background: #F8FAFC;
	border: 1.5px solid var(--ls-border);
	border-radius: 10px;
	overflow: hidden;
	transition: all 0.2s ease;
}

.ls-search-form:focus-within {
	background: var(--ls-white);
	border-color: var(--ls-blue);
	box-shadow: 0 0 0 4px rgba(8, 142, 215, 0.12);
}

.ls-search-icon-left {
	padding-left: 14px;
	color: var(--ls-gray);
	display: flex;
	align-items: center;
}

.ls-search-input {
	flex: 1;
	border: none;
	padding: 12px 14px;
	font-size: 14px;
	font-family: var(--ls-font);
	color: var(--ls-dark);
	outline: none;
	background: transparent;
}

.ls-search-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--ls-blue);
	color: var(--ls-white);
	border: none;
	padding: 10px 18px;
	margin: 3px;
	border-radius: 7px;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ls-search-btn:hover {
	background: var(--ls-blue-dark);
}

.ls-search-results {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: var(--ls-white);
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	box-shadow: var(--ls-shadow-lg);
	max-height: 420px;
	overflow-y: auto;
	z-index: 200;
	display: none;
}

.ls-search-results.is-open {
	display: block;
}

.ls-search-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ls-bg-card);
}

.ls-search-item:last-child {
	border-bottom: none;
}

.ls-search-item:hover {
	background: var(--ls-bg-light);
}

.ls-search-item img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	border-radius: 6px;
	background: #fff;
	border: 1px solid var(--ls-border);
}

.ls-search-item-title {
	font-size: 14px;
	font-weight: 500;
	color: var(--ls-dark);
}

.ls-search-item-price {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ls-blue);
	margin-left: auto;
	white-space: nowrap;
}

.ls-help-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	background: #F8FAFC;
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	transition: all 0.2s ease;
}

.ls-help-card:hover {
	border-color: var(--ls-blue);
	background: var(--ls-blue-light);
}

.ls-help-icon {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: var(--ls-white);
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--ls-shadow-sm);
}

.ls-status-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	background: #22C55E;
	border-radius: 50%;
	margin-right: 4px;
}

.ls-help-text {
	display: flex;
	flex-direction: column;
}

.ls-help-label {
	font-size: 11.5px;
	font-weight: 500;
	color: var(--ls-muted);
}

.ls-help-phone {
	font-size: 15px;
	font-weight: 700;
	color: var(--ls-dark);
}

.ls-mobile-toggle {
	display: none;
	background: none;
	border: 1px solid var(--ls-border);
	border-radius: 8px;
	padding: 8px;
	cursor: pointer;
	color: var(--ls-dark);
}

/* ==========================================================================
   MOBILE DRAWER (MENÚ LATERAL)
   ========================================================================== */
.ls-mobile-drawer {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.6);
	backdrop-filter: blur(4px);
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease;
}

.ls-mobile-drawer.is-open {
	opacity: 1;
	visibility: visible;
}

.ls-mobile-drawer-panel {
	position: absolute;
	top: 0;
	left: 0;
	width: 320px;
	max-width: 85vw;
	height: 100%;
	background: var(--ls-white);
	padding: 24px 20px;
	overflow-y: auto;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
	transform: translateX(-100%);
	transition: transform 0.25s ease;
}

.ls-mobile-drawer.is-open .ls-mobile-drawer-panel {
	transform: translateX(0);
}

.ls-mobile-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ls-border);
	margin-bottom: 16px;
	font-size: 16px;
	color: var(--ls-dark);
}

.ls-mobile-close {
	background: #F1F5F9;
	border: none;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: var(--ls-dark);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-mobile-nav-list li a {
	display: block;
	padding: 10px 0;
	font-size: 14.5px;
	font-weight: 500;
	border-bottom: 1px solid #F1F5F9;
	color: var(--ls-text);
}

.ls-mobile-nav-list li a:hover {
	color: var(--ls-blue);
	padding-left: 6px;
}

/* ==========================================================================
   HEADER BOTTOM (BARRA AZUL / DEPARTAMENTOS)
   ========================================================================== */
.ls-header-bottom {
	background: var(--ls-gradient-header);
	color: var(--ls-white);
}

.ls-header-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 52px;
}

.ls-depts {
	position: relative;
}

.ls-depts-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--ls-white);
	color: var(--ls-dark);
	font-weight: 700;
	font-size: 13.5px;
	padding: 10px 18px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	min-width: 240px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.ls-depts-btn-icon {
	color: var(--ls-blue);
	display: flex;
	align-items: center;
}

.ls-depts-chevron {
	margin-left: auto;
	transition: transform 0.2s ease;
}

.ls-depts:hover .ls-depts-dropdown,
.ls-depts.is-active .ls-depts-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ls-depts:hover .ls-depts-chevron,
.ls-depts.is-active .ls-depts-chevron {
	transform: rotate(180deg);
}

.ls-depts-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 290px;
	background: var(--ls-white);
	color: var(--ls-text);
	border-radius: 12px;
	box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(15, 23, 42, 0.06);
	border: 1px solid var(--ls-border);
	padding: 6px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.2s ease;
	z-index: 150;
	overflow: visible;
}

.ls-dept-has-sub {
	position: static;
}

.ls-depts-list > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 18px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ls-text);
	border-bottom: 1px solid #F1F5F9;
	transition: all 0.15s ease;
}

.ls-depts-list > li:last-child > a {
	border-bottom: none;
}

.ls-dept-item-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ls-dept-item-left svg {
	color: var(--ls-blue);
	flex-shrink: 0;
}

.ls-dept-arrow {
	color: var(--ls-gray);
	transition: transform 0.15s ease, color 0.15s ease;
	flex-shrink: 0;
}

.ls-depts-list > li > a:hover,
.ls-dept-has-sub:hover > .ls-dept-parent-link {
	background: #F8FAFC;
	color: var(--ls-blue);
	padding-left: 22px;
}

.ls-depts-list > li > a:hover .ls-dept-arrow,
.ls-dept-has-sub:hover > .ls-dept-parent-link .ls-dept-arrow {
	transform: translateX(3px);
	color: var(--ls-blue);
}

/* Panel Flyout de Subcategorías (Mega Menú lateral moderno) */
.ls-subdepts-panel {
	position: absolute;
	top: 0;
	left: 100%;
	width: 780px;
	min-height: 100%;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 0 14px 14px 14px;
	box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(15, 23, 42, 0.05);
	opacity: 0;
	visibility: hidden;
	transform: translateX(8px);
	transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
	z-index: 160;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	pointer-events: none;
}

/* Puente invisible para que el cursor no pierda el hover al cruzar */
.ls-subdepts-panel::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: -20px;
	width: 20px;
}

.ls-dept-has-sub:hover .ls-subdepts-panel {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	pointer-events: auto;
}

/* Cabecera del flyout */
.ls-subdepts-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 24px;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	border-bottom: 1px solid #E2E8F0;
}

.ls-subdepts-title {
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	margin: 0;
	letter-spacing: -0.01em;
}

.ls-subdepts-desc {
	font-size: 12px;
	color: #64748B;
	margin: 3px 0 0;
	line-height: 1.4;
}

.ls-subdepts-all-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: rgba(0, 92, 169, 0.08);
	color: var(--ls-blue);
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.ls-subdepts-all-btn svg {
	transition: transform 0.2s ease;
}

.ls-subdepts-all-btn:hover {
	background: var(--ls-blue);
	color: #FFFFFF;
	transform: translateX(2px);
}

.ls-subdepts-all-btn:hover svg {
	transform: translateX(2px);
}

/* Rejilla de subcategorías (Nivel 2 y 3) */
.ls-subdepts-cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px 22px;
	padding: 20px 24px 22px;
	flex: 1;
	max-height: 520px;
	overflow-y: auto;
}

/* Scrollbar fino y elegante para la rejilla */
.ls-subdepts-cols::-webkit-scrollbar {
	width: 5px;
}
.ls-subdepts-cols::-webkit-scrollbar-track {
	background: #F1F5F9;
}
.ls-subdepts-cols::-webkit-scrollbar-thumb {
	background: #CBD5E1;
	border-radius: 10px;
}

/* Bloque temático */
.ls-subdept-group {
	display: flex;
	flex-direction: column;
}

.ls-subdept-group-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #0F172A;
	text-decoration: none;
	padding-bottom: 6px;
	margin-bottom: 7px;
	border-bottom: 1.5px solid #F1F5F9;
	transition: all 0.15s ease;
}

.ls-subdept-title-text {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ls-group-count {
	font-size: 10.5px;
	font-weight: 600;
	color: #64748B;
	background: #F1F5F9;
	padding: 1px 7px;
	border-radius: 10px;
	flex-shrink: 0;
}

.ls-subdept-group-title:hover {
	color: var(--ls-blue);
	border-bottom-color: var(--ls-blue);
}

.ls-subdept-group-title:hover .ls-group-count {
	background: rgba(0, 92, 169, 0.1);
	color: var(--ls-blue);
}

/* Subcategorías nivel 3 */
.ls-subdept-sublist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.ls-subdept-sublist li a {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: #475569;
	text-decoration: none;
	padding: 2px 0;
	transition: all 0.15s ease;
	line-height: 1.35;
}

.ls-subdept-sublist li a::before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #CBD5E1;
	flex-shrink: 0;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.ls-subdept-sublist li a:hover {
	color: var(--ls-blue);
	transform: translateX(3px);
}

.ls-subdept-sublist li a:hover::before {
	background: var(--ls-blue);
	transform: scale(1.4);
}

.ls-sublist-more {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: var(--ls-blue) !important;
	padding-top: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
}

.ls-sublist-more::before {
	display: none !important;
}

.ls-sublist-more:hover {
	text-decoration: underline !important;
}

/* Tarjeta para subcategorías directas sin tercer nivel (solo) */
.ls-subdept-group--solo .ls-subdept-group-title {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	padding: 9px 12px;
	margin-bottom: 0;
}

.ls-subdept-group--solo .ls-subdept-group-title:hover {
	background: #EFF6FF;
	border-color: #BFDBFE;
	color: var(--ls-blue);
	transform: translateX(2px);
}

/* Barra inferior del flyout (Garantías y Asistencia) */
.ls-subdepts-footer {
	background: #F8FAFC;
	border-top: 1px solid #E2E8F0;
	padding: 10px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ls-subdepts-footer-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 600;
	color: #475569;
}

.ls-subdepts-footer-item svg {
	color: #059669;
	flex-shrink: 0;
}

.ls-subdepts-footer-tel {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	transition: color 0.15s ease;
}

.ls-subdepts-footer-tel svg {
	color: var(--ls-blue);
}

.ls-subdepts-footer-tel:hover {
	text-decoration: underline;
}

.ls-main-nav ul {
	display: flex;
	align-items: center;
	gap: 24px;
}

.ls-main-nav a {
	color: rgba(255, 255, 255, 0.9);
	font-size: 13.5px;
	font-weight: 500;
	padding: 6px 0;
}

.ls-main-nav a:hover {
	color: #67E8F9;
}

.ls-nav-highlight {
	background: rgba(255, 255, 255, 0.15);
	padding: 4px 10px !important;
	border-radius: 6px;
	font-weight: 600 !important;
	color: #BAE6FD !important;
}

.ls-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ls-action-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ls-white);
	font-size: 13.5px;
	font-weight: 600;
	padding: 7px 14px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.ls-action-pill:hover {
	background: rgba(255, 255, 255, 0.2);
}

.ls-action-cart {
	background: var(--ls-teal);
	border-color: rgba(255, 255, 255, 0.2);
}

.ls-action-cart:hover {
	background: var(--ls-teal-dark);
}

.ls-cart-icon-wrap {
	position: relative;
	display: inline-flex;
}

.ls-cart-badge {
	position: absolute;
	top: -8px;
	right: -9px;
	background: var(--ls-blue);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	min-width: 17px;
	height: 17px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	border: 2px solid #004D40;
}

/* ==========================================================================
   HERO BANNERS MODERNOS
   ========================================================================== */
.ls-hero-section {
	background-color: var(--ls-bg-light);
	padding: 24px 0 36px;
}

.ls-hero-grid {
	display: grid;
	grid-template-columns: 1.45fr 0.95fr 1fr;
	gap: 20px;
	margin-bottom: 24px;
}

.ls-banner-card {
	position: relative;
	border-radius: var(--ls-radius);
	overflow: hidden;
	background: #0F172A;
	color: var(--ls-white);
	display: flex;
	box-shadow: var(--ls-shadow-sm);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ls-banner-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ls-shadow-md);
}

.ls-banner-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.ls-banner-card:hover img {
	transform: scale(1.04);
}

.ls-banner-main {
	min-height: 480px;
	align-items: flex-end;
}

.ls-banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.2) 0%, rgba(15, 23, 42, 0.88) 100%);
	z-index: 1;
}

.ls-banner-content {
	position: relative;
	z-index: 2;
	padding: 36px;
}

.ls-banner-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	color: #E2E8F0;
	padding: 5px 12px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 14px;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.ls-banner-title {
	font-size: 36px;
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 12px;
	color: var(--ls-white);
	letter-spacing: -0.02em;
}

.ls-banner-desc {
	font-size: 15px;
	line-height: 1.5;
	color: #CBD5E1;
	margin: 0 0 24px;
	max-width: 500px;
}

.ls-banner-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.ls-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	padding: 11px 22px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ls-btn-primary {
	background: var(--ls-blue);
	color: var(--ls-white);
	box-shadow: 0 4px 14px rgba(8, 142, 215, 0.35);
}

.ls-btn-primary:hover {
	background: #0284C7;
	transform: translateY(-1px);
}

.ls-btn-glass {
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	color: var(--ls-white);
	border: 1px solid rgba(255, 255, 255, 0.25);
}

.ls-btn-glass:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* Banner Vertical (Herramientas con estudio) */
.ls-banner-vertical {
	min-height: 480px;
	align-items: flex-start;
	background: #004D40;
}

.ls-card-tag {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6ee7b7;
	margin-bottom: 6px;
}

.ls-banner-vertical .ls-banner-title {
	font-size: 26px;
	margin-bottom: 6px;
}

.ls-banner-vertical .ls-banner-desc {
	font-size: 13.5px;
	margin-bottom: 18px;
}

.ls-btn-white-sm {
	background: var(--ls-white);
	color: var(--ls-dark);
	font-size: 13px;
	padding: 8px 16px;
	border-radius: 6px;
	font-weight: 700;
}

.ls-btn-white-sm:hover {
	background: #F1F5F9;
}

/* Banners Claros (Fontanería y Electricidad) */
.ls-banner-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ls-banner-light {
	min-height: 230px;
	background: #E2E8F0;
	color: var(--ls-dark);
	align-items: center;
	border: 1px solid var(--ls-border);
}

.ls-banner-light .ls-banner-content {
	max-width: 55%;
	padding: 24px;
}

.ls-banner-light .ls-banner-title {
	font-size: 20px;
	color: var(--ls-dark);
	margin-bottom: 6px;
}

.ls-banner-light .ls-banner-desc {
	font-size: 13px;
	color: var(--ls-muted);
	margin-bottom: 14px;
}

.ls-btn-link-teal {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ls-teal);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ls-btn-link-teal:hover {
	color: var(--ls-teal-dark);
	text-decoration: underline;
}

/* ==========================================================================
   5 PERKS / VALUE PROPOSITIONS
   ========================================================================== */
.ls-perks-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.ls-perk-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	box-shadow: var(--ls-shadow-sm);
	transition: all 0.2s ease;
}

.ls-perk-card:hover {
	border-color: var(--ls-teal);
	box-shadow: var(--ls-shadow-md);
	transform: translateY(-2px);
}

.ls-perk-icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--ls-teal-light);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-perk-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--ls-dark);
	margin: 0 0 2px;
}

.ls-perk-sub {
	font-size: 12px;
	color: var(--ls-muted);
	display: block;
}

/* ==========================================================================
   SECCIONES COMUNES
   ========================================================================== */
.ls-section {
	padding: 56px 0;
}

.ls-section-alt {
	background-color: #F8FAFC;
}

.ls-section-head {
	margin-bottom: 32px;
}

.ls-section-head-flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
}

.ls-eyebrow {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ls-blue);
	margin-bottom: 6px;
}

.ls-section-title {
	font-size: 28px;
	font-weight: 800;
	color: var(--ls-dark);
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}

.ls-section-subtitle {
	font-size: 15px;
	color: var(--ls-muted);
	margin: 0;
	max-width: 840px;
	line-height: 1.6;
}

/* Botón píldora para cabeceras de sección */
.ls-link-more-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: rgba(0, 92, 169, 0.07);
	color: var(--ls-blue);
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	white-space: nowrap;
	border: 1px solid rgba(0, 92, 169, 0.15);
}

.ls-link-more-pill svg {
	transition: transform 0.2s ease;
}

.ls-link-more-pill:hover {
	background: var(--ls-blue);
	color: #FFFFFF;
	border-color: var(--ls-blue);
	transform: translateX(2px);
	box-shadow: 0 4px 12px rgba(0, 92, 169, 0.2);
}

.ls-link-more-pill:hover svg {
	transform: translateX(3px);
}

.ls-link-more {
	font-size: 14px;
	font-weight: 600;
	color: var(--ls-blue);
	white-space: nowrap;
}

.ls-link-more:hover {
	text-decoration: underline;
}

/* ==========================================================================
   SECCIÓN 2: CATEGORÍAS DESTACADAS
   ========================================================================== */
.ls-section-cats {
	padding: 64px 0;
	background: #FFFFFF;
}

.ls-cats-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.ls-cat-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 20px 16px 18px;
	text-align: center;
	transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

.ls-cat-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--ls-blue), #38BDF8);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.ls-cat-card:hover {
	border-color: rgba(0, 92, 169, 0.35);
	box-shadow: 0 16px 36px -8px rgba(0, 92, 169, 0.14), 0 0 0 1px rgba(0, 92, 169, 0.12);
	transform: translateY(-5px);
}

.ls-cat-card:hover::before {
	opacity: 1;
}

.ls-cat-img-wrap {
	width: 140px;
	height: 140px;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 12px;
	background: #F8FAFC;
	border: 1px solid #F1F5F9;
	position: relative;
	padding: 10px;
	transition: background-color 0.25s ease;
}

.ls-cat-card:hover .ls-cat-img-wrap {
	background: #EFF6FF;
}

.ls-cat-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ls-cat-card:hover .ls-cat-img-wrap img {
	transform: scale(1.08);
}

.ls-cat-hover-badge {
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translate(-50%, 8px);
	background: var(--ls-blue);
	color: #FFFFFF;
	font-size: 10.5px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 12px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 10px rgba(0, 92, 169, 0.3);
}

.ls-cat-card:hover .ls-cat-hover-badge {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.ls-cat-info {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ls-cat-name {
	font-size: 14.5px;
	font-weight: 700;
	color: #0F172A;
	margin: 0 0 6px;
	line-height: 1.35;
	min-height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: color 0.2s ease;
}

.ls-cat-card:hover .ls-cat-name {
	color: var(--ls-blue);
}

.ls-cat-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ls-cat-count {
	font-size: 11.5px;
	font-weight: 600;
	color: #64748B;
	background: #F1F5F9;
	padding: 2px 9px;
	border-radius: 14px;
	transition: all 0.2s ease;
}

.ls-cat-arrow {
	font-size: 13px;
	color: var(--ls-blue);
	opacity: 0;
	transform: translateX(-4px);
	transition: all 0.2s ease;
}

.ls-cat-card:hover .ls-cat-count {
	background: rgba(0, 92, 169, 0.1);
	color: var(--ls-blue);
}

.ls-cat-card:hover .ls-cat-arrow {
	opacity: 1;
	transform: translateX(0);
}

/* ==========================================================================
   SECCIÓN 3: SUMINISTROS PARA PROFESIONALES Y OFICIOS
   ========================================================================== */
.ls-section-pro {
	background: #F8FAFC;
	border-top: 1px solid #E2E8F0;
	border-bottom: 1px solid #E2E8F0;
	padding: 68px 0;
}

.ls-pros-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-bottom: 32px;
}

.ls-pro-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 26px 22px 22px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ls-pro-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.ls-pro-card--electric::before { background: #059669; }
.ls-pro-card--plumbing::before { background: #0284C7; }
.ls-pro-card--tools::before    { background: #D97706; }
.ls-pro-card--build::before    { background: #4F46E5; }

.ls-pro-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 36px -10px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.ls-pro-card:hover::before {
	opacity: 1;
}

.ls-pro-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.ls-pro-icon-wrap {
	width: 50px;
	height: 50px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.25s ease;
}

.ls-pro-card:hover .ls-pro-icon-wrap {
	transform: scale(1.08);
}

.ls-pro-card--electric .ls-pro-icon-wrap { background: #ECFDF5; color: #059669; }
.ls-pro-card--plumbing .ls-pro-icon-wrap { background: #EFF6FF; color: #0284C7; }
.ls-pro-card--tools .ls-pro-icon-wrap    { background: #FFFBEB; color: #D97706; }
.ls-pro-card--build .ls-pro-icon-wrap    { background: #EEF2FF; color: #4F46E5; }

.ls-pro-tag {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 3px 8px;
	border-radius: 6px;
	background: #F1F5F9;
	color: #64748B;
}

.ls-pro-title {
	font-size: 18px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}

.ls-pro-desc {
	font-size: 13px;
	color: #475569;
	line-height: 1.5;
	margin: 0 0 14px;
	flex-grow: 1;
}

.ls-pro-brands {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 18px;
}

.ls-pro-brands span {
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	padding: 2px 8px;
	border-radius: 4px;
}

.ls-pro-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ls-blue);
	margin-top: auto;
}

.ls-pro-link svg {
	transition: transform 0.2s ease;
}

.ls-pro-card:hover .ls-pro-link svg {
	transform: translateX(4px);
}

/* Banner Pro de Atención a Empresas y Autónomos */
.ls-pro-banner {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	border-radius: 16px;
	padding: 28px 36px;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	box-shadow: 0 16px 36px -10px rgba(15, 23, 42, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.ls-pro-banner-pill {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #38BDF8;
	margin-bottom: 6px;
}

.ls-pro-banner-title {
	font-size: 20px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 6px;
	letter-spacing: -0.01em;
}

.ls-pro-banner-desc {
	font-size: 13.5px;
	color: #94A3B8;
	line-height: 1.5;
	margin: 0;
	max-width: 680px;
}

.ls-pro-banner-right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.ls-btn-whatsapp {
	background: #25D366;
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 4px 14px rgba(37, 211, 102, 0.3);
}

.ls-btn-whatsapp:hover {
	background: #1EBE5D;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(37, 211, 102, 0.4);
}

.ls-btn-outline-white {
	background: transparent;
	color: #FFFFFF;
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-btn-outline-white:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #FFFFFF;
	color: #FFFFFF;
	transform: translateY(-2px);
}

/* ==========================================================================
   SECCIÓN 4: ÚLTIMAS NOVEDADES Y PRODUCTOS DESTACADOS
   ========================================================================== */
.ls-section-products {
	padding: 68px 0;
	background: #FFFFFF;
}

/* Chips de navegación rápida entre familias */
.ls-product-tabs {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 28px;
	overflow-x: auto;
	padding-bottom: 6px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

.ls-product-tabs::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.ls-tab-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	background: #F1F5F9;
	text-decoration: none;
	transition: all 0.2s ease;
	white-space: nowrap;
	border: 1px solid transparent;
}

.ls-tab-pill:hover {
	background: #E2E8F0;
	color: #0F172A;
}

.ls-tab-pill.is-active {
	background: var(--ls-blue);
	color: #FFFFFF;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(0, 92, 169, 0.25);
}

/* Rejilla de productos */
.ls-products-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-bottom: 36px;
}

.ls-product-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

.ls-product-card:hover {
	border-color: rgba(0, 92, 169, 0.35);
	box-shadow: 0 20px 40px -12px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(0, 92, 169, 0.12);
	transform: translateY(-5px);
}

/* Área multimedia (imagen + badges + quick view) */
.ls-product-media {
	position: relative;
	width: 100%;
	height: 220px;
	border-radius: 14px;
	background: #FFFFFF;
	border: 1px solid #F1F5F9;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 14px;
	padding: 16px;
	transition: all 0.25s ease;
}

.ls-product-card:hover .ls-product-media {
	background: #FAFBFD;
	border-color: #E2E8F0;
}

.ls-product-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.ls-product-thumb img {
	max-height: 180px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.ls-product-card:hover .ls-product-thumb img {
	transform: scale(1.08);
}

/* Badges sobre la imagen */
.ls-product-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	z-index: 3;
}

.ls-pro-badge {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 20px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	backdrop-filter: blur(4px);
}

.ls-badge-stock {
	background: rgba(236, 253, 245, 0.95);
	color: #047857;
	border: 1px solid rgba(167, 243, 208, 0.9);
	box-shadow: 0 2px 6px rgba(16, 185, 129, 0.12);
}

.ls-stock-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #10B981;
	box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
}

.ls-badge-order {
	background: rgba(255, 251, 235, 0.95);
	color: #B45309;
	border: 1px solid rgba(253, 230, 138, 0.9);
}

.ls-badge-sale {
	background: #EF4444;
	color: #FFFFFF;
	font-size: 10.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 3px 8px;
	border-radius: 6px;
	margin-left: auto;
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}

/* Botón flotante 'Ver producto' en hover (solo escritorio con ratón) */
.ls-product-quick-view {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translate(-50%, 10px);
	background: rgba(15, 23, 42, 0.85);
	color: #FFFFFF;
	font-size: 11.5px;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 20px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25);
	backdrop-filter: blur(4px);
	white-space: nowrap;
	z-index: 4;
}

@media (hover: hover) and (pointer: fine) {
	.ls-product-card:hover .ls-product-quick-view {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
	}

	.ls-product-quick-view:hover {
		background: var(--ls-blue);
		color: #FFFFFF;
	}
}

@media (max-width: 991px), (hover: none), (pointer: coarse) {
	.ls-product-quick-view {
		display: none !important;
	}
}

/* Utilidad palabra o token indivisible */
.ls-nobr {
	white-space: nowrap !important;
}

/* Contenido de la tarjeta */
.ls-product-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.ls-product-cat-wrap {
	margin-bottom: 4px;
}

.ls-product-cat {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748B;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

.ls-product-title {
	font-size: 14.5px;
	font-weight: 700;
	color: #0F172A;
	margin: 0 0 6px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 39px;
	hyphens: none !important;
	-webkit-hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: break-word;
}

.ls-product-title a {
	color: #0F172A;
	text-decoration: none;
	transition: color 0.15s ease;
}

.ls-product-title a:hover {
	color: var(--ls-blue);
}

.ls-product-rating-row {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
}

.ls-product-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	color: #B45309;
	background: #FFFBEB;
	padding: 1px 6px;
	border-radius: 10px;
	border: 1px solid #FEF3C7;
	line-height: 1.4;
}

.ls-product-rating svg {
	flex-shrink: 0;
}

.ls-product-rating-label {
	font-size: 11px;
	font-weight: 600;
	color: #059669;
}

/* Nota de entrega rápida */
.ls-product-delivery {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 500;
	color: #64748B;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-product-delivery svg {
	color: #059669;
	flex-shrink: 0;
}

/* Pie: Precio y Botón */
.ls-product-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.ls-product-pricing {
	display: flex;
	flex-direction: column;
}

.ls-product-pricing .woocommerce-Price-amount {
	font-size: 21px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.ls-product-pricing .woocommerce-Price-currencySymbol {
	font-size: 16px;
	font-weight: 700;
	margin-left: 2px;
}

.ls-product-pricing .woocommerce-price-suffix {
	font-size: 10.5px;
	color: #94A3B8;
	font-weight: 500;
	margin-top: 2px;
}

.ls-product-pricing del {
	font-size: 13px;
	color: #94A3B8;
	text-decoration: line-through;
	margin-right: 4px;
}

.ls-product-pricing ins {
	text-decoration: none;
	color: #DC2626;
	font-weight: 800;
}

.ls-product-action-wrap {
	flex-shrink: 0;
}

/* Botón Añadir al Carrito Moderno */
.ls-btn-cart {
	background: var(--ls-blue);
	color: #FFFFFF !important;
	font-size: 13px;
	font-weight: 700;
	padding: 9px 15px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 92, 169, 0.22);
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	white-space: nowrap;
}

.ls-btn-cart svg {
	transition: transform 0.2s ease;
}

.ls-btn-cart:hover {
	background: #004b8a;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 92, 169, 0.35);
}

.ls-btn-cart:hover svg {
	transform: scale(1.1);
}

.ls-btn-cart--alt {
	background: #F1F5F9;
	color: #0F172A !important;
	border: 1px solid #E2E8F0;
	box-shadow: none;
}

.ls-btn-cart--alt:hover {
	background: #0F172A;
	color: #FFFFFF !important;
	border-color: #0F172A;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
}

/* CTA footer productos */
.ls-products-footer-cta {
	text-align: center;
	padding-top: 8px;
}

.ls-btn-outline-blue {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 28px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ls-blue);
	background: #FFFFFF;
	border: 1.5px solid var(--ls-blue);
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: 0 2px 8px rgba(0, 92, 169, 0.08);
}

.ls-btn-outline-blue svg {
	transition: transform 0.2s ease;
}

.ls-btn-outline-blue:hover {
	background: var(--ls-blue);
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 92, 169, 0.25);
}

.ls-btn-outline-blue:hover svg {
	transform: translateX(3px);
}

/* Tienda Sanlúcar */
.ls-store-grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 20px;
}

.ls-store-subgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.ls-store-banner {
	position: relative;
	border-radius: var(--ls-radius);
	overflow: hidden;
	min-height: 270px;
	display: flex;
	align-items: flex-end;
	background: #0F172A;
	color: var(--ls-white);
	box-shadow: var(--ls-shadow-sm);
}

.ls-store-banner img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.ls-store-banner:hover img {
	transform: scale(1.05);
}

.ls-store-banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.85) 100%);
	z-index: 1;
}

.ls-store-banner-body {
	position: relative;
	z-index: 2;
	padding: 24px;
}

.ls-store-tag {
	display: inline-block;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(6px);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 4px;
	margin-bottom: 8px;
}

.ls-store-banner-title {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px;
	color: var(--ls-white);
}

.ls-store-banner-text {
	font-size: 13.5px;
	margin: 0;
	color: #CBD5E1;
}

/* Marcas */
.ls-brands-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.ls-brand-item {
	background: var(--ls-white);
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	padding: 16px 20px;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.ls-brand-item:hover {
	border-color: var(--ls-blue);
	box-shadow: var(--ls-shadow-sm);
	transform: translateY(-2px);
}

.ls-brand-item img {
	max-height: 50px;
	width: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.75;
	transition: all 0.2s ease;
}

.ls-brand-item:hover img {
	filter: none;
	opacity: 1;
}

/* Blog */
.ls-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.ls-post-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-border);
	border-radius: var(--ls-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.2s ease;
}

.ls-post-card:hover {
	border-color: var(--ls-blue);
	box-shadow: var(--ls-shadow-md);
	transform: translateY(-3px);
}

.ls-post-thumb {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #F1F5F9;
}

.ls-post-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.ls-post-card:hover .ls-post-thumb img {
	transform: scale(1.05);
}

.ls-post-date {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--ls-white);
	color: var(--ls-dark);
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	box-shadow: var(--ls-shadow-sm);
}

.ls-post-body {
	padding: 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ls-post-cat {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--ls-blue);
	text-transform: uppercase;
	margin-bottom: 6px;
}

.ls-post-title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 8px;
	color: var(--ls-dark);
}

.ls-post-title a:hover {
	color: var(--ls-blue);
}

.ls-post-excerpt {
	font-size: 13.5px;
	color: var(--ls-muted);
	margin: 0 0 14px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ls-post-more {
	font-size: 13px;
	font-weight: 600;
	color: var(--ls-blue);
	margin-top: auto;
}

/* FAQ & Newsletter */
.ls-faq-newsletter-grid {
	display: grid;
	grid-template-columns: 1.8fr 1fr;
	gap: 32px;
	align-items: start;
}

.ls-faq-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ls-faq-item {
	border: 1px solid var(--ls-border);
	border-radius: 10px;
	background: var(--ls-white);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.ls-faq-item[open] {
	border-color: var(--ls-blue);
}

.ls-faq-item summary {
	padding: 16px 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ls-dark);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ls-faq-item summary::-webkit-details-marker {
	display: none;
}

.ls-faq-item summary::after {
	content: '+';
	font-size: 18px;
	font-weight: 700;
	color: var(--ls-blue);
}

.ls-faq-item[open] summary::after {
	content: '−';
}

.ls-faq-answer {
	padding: 0 20px 16px;
	font-size: 14px;
	color: var(--ls-muted);
	line-height: 1.6;
}

.ls-newsletter-box {
	background: var(--ls-gradient-footer);
	color: var(--ls-white);
	border-radius: var(--ls-radius);
	padding: 32px;
	box-shadow: var(--ls-shadow-md);
}

.ls-newsletter-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #38BDF8;
	margin-bottom: 8px;
}

.ls-newsletter-title {
	font-size: 22px;
	font-weight: 800;
	margin: 0 0 10px;
	color: var(--ls-white);
}

.ls-newsletter-text {
	font-size: 14px;
	line-height: 1.55;
	color: #94A3B8;
	margin: 0 0 20px;
}

.ls-newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ls-newsletter-form input[type="email"] {
	width: 100%;
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 14px;
	outline: none;
}

.ls-newsletter-form input[type="email"]::placeholder {
	color: #64748B;
}

.ls-newsletter-form input[type="email"]:focus {
	border-color: #38BDF8;
	background: rgba(255, 255, 255, 0.12);
}

.ls-newsletter-form button {
	background: var(--ls-blue);
	color: var(--ls-white);
	border: none;
	padding: 12px 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ls-newsletter-form button:hover {
	background: #0284C7;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ls-footer {
	background: var(--ls-gradient-footer);
	color: var(--ls-white);
	padding: 56px 0 28px;
	margin-top: 56px;
}

.ls-footer-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
	gap: 36px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ls-footer-logo {
	width: 230px;
	margin-bottom: 20px;
}

.ls-footer-call-label {
	font-size: 12.5px;
	color: #94A3B8;
	margin-bottom: 2px;
}

.ls-footer-phone {
	display: block;
	font-size: 24px;
	font-weight: 800;
	color: var(--ls-white);
	margin-bottom: 8px;
}

.ls-footer-address {
	font-size: 13.5px;
	color: #94A3B8;
	margin: 0 0 6px;
}

.ls-footer-email {
	font-size: 14px;
	color: #38BDF8;
}

.ls-footer-heading {
	font-size: 15px;
	font-weight: 700;
	color: #F8FAFC;
	margin: 0 0 18px;
	min-height: 22px;
}

.ls-footer-links li {
	margin-bottom: 10px;
}

.ls-footer-links a {
	font-size: 14px;
	color: #94A3B8;
}

.ls-footer-links a:hover {
	color: #38BDF8;
}

.ls-footer-bottom {
	padding-top: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.ls-social-links {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ls-social-links a {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #CBD5E1;
}

.ls-social-links a:hover {
	background: var(--ls-blue);
	color: #fff;
}

.ls-copyright {
	font-size: 13px;
	color: #64748B;
	margin: 0;
}

.ls-copyright a {
	color: #94A3B8;
}

.ls-payment {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	color: #94A3B8;
}

.ls-payment img {
	height: 24px;
	width: auto;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media (max-width: 1199px) {
	.ls-subdepts-panel {
		width: 620px;
	}
	.ls-subdepts-cols {
		grid-template-columns: repeat(2, 1fr);
	}
	.ls-hero-grid {
		grid-template-columns: 1fr 1fr;
	}
	.ls-banner-main {
		grid-column: 1 / -1;
		min-height: 400px;
	}
	.ls-perks-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.ls-cats-grid,
	.ls-brands-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.ls-products-grid,
	.ls-blog-grid,
	.ls-pros-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ls-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   BARRA FIJA INFERIOR ESTILO APLICACIÓN (MÓVIL / TABLET)
   ========================================================================== */
.ls-bottom-appbar {
	display: none;
}

@media (max-width: 991px) {
	/* Espacio en el pie para no solapar la barra fija */
	body {
		padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
	}

	.ls-bottom-appbar {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: rgba(255, 255, 255, 0.97);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		border-top: 1px solid rgba(226, 232, 240, 0.9);
		box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
		z-index: 990;
		padding: 6px 12px calc(6px + env(safe-area-inset-bottom, 0px));
	}

	.ls-bottom-appbar-inner {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		align-items: flex-end;
		max-width: 480px;
		margin: 0 auto;
	}

	.ls-appbar-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		background: transparent;
		border: none;
		padding: 4px 0;
		color: #64748B;
		text-decoration: none;
		font-family: inherit;
		cursor: pointer;
		position: relative;
		transition: color 0.15s ease, transform 0.15s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.ls-appbar-item:active {
		transform: scale(0.92);
	}

	.ls-appbar-icon {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 24px;
		color: #64748B;
		transition: color 0.15s ease;
	}

	.ls-appbar-icon svg {
		stroke: currentColor;
	}

	.ls-appbar-label {
		font-size: 10px;
		font-weight: 600;
		color: #64748B;
		line-height: 1;
		transition: color 0.15s ease;
	}

	/* Item activo */
	.ls-appbar-item.is-active,
	.ls-appbar-item.is-active .ls-appbar-icon,
	.ls-appbar-item.is-active .ls-appbar-label {
		color: var(--ls-blue);
		font-weight: 700;
	}

	/* Contador carrito en appbar */
	.ls-appbar-icon .ls-cart-badge {
		position: absolute;
		top: -4px;
		right: -8px;
		background: var(--ls-blue);
		color: #FFFFFF;
		font-size: 10px;
		font-weight: 800;
		min-width: 16px;
		height: 16px;
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 4px;
		box-shadow: 0 2px 6px rgba(8, 142, 215, 0.45);
		border: 1.5px solid #FFFFFF;
	}

	/* Botón Destacado Central (Tienda) */
	.ls-appbar-featured {
		margin-top: -18px;
	}

	.ls-appbar-featured-btn {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: linear-gradient(135deg, var(--ls-blue) 0%, #0284C7 100%);
		color: #FFFFFF !important;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 6px 16px rgba(0, 92, 169, 0.38), 0 0 0 3.5px #FFFFFF;
		transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease;
	}

	.ls-appbar-featured-btn svg {
		color: #FFFFFF !important;
		stroke: #FFFFFF !important;
	}

	.ls-appbar-featured:active .ls-appbar-featured-btn {
		transform: scale(0.92);
		box-shadow: 0 2px 8px rgba(0, 92, 169, 0.3), 0 0 0 3.5px #FFFFFF;
	}

	.ls-appbar-featured .ls-appbar-label {
		font-weight: 700;
		color: var(--ls-blue);
		margin-top: 1px;
	}

	/* WhatsApp */
	.ls-appbar-wa .ls-appbar-icon {
		color: #25D366;
	}
	.ls-appbar-wa:hover .ls-appbar-label,
	.ls-appbar-wa:active .ls-appbar-label {
		color: #25D366;
	}

	/* Ajustes cabecera en tablet */
	.ls-topbar {
		display: none;
	}
	.ls-header-top-inner {
		grid-template-columns: 180px 1fr auto;
		gap: 14px;
	}
	.ls-quick-cats,
	.ls-header-help,
	.ls-main-nav,
	.ls-depts-dropdown {
		display: none !important;
	}
	.ls-header-bottom-inner {
		padding: 6px 18px !important;
		gap: 12px !important;
	}
	.ls-depts-btn,
	.ls-action-pill {
		padding: 8px 16px !important;
		border-radius: 8px !important;
	}
	.ls-mobile-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.ls-store-grid,
	.ls-faq-newsletter-grid {
		grid-template-columns: 1fr;
	}
	.ls-pro-banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 24px;
	}
	.ls-pro-banner-right {
		width: 100%;
		flex-wrap: wrap;
	}
}

/* ==========================================================================
   BOTÓN FLOTANTE VOLVER ARRIBA (SCROLL TO TOP)
   ========================================================================== */
.ls-scroll-up {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--ls-blue) 0%, #00796B 100%);
	color: #FFFFFF;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.22);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease, background 0.2s ease, box-shadow 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.ls-scroll-up.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.ls-scroll-up:hover {
	background: linear-gradient(135deg, #004b8a 0%, #004D40 100%);
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 92, 169, 0.38);
}

.ls-scroll-up:active {
	transform: scale(0.92);
}

.ls-scroll-up svg {
	stroke: #FFFFFF;
	transition: transform 0.2s ease;
}

.ls-scroll-up:hover svg {
	transform: translateY(-2px);
}

@media (max-width: 991px) {
	/* En móvil y tablet, situar el botón flotante netamente por encima de la barra fija inferior */
	.ls-scroll-up {
		bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
		right: 16px !important;
		width: 42px !important;
		height: 42px !important;
		border-radius: 11px !important;
		z-index: 999 !important;
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.25) !important;
	}
}

@media (max-width: 767px) {
	/* Margen lateral de seguridad en pantallas móviles para todos los contenedores */
	.ls-container {
		padding: 0 16px !important;
	}

	/* Ergonomía táctil para botones en móviles: holgura lateral, altura táctil y esquinas redondeadas */
	.button,
	button.button,
	a.button,
	input.button,
	.ls-btn,
	.ls-btn-primary,
	.ls-btn-coupon,
	.ls-btn-update-cart,
	.wc-proceed-to-checkout .checkout-button,
	#place_order {
		min-height: 44px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		letter-spacing: 0.01em;
	}

	/* Cabecera compacta móvil sticky con padding ergonómico y fijada al borde superior sin holgura */
	.ls-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 1000 !important;
		background: #FFFFFF !important;
		box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
	}

	body.admin-bar .ls-header {
		top: 0 !important;
	}

	.ls-header-top {
		padding: 12px 18px 14px 18px !important;
		background: #FFFFFF !important;
	}

	.ls-header-top-inner {
		grid-template-columns: 1fr auto !important;
		align-items: center !important;
		padding: 0 !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.ls-logo-link {
		display: inline-flex !important;
		align-items: center !important;
		padding: 0 !important;
	}

	.ls-logo,
	.ls-logo-img {
		height: 34px !important;
		max-height: 36px !important;
		width: auto !important;
		max-width: 165px !important;
		display: block !important;
		object-fit: contain !important;
	}

	.ls-mobile-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		border: 1.5px solid #E2E8F0 !important;
		border-radius: 12px !important;
		background: #F8FAFC !important;
		color: #0F172A !important;
		padding: 0 !important;
		box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
		cursor: pointer !important;
		transition: background 0.15s ease, border-color 0.15s ease;
	}

	.ls-mobile-toggle:active {
		background: #E2E8F0 !important;
	}

	.ls-header-center {
		grid-column: 1 / -1 !important;
		order: 3 !important;
		margin-top: 10px !important;
		width: 100% !important;
		max-height: 60px;
		opacity: 1;
		overflow: hidden;
		transition: max-height 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease, margin 0.25s ease;
	}

	/* Ocultar buscador al hacer scroll en móvil para ganar espacio de pantalla */
	.ls-header.is-scrolled .ls-header-center {
		max-height: 0 !important;
		opacity: 0 !important;
		margin-top: 0 !important;
		pointer-events: none !important;
	}

	.ls-header.is-scrolled .ls-header-top {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.ls-search-form {
		height: 42px !important;
		border-radius: 10px !important;
		border: 1.5px solid #E2E8F0 !important;
		background: #F8FAFC !important;
	}

	.ls-search-input {
		font-size: 13.5px !important;
		padding: 0 46px 0 38px !important;
	}

	/* Ocultar la barra azul duplicada en móviles: Mi Cuenta y Carrito ya están en la barra fija inferior */
	.ls-header-bottom {
		display: none !important;
	}

	/* Hero banners optimizados */
	.ls-hero-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.ls-banner-main {
		min-height: 330px;
	}
	.ls-banner-main .ls-banner-content {
		padding: 24px 18px;
	}
	.ls-banner-title {
		font-size: 24px;
	}
	.ls-banner-desc {
		font-size: 13.5px;
		margin-bottom: 16px;
	}
	.ls-banner-actions .ls-btn {
		padding: 9px 16px;
		font-size: 13px;
	}
	.ls-banner-vertical {
		min-height: 220px;
	}
	.ls-banner-vertical .ls-banner-content {
		padding: 20px 18px;
	}
	.ls-banner-vertical .ls-banner-title {
		font-size: 20px;
	}
	.ls-banner-stack {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
	.ls-banner-light {
		min-height: 160px;
	}
	.ls-banner-light .ls-banner-content {
		max-width: 100%;
		padding: 16px 14px;
	}
	.ls-banner-light .ls-banner-title {
		font-size: 16px;
	}
	.ls-banner-light .ls-banner-desc {
		display: none;
	}

	/* 5 Perks en carrusel swipeable nativo */
	.ls-perks-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 10px;
		padding: 4px 0 10px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 -16px;
		padding-left: 16px;
		padding-right: 16px;
	}
	.ls-perks-grid::-webkit-scrollbar {
		display: none;
	}
	.ls-perk-card {
		flex: 0 0 190px;
		scroll-snap-align: start;
		padding: 12px 14px;
	}

	/* Rejillas 2 columnas limpias */
	.ls-cats-grid,
	.ls-products-grid,
	.ls-brands-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.ls-cat-card {
		padding: 14px 10px 12px;
		border-radius: 14px;
	}
	.ls-cat-img-wrap {
		width: 110px;
		height: 110px;
		margin-bottom: 10px;
	}
	.ls-cat-name {
		font-size: 13px;
		min-height: 32px;
	}
	.ls-cat-count {
		font-size: 10.5px;
		padding: 2px 7px;
	}

	/* Profesionales 1 columna */
	.ls-pros-grid,
	.ls-store-subgrid,
	.ls-blog-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.ls-pro-banner-right {
		flex-direction: column;
		gap: 10px;
	}
	.ls-pro-banner-right .ls-btn {
		width: 100%;
		justify-content: center;
	}
	.ls-link-more-pill {
		display: none;
	}

	/* Ocultar la botonera de familias en móvil para que no se pierda lateralmente */
	.ls-product-tabs {
		display: none !important;
	}

	.ls-section-products .ls-section-head {
		margin-bottom: 20px;
	}

	/* Footer */
	.ls-footer-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.ls-footer-bottom {
		flex-direction: column;
		text-align: center;
		gap: 12px;
	}
}

@media (max-width: 575px) {
	.ls-banner-stack {
		grid-template-columns: 1fr;
	}
	.ls-search-btn span {
		display: none;
	}
	.ls-search-btn {
		padding: 10px 13px;
	}
	.ls-search-input {
		font-size: 13px;
		padding: 10px 10px;
	}
	.ls-products-grid {
		gap: 12px;
	}
	.ls-product-card {
		padding: 12px 10px 14px;
		border-radius: 16px;
	}
	.ls-product-media {
		height: 165px;
		padding: 10px;
		margin-bottom: 10px;
		background: #F8FAFC;
		border: 1px solid #EEF2F6;
	}
	.ls-product-thumb img {
		max-height: 135px;
		max-width: 95%;
	}
	.ls-product-cat {
		font-size: 10px;
		letter-spacing: 0.04em;
		margin-bottom: 3px;
	}
	.ls-product-title {
		font-size: 13px;
		line-height: 1.32;
		min-height: 35px;
		margin-bottom: 4px;
	}
	.ls-product-rating-row {
		margin-bottom: 8px;
		gap: 5px;
	}
	.ls-product-rating {
		font-size: 10px;
		padding: 1px 5px;
	}
	.ls-product-rating-label {
		font-size: 10.5px;
	}
	.ls-product-delivery {
		display: none;
	}
	.ls-product-footer {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: auto;
	}
	.ls-product-pricing {
		text-align: left;
	}
	.ls-product-pricing .woocommerce-Price-amount {
		font-size: 18px;
	}
	.ls-btn-cart {
		width: 100%;
		justify-content: center;
		padding: 8px 12px;
		font-size: 12.5px;
		font-weight: 700;
	}
}

/* ==========================================================================
   CARRITO LATERAL DESLIZANTE (SIDE CART DRAWER)
   ========================================================================== */
body.ls-side-cart-active {
	overflow: hidden !important;
}

.ls-side-cart {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0.3s ease;
}

.ls-side-cart.is-open {
	visibility: visible;
	pointer-events: auto;
}

.ls-side-cart-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.65);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ls-side-cart.is-open .ls-side-cart-backdrop {
	opacity: 1;
}

.ls-side-cart-panel {
	position: absolute;
	top: 0;
	right: 0;
	width: 440px;
	max-width: 100vw;
	height: 100%;
	background: #FFFFFF;
	box-shadow: -10px 0 35px rgba(15, 23, 42, 0.22);
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 2;
}

.ls-side-cart.is-open .ls-side-cart-panel {
	transform: translateX(0);
}

.ls-side-cart-content {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* Cabecera del carrito */
.ls-side-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #E2E8F0;
	background: #FFFFFF;
}

.ls-side-cart-title-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ls-side-cart-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #EBF5FB;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-side-cart-title {
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	margin: 0;
	letter-spacing: -0.01em;
}

.ls-side-cart-badge-count {
	font-size: 11.5px;
	font-weight: 700;
	color: #475569;
	background: #F1F5F9;
	padding: 3px 9px;
	border-radius: 12px;
	line-height: 1.2;
}

.ls-side-cart-close {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748B;
	transition: all 0.2s ease;
}

.ls-side-cart-close:hover {
	background: #EF4444;
	border-color: #EF4444;
	color: #FFFFFF;
	transform: rotate(90deg);
}

/* Barra de valor / confianza */
.ls-side-cart-perk {
	background: #ECFDF5;
	border-bottom: 1px solid #A7F3D0;
	padding: 8px 18px;
	font-size: 12px;
	font-weight: 600;
	color: #065F46;
	display: flex;
	align-items: center;
	gap: 8px;
}

.ls-side-cart-perk svg {
	flex-shrink: 0;
	color: #059669;
}

/* Cuerpo / Lista de productos */
.ls-side-cart-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px;
	-webkit-overflow-scrolling: touch;
}

.ls-cart-row {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid #F1F5F9;
	position: relative;
	transition: opacity 0.2s ease;
}

.ls-cart-row:last-child {
	border-bottom: none;
}

.ls-cart-row.is-loading {
	opacity: 0.4;
	pointer-events: none;
}

.ls-cart-row-thumb {
	width: 72px;
	height: 72px;
	border-radius: 12px;
	border: 1px solid #E2E8F0;
	background: #FAFBFD;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 4px;
}

.ls-cart-row-thumb img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ls-cart-row-details {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ls-cart-row-title {
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 5px;
}

.ls-cart-row-title a {
	color: #0F172A;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.15s ease;
}

.ls-cart-row-title a:hover {
	color: var(--ls-blue);
}

.ls-cart-row-price-bar {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 8px;
}

.ls-cart-row-unit-price {
	font-size: 14.5px;
	font-weight: 800;
	color: #0F172A;
}

.ls-cart-row-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
}

/* Stepper de cantidad (+ / -) */
.ls-cart-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	background: #FFFFFF;
	overflow: hidden;
	height: 28px;
}

.ls-cart-qty-btn {
	width: 28px;
	height: 28px;
	background: transparent;
	border: none;
	font-size: 14px;
	font-weight: 700;
	color: #475569;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
}

.ls-cart-qty-btn:hover {
	background: #F1F5F9;
	color: var(--ls-blue);
}

.ls-cart-qty-val {
	min-width: 26px;
	text-align: center;
	font-size: 12.5px;
	font-weight: 700;
	color: #0F172A;
}

.ls-cart-remove-btn {
	background: transparent;
	border: none;
	font-size: 11.5px;
	font-weight: 600;
	color: #94A3B8;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 6px;
	border-radius: 6px;
	transition: all 0.15s ease;
}

.ls-cart-remove-btn:hover {
	color: #EF4444;
	background: #FEE2E2;
}

/* Estado Vacío */
.ls-side-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	padding: 40px 24px;
}

.ls-cart-empty-art {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #F8FAFC;
	border: 2px dashed #CBD5E1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.ls-side-cart-empty h4 {
	font-size: 18px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
}

.ls-side-cart-empty p {
	font-size: 13.5px;
	color: #64748B;
	margin: 0 0 24px;
	max-width: 270px;
	line-height: 1.5;
}

.ls-side-cart-btn-explore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 24px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	background: var(--ls-blue);
	color: #FFFFFF;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(8, 142, 215, 0.35);
	transition: all 0.2s ease;
}

.ls-side-cart-btn-explore:hover {
	background: var(--ls-blue-dark);
	transform: translateY(-1px);
}

/* Pie del carrito con totales y tramitación */
.ls-side-cart-footer {
	padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid #E2E8F0;
	background: #FFFFFF;
	box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.05);
}

.ls-side-cart-totals {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 14px;
}

.ls-totals-label {
	font-size: 13.5px;
	font-weight: 600;
	color: #475569;
}

.ls-totals-label small {
	font-size: 11px;
	color: #94A3B8;
	font-weight: normal;
}

.ls-totals-amount {
	font-size: 22px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
}

.ls-side-cart-cta {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ls-side-cart-checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 13px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 800;
	background: var(--ls-blue);
	color: #FFFFFF;
	text-decoration: none;
	transition: all 0.2s ease;
	box-shadow: 0 4px 16px rgba(8, 142, 215, 0.35);
}

.ls-side-cart-checkout-btn:hover {
	background: var(--ls-blue-dark);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.45);
}

.ls-side-cart-view-cart {
	display: block;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #64748B;
	padding: 5px 0;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.15s ease;
}

.ls-side-cart-view-cart:hover {
	color: #0F172A;
}

.ls-side-cart-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed #E2E8F0;
	font-size: 11.5px;
	color: #059669;
	font-weight: 600;
}

/* ==========================================================================
   MIGAS DE PAN (BREADCRUMBS)
   ========================================================================== */
.ls-breadcrumbs-wrap {
	background: #F8FAFC;
	border-bottom: 1px solid #E2E8F0;
	padding: 10px 0;
	font-size: 12.5px;
}

.ls-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: #64748B;
}

.ls-breadcrumbs a {
	color: #475569;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.15s ease;
}

.ls-breadcrumbs a:hover {
	color: var(--ls-blue);
}

.ls-crumb-sep {
	color: #CBD5E1;
	font-size: 11px;
}

.ls-crumb-current {
	color: #0F172A;
	font-weight: 600;
}

/* ==========================================================================
   CATÁLOGO / TIENDA / ARCHIVOS DE CATEGORÍA
   ========================================================================== */
.ls-catalog-main {
	padding: 36px 0 60px;
	background: #FFFFFF;
}

.ls-catalog-hero {
	background: linear-gradient(135deg, #F8FAFC 0%, #EFF6FF 100%);
	border: 1px solid #E2E8F0;
	border-radius: 20px;
	padding: 32px 36px;
	margin-bottom: 32px;
	position: relative;
	overflow: hidden;
}

.ls-catalog-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
	background: #FFFFFF;
	padding: 4px 10px;
	border-radius: 20px;
	border: 1px solid #DBEAFE;
	margin-bottom: 12px;
}

.ls-catalog-title {
	font-size: 30px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 0 0 10px;
	line-height: 1.2;
}

.ls-catalog-desc {
	font-size: 14.5px;
	color: #475569;
	max-width: 760px;
	line-height: 1.55;
	margin: 0;
}

/* Chips de subcategorías */
.ls-subcats-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(226, 232, 240, 0.8);
	overflow: hidden;
}

.ls-subcats-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748B;
	white-space: nowrap;
}

.ls-subcats-scroll {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 2px;
}

.ls-subcats-scroll::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.ls-subcat-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 14px;
	border-radius: 20px;
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	color: #334155;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.2s ease;
}

.ls-subcat-chip:hover {
	background: var(--ls-blue);
	border-color: var(--ls-blue);
	color: #FFFFFF;
	transform: translateY(-1px);
}

.ls-subcat-chip small {
	color: #94A3B8;
	font-weight: normal;
}

.ls-subcat-chip:hover small {
	color: rgba(255, 255, 255, 0.8);
}

/* Toolbar (Conteo + Ordenar) */
.ls-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 18px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	margin-bottom: 26px;
	font-size: 13.5px;
}

.ls-toolbar-count {
	color: #64748B;
	font-weight: 500;
}

.ls-toolbar-count strong {
	color: #0F172A;
}

.ls-toolbar-sort select {
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	outline: none;
	cursor: pointer;
}

/* Rejilla de productos catálogo (3 columnas junto a la barra lateral para dimensiones idénticas a inicio) */
.ls-products-grid--catalog {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-bottom: 40px;
}

@media (max-width: 1200px) and (min-width: 992px) {
	.ls-products-grid--catalog {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) and (min-width: 768px) {
	.ls-products-grid--catalog {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 767px) {
	.ls-products-grid--catalog {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}

.ls-catalog-content {
	position: relative;
	transition: opacity 0.25s ease;
}

.ls-catalog-content.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

/* ==========================================================================
   PAGINACIÓN MODERNA DE CATÁLOGO Y TIENDA
   ========================================================================== */
.ls-catalog-pagination,
.woocommerce nav.woocommerce-pagination,
nav.woocommerce-pagination,
.woocommerce-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	margin: 48px 0 64px !important;
	padding: 0 !important;
	width: 100% !important;
	clear: both !important;
	text-align: center !important;
}

.ls-catalog-pagination ul.page-numbers,
.ls-catalog-pagination .page-numbers,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
nav.woocommerce-pagination ul.page-numbers,
ul.page-numbers {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}

.ls-catalog-pagination ul.page-numbers li,
.ls-catalog-pagination .page-numbers li,
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul.page-numbers li,
nav.woocommerce-pagination ul.page-numbers li,
ul.page-numbers li {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	float: none !important;
	background: transparent !important;
}

/* Números y Enlaces */
.ls-catalog-pagination .page-numbers a,
.ls-catalog-pagination a.page-numbers,
.ls-catalog-pagination span.page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span,
a.page-numbers,
span.page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 44px !important;
	height: 44px !important;
	padding: 0 16px !important;
	border-radius: 12px !important;
	border: 1.5px solid #E2E8F0 !important;
	background: #FFFFFF !important;
	color: #334155 !important;
	font-family: inherit !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

/* Hover en páginas */
.ls-catalog-pagination a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover,
nav.woocommerce-pagination ul li a:hover,
a.page-numbers:hover {
	background: #EFF6FF !important;
	border-color: var(--ls-blue) !important;
	color: var(--ls-blue) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(8, 142, 215, 0.22) !important;
}

/* Página Activa / Current */
.ls-catalog-pagination span.page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current,
nav.woocommerce-pagination ul li span.current,
span.page-numbers.current {
	background: var(--ls-blue) !important;
	border-color: var(--ls-blue) !important;
	color: #FFFFFF !important;
	font-weight: 800 !important;
	box-shadow: 0 6px 18px rgba(8, 142, 215, 0.38) !important;
	cursor: default !important;
	transform: none !important;
}

/* Puntos suspensivos ... */
.ls-catalog-pagination span.page-numbers.dots,
.woocommerce nav.woocommerce-pagination ul li span.dots,
nav.woocommerce-pagination ul li span.dots,
span.page-numbers.dots {
	background: transparent !important;
	border-color: transparent !important;
	color: #94A3B8 !important;
	box-shadow: none !important;
	min-width: 32px !important;
	padding: 0 6px !important;
	cursor: default !important;
	font-size: 16px !important;
	letter-spacing: 2px !important;
}

/* Botones Anterior / Siguiente */
.ls-catalog-pagination a.prev.page-numbers,
.ls-catalog-pagination a.next.page-numbers,
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
nav.woocommerce-pagination ul li a.prev,
nav.woocommerce-pagination ul li a.next,
a.prev.page-numbers,
a.next.page-numbers {
	padding: 0 18px !important;
	gap: 8px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	background: #F8FAFC !important;
}

.ls-catalog-pagination a.prev.page-numbers:hover,
.ls-catalog-pagination a.next.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.next:hover,
nav.woocommerce-pagination ul li a.prev:hover,
nav.woocommerce-pagination ul li a.next:hover,
a.prev.page-numbers:hover,
a.next.page-numbers:hover {
	background: var(--ls-navy) !important;
	border-color: var(--ls-navy) !important;
	color: #FFFFFF !important;
}

@media (max-width: 575px) {
	.ls-catalog-pagination ul.page-numbers,
	.woocommerce nav.woocommerce-pagination ul.page-numbers {
		gap: 6px !important;
	}
	.ls-catalog-pagination .page-numbers a,
	.ls-catalog-pagination a.page-numbers,
	.ls-catalog-pagination span.page-numbers,
	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span {
		min-width: 38px !important;
		height: 38px !important;
		padding: 0 10px !important;
		font-size: 13px !important;
		border-radius: 10px !important;
	}
	.ls-catalog-pagination a.prev.page-numbers span,
	.ls-catalog-pagination a.next.page-numbers span,
	.woocommerce nav.woocommerce-pagination ul li a.prev span,
	.woocommerce nav.woocommerce-pagination ul li a.next span {
		display: none !important;
	}
	.ls-catalog-pagination a.prev.page-numbers,
	.ls-catalog-pagination a.next.page-numbers,
	.woocommerce nav.woocommerce-pagination ul li a.prev,
	.woocommerce nav.woocommerce-pagination ul li a.next {
		padding: 0 10px !important;
		min-width: 38px !important;
	}
}

/* Estado vacío en catálogo */
.ls-catalog-empty {
	text-align: center;
	padding: 60px 24px;
	background: #F8FAFC;
	border: 2px dashed #E2E8F0;
	border-radius: 20px;
	margin-bottom: 40px;
}

.ls-catalog-empty-icon {
	margin-bottom: 16px;
}

.ls-catalog-empty h3 {
	font-size: 20px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
}

.ls-catalog-empty p {
	font-size: 14px;
	color: #64748B;
	max-width: 480px;
	margin: 0 auto 24px;
}

/* Garantías al pie del catálogo */
.ls-catalog-guarantees {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 24px 28px;
	background: #FAFBFD;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
}

.ls-catalog-guarantee-card {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ls-guarantee-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #E0F2F1;
	color: var(--ls-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-catalog-guarantee-card strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #0F172A;
	margin-bottom: 2px;
}

.ls-catalog-guarantee-card span {
	font-size: 12px;
	color: #64748B;
	line-height: 1.35;
	display: block;
}

/* ==========================================================================
   FICHA DE PRODUCTO INDIVIDUAL (SINGLE PRODUCT) - DISEÑO PROFESIONAL
   ========================================================================== */
.ls-product-single-main {
	padding: 32px 0 70px;
	background: #FFFFFF;
}

.ls-single-product-layout {
	display: grid;
	grid-template-columns: 520px 1fr;
	gap: 52px;
	margin-bottom: 56px;
	align-items: start;
}

/* Columna Izquierda: Galería de Fotos Sticky */
.ls-single-gallery-col {
	position: relative;
}

.ls-single-gallery-sticky {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ls-single-gallery-main {
	position: relative;
	background: #FAFBFD;
	border: 1.5px solid #E2E8F0;
	border-radius: 20px;
	padding: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 460px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
	cursor: zoom-in;
}

.ls-single-badges {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 3;
}

.ls-badge-official {
	background: #F1F5F9;
	color: #334155;
	border: 1px solid #CBD5E1;
	font-weight: 700;
}

.ls-gallery-zoom-btn {
	position: absolute;
	bottom: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
	border: 1px solid #CBD5E1;
	color: #334155;
	font-size: 11.5px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
	transition: all 0.2s ease;
	z-index: 3;
}

.ls-gallery-zoom-btn:hover {
	background: #FFFFFF;
	color: var(--ls-blue);
	border-color: var(--ls-blue);
	transform: scale(1.05);
}

.ls-single-main-img-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.ls-single-main-img-box img {
	max-width: 100%;
	max-height: 400px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.ls-single-main-img-box:hover img {
	transform: scale(1.04);
}

.ls-single-gallery-thumbs {
	display: flex;
	align-items: center;
	gap: 10px;
	overflow-x: auto;
	padding: 4px 2px;
	scrollbar-width: none;
}

.ls-single-gallery-thumbs::-webkit-scrollbar {
	display: none;
}

.ls-gallery-thumb-btn {
	width: 76px;
	height: 76px;
	border-radius: 12px;
	border: 2px solid #E2E8F0;
	background: #FAFBFD;
	padding: 4px;
	cursor: pointer;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.ls-gallery-thumb-btn:hover,
.ls-gallery-thumb-btn.is-active {
	border-color: var(--ls-blue);
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.25);
	transform: translateY(-2px);
}

.ls-gallery-thumb-btn img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ls-single-photo-perks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding: 12px 14px;
	background: #F8FAFC;
	border-radius: 12px;
	border: 1px solid #E2E8F0;
}

.ls-photo-perk-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	color: #334155;
	text-align: center;
}

/* Columna Derecha: Información y Compra */
.ls-single-summary-wrap {
	display: flex;
	flex-direction: column;
}

.ls-single-meta-top {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

.ls-single-cat-badge {
	font-size: 11.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
	background: #EFF6FF;
	padding: 4px 12px;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-single-cat-badge:hover {
	background: var(--ls-blue);
	color: #FFFFFF;
}

.ls-single-sku-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	color: #64748B;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	padding: 3px 10px;
	border-radius: 6px;
	cursor: pointer;
	position: relative;
	transition: all 0.15s ease;
}

.ls-single-sku-pill:hover {
	border-color: #CBD5E1;
	background: #FFFFFF;
	color: #0F172A;
}

.ls-single-sku-pill strong {
	color: #0F172A;
}

.ls-sku-copy-icon {
	color: #94A3B8;
}

.ls-sku-copied-tooltip {
	position: absolute;
	top: -26px;
	left: 50%;
	transform: translateX(-50%);
	background: #0F172A;
	color: #FFFFFF;
	font-size: 10.5px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 4px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
	pointer-events: none;
	white-space: nowrap;
}

.ls-single-sku-pill.is-copied .ls-sku-copied-tooltip {
	opacity: 1;
	visibility: visible;
	top: -30px;
}

.ls-single-title {
	font-size: 30px;
	font-weight: 900;
	color: #0F172A;
	line-height: 1.25;
	letter-spacing: -0.02em;
	margin: 0 0 12px;
}

.ls-single-rating-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.ls-single-stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.ls-single-rating-score {
	font-weight: 800;
	color: #B45309;
}

.ls-single-rating-sep {
	color: #CBD5E1;
}

.ls-single-rating-guarantee {
	color: #059669;
	font-weight: 700;
}

.ls-single-stock-badge-inline {
	color: var(--ls-blue);
	font-weight: 700;
	background: #EFF6FF;
	padding: 1px 8px;
	border-radius: 4px;
}

/* Caja de Precios Destacada */
.ls-single-price-box {
	background: linear-gradient(135deg, #F8FAFC 0%, #EFF6FF 100%);
	border: 1.5px solid #DBEAFE;
	border-radius: 16px;
	padding: 18px 24px;
	margin-bottom: 22px;
}

.ls-single-price-header {
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}

.ls-single-price-amount {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.ls-single-price-amount .woocommerce-Price-amount {
	font-size: 34px;
	font-weight: 900;
	color: #0F172A;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.ls-single-price-amount .woocommerce-price-suffix {
	font-size: 11.5px;
	font-weight: 700;
	color: #0284C7;
	background: #E0F2FE;
	padding: 3px 9px;
	border-radius: 6px;
	letter-spacing: 0.02em;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin-left: 6px;
}

.ls-single-price-amount del .woocommerce-Price-amount {
	font-size: 20px;
	color: #94A3B8;
	font-weight: 600;
	text-decoration: line-through;
}

.ls-single-price-amount ins {
	text-decoration: none;
}

.ls-single-savings-tag {
	display: inline-flex;
	align-items: center;
	background: #DC2626;
	color: #FFFFFF;
	font-size: 11.5px;
	font-weight: 800;
	padding: 3px 10px;
	border-radius: 6px;
	letter-spacing: 0.02em;
}

.ls-single-price-sub {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	font-size: 13px;
	color: #475569;
	flex-wrap: wrap;
}

.ls-price-ex-tax strong {
	color: var(--ls-blue);
	font-weight: 800;
}

.ls-price-sep {
	color: #CBD5E1;
}

.ls-single-tax-note {
	font-size: 12px;
	color: #64748B;
}

/* Estado de Stock y Plazos */
.ls-single-stock-status {
	margin-bottom: 22px;
}

.ls-stock-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	padding: 7px 16px;
	border-radius: 20px;
	margin-bottom: 12px;
}

.ls-stock-pill--in {
	background: #ECFDF5;
	color: #065F46;
	border: 1px solid #A7F3D0;
}

.ls-stock-pill--out {
	background: #FFFBEB;
	color: #92400E;
	border: 1px solid #FDE68A;
}

.ls-stock-dot--orange {
	background: #F59E0B !important;
}

.ls-single-delivery-timeline {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 16px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
}

.ls-timeline-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: #475569;
}

.ls-timeline-item svg {
	flex-shrink: 0;
	color: var(--ls-blue);
}

.ls-timeline-item strong {
	color: #0F172A;
}

/* Descripción Corta */
.ls-single-short-desc {
	font-size: 14.5px;
	color: #475569;
	line-height: 1.6;
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid #F1F5F9;
}

/* Añadir a la Cesta */
.ls-single-add-to-cart-box {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 28px;
}

.ls-single-cart-form {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ls-single-stepper {
	height: 52px;
	border-radius: 14px;
}

.ls-single-stepper .ls-cart-qty-btn {
	width: 46px;
	height: 52px;
	font-size: 20px;
}

.ls-single-qty-input {
	width: 52px;
	height: 52px;
	border: none;
	text-align: center;
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	outline: none;
	-moz-appearance: textfield;
}

.ls-single-qty-input::-webkit-outer-spin-button,
.ls-single-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ls-single-btn-add,
.single_add_to_cart_button,
.woocommerce button.button.single_add_to_cart_button,
.woocommerce button.button.alt {
	flex: 1;
	height: 52px;
	padding: 0 32px;
	font-size: 16px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: 14px;
	cursor: pointer;
	background: linear-gradient(135deg, var(--ls-blue) 0%, #00796B 100%) !important;
	color: #FFFFFF !important;
	border: none !important;
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.35);
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	-webkit-tap-highlight-color: transparent;
}

.ls-single-btn-add:hover,
.single_add_to_cart_button:hover,
.woocommerce button.button.single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
	background: linear-gradient(135deg, #005CA9 0%, #004D40 100%) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0, 92, 169, 0.45);
}

.ls-single-btn-add:active,
.single_add_to_cart_button:active {
	transform: scale(0.98);
}

.ls-single-wa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: 12px;
	border: 1.5px solid #86EFAC;
	background: #F0FDF4;
	color: #166534;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-single-wa-btn:hover {
	background: #DCFCE7;
	border-color: #4ADE80;
	color: #14532D;
	transform: translateY(-1px);
}

.ls-single-wa-btn svg {
	color: #25D366;
	flex-shrink: 0;
}

/* Panel de Garantías y Compromisos Lucasur */
.ls-single-trust-card {
	background: #FAFBFD;
	border: 1.5px solid #E2E8F0;
	border-radius: 16px;
	padding: 18px 20px;
}

.ls-trust-card-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.ls-single-trust-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ls-trust-item-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-trust-item-icon--blue { background: #EFF6FF; color: var(--ls-blue); }
.ls-trust-item-icon--green { background: #ECFDF5; color: #10B981; }
.ls-trust-item-icon--navy { background: #EEF2FF; color: #283992; }
.ls-trust-item-icon--purple { background: #EEF2FF; color: #283992; }
.ls-trust-item-icon--amber { background: #FFFBEB; color: #F59E0B; }

.ls-single-trust-item strong {
	display: block;
	font-size: 12.5px;
	font-weight: 800;
	color: #0F172A;
	margin-bottom: 2px;
}

.ls-single-trust-item span {
	font-size: 11.5px;
	color: #64748B;
	line-height: 1.3;
	display: block;
}

/* Pestañas Técnicas y de Información */
.ls-single-tabs-section {
	margin-bottom: 64px;
	border: 1.5px solid #E2E8F0;
	border-radius: 20px;
	overflow: hidden;
	background: #FFFFFF;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.02);
}

.ls-tabs-nav {
	display: flex;
	align-items: center;
	border-bottom: 1.5px solid #E2E8F0;
	background: #F8FAFC;
	overflow-x: auto;
	scrollbar-width: none;
}

.ls-tabs-nav::-webkit-scrollbar {
	display: none;
}

.ls-tab-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 18px 26px;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	font-size: 14px;
	font-weight: 800;
	color: #64748B;
	cursor: pointer;
	white-space: nowrap;
	transition: all 0.2s ease;
}

.ls-tab-btn:hover {
	color: #0F172A;
	background: rgba(255, 255, 255, 0.6);
}

.ls-tab-btn.is-active {
	color: var(--ls-blue);
	border-bottom-color: var(--ls-blue);
	background: #FFFFFF;
}

.ls-tabs-content {
	padding: 36px 40px;
}

.ls-tab-pane {
	display: none;
}

.ls-tab-pane.is-active {
	display: block;
	animation: lsFadeIn 0.25s ease;
}

/* Tabla de Especificaciones */
.ls-specs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}

.ls-specs-table tr {
	border-bottom: 1px solid #F1F5F9;
}

.ls-specs-table tr:nth-child(even) {
	background: #FAFBFD;
}

.ls-specs-table th {
	width: 32%;
	padding: 14px 18px;
	text-align: left;
	font-weight: 800;
	color: #334155;
	border-right: 1px solid #F1F5F9;
}

.ls-specs-table td {
	padding: 14px 18px;
	color: #0F172A;
}

/* Pestaña de Envíos en Tarjetas */
.ls-shipping-tab-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ls-shipping-tab-card {
	padding: 24px 20px;
	background: #F8FAFC;
	border: 1.5px solid #E2E8F0;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ls-shipping-card-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 6px;
}

.ls-shipping-card-icon--blue { background: #EFF6FF; color: var(--ls-blue); }
.ls-shipping-card-icon--green { background: #ECFDF5; color: #10B981; }
.ls-shipping-card-icon--purple { background: #F5F3FF; color: #8B5CF6; }

.ls-shipping-tab-card h4 {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	margin: 0;
}

.ls-shipping-tab-card p {
	font-size: 13px;
	color: #64748B;
	line-height: 1.5;
	margin: 0;
}

/* FAQ en la Ficha */
.ls-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ls-faq-item {
	padding: 20px 24px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
}

.ls-faq-item h4 {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
}

.ls-faq-item p {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Banner CTA Inferior */
.ls-single-cta-banner {
	background: linear-gradient(135deg, #0A2540 0%, #0F3A60 100%);
	border-radius: 20px;
	padding: 36px 44px;
	color: #FFFFFF;
	margin-bottom: 64px;
}

.ls-cta-banner-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.ls-cta-banner-text {
	max-width: 620px;
}

.ls-cta-banner-text .ls-eyebrow {
	color: #7DD3FC;
	margin-bottom: 8px;
	display: inline-flex;
}

.ls-cta-banner-text h3 {
	font-size: 22px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 8px;
	line-height: 1.3;
}

.ls-cta-banner-text p {
	font-size: 14px;
	color: #E2E8F0;
	line-height: 1.55;
	margin: 0;
}

.ls-cta-banner-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
}

.ls-cta-banner-actions .ls-btn-outline {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.3);
	color: #FFFFFF;
}

.ls-cta-banner-actions .ls-btn-outline:hover {
	background: #FFFFFF;
	color: #0A2540;
}

/* Modal Lightbox de Foto */
.ls-img-lightbox-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease;
}

.ls-img-lightbox-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.ls-lightbox-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(8px);
}

.ls-lightbox-dialog {
	position: relative;
	max-width: 90vw;
	max-height: 90vh;
	background: #FFFFFF;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-lightbox-close-btn {
	position: absolute;
	top: -16px;
	right: -16px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #0F172A;
	color: #FFFFFF;
	border: 2px solid #FFFFFF;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s ease;
}

.ls-lightbox-close-btn:hover {
	transform: scale(1.1);
}

.ls-lightbox-img-wrap img {
	max-width: 80vw;
	max-height: 80vh;
	object-fit: contain;
	display: block;
}

/* Toast de Confirmación Añadir al Carrito */
.ls-cart-toast {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 99999;
	transform: translateY(100px);
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-cart-toast.is-active {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}

.ls-cart-toast-inner {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	background: #0F172A;
	color: #FFFFFF;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.ls-cart-toast-icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #10B981;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-cart-toast-text {
	display: flex;
	flex-direction: column;
	max-width: 240px;
}

.ls-cart-toast-text strong {
	font-size: 13px;
	font-weight: 800;
}

.ls-cart-toast-text span {
	font-size: 11.5px;
	color: #94A3B8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ls-cart-toast-link {
	padding: 6px 14px;
	border-radius: 8px;
	background: var(--ls-blue);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	transition: background 0.2s ease;
	flex-shrink: 0;
}

.ls-cart-toast-link:hover {
	background: var(--ls-navy);
}

.ls-related-section {
	margin-top: 56px;
	padding-top: 44px;
	border-top: 1.5px solid #E2E8F0;
}

/* Responsive de la Ficha de Producto */
@media (max-width: 991px) {
	.ls-single-product-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ls-single-gallery-sticky {
		position: static;
	}

	.ls-shipping-tab-grid {
		grid-template-columns: 1fr;
	}

	.ls-cta-banner-content {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}

	.ls-cta-banner-actions {
		width: 100%;
		flex-direction: row;
	}

	.ls-cta-banner-actions .ls-btn {
		flex: 1;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.ls-single-title {
		font-size: 24px;
	}

	.ls-single-gallery-main {
		min-height: 320px;
		padding: 20px;
	}

	.ls-trust-card-grid {
		grid-template-columns: 1fr;
	}

	.ls-tabs-content {
		padding: 24px 18px;
	}

	.ls-tab-btn {
		padding: 14px 18px;
		font-size: 13px;
	}

	.ls-cta-banner-actions {
		flex-direction: column;
	}
}

/* ==========================================================================
   BLOG / NOTICIAS / GUÍAS
   ========================================================================== */
.ls-blog-main {
	padding: 40px 0 70px;
	background: #FFFFFF;
}

.ls-blog-hero {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 40px;
}

.ls-blog-title {
	font-size: 34px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 12px 0 10px;
}

.ls-blog-subtitle {
	font-size: 15px;
	color: #64748B;
	line-height: 1.6;
	margin: 0;
}

/* Barra de Navegación Editorial por Categorías (Sustituye a las píldoras antiguas) */
.ls-blog-nav-bar {
	margin-top: 24px;
	border-bottom: 2px solid #E2E8F0;
	position: relative;
}

.ls-blog-tabs-scroll {
	display: flex;
	align-items: center;
	gap: 4px;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 0;
	margin-bottom: -2px;
}

.ls-blog-tabs-scroll::-webkit-scrollbar {
	display: none;
}

.ls-blog-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	font-size: 13.5px;
	font-weight: 600;
	color: #64748B;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.ls-blog-tab:hover {
	color: var(--ls-blue);
	background: rgba(8, 142, 215, 0.04);
	border-radius: 8px 8px 0 0;
}

.ls-blog-tab.is-active {
	color: var(--ls-blue);
	font-weight: 800;
	border-bottom-color: var(--ls-blue);
}

.ls-blog-tab-count {
	font-size: 11px;
	font-weight: 700;
	background: #F1F5F9;
	color: #64748B;
	padding: 2px 7px;
	border-radius: 10px;
}

.ls-blog-tab.is-active .ls-blog-tab-count {
	background: #EBF5FB;
	color: var(--ls-blue);
}

.ls-blog-grid--archive {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-bottom: 48px;
	margin-top: 36px;
}

.ls-blog-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ls-blog-card:hover {
	transform: translateY(-4px);
	border-color: #CBD5E1;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.ls-blog-card-media {
	height: 200px;
	overflow: hidden;
	display: block;
	background: #FAFBFD;
}

.ls-blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.ls-blog-card:hover .ls-blog-card-media img {
	transform: scale(1.06);
}

.ls-blog-card-media--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-blog-card-body {
	padding: 18px 20px 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.ls-blog-card-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #64748B;
	margin-bottom: 8px;
}

.ls-blog-card-cat {
	font-weight: 700;
	color: var(--ls-blue);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ls-blog-card-dot {
	color: #CBD5E1;
}

.ls-blog-card-title {
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
	color: #0F172A;
	margin: 0 0 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ls-blog-card-title a {
	color: #0F172A;
	text-decoration: none;
	transition: color 0.15s ease;
}

.ls-blog-card-title a:hover {
	color: var(--ls-blue);
}

.ls-blog-card-excerpt {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.55;
	margin-bottom: 16px;
	flex-grow: 1;
}

.ls-blog-read-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	margin-top: auto;
}

.ls-blog-read-more:hover {
	color: var(--ls-blue-dark);
	gap: 9px;
}

/* ==========================================================================
   ARTÍCULO INDIVIDUAL (SINGLE POST): NUEVA DISTRIBUCIÓN EDITORIAL 2 COLUMNAS
   ========================================================================== */
.ls-single-post-main {
	padding: 40px 0 70px;
	background: #FFFFFF;
}

.ls-article-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 48px;
	align-items: start;
}

.ls-article-main-col {
	min-width: 0;
}

/* Kicker editorial superior (en lugar del badge pill antiguo) */
.ls-post-kicker-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
}

.ls-post-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
}

.ls-post-reading-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #64748B;
	background: #F1F5F9;
	padding: 4px 12px;
	border-radius: 20px;
}

.ls-kicker-icon {
	display: flex;
	align-items: center;
	color: var(--ls-blue);
}

.ls-kicker-link {
	color: var(--ls-blue);
	text-decoration: none;
	transition: color 0.15s ease;
}

.ls-kicker-link:hover {
	text-decoration: underline;
}

.ls-kicker-sep {
	color: #CBD5E1;
}

.ls-kicker-type {
	color: #64748B;
	font-weight: 600;
}

.ls-post-title {
	font-size: 36px;
	font-weight: 800;
	color: #0F172A;
	line-height: 1.22;
	letter-spacing: -0.02em;
	margin: 0 0 16px;
}

.ls-post-lead {
	font-size: 17px;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 20px;
	font-weight: 400;
}

/* Tarjeta de Entradilla / Resumen */
.ls-post-lead-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 22px;
	background: #F8FAFD;
	border: 1px solid #E2E8F0;
	border-left: 4px solid var(--ls-blue);
	border-radius: 14px;
	margin: 20px 0 28px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
}

.ls-lead-card-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #EFF6FF;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.ls-lead-card-text strong {
	display: block;
	font-size: 13.5px;
	font-weight: 800;
	color: #0F172A;
	margin-bottom: 4px;
}

.ls-lead-card-text p {
	font-size: 14.5px;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.ls-post-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 0;
	border-top: 1px solid #E2E8F0;
	border-bottom: 1px solid #E2E8F0;
	margin-bottom: 28px;
	flex-wrap: wrap;
	gap: 16px;
}

.ls-post-meta-author {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ls-author-avatar,
.ls-author-avatar-ph {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	background: #FFFFFF;
	border: 2px solid #E2E8F0;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-author-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ls-author-avatar-ph {
	background: linear-gradient(135deg, var(--ls-blue) 0%, #009ee3 100%);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 800;
	border: none;
}

.ls-author-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ls-author-name-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ls-post-author-name {
	font-size: 15px;
	font-weight: 700;
	color: #0F172A;
	line-height: 1.2;
}

.ls-author-verified {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	color: #059669;
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	padding: 2px 8px;
	border-radius: 12px;
	line-height: 1.2;
}

.ls-post-meta-sub {
	font-size: 13px;
	color: #64748B;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	line-height: 1.2;
}

.ls-post-meta-sub .ls-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #64748B;
}

.ls-post-meta-sub .ls-meta-item svg {
	color: #94A3B8;
	flex-shrink: 0;
}

.ls-meta-sep {
	color: #CBD5E1;
}

.ls-btn-share-wa {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 18px;
	border-radius: 20px;
	background: #25D366;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25);
}

.ls-btn-share-wa:hover {
	background: #1EBE5D;
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35);
}

/* Portada destacada del artículo con contención proporcional */
.ls-post-featured-media {
	margin-bottom: 32px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
	background: #F1F5F9;
	aspect-ratio: 16 / 9;
	max-height: 420px;
	width: 100%;
}

.ls-post-featured-media img {
	width: 100%;
	height: 100%;
	max-height: 420px;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Caja de Autoría Profesional al final */
.ls-author-bio-card {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	margin: 40px 0;
}

.ls-author-bio-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	background: #FFFFFF;
	border: 2px solid #E2E8F0;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--ls-blue);
	font-size: 18px;
	font-weight: 900;
}

.ls-author-bio-img,
.ls-author-bio-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ls-author-bio-label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ls-blue);
	display: block;
	margin-bottom: 3px;
}

.ls-author-bio-name {
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px;
}

.ls-author-bio-text p {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.55;
	margin: 0;
}

/* Sidebar Editorial Sticky */
.ls-article-sidebar {
	position: sticky;
	top: 90px;
}

.ls-article-sidebar-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Tabla de Contenidos (TOC) */
.ls-toc-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-toc-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #0F172A;
	padding-bottom: 12px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-toc-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ls-toc-link {
	font-size: 13px;
	color: #475569;
	text-decoration: none;
	padding: 6px 10px;
	border-radius: 8px;
	display: block;
	border-left: 2px solid transparent;
	transition: all 0.2s ease;
	line-height: 1.4;
}

.ls-toc-link:hover,
.ls-toc-link.is-active {
	color: var(--ls-blue);
	font-weight: 700;
	background: #F8FAFC;
	border-left-color: var(--ls-blue);
}

/* Tarjeta Promo de Tienda en el Artículo */
.ls-sidebar-promo-card {
	background: linear-gradient(135deg, #F8FAFD 0%, #EFF6FF 100%);
	border: 1px solid #DBEAFE;
	border-radius: 16px;
	padding: 22px 20px;
}

.ls-promo-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
	background: #FFFFFF;
	border: 1px solid #DBEAFE;
	padding: 3px 10px;
	border-radius: 20px;
	margin-bottom: 10px;
}

.ls-sidebar-promo-card h4 {
	font-size: 16px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
}

.ls-sidebar-promo-card p {
	font-size: 13px;
	color: #64748B;
	line-height: 1.5;
	margin: 0 0 14px;
}

.ls-promo-perks {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ls-promo-perks li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
	color: #334155;
}

.ls-btn-full {
	width: 100%;
	justify-content: center;
	padding: 10px 16px;
	font-size: 13px;
}

/* Tarjeta de Soporte Telefónico */
.ls-sidebar-support-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 20px;
	text-align: center;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-support-icon {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #EFF6FF;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 10px;
}

.ls-sidebar-support-card h5 {
	font-size: 14px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 4px;
}

.ls-sidebar-support-card p {
	font-size: 12px;
	color: #64748B;
	margin: 0 0 8px;
}

.ls-support-tel {
	font-size: 16px;
	font-weight: 800;
	color: var(--ls-blue);
	display: block;
}

/* Sidebar: Material Recomendado relacionado con el artículo */
.ls-sidebar-prods-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.ls-sidebar-prods-head {
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-prods-head-tag {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
	background: #EFF6FF;
	padding: 3px 8px;
	border-radius: 6px;
	margin-bottom: 6px;
}

.ls-sidebar-prods-head h4 {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	margin: 0;
	line-height: 1.3;
}

.ls-sidebar-prods-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 14px;
}

.ls-side-prod-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border-radius: 10px;
	border: 1px solid #F1F5F9;
	background: #FAFAFA;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-side-prod-item:hover {
	border-color: #CBD5E1;
	background: #FFFFFF;
	transform: translateX(3px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.ls-side-prod-thumb {
	width: 50px;
	height: 50px;
	border-radius: 8px;
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-side-prod-thumb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ls-side-prod-info {
	flex-grow: 1;
	min-width: 0;
}

.ls-side-prod-title {
	display: block;
	font-size: 12.5px;
	font-weight: 700;
	color: #1E293B;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 3px;
}

.ls-side-prod-price {
	font-size: 13px;
	font-weight: 800;
	color: var(--ls-blue);
}

.ls-side-prod-arrow {
	color: #94A3B8;
	flex-shrink: 0;
	transition: transform 0.2s ease, color 0.2s ease;
}

.ls-side-prod-item:hover .ls-side-prod-arrow {
	color: var(--ls-blue);
	transform: translateX(3px);
}

.ls-side-prods-all-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	padding-top: 8px;
	border-top: 1px dashed #E2E8F0;
	transition: color 0.2s ease;
}

.ls-side-prods-all-link:hover {
	color: var(--ls-navy);
}

/* Sidebar: Garantías Rápidas */
.ls-sidebar-guarantees-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ls-side-guarantee-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: #475569;
}

.ls-side-guarantee-row svg {
	flex-shrink: 0;
	color: var(--ls-blue);
}

.ls-side-guarantee-row strong {
	color: #0F172A;
}

/* Banner de CTA en el cuerpo */
.ls-post-cta-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 28px 32px;
	background: #F0FDF4;
	border: 1px solid #BBF7D0;
	border-radius: 16px;
	margin: 48px 0;
}

.ls-post-cta-text h3 {
	font-size: 18px;
	font-weight: 800;
	color: #14532D;
	margin: 0 0 6px;
}

.ls-post-cta-text p {
	font-size: 13.5px;
	color: #166534;
	margin: 0;
	line-height: 1.5;
}

.ls-post-cta-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex-shrink: 0;
}

/* Responsive para el Artículo */
@media (max-width: 991px) {
	.ls-article-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.ls-article-sidebar {
		position: static;
	}

	.ls-post-title {
		font-size: 28px;
	}

	.ls-post-featured-media {
		max-height: 340px;
	}

	.ls-post-featured-media img {
		max-height: 340px;
	}
}

@media (max-width: 640px) {
	.ls-post-featured-media {
		max-height: 240px;
		aspect-ratio: 16 / 10;
		margin-bottom: 24px;
		border-radius: 12px;
	}

	.ls-post-featured-media img {
		max-height: 240px;
	}

	.ls-post-meta-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.ls-post-meta-share {
		width: 100%;
	}

	.ls-btn-share-wa {
		width: 100%;
		justify-content: center;
	}

	.ls-author-bio-card {
		flex-direction: column;
		text-align: center;
		padding: 20px;
	}

	.ls-author-bio-avatar {
		margin: 0 auto;
	}
}

/* Tipografía de contenido editorial (.ls-prose) */
.ls-prose {
	font-size: 16px;
	line-height: 1.75;
	color: #334155;
}

.ls-prose h2 {
	font-size: 24px;
	font-weight: 800;
	color: #0F172A;
	margin: 36px 0 14px;
	line-height: 1.3;
}

.ls-prose h3 {
	font-size: 20px;
	font-weight: 700;
	color: #0F172A;
	margin: 28px 0 12px;
}

.ls-prose p {
	margin: 0 0 20px;
}

.ls-prose ul,
.ls-prose ol {
	margin: 0 0 24px;
	padding-left: 24px;
}

.ls-prose li {
	margin-bottom: 8px;
}

.ls-prose a {
	color: var(--ls-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ls-prose a:hover {
	color: var(--ls-blue-dark);
}

.ls-prose img,
.entry-content img {
	max-width: 100%;
	max-height: 480px;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
	margin: 24px auto;
	display: block;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}

.ls-prose .aligncenter,
.entry-content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.ls-prose figure,
.entry-content figure {
	margin: 24px 0;
	text-align: center;
}

.ls-prose figure img,
.entry-content figure img {
	margin: 0 auto;
}

.ls-prose figcaption,
.entry-content figcaption {
	font-size: 13px;
	color: #64748B;
	margin-top: 8px;
	text-align: center;
}

/* ==========================================================================
   PÁGINAS ESTÁTICAS GENERALES (PAGE.PHP)
   ========================================================================== */
.ls-page-main {
	padding: 40px 0 70px;
	background: #FFFFFF;
}

.ls-page-header {
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid #E2E8F0;
}

.ls-page-title {
	font-size: 32px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 0;
}

.ls-page-excerpt {
	font-size: 15px;
	color: #64748B;
	margin: 8px 0 0;
}

/* ==========================================================================
   PÁGINA 404 Y BÚSQUEDA
   ========================================================================== */
.ls-404-main {
	padding: 60px 0 80px;
	background: #FAFBFD;
}

.ls-404-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 24px;
	padding: 56px 40px;
	text-align: center;
	box-shadow: 0 10px 35px rgba(15, 23, 42, 0.05);
}

.ls-404-num {
	font-size: 96px;
	font-weight: 900;
	line-height: 1;
	color: var(--ls-blue);
	letter-spacing: -0.04em;
	display: block;
	margin-bottom: 12px;
}

.ls-404-title {
	font-size: 26px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 10px;
}

.ls-404-desc {
	font-size: 14.5px;
	color: #64748B;
	max-width: 500px;
	margin: 0 auto 28px;
	line-height: 1.55;
}

.ls-404-search {
	max-width: 480px;
	margin: 0 auto 36px;
}

.ls-404-quick-links {
	border-top: 1px solid #F1F5F9;
	padding-top: 24px;
}

.ls-404-links-title {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #64748B;
	margin-bottom: 16px;
}

.ls-404-buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Buscador Page */
.ls-search-page-main {
	padding: 36px 0 60px;
	background: #FFFFFF;
}

.ls-search-page-bar {
	margin-top: 20px;
	max-width: 520px;
}

.ls-empty-suggestions {
	margin-top: 24px;
	font-size: 13px;
	color: #475569;
}

.ls-empty-chips {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}

/* ==========================================================================
   CESTA DE LA COMPRA (CART) - DISEÑO OFICIAL LUCASUR
   ========================================================================== */

/* 1. Fondo de Página y Contenedor */
.ls-cart-page-main {
	background-color: #F8FAFC !important;
	padding: 32px 0 70px 0 !important;
	min-height: calc(100vh - 420px);
}

.ls-cart-page-main .ls-container {
	max-width: 1180px !important;
	margin: 0 auto !important;
}

/* Cabecera del Carrito */
.ls-cart-header {
	margin-bottom: 28px;
}

.ls-cart-title {
	font-size: 28px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.ls-cart-subtitle {
	font-size: 14px;
	color: #64748B;
	margin: 0;
}

/* 2. Layout 2 Columnas de la Cesta */
.ls-cart-portal-layout {
	display: grid !important;
	grid-template-columns: 1fr 400px !important;
	gap: 32px !important;
	align-items: start !important;
	width: 100% !important;
	margin-bottom: 40px !important;
}

.ls-cart-table-col {
	width: 100% !important;
	min-width: 0 !important;
}

.ls-cart-totals-col {
	width: 100% !important;
	min-width: 0 !important;
}

/* Tarjeta de Productos en Cesta */
.ls-cart-card {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	padding: 24px !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Tabla de Productos */
.ls-cart-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: none !important;
	margin: 0 !important;
	table-layout: fixed !important;
}

.ls-cart-table thead th {
	background: #F8FAFC !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: #475569 !important;
	border-bottom: 2px solid #E2E8F0 !important;
	padding: 12px 14px !important;
	text-align: left !important;
}

.ls-cart-table thead th.product-subtotal {
	text-align: right !important;
}

.ls-cart-table tbody td {
	border-bottom: 1px solid #F1F5F9 !important;
	padding: 16px 12px !important;
	vertical-align: middle !important;
	color: #334155;
	font-size: 13.5px;
}

/* Anchos proporcionales de columnas en la tabla de la cesta */
.ls-cart-table th.product-remove,
.ls-cart-table td.product-remove {
	width: 44px !important;
	max-width: 44px !important;
	min-width: 44px !important;
	text-align: center !important;
	padding: 14px 6px !important;
}

.ls-cart-table th.product-thumbnail,
.ls-cart-table td.product-thumbnail {
	width: 84px !important;
	max-width: 84px !important;
	min-width: 84px !important;
	text-align: center !important;
	padding: 14px 6px !important;
}

.ls-cart-table td.product-thumbnail a {
	display: inline-block !important;
	width: 68px !important;
	height: 68px !important;
	margin: 0 auto !important;
}

.ls-cart-table th.product-thumbnail img,
.ls-cart-table td.product-thumbnail img,
.ls-cart-table td.product-thumbnail a img {
	width: 68px !important;
	height: 68px !important;
	min-width: 68px !important;
	min-height: 68px !important;
	max-width: 68px !important;
	max-height: 68px !important;
	object-fit: contain !important;
	border-radius: 8px !important;
	border: 1px solid #E2E8F0 !important;
	background: #FFFFFF !important;
	display: block !important;
	margin: 0 auto !important;
}

.ls-cart-table th.product-name,
.ls-cart-table td.product-name {
	width: auto !important;
	text-align: left !important;
	padding: 14px 16px !important;
}

.ls-cart-table th.product-price,
.ls-cart-table td.product-price {
	width: 100px !important;
	text-align: right !important;
	white-space: nowrap !important;
	padding: 14px 12px !important;
}

.ls-cart-table th.product-quantity,
.ls-cart-table td.product-quantity {
	width: 110px !important;
	text-align: center !important;
	padding: 14px 10px !important;
}

.ls-cart-table th.product-subtotal,
.ls-cart-table td.product-subtotal {
	width: 105px !important;
	text-align: right !important;
	white-space: nowrap !important;
	padding: 14px 12px !important;
}

/* Selector de Cantidad en la Cesta */
.ls-cart-table .quantity input.qty {
	width: 52px !important;
	height: 38px !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	background: #F8FAFC !important;
	padding: 0 !important;
	margin: 0 auto !important;
	display: block !important;
}

.ls-cart-table .quantity input.qty:focus {
	outline: none !important;
	border-color: var(--ls-blue) !important;
	background: #FFFFFF !important;
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15) !important;
}

.ls-cart-prod-link {
	color: #0F172A !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}

.ls-cart-prod-link:hover {
	color: var(--ls-blue) !important;
}

.ls-cart-table tbody td.product-price {
	color: #475569 !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
}

.ls-cart-table tbody td.product-subtotal {
	color: #0F172A !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-align: right !important;
}

.ls-remove-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	color: #94A3B8 !important;
	font-size: 20px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	line-height: 1 !important;
}

.ls-remove-btn:hover {
	background: #FEE2E2 !important;
	color: #DC2626 !important;
}

/* Fila de Cupón y Actualizar Cesta */
.ls-cart-actions-row td.actions {
	padding: 22px 0 0 0 !important;
	border-bottom: none !important;
}

.ls-cart-actions-wrapper {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	width: 100% !important;
}

.ls-cart-coupon-box {
	display: flex !important;
	gap: 8px !important;
	flex: 1 !important;
	max-width: 380px !important;
	min-width: 240px !important;
}

.ls-coupon-input {
	height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid #CBD5E1 !important;
	border-radius: 8px !important;
	font-size: 13.5px !important;
	color: #0F172A !important;
	flex: 1 !important;
	background: #FFFFFF !important;
	box-sizing: border-box !important;
}

.ls-coupon-input:focus {
	outline: none !important;
	border-color: var(--ls-blue) !important;
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15) !important;
}

.ls-btn-coupon {
	height: 44px !important;
	padding: 0 18px !important;
	background: #0F172A !important;
	color: #FFFFFF !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
	white-space: nowrap !important;
}

.ls-btn-coupon:hover {
	background: #1E293B !important;
}

.ls-cart-update-box {
	margin-left: auto !important;
}

.ls-btn-update-cart {
	height: 44px !important;
	padding: 0 20px !important;
	background: #FFFFFF !important;
	border: 1px solid #CBD5E1 !important;
	color: #334155 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
}

.ls-btn-update-cart:hover {
	background: #F1F5F9 !important;
	border-color: #94A3B8 !important;
	color: #0F172A !important;
}

/* 3. Columna Derecha: Resumen de Totales en Cesta */
.cart-collaterals {
	width: 100% !important;
	display: block !important;
	margin: 0 !important;
}

.cart_totals {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	padding: 24px !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
	position: sticky !important;
	top: 90px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.cart_totals h2 {
	font-size: 19px !important;
	font-weight: 800 !important;
	color: #0F172A !important;
	margin: 0 0 18px 0 !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid #E2E8F0 !important;
}

.cart_totals table.shop_table {
	width: 100% !important;
	border: none !important;
	border-collapse: collapse !important;
	margin-bottom: 20px !important;
	background: transparent !important;
}

.cart_totals table.shop_table th {
	padding: 12px 0 !important;
	background: transparent !important;
	border-bottom: 1px solid #F1F5F9 !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	text-align: left !important;
}

.cart_totals table.shop_table td {
	padding: 12px 0 !important;
	background: transparent !important;
	border-bottom: 1px solid #F1F5F9 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	text-align: right !important;
}

/* Opciones de Envío en Cesta */
.cart_totals #shipping_method {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
}

.cart_totals #shipping_method li {
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	margin-bottom: 8px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #1E293B !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.cart_totals #shipping_method li:has(input:checked) {
	background: #F0F9FF !important;
	border-color: var(--ls-blue) !important;
	color: #0369A1 !important;
	box-shadow: 0 0 0 1px var(--ls-blue) !important;
}

.cart_totals #shipping_method li input[type="radio"] {
	margin: 0 !important;
	accent-color: var(--ls-blue) !important;
	cursor: pointer !important;
}

/* Fila de Total en Cesta */
.cart_totals tr.order-total th,
.cart_totals tr.order-total td {
	background: #F8FAFC !important;
	border-radius: 8px !important;
	padding: 14px 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #0F172A !important;
}

.cart_totals tr.order-total td strong {
	color: var(--ls-blue) !important;
	font-size: 19px !important;
}

/* Botón Proceder al Pago (Checkout Button) */
.wc-proceed-to-checkout {
	padding: 0 !important;
	margin-top: 14px !important;
}

.wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 52px !important;
	border-radius: 12px !important;
	font-size: 15.5px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	background: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.35) !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	box-sizing: border-box !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
	box-shadow: 0 8px 26px rgba(8, 142, 215, 0.5) !important;
	transform: translateY(-2px) !important;
}

/* Estado de Carrito Vacío */
.wc-empty-cart-message {
	text-align: center;
	margin: 20px 0 10px 0;
}

.wc-empty-cart-message .cart-empty {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 24px !important;
	color: #475569 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
	max-width: 500px !important;
	margin: 0 auto 20px auto !important;
}

p.return-to-shop {
	text-align: center !important;
	margin-bottom: 40px !important;
}

p.return-to-shop a.button.wc-backward {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	padding: 0 28px !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%) !important;
	color: #FFFFFF !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(8, 142, 215, 0.3) !important;
	transition: all 0.25s ease !important;
}

p.return-to-shop a.button.wc-backward:hover {
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.45) !important;
	transform: translateY(-2px) !important;
}

/* ==========================================================================
   FINALIZAR COMPRA (CHECKOUT) - DISEÑO OFICIAL LUCASUR
   ========================================================================== */

/* 1. Fondo de Página y Contenedor Centrado */
.ls-checkout-page-main {
	background-color: #F8FAFC !important;
	padding: 32px 0 70px 0 !important;
	min-height: calc(100vh - 420px);
}

.ls-checkout-page-main .ls-container {
	max-width: 1180px !important;
	margin: 0 auto !important;
}

/* 2. Barra de Pasos de Checkout */
.ls-checkout-steps-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	max-width: 480px;
	margin: 0 auto 32px auto;
	padding: 10px 24px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 50px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
}

.ls-step-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #94A3B8;
}

.ls-step-number {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #E2E8F0;
	color: #475569;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-step-item.is-active {
	color: var(--ls-blue);
	font-weight: 800;
}

.ls-step-item.is-active .ls-step-number {
	background: var(--ls-blue);
	color: #FFFFFF;
}

.ls-step-item.is-done {
	color: #10B981;
	font-weight: 700;
}

.ls-step-item.is-done .ls-step-number {
	background: #10B981;
	color: #FFFFFF;
}

.ls-step-divider {
	flex-grow: 1;
	height: 2px;
	background: #E2E8F0;
	max-width: 40px;
}

.ls-step-divider.is-done {
	background: #10B981;
}

/* 3. Cabecera Checkout */
.ls-checkout-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}

.ls-secure-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	color: #065F46;
	border-radius: 20px;
	font-size: 11.5px;
	font-weight: 700;
	margin-bottom: 8px;
}

.ls-checkout-title {
	font-size: 28px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.ls-checkout-subtitle {
	font-size: 14px;
	color: #64748B;
	margin: 0;
}

.ls-checkout-help-callout {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 18px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.ls-callout-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #EFF6FF;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-checkout-help-callout span {
	display: block;
	font-size: 11.5px;
	color: #64748B;
}

.ls-checkout-help-callout strong {
	display: block;
	font-size: 14px;
	color: #0F172A;
}

/* 4. Aviso de Cupón */
.woocommerce-form-coupon-toggle {
	margin-bottom: 24px;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
	background: #F0F9FF !important;
	border: 1px dashed #BAE6FD !important;
	border-radius: 12px !important;
	padding: 14px 20px 14px 48px !important;
	color: #0369A1 !important;
	font-size: 13.5px !important;
	box-shadow: none !important;
	margin-bottom: 24px;
}

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
	color: var(--ls-blue) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
}

form.checkout_coupon {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 28px;
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

form.checkout_coupon input.input-text {
	flex: 1;
	min-width: 200px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	font-size: 13.5px;
}

form.checkout_coupon button.button {
	height: 44px;
	padding: 0 20px;
	background: #0F172A !important;
	color: #FFFFFF !important;
	border-radius: 8px;
	font-weight: 700;
	border: none;
	cursor: pointer;
}

/* 5. Layout 2 Columnas de Checkout */
form.checkout,
.ls-checkout-form-grid {
	display: grid !important;
	grid-template-columns: 1fr 440px !important;
	gap: 36px !important;
	align-items: start !important;
	margin-bottom: 60px !important;
}

.ls-checkout-col-left {
	min-width: 0;
	width: 100%;
}

.ls-checkout-col-right {
	min-width: 0;
	width: 100%;
}

.ls-billing-shipping-wrapper {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.ls-billing-col,
.ls-shipping-col {
	width: 100% !important;
	float: none !important;
}

/* Anulación de anchos del 48% de WooCommerce col-1 y col-2 */
.woocommerce .col2-set,
.woocommerce-checkout .col2-set {
	width: 100% !important;
	display: block !important;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
}

/* 6. Columna Izquierda: Tarjetas de Facturación y Envío */
#customer_details {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.woocommerce-billing-fields {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 16px !important;
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
	margin-bottom: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-shipping-fields__field-wrapper #shipping_country_field {
	grid-column: 1 / -1 !important;
	width: 100% !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row-first {
	grid-column: 1 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-shipping-fields__field-wrapper .form-row-last {
	grid-column: 2 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.ls-order-review-heading {
	font-size: 19px !important;
	font-weight: 800 !important;
	color: #0F172A !important;
	margin: 0 0 18px 0 !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid #E2E8F0 !important;
}

#order_review_heading {
	display: none !important;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.ls-shipping-title,
.woocommerce-additional-fields h3 {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #0F172A !important;
	margin: 0 0 20px 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Inputs de Checkout */
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row,
.woocommerce-additional-fields .form-row {
	margin-bottom: 16px;
}

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label {
	display: block;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #1E293B !important;
	margin-bottom: 6px !important;
}

.woocommerce-billing-fields input.input-text,
.woocommerce-billing-fields select,
.woocommerce-shipping-fields input.input-text,
.woocommerce-shipping-fields select,
.woocommerce-additional-fields textarea {
	width: 100% !important;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #CBD5E1 !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	color: #0F172A !important;
	background: #FFFFFF !important;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

.woocommerce-additional-fields textarea {
	height: 90px !important;
	padding: 12px 14px !important;
	resize: vertical;
}

.woocommerce-billing-fields input.input-text:focus,
.woocommerce-billing-fields select:focus,
.woocommerce-shipping-fields input.input-text:focus,
.woocommerce-shipping-fields select:focus,
.woocommerce-additional-fields textarea:focus {
	outline: none !important;
	border-color: var(--ls-blue) !important;
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15) !important;
}

/* Desplegable de Dirección de Envío Diferente */
.ls-shipping-fields-wrap {
	margin-top: 8px;
}

.ls-ship-different-box {
	background: #FFFFFF !important;
	border: 2px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 18px 20px !important;
	transition: all 0.25s ease !important;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.ls-ship-different-box:hover {
	border-color: var(--ls-blue) !important;
	background: #F0F9FF !important;
}

.ls-ship-different-box:has(input:checked) {
	border-color: var(--ls-blue) !important;
	background: #F0F9FF !important;
}

.ls-ship-toggle-label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	cursor: pointer !important;
	margin: 0 !important;
	user-select: none;
}

.ls-toggle-checkbox {
	width: 22px !important;
	height: 22px !important;
	margin-top: 2px !important;
	accent-color: var(--ls-blue) !important;
	cursor: pointer;
	flex-shrink: 0;
}

.ls-ship-toggle-content {
	display: flex;
	flex-direction: column;
}

.ls-ship-toggle-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ls-ship-icon {
	color: var(--ls-blue);
	display: flex;
	align-items: center;
}

.ls-ship-toggle-title {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
}

.ls-ship-toggle-desc {
	font-size: 12.5px;
	color: #64748B;
	margin: 4px 0 0 0;
	line-height: 1.4;
}

.ls-shipping-address-panel {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 24px !important;
	margin-top: 16px !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
}

.ls-shipping-address-head {
	padding-bottom: 14px;
	margin-bottom: 18px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-shipping-title {
	font-size: 16px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 4px 0;
}

.ls-shipping-desc {
	font-size: 13px;
	color: #64748B;
	margin: 0;
}

.ls-additional-fields-wrap {
	margin-top: 8px;
}

.ls-order-notes-box {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 20px !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03) !important;
}

.ls-order-notes-title {
	font-size: 14.5px;
	font-weight: 700;
	color: #0F172A;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px 0;
}

.ls-order-notes-title svg {
	color: var(--ls-blue);
}

/* 7. Columna Derecha: Tarjeta de Resumen del Pedido */
#order_review {
	background: #FFFFFF !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	padding: 24px !important;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04) !important;
	position: sticky;
	top: 90px;
}

#order_review table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: none !important;
	margin-bottom: 20px !important;
}

#order_review table.shop_table th,
#order_review table.shop_table td {
	border: none !important;
	padding: 12px 14px !important;
}

#order_review table.shop_table thead th {
	background: #F8FAFC !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: #475569 !important;
	border-bottom: 2px solid #E2E8F0 !important;
	border-radius: 6px;
}

#order_review table.shop_table thead th.product-total {
	text-align: right !important;
}

#order_review table.shop_table tbody td {
	border-bottom: 1px solid #F1F5F9 !important;
	font-size: 13.5px !important;
	color: #1E293B !important;
}

#order_review table.shop_table tbody td.product-total {
	text-align: right !important;
	font-weight: 700 !important;
	color: #0F172A !important;
}

#order_review table.shop_table tbody .product-name strong.product-quantity {
	font-weight: 700;
	color: var(--ls-blue);
	margin-left: 4px;
}

#order_review table.shop_table tfoot th {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	border-top: 1px solid #F1F5F9 !important;
	vertical-align: top !important;
}

#order_review table.shop_table tfoot td {
	text-align: right !important;
	font-size: 13.5px !important;
	color: #0F172A !important;
	border-top: 1px solid #F1F5F9 !important;
}

/* Opciones de Envío en Resumen (Shipping Methods) */
#order_review #shipping_method {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
}

#order_review #shipping_method li {
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	margin-bottom: 8px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #1E293B !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	cursor: pointer;
	transition: all 0.2s ease;
}

#order_review #shipping_method li:has(input:checked) {
	background: #F0F9FF !important;
	border-color: var(--ls-blue) !important;
	color: #0369A1 !important;
	box-shadow: 0 0 0 1px var(--ls-blue) !important;
}

#order_review #shipping_method li input[type="radio"] {
	margin: 0 !important;
	accent-color: var(--ls-blue) !important;
	cursor: pointer;
}

#order_review table.shop_table tfoot tr.order-total th,
#order_review table.shop_table tfoot tr.order-total td {
	background: #F8FAFC !important;
	border-radius: 8px !important;
	padding: 14px 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #0F172A !important;
}

#order_review table.shop_table tfoot tr.order-total td strong {
	color: var(--ls-blue) !important;
	font-size: 18px !important;
}

#order_review table.shop_table tfoot tr.order-total td small.includes_tax {
	display: block;
	font-size: 11px;
	color: #64748B;
	font-weight: 500;
	margin-top: 2px;
}

/* 8. Pasarela de Pagos (Payment Methods) */
#payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-top: 20px !important;
}

#payment ul.payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
	border-bottom: 1px solid #E2E8F0 !important;
}

#payment ul.payment_methods li {
	background: #F8FAFC !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	margin-bottom: 10px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	transition: all 0.2s ease;
}

#payment ul.payment_methods li:has(input:checked) {
	background: #FFFFFF !important;
	border-color: var(--ls-blue) !important;
	box-shadow: 0 0 0 1px var(--ls-blue) !important;
}

#payment ul.payment_methods li input[type="radio"] {
	margin-right: 8px !important;
	accent-color: var(--ls-blue) !important;
}

#payment div.payment_box {
	background: #F1F5F9 !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	margin-top: 10px !important;
	font-size: 12.5px !important;
	line-height: 1.5 !important;
	color: #475569 !important;
}

#payment div.payment_box::before {
	display: none !important;
}

#payment .woocommerce-privacy-policy-text {
	font-size: 12px !important;
	color: #64748B !important;
	line-height: 1.5 !important;
	margin: 16px 0 !important;
}

#payment .woocommerce-privacy-policy-text a {
	color: var(--ls-blue) !important;
	text-decoration: underline !important;
}

/* 9. Botón Finalizar Pedido (Place Order) */
#place_order {
	width: 100% !important;
	height: 52px !important;
	border-radius: 12px !important;
	font-size: 15.5px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	background: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.35) !important;
	cursor: pointer !important;
	border: none !important;
	transition: all 0.25s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

#place_order:hover {
	box-shadow: 0 8px 26px rgba(8, 142, 215, 0.5) !important;
	transform: translateY(-2px) !important;
}

/* ==========================================================================
   MI CUENTA (DASHBOARD, PEDIDOS, DIRECCIONES Y ACCESO) - DISEÑO OFICIAL LUCASUR
   ========================================================================== */

/* 1. Layout General y Contenedor */
.ls-account-page-main {
	padding: 36px 0 60px 0;
	background-color: #F8FAFC;
	min-height: calc(100vh - 420px);
}

/* 2. Cabecera de Usuario Autenticado */
.ls-account-header {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 24px 28px;
	margin-bottom: 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.ls-account-user-card {
	display: flex;
	align-items: center;
	gap: 18px;
}

.ls-account-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1E293B 0%, #283992 100%);
	color: #FFFFFF;
	font-size: 22px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(40, 57, 146, 0.25);
	flex-shrink: 0;
}

.ls-account-user-info {
	display: flex;
	flex-direction: column;
}

.ls-account-welcome-tag {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--ls-blue);
	background: #EBF5FB;
	padding: 2px 8px;
	border-radius: 6px;
	display: inline-block;
	align-self: flex-start;
	margin-bottom: 4px;
}

.ls-account-name {
	font-size: 22px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 2px 0;
	line-height: 1.2;
}

.ls-account-email {
	font-size: 13.5px;
	color: #64748B;
	margin: 0;
}

.ls-account-actions .ls-btn-outline-sm {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-account-actions .ls-btn-outline-sm:hover {
	background: #FEE2E2;
	border-color: #FCA5A5;
	color: #B91C1C;
}

/* Cabecera para Invitados (Guest) */
.ls-account-header--guest {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 36px auto;
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

.ls-account-header--guest .ls-account-title {
	font-size: 32px;
	font-weight: 800;
	color: #0F172A;
	margin: 12px 0 10px 0;
	line-height: 1.2;
}

.ls-account-header--guest .ls-account-subtitle {
	font-size: 15px;
	color: #64748B;
	line-height: 1.6;
	margin: 0;
}

/* 3. Grid de Usuario Conectado (Sidebar + Contenido) */
.ls-account-portal-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 32px;
	align-items: start;
	width: 100%;
}

.ls-account-sidebar-col {
	width: 280px !important;
	min-width: 280px !important;
	flex-shrink: 0;
}

.ls-account-content-col {
	flex: 1;
	min-width: 0;
	width: 100%;
}

/* Soporte y compatibilidad directa para la estructura clásica de WooCommerce */
.woocommerce-account.logged-in .woocommerce {
	display: block;
	width: 100%;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
	width: 100%;
}

.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: 520px;
	margin: 0 auto;
}

/* 4. Menú de Navegación Lateral (Anula floats y anchos porcentuales de woocommerce-layout.css) */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-page.woocommerce-account .woocommerce-MyAccount-navigation,
.ls-account-sidebar-col .woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 24px 0 !important;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-page.woocommerce-account .woocommerce-MyAccount-content,
.ls-account-content-col.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.ls-account-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ls-account-menu li {
	border-bottom: 1px solid #F1F5F9;
}

.ls-account-menu li:last-child {
	border-bottom: none;
}

.ls-account-nav-link {
	display: flex;
	align-items: center;
	padding: 14px 20px;
	font-size: 14px;
	font-weight: 600;
	color: #334155;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-account-nav-icon {
	color: var(--ls-blue);
	margin-right: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.2s;
}

.ls-account-nav-arrow {
	margin-left: auto;
	font-size: 18px;
	line-height: 1;
	color: #94A3B8;
}

.ls-account-nav-link:hover {
	background: #F8FAFC;
	color: var(--ls-blue);
}

.ls-account-nav-link:hover .ls-account-nav-icon {
	transform: translateX(2px);
}

.ls-account-menu li.is-active .ls-account-nav-link {
	background: linear-gradient(135deg, #283992 0%, #088ED7 100%);
	color: #FFFFFF;
}

.ls-account-menu li.is-active .ls-account-nav-icon,
.ls-account-menu li.is-active .ls-account-nav-arrow {
	color: #FFFFFF;
}

/* Mini Caja de Ayuda en Sidebar */
.ls-account-sidebar-help {
	padding: 20px;
	background: #F8FAFC;
	border-top: 1px solid #E2E8F0;
}

.ls-help-badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--ls-blue);
	background: #EBF5FB;
	padding: 3px 8px;
	border-radius: 6px;
	display: inline-block;
}

.ls-help-text {
	font-size: 12.5px;
	color: #64748B;
	margin: 8px 0 14px 0;
	line-height: 1.4;
}

.ls-help-links {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ls-help-btn {
	font-size: 12.5px;
	font-weight: 700;
	padding: 9px 12px;
	border-radius: 8px;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s;
}

.ls-help-phone {
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	color: #0F172A;
}

.ls-help-phone:hover {
	background: #F1F5F9;
}

.ls-help-wa {
	background: #E0F2FE;
	border: 1px solid #BAE6FD;
	color: #0369A1;
}

.ls-help-wa:hover {
	background: #BAE6FD;
}

/* 5. Tarjeta de Contenido Principal */
.woocommerce-MyAccount-content {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

/* 6. Dashboard (Escritorio) */
.ls-dashboard-hero {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 40%, #283992 100%);
	color: #FFFFFF;
	border-radius: 14px;
	padding: 26px 30px;
	margin-bottom: 28px;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12);
}

.ls-dashboard-tag {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: rgba(255, 255, 255, 0.16);
	padding: 4px 10px;
	border-radius: 20px;
	display: inline-block;
	margin-bottom: 10px;
}

.ls-dashboard-title {
	font-size: 24px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 8px 0;
}

.ls-dashboard-subtitle {
	font-size: 14px;
	color: #E2E8F0;
	margin: 0;
	line-height: 1.5;
	max-width: 680px;
}

.ls-dashboard-cards-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 32px;
}

.ls-dash-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 22px 20px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	transition: all 0.25s ease;
}

.ls-dash-card:hover {
	border-color: var(--ls-blue);
	box-shadow: 0 8px 24px rgba(8, 142, 215, 0.12);
	transform: translateY(-2px);
}

.ls-dash-card-icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-icon-blue { background: #EBF5FB; color: var(--ls-blue); }
.ls-icon-teal { background: #E0F2F1; color: var(--ls-teal); }
.ls-icon-navy { background: #EEF2FF; color: #3730A3; }
.ls-icon-green { background: #F0FDF4; color: #166534; }

.ls-dash-card-body {
	display: flex;
	flex-direction: column;
}

.ls-dash-card-badge {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: #64748B;
	letter-spacing: 0.5px;
	margin-bottom: 4px;
}

.ls-dash-card-title {
	font-size: 16px;
	font-weight: 700;
	color: #0F172A;
	margin: 0 0 6px 0;
}

.ls-dash-card-text {
	font-size: 13px;
	color: #64748B;
	margin: 0 0 12px 0;
	line-height: 1.4;
}

.ls-dash-card-link {
	font-size: 13px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: gap 0.2s;
}

.ls-dash-card-link:hover {
	gap: 8px;
}

/* Tabla de Últimos Pedidos en Dashboard */
.ls-dashboard-recent-orders {
	border-top: 1px solid #F1F5F9;
	padding-top: 24px;
}

.ls-section-header-compact {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

.ls-section-header-compact h3 {
	font-size: 18px;
	font-weight: 700;
	color: #0F172A;
	margin: 0;
}

.ls-link-all {
	font-size: 13px;
	font-weight: 600;
	color: var(--ls-blue);
	text-decoration: none;
}

.ls-dash-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.ls-dash-orders-table th {
	background: #F8FAFC;
	padding: 10px 14px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #475569;
	letter-spacing: 0.5px;
	border-bottom: 2px solid #E2E8F0;
	text-align: left;
}

.ls-dash-orders-table td {
	padding: 14px;
	border-bottom: 1px solid #F1F5F9;
	font-size: 13.5px;
	color: #334155;
	vertical-align: middle;
}

/* 7. Vista de Pedidos (Orders) */
.ls-view-title {
	font-size: 22px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
}

.ls-view-desc {
	font-size: 14px;
	color: #64748B;
	margin: 0 0 24px 0;
}

.ls-table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ls-orders-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

.ls-orders-table th {
	background: #F8FAFC !important;
	color: #0F172A !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 12px 16px !important;
	border-bottom: 2px solid #E2E8F0 !important;
	text-align: left;
}

.ls-orders-table td {
	padding: 16px !important;
	border-bottom: 1px solid #F1F5F9 !important;
	font-size: 13.5px !important;
	vertical-align: middle !important;
}

.ls-order-number-link {
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	font-size: 14.5px;
}

.ls-order-date {
	color: #64748B;
	font-size: 13px;
}

.ls-status-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

/* Píldoras de Estado de Pedido */
.ls-order-status-pill {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.ls-status-completed { background: #DCFCE7; color: #15803D; }
.ls-status-shipped,
.ls-status-wc-shipped { background: #E0F2FE; color: #0369A1; }
.ls-status-processing { background: #EBF5FB; color: var(--ls-blue); }
.ls-status-ready-pickup,
.ls-status-wc-ready-pickup { background: #CCFBF1; color: #0F766E; }
.ls-status-cancelled { background: #FEE2E2; color: #B91C1C; }
.ls-status-on-hold,
.ls-status-pending { background: #FEF3C7; color: #B45309; }

.ls-tracking-badge-mini {
	display: inline-block;
	font-size: 11px;
	font-family: monospace;
	font-weight: 700;
	color: #0284C7;
	background: #F0F9FF;
	border: 1px solid #BAE6FD;
	padding: 2px 7px;
	border-radius: 4px;
}

.ls-total-wrap {
	display: flex;
	flex-direction: column;
}

.ls-total-price {
	font-weight: 700;
	color: #0F172A;
}

.ls-total-items {
	font-size: 11.5px;
	color: #94A3B8;
}

.ls-btn-table-sm {
	display: inline-block;
	padding: 7px 14px;
	font-size: 12.5px;
	font-weight: 700;
	border-radius: 8px;
	background: #F8FAFC;
	border: 1px solid #CBD5E1;
	color: #0F172A;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-btn-table-sm:hover {
	background: var(--ls-blue);
	border-color: var(--ls-blue);
	color: #FFFFFF;
}

/* Empty State */
.ls-empty-state-box {
	text-align: center;
	padding: 48px 24px;
	background: #F8FAFC;
	border: 2px dashed #CBD5E1;
	border-radius: 16px;
	margin: 16px 0;
}

.ls-empty-state-icon {
	color: #94A3B8;
	margin-bottom: 16px;
}

.ls-empty-state-box h3 {
	font-size: 18px;
	font-weight: 700;
	color: #0F172A;
	margin: 0 0 8px 0;
}

.ls-empty-state-box p {
	font-size: 14px;
	color: #64748B;
	max-width: 480px;
	margin: 0 auto 20px auto;
	line-height: 1.5;
}

/* 8. Vista de Direcciones (Addresses) */
.ls-addresses-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 20px;
}

.ls-address-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
}

.ls-address-card-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 14px;
}

.ls-address-type {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ls-address-type h3 {
	font-size: 16px;
	font-weight: 700;
	color: #0F172A;
	margin: 0;
}

.ls-address-badge-icon {
	color: var(--ls-blue);
	display: flex;
	align-items: center;
}

.ls-address-content {
	font-style: normal;
	font-size: 13.5px;
	color: #475569;
	line-height: 1.6;
}

.ls-empty-text {
	color: #94A3B8;
	font-style: italic;
}

/* 9. Login & Registro (Acceso para Clientes) */
.ls-auth-container {
	margin: 10px auto 30px auto;
}

.ls-auth--login-only .ls-auth-card {
	max-width: 480px;
	margin: 0 auto;
}

.ls-auth--has-register .ls-auth-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

.ls-auth-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 36px 32px;
	box-shadow: 0 8px 30px rgba(15, 23, 42, 0.05);
}

.ls-auth-icon-wrap {
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: #EBF5FB;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.ls-auth-card-head h2 {
	font-size: 22px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
}

.ls-auth-card-head p {
	font-size: 13.5px;
	color: #64748B;
	margin: 0 0 24px 0;
}

.ls-form-field {
	margin-bottom: 18px;
}

.ls-form-field label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: #1E293B;
	margin-bottom: 6px;
}

.ls-input-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.ls-field-icon {
	position: absolute;
	left: 14px;
	color: #94A3B8;
	pointer-events: none;
}

.ls-input-icon-wrap .ls-input {
	padding-left: 42px;
}

.ls-input {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	font-size: 14.5px;
	color: #0F172A;
	background: #FFFFFF;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.ls-input:focus {
	outline: none;
	border-color: var(--ls-blue);
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15);
}

.ls-field-head-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
}

.ls-forgot-link {
	font-size: 12px;
	color: var(--ls-blue);
	font-weight: 600;
	text-decoration: none;
}

.ls-forgot-link:hover {
	text-decoration: underline;
}

.ls-form-check-row {
	margin: 16px 0 22px 0;
}

.ls-checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #475569;
	cursor: pointer;
}

.ls-btn-submit {
	width: 100%;
	height: 50px;
	border-radius: 10px;
	background: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%) !important;
	color: #FFFFFF !important;
	font-size: 15px;
	font-weight: 800;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(8, 142, 215, 0.35);
	transition: all 0.25s ease;
}

.ls-btn-submit:hover {
	box-shadow: 0 6px 22px rgba(8, 142, 215, 0.45);
	transform: translateY(-1px);
}

/* 10. Formularios de Edición de Cuenta y Direcciones */
.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper {
	margin-top: 16px;
}

.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
	margin-bottom: 18px;
}

.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
	font-size: 13px;
	font-weight: 700;
	color: #1E293B;
	margin-bottom: 6px;
	display: block;
}

.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	font-size: 14px;
	color: #0F172A;
	box-sizing: border-box;
}

.woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce-address-fields select:focus {
	outline: none;
	border-color: var(--ls-blue);
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15);
}

.woocommerce-EditAccountForm fieldset {
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 24px;
	margin: 28px 0;
	background: #F8FAFC;
}

.woocommerce-EditAccountForm fieldset legend {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	padding: 0 10px;
}

.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"] {
	background: var(--ls-blue) !important;
	color: #FFFFFF !important;
	font-weight: 700;
	border-radius: 10px;
	padding: 12px 24px;
	cursor: pointer;
	border: none;
	box-shadow: 0 4px 14px rgba(8, 142, 215, 0.3);
}

/* 11. Avisos y Notificaciones de WooCommerce */
.woocommerce-notices-wrapper {
	margin-bottom: 24px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	padding: 16px 20px 16px 52px;
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
	margin: 0 0 20px 0;
	list-style: none;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.woocommerce-message {
	background: #F0FDF4;
	border: 1px solid #BBF7D0;
	color: #166534;
}

.woocommerce-message::before {
	content: "✓";
	position: absolute;
	left: 18px;
	top: 14px;
	font-size: 18px;
	font-weight: 800;
	color: #16A34A;
}

.woocommerce-error {
	background: #FEF2F2;
	border: 1px solid #FECACA;
	color: #991B1B;
}

.woocommerce-error::before {
	content: "⚠";
	position: absolute;
	left: 18px;
	top: 14px;
	font-size: 18px;
	font-weight: 800;
	color: #DC2626;
}

.woocommerce-error li {
	list-style: none;
	margin: 0;
}

.woocommerce-info {
	background: #F0F9FF;
	border: 1px solid #BAE6FD;
	color: #0369A1;
}

.woocommerce-info::before {
	content: "ℹ";
	position: absolute;
	left: 18px;
	top: 14px;
	font-size: 18px;
	font-weight: 800;
	color: #0284C7;
}

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	background: #FFFFFF;
	color: #0F172A;
	border: 1px solid #CBD5E1;
	border-radius: 6px;
	padding: 4px 12px;
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	margin-top: -3px;
	transition: all 0.2s ease;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: #0F172A;
	color: #FFFFFF;
	border-color: #0F172A;
}

/* 12. Vista Detallada del Pedido (View Order) */
.ls-view-order-container {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.ls-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	margin-bottom: 16px;
	transition: gap 0.2s ease;
}

.ls-back-link:hover {
	gap: 12px;
	text-decoration: underline;
}

.ls-order-view-summary-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
}

.ls-order-view-eyebrow {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #64748B;
	display: block;
	margin-bottom: 4px;
}

.ls-order-view-title {
	font-size: 26px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.ls-order-view-meta {
	font-size: 14px;
	color: #64748B;
	margin: 0;
}

/* Cajas de Seguimiento y Factura */
.ls-order-highlights-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
}

.ls-highlight-box {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 22px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.ls-highlight-box--tracking {
	border-left: 4px solid var(--ls-blue);
	background: linear-gradient(180deg, #F0F9FF 0%, #FFFFFF 100%);
}

.ls-highlight-box--invoice {
	border-left: 4px solid #16A34A;
	background: linear-gradient(180deg, #F0FDF4 0%, #FFFFFF 100%);
}

.ls-highlight-box .ls-highlight-icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

.ls-highlight-box--tracking .ls-highlight-icon {
	color: var(--ls-blue);
}

.ls-highlight-box--invoice .ls-highlight-icon {
	color: #16A34A;
}

.ls-highlight-content {
	flex: 1;
}

.ls-highlight-label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: block;
	margin-bottom: 6px;
}

.ls-highlight-box--tracking .ls-highlight-label { color: #0284C7; }
.ls-highlight-box--invoice .ls-highlight-label { color: #16A34A; }

.ls-tracking-num-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.ls-tracking-title {
	font-size: 13.5px;
	font-weight: 600;
	color: #334155;
}

.ls-tracking-code-pill {
	display: inline-block;
	background: #0F172A;
	color: #38BDF8;
	font-family: ui-monospace, monospace;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1px;
	padding: 4px 12px;
	border-radius: 6px;
}

.ls-highlight-desc {
	font-size: 13px;
	color: #64748B;
	margin: 0;
	line-height: 1.45;
}

.ls-btn-download-invoice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #16A34A;
	color: #FFFFFF !important;
	font-size: 13px;
	font-weight: 700;
	padding: 9px 18px;
	border-radius: 8px;
	text-decoration: none;
	margin-top: 12px;
	box-shadow: 0 2px 8px rgba(22, 163, 74, 0.25);
	transition: all 0.2s ease;
}

.ls-btn-download-invoice:hover {
	background: #15803D;
	box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
	transform: translateY(-1px);
}

/* Timeline de Notas del Pedido */
.ls-order-notes-section {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 24px;
}

.ls-order-notes-title {
	font-size: 16px;
	font-weight: 800;
	color: #0F172A;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px 0;
}

.ls-order-notes-title svg {
	color: var(--ls-blue);
}

.ls-order-timeline {
	list-style: none;
	padding: 0 0 0 16px;
	margin: 0;
	position: relative;
	border-left: 2px solid #E2E8F0;
}

.ls-timeline-item {
	position: relative;
	padding-left: 24px;
	margin-bottom: 20px;
}

.ls-timeline-item:last-child {
	margin-bottom: 0;
}

.ls-timeline-marker {
	position: absolute;
	left: -22px;
	top: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 3px solid var(--ls-blue);
}

.ls-timeline-date {
	font-size: 12px;
	font-weight: 700;
	color: #64748B;
	margin-bottom: 4px;
}

.ls-timeline-content {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 13.5px;
	color: #1E293B;
	line-height: 1.5;
}

.ls-timeline-content p {
	margin: 0;
}

/* 13. Tablas de Detalles del Pedido (Order Details Table) */
.woocommerce-order-details {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 24px;
	margin-bottom: 24px;
}

.woocommerce-order-details__title {
	font-size: 18px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 20px 0;
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-table--order-details th {
	background: #F8FAFC;
	padding: 12px 16px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #475569;
	letter-spacing: 0.5px;
	border-bottom: 2px solid #E2E8F0;
	text-align: left;
}

.woocommerce-table--order-details th.woocommerce-table__product-table {
	text-align: right;
}

.woocommerce-table--order-details td {
	padding: 16px;
	border-bottom: 1px solid #F1F5F9;
	font-size: 14px;
	color: #334155;
	vertical-align: middle;
}

.woocommerce-table--order-details td.woocommerce-table__product-total {
	text-align: right;
	font-weight: 700;
	color: #0F172A;
}

.woocommerce-table--order-details .product-name a {
	color: #0F172A;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s;
}

.woocommerce-table--order-details .product-name a:hover {
	color: var(--ls-blue);
}

.woocommerce-table--order-details .product-quantity {
	font-weight: 700;
	color: #64748B;
	margin-left: 6px;
}

.woocommerce-table--order-details tfoot th {
	background: transparent;
	border-bottom: 1px solid #F1F5F9;
	font-size: 13.5px;
	color: #64748B;
	font-weight: 600;
	text-align: right;
	padding: 12px 16px;
}

.woocommerce-table--order-details tfoot td {
	border-bottom: 1px solid #F1F5F9;
	font-size: 14px;
	font-weight: 700;
	color: #0F172A;
	text-align: right;
	padding: 12px 16px;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none;
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	background: #F8FAFC;
	padding: 16px;
}

.woocommerce-table--order-details tfoot tr:last-child td {
	color: var(--ls-blue);
}

/* 14. Direcciones del Cliente en Pedido (Customer Details) */
.woocommerce-customer-details {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 24px;
}

.woocommerce-customer-details h2 {
	font-size: 18px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 20px 0;
}

.woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 20px;
}

.woocommerce-column__title {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 12px 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.woocommerce-customer-details address {
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.6;
	color: #475569;
	margin: 0;
}

/* 15. Formularios de Edición de Cuenta y Contraseña Recuperada */
.ls-edit-account-wrap,
.ls-edit-address-wrap {
	display: flex;
	flex-direction: column;
}

.ls-account-form {
	margin-top: 20px;
}

.ls-form-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.ls-form-helper {
	font-size: 12px;
	color: #64748B;
	margin-top: 4px;
	display: block;
}

.ls-account-fieldset {
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 24px;
	margin: 32px 0 24px 0;
	background: #F8FAFC;
}

.ls-account-legend {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 800;
	color: #0F172A;
	padding: 0 10px;
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	border-radius: 6px;
}

.ls-fieldset-desc {
	font-size: 13px;
	color: #64748B;
	margin: 0 0 16px 0;
}

.ls-form-actions-row {
	margin-top: 24px;
	display: flex;
	gap: 16px;
}

.ls-btn-save-primary {
	background: linear-gradient(135deg, #1E293B 0%, #283992 50%, #088ED7 100%) !important;
	color: #FFFFFF !important;
	font-size: 14px;
	font-weight: 800;
	padding: 13px 28px;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(8, 142, 215, 0.3);
	transition: all 0.25s ease;
}

.ls-btn-save-primary:hover {
	box-shadow: 0 6px 20px rgba(8, 142, 215, 0.45);
	transform: translateY(-1px);
}

/* Formulario Recuperar Contraseña */
.ls-auth-single-wrap {
	max-width: 480px;
	margin: 0 auto;
}

.ls-back-login-link {
	font-size: 13px;
	font-weight: 600;
	color: var(--ls-blue);
	text-decoration: none;
}

.ls-back-login-link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   MEDIA QUERIES PARA PLANTILLAS INTERIORES
   ========================================================================== */
@media (max-width: 991px) {
	.ls-single-product-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ls-single-gallery-main {
		min-height: 350px;
	}

	.ls-catalog-guarantees {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ls-blog-grid--archive {
		grid-template-columns: repeat(2, 1fr);
	}

	.cart-collaterals,
	form.checkout,
	.ls-checkout-form-grid,
	.ls-cart-portal-layout,
	.ls-account-portal-layout {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	#order_review,
	.cart_totals {
		position: static !important;
		width: 100% !important;
	}

	.ls-checkout-col-left,
	.ls-checkout-col-right,
	.ls-cart-table-col,
	.ls-cart-totals-col,
	.ls-account-content-col {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.ls-account-sidebar-col {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex: none !important;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	.ls-dashboard-grid,
	.ls-dashboard-cards-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.ls-auth-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ls-account-perks-grid {
		grid-template-columns: 1fr;
	}

	.ls-orders-addresses-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   OPTIMIZACIONES MÓVILES (CARRITO, CHECKOUT Y MI CUENTA) <= 767px
   ========================================================================== */
@media (max-width: 767px) {
	/* Prevención de zoom forzado en iOS en campos de formulario */
	.woocommerce-cart input.input-text,
	.woocommerce-checkout input.input-text,
	.woocommerce-account input.input-text,
	.ls-account-form input,
	.ls-auth-form input,
	.woocommerce-checkout select,
	.woocommerce-checkout textarea {
		font-size: 16px !important;
	}

	/* ------------------------------------------
	   CESTA / CARRITO (/carrito/) - VISTA MÓVIL
	   ------------------------------------------ */
	.ls-cart-page-main {
		padding: 18px 0 100px 0 !important;
	}

	.ls-cart-header {
		margin-bottom: 20px !important;
	}

	.ls-cart-title {
		font-size: 22px !important;
	}

	.ls-cart-subtitle {
		font-size: 13px !important;
	}

	.ls-cart-card {
		padding: 16px 14px !important;
		border-radius: 16px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		width: 100% !important;
	}

	/* Eliminación radical de los pseudoelementos ::before de WooCommerce ("Producto:", "Cantidad:", "Subtotal:") */
	.woocommerce-cart table.cart td::before,
	.woocommerce-cart table.cart th::before,
	.woocommerce table.cart td::before,
	.woocommerce table.cart th::before,
	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.cart td::before,
	.ls-cart-table td::before,
	.ls-cart-table th::before {
		display: none !important;
		content: "" !important;
	}

	/* La tabla actúa como contenedor de tarjetas apiladas */
	.woocommerce-cart table.cart,
	.woocommerce table.cart,
	.ls-cart-table {
		display: block !important;
		width: 100% !important;
		border: none !important;
		table-layout: auto !important;
	}

	.woocommerce-cart table.cart thead,
	.ls-cart-table thead {
		display: none !important;
	}

	.woocommerce-cart table.cart tbody,
	.ls-cart-table tbody {
		display: block !important;
		width: 100% !important;
	}

	/* Tarjeta individual de cada producto en la cesta móvil */
	.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item,
	.woocommerce table.cart tr.cart_item,
	.ls-cart-table tr.woocommerce-cart-form__cart-item {
		display: grid !important;
		grid-template-columns: 74px 1fr auto !important;
		grid-template-rows: auto auto !important;
		grid-template-areas:
			"thumb name remove"
			"thumb qty subtotal" !important;
		column-gap: 12px !important;
		row-gap: 10px !important;
		align-items: center !important;
		padding: 16px 0 !important;
		border-bottom: 1px solid #E2E8F0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		position: relative !important;
	}

	.ls-cart-table tr.woocommerce-cart-form__cart-item:first-child {
		padding-top: 2px !important;
	}

	/* 1. Miniatura del producto: FORZADA VISIBLE Y NÍTIDA */
	.woocommerce-cart table.cart .product-thumbnail,
	.woocommerce table.cart .product-thumbnail,
	.woocommerce-page table.cart .product-thumbnail,
	.woocommerce table.cart td.product-thumbnail,
	.ls-cart-table td.product-thumbnail {
		grid-area: thumb !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 74px !important;
		height: 74px !important;
		min-width: 74px !important;
		min-height: 74px !important;
		max-width: 74px !important;
		max-height: 74px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 1px solid #E2E8F0 !important;
		border-radius: 12px !important;
		background: #FFFFFF !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		float: none !important;
		text-align: center !important;
	}

	.ls-cart-table td.product-thumbnail a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 4px !important;
		box-sizing: border-box !important;
	}

	.ls-cart-table td.product-thumbnail img,
	.ls-cart-table td.product-thumbnail a img,
	.woocommerce table.cart td.product-thumbnail img {
		width: 66px !important;
		height: 66px !important;
		min-width: 66px !important;
		min-height: 66px !important;
		max-width: 66px !important;
		max-height: 66px !important;
		object-fit: contain !important;
		display: block !important;
		border-radius: 8px !important;
	}

	/* 2. Título / Nombre del Producto */
	.woocommerce-cart table.cart td.product-name,
	.woocommerce table.cart td.product-name,
	.ls-cart-table td.product-name {
		grid-area: name !important;
		display: block !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		text-align: left !important;
		float: none !important;
		width: 100% !important;
	}

	.ls-cart-table td.product-name a.ls-cart-prod-link,
	.woocommerce table.cart td.product-name a {
		font-size: 14px !important;
		font-weight: 700 !important;
		color: #0F172A !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	/* 3. Botón Eliminar Producto */
	.woocommerce-cart table.cart td.product-remove,
	.woocommerce table.cart td.product-remove,
	.ls-cart-table td.product-remove {
		grid-area: remove !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		justify-self: end !important;
		width: 28px !important;
		height: 28px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		float: none !important;
		text-align: right !important;
	}

	.ls-cart-table td.product-remove a.remove,
	.ls-cart-table td.product-remove .ls-remove-btn,
	.woocommerce table.cart td.product-remove a.remove {
		width: 26px !important;
		height: 26px !important;
		border-radius: 50% !important;
		background: #FEE2E2 !important;
		color: #DC2626 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		text-decoration: none !important;
		float: none !important;
	}

	/* 4. Precio Unitario (oculto en móvil para no duplicar datos) */
	.woocommerce-cart table.cart td.product-price,
	.woocommerce table.cart td.product-price,
	.ls-cart-table td.product-price {
		display: none !important;
	}

	/* 5. Selector de Cantidad */
	.woocommerce-cart table.cart td.product-quantity,
	.woocommerce table.cart td.product-quantity,
	.ls-cart-table td.product-quantity {
		grid-area: qty !important;
		display: flex !important;
		align-items: center !important;
		justify-self: start !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		text-align: left !important;
		float: none !important;
	}

	.ls-cart-table td.product-quantity .quantity {
		display: inline-flex !important;
		align-items: center !important;
		margin: 0 !important;
		float: none !important;
	}

	.ls-cart-table td.product-quantity .quantity input.qty {
		width: 48px !important;
		height: 34px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		border-radius: 8px !important;
		border: 1px solid #CBD5E1 !important;
		background: #F8FAFC !important;
		text-align: center !important;
		padding: 0 !important;
		margin: 0 !important;
		float: none !important;
	}

	/* 6. Subtotal del Producto (Dentro de la tarjeta a la derecha) */
	.woocommerce-cart table.cart td.product-subtotal,
	.woocommerce table.cart td.product-subtotal,
	.ls-cart-table td.product-subtotal {
		grid-area: subtotal !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		justify-self: end !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		font-size: 16px !important;
		font-weight: 800 !important;
		color: #0F172A !important;
		text-align: right !important;
		white-space: nowrap !important;
		float: none !important;
	}

	.ls-cart-table td.product-subtotal .woocommerce-Price-amount,
	.woocommerce table.cart td.product-subtotal .woocommerce-Price-amount {
		font-size: 16px !important;
		font-weight: 800 !important;
		color: #0F172A !important;
		white-space: nowrap !important;
	}

	/* Fila de Acciones (Cupón y Actualizar) */
	.ls-cart-actions-row,
	.woocommerce table.cart tr.ls-cart-actions-row {
		display: block !important;
		width: 100% !important;
		padding-top: 14px !important;
		border: none !important;
	}

	.ls-cart-actions-row td.actions,
	.woocommerce table.cart td.actions {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		border: none !important;
		text-align: left !important;
	}

	.ls-cart-actions-wrapper {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.ls-cart-coupon-box,
	.woocommerce table.cart td.actions .coupon {
		display: flex !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
		float: none !important;
		padding: 0 !important;
	}

	.ls-coupon-input,
	.woocommerce table.cart td.actions .coupon input.input-text {
		flex: 1 !important;
		min-width: 0 !important;
		height: 44px !important;
		padding: 0 12px !important;
		border: 1px solid #CBD5E1 !important;
		border-radius: 10px !important;
		font-size: 14px !important;
		background: #FFFFFF !important;
		float: none !important;
	}

	.ls-btn-coupon,
	.woocommerce table.cart td.actions .coupon button.button {
		height: 44px !important;
		padding: 0 16px !important;
		background: #0F172A !important;
		color: #FFFFFF !important;
		font-weight: 700 !important;
		border-radius: 10px !important;
		font-size: 13px !important;
		border: none !important;
		white-space: nowrap !important;
		float: none !important;
		cursor: pointer !important;
	}

	.ls-cart-update-box {
		width: 100% !important;
		margin: 0 !important;
		float: none !important;
	}

	.ls-btn-update-cart,
	.woocommerce table.cart td.actions button.button[name="update_cart"] {
		width: 100% !important;
		height: 40px !important;
		background: #F1F5F9 !important;
		border: 1px solid #CBD5E1 !important;
		color: #334155 !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		border-radius: 10px !important;
		cursor: pointer !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		float: none !important;
	}

	.cart_totals {
		padding: 18px 16px !important;
		border-radius: 14px !important;
	}

	.cart_totals h2 {
		font-size: 17px !important;
		margin-bottom: 14px !important;
		padding-bottom: 10px !important;
	}

	/* ------------------------------------------
	   FINALIZAR COMPRA / CHECKOUT (/pagos/)
	   ------------------------------------------ */
	.ls-checkout-page-main {
		padding: 18px 0 44px 0 !important;
	}

	.ls-checkout-steps-bar {
		padding: 8px 14px !important;
		gap: 8px !important;
		margin-bottom: 22px !important;
		max-width: 100% !important;
	}

	.ls-step-item {
		font-size: 11.5px !important;
		gap: 6px !important;
	}

	.ls-step-number {
		width: 22px !important;
		height: 22px !important;
		font-size: 11px !important;
	}

	.ls-step-divider {
		max-width: 18px !important;
	}

	.ls-checkout-header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
		margin-bottom: 22px !important;
	}

	.ls-checkout-title {
		font-size: 22px !important;
	}

	.ls-checkout-subtitle {
		font-size: 13px !important;
	}

	.ls-checkout-help-callout {
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 10px 14px !important;
	}

	.woocommerce-billing-fields,
	.ls-shipping-address-panel,
	.ls-order-notes-box,
	#order_review {
		padding: 18px 16px !important;
		border-radius: 14px !important;
	}

	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.woocommerce-billing-fields__field-wrapper .form-row,
	.woocommerce-shipping-fields__field-wrapper .form-row,
	.woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-billing-fields__field-wrapper .form-row-last,
	.woocommerce-billing-fields__field-wrapper .form-row-wide {
		grid-column: span 1 !important;
		width: 100% !important;
		float: none !important;
	}

	.ls-ship-different-box {
		padding: 14px 16px !important;
	}

	.ls-ship-toggle-title {
		font-size: 14px !important;
	}

	.ls-ship-toggle-desc {
		font-size: 12px !important;
	}

	form.checkout_coupon {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 16px 14px !important;
	}

	form.checkout_coupon input.input-text {
		width: 100% !important;
		min-width: 0 !important;
	}

	form.checkout_coupon button.button {
		width: 100% !important;
	}

	#order_review table.shop_table th,
	#order_review table.shop_table td {
		padding: 10px 8px !important;
		font-size: 13px !important;
	}

	#payment ul.payment_methods li {
		padding: 10px 12px !important;
		font-size: 13px !important;
	}

	#payment div.payment_box {
		padding: 10px 12px !important;
		font-size: 12px !important;
	}

	#place_order {
		height: 50px !important;
		font-size: 14.5px !important;
	}

	/* ------------------------------------------
	   MI CUENTA (/mi-cuenta/)
	   ------------------------------------------ */
	.ls-account-page-main {
		padding: 18px 0 44px 0 !important;
	}

	.ls-account-header {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 20px 16px !important;
		gap: 16px !important;
		border-radius: 14px !important;
	}

	.ls-account-user-card {
		flex-direction: column !important;
		text-align: center !important;
		align-items: center !important;
	}

	.ls-account-welcome-tag {
		align-self: center !important;
	}

	.ls-account-actions .ls-btn-outline-sm {
		width: 100% !important;
		justify-content: center !important;
	}

	.ls-account-header--guest .ls-account-title {
		font-size: 24px !important;
	}

	.ls-account-header--guest .ls-account-subtitle {
		font-size: 13.5px !important;
	}

	.woocommerce-MyAccount-content {
		padding: 20px 16px !important;
		border-radius: 14px !important;
	}

	.ls-dashboard-hero {
		padding: 20px 16px !important;
		border-radius: 12px !important;
	}

	.ls-dashboard-title {
		font-size: 20px !important;
	}

	.ls-dashboard-subtitle {
		font-size: 13px !important;
	}

	.ls-dashboard-cards-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.ls-dash-card {
		padding: 16px 14px !important;
		border-radius: 12px !important;
	}

	.ls-dash-orders-table th,
	.ls-dash-orders-table td,
	.ls-orders-table th,
	.ls-orders-table td {
		white-space: nowrap !important;
		padding: 10px 12px !important;
		font-size: 13px !important;
	}

	.ls-orders-addresses-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.ls-account-card {
		padding: 18px 16px !important;
		border-radius: 14px !important;
	}

	.ls-account-fieldset {
		padding: 18px 14px !important;
		margin: 20px 0 16px 0 !important;
	}

	.ls-form-grid-2 {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.ls-btn-save-primary {
		width: 100% !important;
		justify-content: center !important;
		text-align: center !important;
	}

	.ls-auth-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.ls-auth-card {
		padding: 24px 18px !important;
		border-radius: 14px !important;
	}

	.ls-btn-auth {
		width: 100% !important;
		height: 48px !important;
		font-size: 14.5px !important;
	}

	.ls-account-perks-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
}

/* ==========================================================================
   PANTALLAS EXTRA PEQUEÑAS (SMARTPHONES <= 480px)
   ========================================================================== */
@media (max-width: 480px) {
	.ls-checkout-steps-bar {
		padding: 6px 10px !important;
		gap: 6px !important;
	}

	.ls-step-item {
		font-size: 10.5px !important;
		gap: 4px !important;
	}

	.ls-step-divider {
		max-width: 10px !important;
	}

	.ls-cart-table tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 60px 1fr auto !important;
		column-gap: 10px !important;
	}

	.ls-cart-table td.product-thumbnail,
	.ls-cart-table td.product-thumbnail img,
	.ls-cart-table td.product-thumbnail a img {
		width: 60px !important;
		height: 60px !important;
		min-width: 60px !important;
		min-height: 60px !important;
	}

	.ls-cart-table td.product-subtotal {
		font-size: 14.5px !important;
	}

	.ls-cart-table td.product-name a.ls-cart-prod-link {
		font-size: 12.5px !important;
	}
}

@media (max-width: 575px) {
	.ls-account-header {
		flex-direction: column;
		align-items: stretch;
		padding: 20px 16px;
	}

	.ls-account-user-card {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}

	.ls-account-welcome-tag {
		align-self: center;
	}

	.ls-account-actions .ls-btn-outline-sm {
		width: 100%;
		justify-content: center;
	}

	.ls-form-grid-2 {
		grid-template-columns: 1fr;
	}

	.ls-order-view-summary-card {
		flex-direction: column;
		align-items: flex-start;
	}

	.ls-highlight-box {
		flex-direction: column;
	}

	.ls-order-highlights-grid {
		grid-template-columns: 1fr;
	}
	.ls-catalog-hero {
		padding: 24px 18px;
		border-radius: 16px;
		margin-bottom: 20px;
	}

	.ls-catalog-title {
		font-size: 22px;
	}

	.ls-catalog-desc {
		font-size: 13px;
	}

	.ls-subcats-bar {
		margin-top: 16px;
		padding-top: 14px;
	}

	.ls-catalog-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.ls-toolbar-sort select {
		width: 100%;
	}

	.ls-single-title {
		font-size: 22px;
	}

	.ls-single-price-amount .woocommerce-Price-amount {
		font-size: 26px;
	}

	.ls-single-cart-form {
		flex-direction: column;
		align-items: stretch;
	}

	.ls-single-stepper {
		width: 100%;
		justify-content: center;
	}

	.ls-single-stepper .ls-cart-qty-btn {
		flex: 1;
	}

	.ls-single-btn-add {
		width: 100%;
	}

	.ls-tabs-content {
		padding: 20px 16px;
	}

	.ls-tab-btn {
		padding: 12px 16px;
		font-size: 13px;
	}

	.ls-blog-grid--archive {
		grid-template-columns: 1fr;
	}

	.ls-blog-title,
	.ls-post-title {
		font-size: 24px;
	}

	.ls-post-cta-box {
		flex-direction: column;
		padding: 20px;
	}

	.ls-post-cta-actions {
		width: 100%;
	}

	.ls-post-cta-actions .ls-btn {
		width: 100%;
		justify-content: center;
	}

	.ls-404-card {
		padding: 36px 20px;
	}

	.ls-404-num {
		font-size: 72px;
	}

	.woocommerce-cart table.shop_table,
	.woocommerce-checkout table.shop_table {
		font-size: 13px;
	}
}

/* ==========================================================================
   PÁGINA DE CONTACTO (PAGE-CONTACTO.PHP)
   ========================================================================== */
.ls-contact-hero {
	padding: 40px 0 32px;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	border-bottom: 1px solid #E2E8F0;
}

.ls-contact-hero-inner {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 36px;
}

.ls-contact-title {
	font-size: 34px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 12px 0 10px;
}

.ls-contact-subtitle {
	font-size: 15px;
	color: #64748B;
	line-height: 1.6;
	margin: 0;
}

.ls-contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ls-contact-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 20px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.ls-contact-card:hover:not(.ls-contact-card--static) {
	transform: translateY(-3px);
	border-color: var(--ls-blue);
	box-shadow: 0 8px 24px rgba(8, 142, 215, 0.12);
}

.ls-contact-card--wa:hover {
	border-color: #25D366;
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.15);
}

.ls-contact-card-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-contact-card-icon--phone {
	background: #EFF6FF;
	color: var(--ls-blue);
}

.ls-contact-card-icon--wa {
	background: #DCFCE7;
	color: #16A34A;
}

.ls-contact-card-icon--email {
	background: #F3E8FF;
	color: #9333EA;
}

.ls-contact-card-icon--clock {
	background: #FEF3C7;
	color: #D97706;
}

.ls-contact-card-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ls-contact-card-label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748B;
	margin-bottom: 2px;
}

.ls-contact-card-val {
	font-size: 15px;
	font-weight: 800;
	color: #0F172A;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ls-contact-card-sub {
	font-size: 11.5px;
	color: #94A3B8;
	margin-top: 2px;
}

/* Sección de Formulario + Ubicación */
.ls-contact-main-grid-section {
	padding: 50px 0 60px;
	background: #FFFFFF;
}

.ls-contact-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: start;
}

.ls-contact-form-box {
	background: #FAFBFD;
	border: 1px solid #E2E8F0;
	border-radius: 20px;
	padding: 36px 32px;
}

.ls-form-head {
	margin-bottom: 24px;
}

.ls-form-title {
	font-size: 24px;
	font-weight: 800;
	color: #0F172A;
	margin: 8px 0 6px;
}

.ls-form-desc {
	font-size: 14px;
	color: #64748B;
	margin: 0;
	line-height: 1.5;
}

.ls-styled-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ls-form-row--2cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ls-field-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ls-field-label {
	font-size: 13px;
	font-weight: 700;
	color: #334155;
}

.ls-req {
	color: #EF4444;
}

.ls-field-input,
.ls-field-select,
.ls-field-textarea {
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	padding: 11px 14px;
	font-size: 14px;
	color: #0F172A;
	background: #FFFFFF;
	outline: none;
	font-family: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ls-field-input:focus,
.ls-field-select:focus,
.ls-field-textarea:focus {
	border-color: var(--ls-blue);
	box-shadow: 0 0 0 3px rgba(8, 142, 215, 0.15);
}

.ls-field-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 12.5px;
	color: #64748B;
	line-height: 1.45;
	margin: 4px 0 8px;
}

.ls-field-checkbox input[type="checkbox"] {
	margin-top: 3px;
	accent-color: var(--ls-blue);
}

.ls-field-checkbox a {
	color: var(--ls-blue);
	text-decoration: underline;
}

.ls-btn-submit {
	align-self: flex-start;
	padding: 13px 28px;
	font-size: 15px;
	font-weight: 800;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(8, 142, 215, 0.35);
	cursor: pointer;
}

/* Alertas de contacto */
.ls-alert {
	padding: 14px 18px;
	border-radius: 12px;
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13.5px;
}

.ls-alert--success {
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	color: #065F46;
}

.ls-alert--error {
	background: #FEF2F2;
	border: 1px solid #FECACA;
	color: #991B1B;
}

.ls-alert p {
	margin: 2px 0 0;
}

/* Tarjeta de Tienda y Mapa */
.ls-store-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 8px 30px rgba(15, 23, 42, 0.05);
}

.ls-store-card-header {
	margin-bottom: 20px;
}

.ls-store-title {
	font-size: 20px;
	font-weight: 800;
	color: #0F172A;
	margin: 8px 0 8px;
}

.ls-store-address {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	color: #475569;
	line-height: 1.45;
	margin: 0;
}

.ls-store-address svg {
	color: var(--ls-blue);
	flex-shrink: 0;
	margin-top: 2px;
}

.ls-store-highlights {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px;
	padding: 14px;
	background: #F8FAFC;
	border-radius: 12px;
}

.ls-store-perk {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 600;
	color: #1E293B;
}

.ls-map-wrap {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #E2E8F0;
	margin-bottom: 20px;
}

.ls-store-card-footer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.ls-btn-directions,
.ls-btn-tour {
	justify-content: center;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 700;
	border-radius: 10px;
}

/* FAQ de Contacto */
.ls-contact-faq-section {
	padding: 50px 0 70px;
	background: #F8FAFC;
	border-top: 1px solid #E2E8F0;
}

.ls-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 28px;
}

.ls-faq-item {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	overflow: hidden;
	transition: all 0.2s ease;
}

.ls-faq-item[open] {
	border-color: #CBD5E1;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

.ls-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	font-size: 15px;
	font-weight: 700;
	color: #0F172A;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.ls-faq-question::-webkit-details-marker {
	display: none;
}

.ls-faq-question svg {
	color: #64748B;
	transition: transform 0.25s ease;
	flex-shrink: 0;
}

.ls-faq-item[open] .ls-faq-question svg {
	transform: rotate(180deg);
	color: var(--ls-blue);
}

.ls-faq-answer {
	padding: 0 22px 20px;
	font-size: 14px;
	color: #475569;
	line-height: 1.6;
}

.ls-faq-answer p {
	margin: 0;
}

/* ==========================================================================
   PÁGINA SOBRE NOSOTROS (PAGE-SOBRE-NOSOTROS.PHP)
   ========================================================================== */
.ls-about-hero {
	padding: 48px 0 40px;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	border-bottom: 1px solid #E2E8F0;
}

.ls-about-hero-content {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 40px;
}

.ls-about-hero-title {
	font-size: 36px;
	font-weight: 800;
	color: #0F172A;
	line-height: 1.25;
	letter-spacing: -0.02em;
	margin: 12px 0 14px;
}

.ls-about-hero-lead {
	font-size: 16px;
	color: #475569;
	line-height: 1.65;
	margin: 0;
}

.ls-about-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ls-stat-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 24px 20px;
	text-align: center;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.ls-stat-number {
	display: block;
	font-size: 34px;
	font-weight: 900;
	color: var(--ls-blue);
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 6px;
}

.ls-stat-label {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #0F172A;
	margin-bottom: 4px;
}

.ls-stat-sub {
	display: block;
	font-size: 12px;
	color: #94A3B8;
}

.ls-about-values-section {
	padding: 64px 0;
	background: #FFFFFF;
}

.ls-values-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-top: 36px;
}

.ls-value-card {
	background: #FAFBFD;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
}

.ls-value-card:hover {
	transform: translateY(-4px);
	border-color: #CBD5E1;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.ls-value-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #EBF5FB;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.ls-value-card h3 {
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 10px;
}

.ls-value-card p {
	font-size: 13.5px;
	color: #64748B;
	line-height: 1.6;
	margin: 0;
}

.ls-about-store-section {
	padding: 60px 0;
	background: #F8FAFC;
}

.ls-about-store-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 24px;
	padding: 44px;
	box-shadow: 0 12px 35px rgba(15, 23, 42, 0.05);
}

.ls-about-store-text h2 {
	font-size: 28px;
	font-weight: 800;
	color: #0F172A;
	line-height: 1.3;
	letter-spacing: -0.02em;
	margin: 10px 0 14px;
}

.ls-about-store-text p {
	font-size: 15px;
	color: #475569;
	line-height: 1.65;
	margin: 0 0 28px;
}

.ls-about-store-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.ls-about-store-media {
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(15, 23, 42, 0.08);
}

.ls-about-store-media img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.ls-about-b2b-section {
	padding: 50px 0 70px;
	background: #FFFFFF;
}

/* ==========================================================================
   PÁGINA VISITA VIRTUAL 360° (PAGE-VISITA-VIRTUAL.PHP)
   ========================================================================== */
.ls-tour-hero {
	padding: 40px 0 50px;
	background: #FFFFFF;
}

.ls-tour-hero-content {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 32px;
}

.ls-tour-title {
	font-size: 34px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 12px 0 10px;
}

.ls-tour-subtitle {
	font-size: 15px;
	color: #64748B;
	line-height: 1.6;
	margin: 0;
}

.ls-tour-viewer-card {
	background: #0F172A;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 16px 45px rgba(15, 23, 42, 0.2);
}

.ls-tour-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px;
	background: #1E293B;
	border-bottom: 1px solid #334155;
	color: #E2E8F0;
	font-size: 13px;
}

.ls-tour-tip {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #94A3B8;
}

.ls-tour-fullscreen-btn {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #FFFFFF;
	padding: 6px 14px;
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
}

.ls-tour-fullscreen-btn:hover {
	background: var(--ls-blue);
	border-color: var(--ls-blue);
}

.ls-tour-iframe-wrap {
	width: 100%;
	height: 70vh;
	min-height: 520px;
	position: relative;
	background: #0F172A;
}

.ls-tour-iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.ls-tour-departments-section {
	padding: 60px 0;
	background: #F8FAFC;
}

.ls-tour-depts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 36px;
}

.ls-tour-dept-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-dept-card-icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #EBF5FB;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.ls-tour-dept-card h3 {
	font-size: 17px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 8px;
}

.ls-tour-dept-card p {
	font-size: 13.5px;
	color: #64748B;
	line-height: 1.55;
	margin: 0 0 16px;
	flex-grow: 1;
}

.ls-dept-link {
	font-size: 13px;
	font-weight: 700;
	color: var(--ls-blue);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ls-dept-link:hover {
	color: var(--ls-blue-dark);
}

.ls-tour-cta-section {
	padding: 0 0 60px;
	background: #F8FAFC;
}

/* ==========================================================================
   MEDIA QUERIES PARA PÁGINAS ESPECIALES
   ========================================================================== */
@media (max-width: 991px) {
	.ls-contact-cards-grid,
	.ls-about-stats-grid,
	.ls-values-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ls-contact-layout,
	.ls-about-store-card {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ls-tour-depts-grid {
		grid-template-columns: 1fr;
	}

	.ls-tour-iframe-wrap {
		height: 55vh;
		min-height: 420px;
	}
}

@media (max-width: 575px) {
	.ls-contact-cards-grid,
	.ls-about-stats-grid,
	.ls-values-grid {
		grid-template-columns: 1fr;
	}

	.ls-form-row--2cols {
		grid-template-columns: 1fr;
	}

	.ls-store-card-footer {
		grid-template-columns: 1fr;
	}

	.ls-about-store-card {
		padding: 24px 18px;
	}

	.ls-about-hero-title,
	.ls-contact-title,
	.ls-tour-title {
		font-size: 26px;
	}

	.ls-contact-form-box {
		padding: 24px 18px;
	}

	.ls-btn-submit {
		width: 100%;
		justify-content: center;
	}

	.ls-tour-iframe-wrap {
		height: 45vh;
		min-height: 340px;
	}
}


/* ==========================================================================
   MEJORAS DE MAQUETADO Y DISEÑO: CATÁLOGO, CHECKOUT, CUENTA Y LEGAL
   ========================================================================== */

/* 1. Catálogo: Layout 2 Columnas con Sidebar y Drawer Mobile */
.ls-catalog-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 50px;
}

.ls-catalog-sidebar {
	position: sticky;
	top: 90px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 24px 20px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-sidebar-header-mobile {
	display: none;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 16px;
	margin-bottom: 20px;
	border-bottom: 1px solid #E2E8F0;
}

.ls-sidebar-header-mobile h3 {
	font-size: 18px;
	font-weight: 800;
	color: #0F172A;
	margin: 0;
}

.ls-sidebar-close-btn {
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #64748B;
	cursor: pointer;
	padding: 4px;
}

.ls-filter-widget {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-filter-widget:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.ls-filter-widget-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #0F172A;
	margin-bottom: 14px;
}

.ls-filter-widget-title svg {
	color: var(--ls-blue);
}

.ls-category-tree {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ls-cat-tree-item a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 600;
	color: #475569;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-cat-tree-item a:hover {
	background: #F1F5F9;
	color: var(--ls-blue);
}

.ls-cat-tree-item.is-active a,
.ls-cat-tree-item.is-current a {
	background: #EBF5FB;
	color: var(--ls-blue);
	font-weight: 700;
}

.ls-cat-tree-icon {
	color: #64748B;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.ls-cat-tree-item.is-active .ls-cat-tree-icon {
	color: var(--ls-blue);
}

.ls-cat-tree-name {
	flex-grow: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ls-cat-tree-count {
	font-size: 11px;
	font-weight: 700;
	background: #E2E8F0;
	color: #475569;
	padding: 2px 7px;
	border-radius: 10px;
}

.ls-cat-tree-item.is-active .ls-cat-tree-count {
	background: var(--ls-blue);
	color: #FFFFFF;
}

.ls-filter-stock-box {
	background: #F0FDF4;
	border: 1px solid #DCFCE7;
	border-radius: 12px;
	padding: 12px 14px;
}

.ls-stock-status-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #166534;
	margin-bottom: 4px;
}

.ls-stock-sub {
	font-size: 11.5px;
	color: #15803D;
	line-height: 1.45;
	margin: 0;
}

.ls-filter-widget--help {
	background: linear-gradient(135deg, #F8FAFC 0%, #EFF6FF 100%);
	border: 1px solid #DBEAFE;
	border-radius: 14px;
	padding: 16px;
	margin-top: 10px;
}

.ls-help-box-content {
	text-align: center;
}

.ls-help-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ls-blue);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 10px;
}

.ls-help-box-content h4 {
	font-size: 14px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px;
}

.ls-help-box-content p {
	font-size: 12px;
	color: #64748B;
	line-height: 1.45;
	margin: 0 0 12px;
}

.ls-btn-wa-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 9px 12px;
	background: #25D366;
	color: #FFFFFF;
	border-radius: 10px;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease;
}

.ls-btn-wa-sm:hover {
	background: #1EBE5D;
}

/* Toolbar de Catálogo */
.ls-toolbar-left {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ls-btn-filter-trigger {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	color: #0F172A;
	cursor: pointer;
}

/* 2. Barra de Pasos de Checkout y Carrito */
.ls-checkout-steps-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	max-width: 600px;
	margin: 0 auto 36px;
	padding: 12px 24px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 50px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-step-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #94A3B8;
}

.ls-step-number {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #E2E8F0;
	color: #475569;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-step-item.is-active {
	color: var(--ls-blue);
	font-weight: 800;
}

.ls-step-item.is-active .ls-step-number {
	background: var(--ls-blue);
	color: #FFFFFF;
}

.ls-step-item.is-done {
	color: #10B981;
	font-weight: 700;
}

.ls-step-item.is-done .ls-step-number {
	background: #10B981;
	color: #FFFFFF;
}

.ls-step-divider {
	flex-grow: 1;
	height: 2px;
	background: #E2E8F0;
	max-width: 40px;
}

.ls-step-divider.is-done {
	background: #10B981;
}

/* Cabeceras de Carrito y Checkout */
.ls-cart-header,
.ls-checkout-header {
	margin-bottom: 28px;
}

.ls-checkout-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.ls-secure-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	background: #ECFDF5;
	border: 1px solid #A7F3D0;
	color: #065F46;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 8px;
}

.ls-cart-title,
.ls-checkout-title {
	font-size: 30px;
	font-weight: 800;
	color: #0F172A;
	letter-spacing: -0.02em;
	margin: 0 0 6px;
}

.ls-cart-subtitle,
.ls-checkout-subtitle {
	font-size: 14.5px;
	color: #64748B;
	margin: 0;
}

.ls-checkout-help-callout {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 18px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.ls-callout-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #EFF6FF;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-checkout-help-callout span {
	display: block;
	font-size: 11.5px;
	color: #64748B;
}

.ls-checkout-help-callout strong {
	display: block;
	font-size: 14px;
	color: #0F172A;
}

.ls-cart-trust-bar {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 20px;
	padding-top: 30px;
	border-top: 1px solid #E2E8F0;
}

.ls-cart-trust-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
}

.ls-cart-trust-item strong {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #0F172A;
	margin-bottom: 2px;
}

.ls-cart-trust-item span {
	font-size: 12px;
	color: #64748B;
	line-height: 1.45;
}

/* 3. Panel de Mi Cuenta */
.ls-account-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 28px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 20px;
	margin-bottom: 30px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-account-header--guest {
	text-align: center;
	display: block;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	padding: 36px 20px;
}

.ls-account-user-card {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ls-account-avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ls-blue) 0%, #00796B 100%);
	color: #FFFFFF;
	font-size: 22px;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-account-welcome-tag {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ls-blue);
}

.ls-account-name {
	font-size: 24px;
	font-weight: 800;
	color: #0F172A;
	margin: 2px 0;
}

.ls-account-email {
	font-size: 13px;
	color: #64748B;
	margin: 0;
}

.ls-account-perks-section {
	margin-top: 50px;
	padding-top: 40px;
	border-top: 1px solid #E2E8F0;
}

.ls-account-perks-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 24px;
}

.ls-account-perk-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 24px 20px;
	text-align: center;
}

.ls-account-perk-card .ls-perk-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #EFF6FF;
	color: var(--ls-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
}

.ls-account-perk-card h3 {
	font-size: 16px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px;
}

.ls-account-perk-card p {
	font-size: 13px;
	color: #64748B;
	line-height: 1.5;
	margin: 0;
}

/* 4. Páginas Legales y Documentación */
.ls-page-legal .ls-page-hero {
	padding: 36px 0 28px;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	border-bottom: 1px solid #E2E8F0;
	margin-bottom: 40px;
}

.ls-legal-meta-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	font-size: 13px;
	color: #64748B;
	flex-wrap: wrap;
}

.ls-legal-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ls-legal-meta-sep {
	color: #CBD5E1;
}

.ls-legal-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
	margin-bottom: 60px;
}

.ls-legal-sidebar {
	position: sticky;
	top: 90px;
}

.ls-legal-nav-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 24px 20px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
}

.ls-legal-nav-title {
	font-size: 13.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #0F172A;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-legal-nav-list {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ls-legal-nav-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 600;
	color: #475569;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-legal-nav-list a:hover {
	background: #F1F5F9;
	color: var(--ls-blue);
}

.ls-legal-nav-list li.is-active a {
	background: #EBF5FB;
	color: var(--ls-blue);
	font-weight: 700;
}

.ls-legal-entity-box {
	background: #F8FAFC;
	border-radius: 12px;
	padding: 14px;
	font-size: 12px;
	color: #64748B;
	line-height: 1.5;
}

.ls-legal-entity-box h4,
.ls-legal-entity-box .ls-legal-entity-title {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	color: #0F172A;
	margin: 0 0 6px;
}

.ls-legal-entity-box p {
	margin: 0;
}

.ls-legal-prose h2 {
	border-left: 3px solid var(--ls-blue);
	padding-left: 12px;
}

/* Media Queries para nuevos bloques */
@media (max-width: 991px) {
	.ls-catalog-layout {
		grid-template-columns: 1fr;
	}

	.ls-catalog-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 320px;
		height: 100vh;
		z-index: 99999;
		overflow-y: auto;
		border-radius: 0;
		box-shadow: 10px 0 30px rgba(0,0,0,0.25);
		transform: translateX(-100%);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.ls-catalog-sidebar.is-open {
		transform: translateX(0);
	}

	.ls-sidebar-header-mobile {
		display: flex;
	}

	.ls-btn-filter-trigger {
		display: inline-flex;
	}

	.woocommerce-cart .woocommerce,
	form.checkout,
	.ls-legal-layout {
		grid-template-columns: 1fr !important;
	}

	.ls-legal-sidebar {
		position: static;
	}

	.ls-cart-trust-bar,
	.ls-account-perks-grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   CABECERA SEO DE TIENDA Y ACORDEÓN DE SUBCATEGORÍAS EN SIDEBAR
   ========================================================================== */

/* Layout de la Cabecera Hero en 2 Columnas */
.ls-catalog-hero-grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 36px;
	align-items: start;
}

.ls-catalog-hero-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ls-catalog-eyebrow-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #FFFFFF;
	border: 1px solid #DBEAFE;
	color: var(--ls-blue);
	font-size: 12px;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 20px;
	width: fit-content;
}

/* Bloque de Contenido SEO Posicionable */
.ls-catalog-seo-box {
	margin-top: 10px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 16px 20px;
	position: relative;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.02);
}

.ls-catalog-seo-content {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.65;
	max-height: 80px;
	overflow: hidden;
	transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
}

.ls-catalog-seo-content::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 38px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #FFFFFF 100%);
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.ls-catalog-seo-box.is-expanded .ls-catalog-seo-content {
	max-height: 1000px;
}

.ls-catalog-seo-box.is-expanded .ls-catalog-seo-content::after {
	opacity: 0;
}

.ls-catalog-seo-content p {
	margin: 0 0 10px;
}

.ls-catalog-seo-content p:last-child {
	margin-bottom: 0;
}

.ls-seo-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	padding: 6px 0 0;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ls-blue);
	cursor: pointer;
	margin-top: 6px;
	transition: color 0.2s ease;
}

.ls-seo-toggle-btn:hover {
	color: var(--ls-blue-dark);
}

.ls-seo-toggle-btn svg {
	transition: transform 0.25s ease;
}

.ls-catalog-seo-box.is-expanded .ls-seo-toggle-btn svg {
	transform: rotate(180deg);
}

/* Tarjeta Lateral de Confianza y Compromiso en Cabecera */
.ls-catalog-hero-trust {
	display: flex;
	flex-direction: column;
}

.ls-catalog-trust-panel {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 18px;
	padding: 20px 22px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.ls-trust-panel-head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #0F172A;
	padding-bottom: 12px;
	border-bottom: 1px solid #F1F5F9;
}

.ls-trust-panel-list {
	list-style: none;
	margin: 14px 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ls-trust-panel-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.ls-trust-item-icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ls-trust-item-icon--blue {
	background: #EFF6FF;
	color: var(--ls-blue);
}

.ls-trust-item-icon--green {
	background: #ECFDF5;
	color: #10B981;
}

.ls-trust-item-icon--purple {
	background: #F5F3FF;
	color: #8B5CF6;
}

.ls-trust-item-icon--amber {
	background: #FFFBEB;
	color: #F59E0B;
}

.ls-trust-panel-item strong {
	display: block;
	font-size: 12.5px;
	font-weight: 800;
	color: #0F172A;
	line-height: 1.3;
}

.ls-trust-panel-item span {
	display: block;
	font-size: 11px;
	color: #64748B;
	line-height: 1.35;
}

.ls-trust-panel-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 14px;
	background: #F0FDF4;
	border: 1px solid #BBF7D0;
	color: #166534;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	margin-top: 14px;
	transition: all 0.2s ease;
}

.ls-trust-panel-cta:hover {
	background: #25D366;
	border-color: #25D366;
	color: #FFFFFF;
}

/* Acordeón de Subcategorías en la Barra Lateral */
.ls-cat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 10px;
	transition: background 0.2s ease;
}

.ls-cat-row:hover {
	background: #F8FAFC;
}

.ls-cat-row-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	flex-grow: 1;
	min-width: 0;
	text-decoration: none;
	color: #334155;
	font-size: 13.5px;
	font-weight: 600;
	transition: color 0.2s ease;
}

.ls-cat-row-link:hover {
	color: var(--ls-blue);
}

.ls-cat-tree-item.is-current > .ls-cat-row,
.ls-cat-tree-item.is-current > .ls-cat-row .ls-cat-row-link {
	color: var(--ls-blue);
	font-weight: 700;
}

.ls-cat-tree-item.is-current > .ls-cat-row {
	background: #EBF5FB;
}

.ls-subcat-toggle-btn {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-radius: 8px;
	color: #94A3B8;
	cursor: pointer;
	transition: all 0.2s ease;
	flex-shrink: 0;
	margin-right: 4px;
}

.ls-subcat-toggle-btn:hover {
	background: #E2E8F0;
	color: #0F172A;
}

.ls-cat-tree-item.is-open > .ls-cat-row .ls-subcat-toggle-btn svg {
	transform: rotate(180deg);
	color: var(--ls-blue);
}

/* Subárbol de Subcategorías Anidadas */
.ls-subcat-tree {
	list-style: none;
	margin: 4px 0 8px 22px;
	padding: 0 0 0 10px;
	border-left: 2px solid #E2E8F0;
	display: none;
	flex-direction: column;
	gap: 3px;
}

.ls-subcat-tree.is-open {
	display: flex;
}

.ls-subcat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 10px;
	border-radius: 8px;
	font-size: 12.5px;
	color: #64748B;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ls-subcat-link:hover {
	color: var(--ls-blue);
	background: #F1F5F9;
}

.ls-subcat-tree-item.is-current .ls-subcat-link {
	color: var(--ls-blue);
	font-weight: 700;
	background: #EBF5FB;
}

.ls-subcat-bullet {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #CBD5E1;
	margin-right: 8px;
	flex-shrink: 0;
}

.ls-subcat-tree-item.is-current .ls-subcat-bullet {
	background: var(--ls-blue);
}

.ls-subcat-name {
	flex-grow: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ls-subcat-count {
	font-size: 10.5px;
	font-weight: 700;
	background: #E2E8F0;
	color: #475569;
	padding: 1px 6px;
	border-radius: 8px;
}

.ls-subcat-tree-item.is-current .ls-subcat-count {
	background: var(--ls-blue);
	color: #FFFFFF;
}

/* Responsive para Cabecera SEO */
@media (max-width: 991px) {
	.ls-catalog-hero-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ls-catalog-hero {
		padding: 24px 20px;
	}
}
