/**
 * Portada Alsaro — misma jerarquía y tokens que 25. Alsaro/index.html (bloque <style> ~L18–158).
 * Alcance: solo bajo body.alsaro-home-page (Ajustes → portada estática).
 */

body.alsaro-home-page {
	background: #f4f6f8;
}

.alsaro-home-page {
	--blue: #1a5ea7;
	--blue-dk: #134d8e;
	--blue-lt: #e8f0fb;
	--green: #17a84a;
	--green-lt: #e6f7ec;
	--orange: #e8500a;
	--yellow: #f5a623;
	--g50: #f9fafb;
	--g100: #f4f6f8;
	--g200: #e8edf2;
	--g300: #cbd5e0;
	--g500: #718096;
	--g700: #4a5568;
	--dark: #1c2b3a;
	--white: #fff;
	--r: 8px;
	--r2: 12px;
	--sh1: 0 1px 3px rgba(0, 0, 0, 0.08);
	--sh2: 0 4px 14px rgba(0, 0, 0, 0.11);
	--sh3: 0 8px 28px rgba(0, 0, 0, 0.13);
	color: var(--dark);
}

/* ── LAYOUT (prototipo) ── */
.alsaro-home-page .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Cabecera con migas (como contacto / tienda) */
.alsaro-home-page .page-hdr {
	background: #fff;
	border-bottom: 1px solid var(--g200);
	padding: 20px 0;
	position: relative;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.alsaro-home-page .breadcrumb {
	font-size: 13px;
	color: var(--g500);
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.alsaro-home-page .breadcrumb a {
	color: var(--g500);
	text-decoration: none;
}

.alsaro-home-page .breadcrumb a:hover {
	color: var(--blue);
}

.alsaro-home-page .breadcrumb .sep {
	color: var(--g200);
}

.alsaro-home-page .breadcrumb .cur {
	color: var(--dark);
	font-weight: 500;
}

.alsaro-home-page .section {
	padding: 60px 0;
}
.alsaro-home-page .section.bg-white {
	background: #fff;
}
.alsaro-home-page .section.bg-light {
	background: var(--g100);
}

/* ── HERO ── */
.alsaro-home-page .hero {
	background: linear-gradient(135deg, #ebf2fb 0%, #f0f7ff 45%, #e8f5ee 100%);
	padding: 72px 0 64px;
	border-bottom: 1px solid var(--g200);
}
.alsaro-home-page .hero-inner {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 40px;
	align-items: center;
}

/*
 * Hero con layout en Elementor: contenedor padre clase «alsaro-el-hero-shell» y dos widgets hijos en .e-con-inner.
 */
.alsaro-home-page .alsaro-el-hero-shell {
	background: linear-gradient(135deg, #ebf2fb 0%, #f0f7ff 45%, #e8f5ee 100%);
	padding: 72px 0 64px;
	border-bottom: 1px solid var(--g200);
	box-sizing: border-box;
	width: 100%;
}
.alsaro-home-page .alsaro-el-hero-shell > .e-con-inner {
	box-sizing: border-box;
	max-width: 1200px;
	width: 100%;
	margin-inline: auto;
	padding-inline: 24px;
	display: grid;
	grid-template-columns: 1fr minmax(260px, 420px);
	gap: 40px;
	align-items: center;
}

.alsaro-home-page .hero-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--blue-lt);
	color: var(--blue);
	padding: 4px 12px;
	border-radius: 50px;
	margin-bottom: 18px;
}
.alsaro-home-page .hero-content h1 {
	margin-bottom: 14px;
}
.alsaro-home-page .hero-content h1 span {
	color: var(--blue);
}
.alsaro-home-page .hero-content p {
	color: var(--g700);
	margin-bottom: 30px;
}
.alsaro-home-page .hero-ctas {
	display: flex;
	gap: 12px;
	align-items: center;
}
.alsaro-home-page .btn-primary {
	background: var(--blue);
	color: #fff;
	padding: 13px 26px;
	border-radius: var(--r);
	font-weight: 700;
	font-size: 15px;
	border: none;
	cursor: pointer;
	transition: 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}
.alsaro-home-page .btn-primary:hover {
	background: var(--blue-dk);
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(26, 94, 167, 0.35);
}
.alsaro-home-page .btn-outline {
	background: #fff;
	color: var(--blue);
	padding: 12px 22px;
	border-radius: var(--r);
	font-weight: 600;
	font-size: 15px;
	border: 2px solid var(--blue);
	cursor: pointer;
	transition: 0.2s;
	text-decoration: none;
}
.alsaro-home-page .btn-outline:hover {
	background: var(--blue-lt);
}

/* Hero visual — refuerzo dentro de Elementor (.elementor-widget-container puede comprimir el grid) */
.alsaro-home-page .alsaro-hero-cards-root,
.alsaro-home-page .alsaro-hero-cards-root .elementor-widget-container {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
.alsaro-home-page .alsaro-hero-visual-root,
.alsaro-home-page .alsaro-hero-cards-root .hero-visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.alsaro-home-page .alsaro-hero-cards-root .hero-card {
	min-width: 0;
	box-sizing: border-box;
}
.alsaro-home-page .alsaro-hero-cards-root .hero-card .hc-icon {
	display: block;
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}

/* Hero visual */
.alsaro-home-page .hero-visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.alsaro-home-page .hero-card {
	background: #fff;
	border-radius: var(--r2);
	padding: 16px;
	box-shadow: var(--sh2);
	border: 1px solid var(--g200);
}
.alsaro-home-page .hero-card .hc-icon {
	font-size: 32px;
	margin-bottom: 8px;
}
.alsaro-home-page .hero-card .hc-name {
	font-size: 13px;
	font-weight: 600;
	color: var(--dark);
}
.alsaro-home-page .hero-card .hc-price {
	font-size: 16px;
	font-weight: 700;
	color: var(--blue);
	margin-top: 2px;
}
.alsaro-home-page .hero-card .hc-badge {
	display: inline-block;
	background: var(--orange);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 50px;
	margin-top: 6px;
}

/* ── TRUST BAR ── */
.alsaro-home-page .trust-bar {
	background: #fff;
	border-bottom: 1px solid var(--g200);
	padding: 16px 0;
}
.alsaro-home-page .trust-items {
	display: flex;
	justify-content: center;
	gap: 48px;
}
.alsaro-home-page .trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--g700);
}
.alsaro-home-page .trust-icon {
	width: 38px;
	height: 38px;
	background: var(--blue-lt);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}
.alsaro-home-page .trust-item strong {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--dark);
}

/* ── SECTION TITLE ── */
.alsaro-home-page .sec-title,
.alsaro-home-page .alsaro-title-duo {
	text-align: center;
	margin-bottom: 36px;
}

.alsaro-home-page .alsaro-title-duo h2 {
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	color: var(--dark);
	margin: 0;
}

.alsaro-home-page .alsaro-title-duo h2 p {
	display: inline;
	margin: 0;
	color: inherit;
}

.alsaro-home-page .sec-title h2 span,
.alsaro-home-page .alsaro-title-duo h2 span {
	color: var(--blue);
}

.alsaro-home-page .alsaro-title-duo > p {
	color: var(--g500);
	font-size: 15px;
	margin-top: 6px;
}

body.alsaro-line-ortopedicos.alsaro-home-page .sec-title h2 span,
body.alsaro-line-ortopedicos.alsaro-home-page .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

body.alsaro-line-hospitalario.alsaro-home-page .sec-title h2 span,
body.alsaro-line-hospitalario.alsaro-home-page .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

body.alsaro-line-mas-vendidos.alsaro-home-page .sec-title h2 span,
body.alsaro-line-mas-vendidos.alsaro-home-page .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

body.alsaro-nav-v2.alsaro-line-hospitalario:not(.alsaro-header-is-scrolled) {
	--brand: var(--line-brand);
	--brand-dk: var(--line-brand-dark);
	--brand-lt: var(--line-brand-light);
}

/* ── CATEGORIES ── */
.alsaro-home-page .cats-grid {
	display: flex;
	justify-content: center;
	gap: 16px;
}
.alsaro-home-page .cat-card {
	width: 24%;
	background-color: #fff;
	border: 1.5px solid var(--g200);
	border-radius: var(--r2);
	padding: 28px 16px;
	text-align: center;
	cursor: pointer;
	transition: 0.25s;
	text-decoration: none;
	color: inherit;
	display: block;
	box-sizing: border-box;
}
.alsaro-home-page .cat-card:hover {
	border-color: var(--blue);
	box-shadow: var(--sh2);
	transform: translateY(-2px);
}
.alsaro-home-page .cat-icon {
	width: 64px;
	height: 64px;
	background: var(--blue-lt);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
	font-size: 28px;
}
.alsaro-home-page .cat-card h3 {
	font-size: 15px;
	font-weight: 600;
	color: var(--dark);
}
.alsaro-home-page .cat-card p {
	font-size: 12px;
	color: var(--g500);
	margin-top: 4px;
}

/* ── CATEGORIES CAROUSEL (premium UX) ── */
.alsaro-home-page .alsaro-cats-section--carousel {
	padding-top: 56px;
	padding-bottom: 64px;
}

/* Landings de línea con cabecera fija (sin hero): más aire bajo el header */
body.alsaro-nav-v2.alsaro-home-page:not(.alsaro-nav-over-hero) .alsaro-cats-section--carousel {
	padding-top: 76px;
}

/* ── Línea Ortopédicos (#5aad86) ── */
body.alsaro-line-ortopedicos {
	--line-brand: #5aad86;
	--line-brand-dark: #47936f;
	--line-brand-light: #e8f5ef;
	--line-brand-soft: #f2faf6;
	--line-brand-glow: #74c4a4;
}

body.alsaro-nav-v2.alsaro-line-ortopedicos:not(.alsaro-header-is-scrolled) {
	--brand: var(--line-brand);
	--brand-dk: var(--line-brand-dark);
	--brand-lt: var(--line-brand-light);
}

body.alsaro-line-hospitalario {
	--line-brand: #3690b6;
	--line-brand-dark: #2a7899;
	--line-brand-light: #e8f3f8;
	--line-brand-soft: #f0f7fb;
	--line-brand-glow: #5ba8cc;
}

body.alsaro-line-mas-vendidos {
	--line-brand: #e8500a;
	--line-brand-dark: #c44509;
	--line-brand-light: #fff0e8;
	--line-brand-soft: #fff8f4;
	--line-brand-glow: #f07840;
}

body.alsaro-nav-v2.alsaro-line-mas-vendidos:not(.alsaro-header-is-scrolled) {
	--brand: var(--line-brand);
	--brand-dk: var(--line-brand-dark);
	--brand-lt: var(--line-brand-light);
}

.alsaro-home-page .section.bg-white.alsaro-cats-section--ortopedicos {
	background:
		radial-gradient(ellipse 90% 70% at 50% -8%, rgba(90, 173, 134, 0.18) 0%, transparent 62%),
		linear-gradient(180deg, var(--line-brand-soft) 0%, rgba(232, 245, 239, 0.55) 42%, #fff 100%);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos {
	background:
		radial-gradient(ellipse 90% 70% at 50% -8%, rgba(90, 173, 134, 0.18) 0%, transparent 62%),
		linear-gradient(180deg, var(--line-brand-soft) 0%, rgba(232, 245, 239, 0.55) 42%, #fff 100%);
	position: relative;
	overflow: hidden;
}

.alsaro-home-page .alsaro-cats-section--ortopedicos::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 92% 18%, rgba(116, 196, 164, 0.12) 0%, transparent 38%),
		radial-gradient(circle at 8% 82%, rgba(90, 173, 134, 0.08) 0%, transparent 34%);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos > .container {
	position: relative;
	z-index: 1;
}

.alsaro-home-page .alsaro-cats-section--ortopedicos::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .alsaro-cats-eyebrow,
.alsaro-home-page .alsaro-cats-section--ortopedicos .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .alsaro-cats-eyebrow::before {
	background: var(--line-brand);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card--premium {
	border: 1.5px solid rgba(90, 173, 134, 0.34);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card--premium:hover,
.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card--premium:focus-visible {
	border-color: var(--line-brand);
	box-shadow: 0 18px 40px rgba(90, 173, 134, 0.16);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card__visual {
	background:
		radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.98) 0%, transparent 45%),
		linear-gradient(155deg, var(--cat-tint, var(--line-brand-light)) 0%, #fff 88%);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card__badge {
	color: var(--line-brand-dark);
	border-color: rgba(90, 173, 134, 0.22);
	background: rgba(255, 255, 255, 0.94);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card--premium:hover .cat-card__action,
.alsaro-home-page .alsaro-cats-section--ortopedicos .cat-card--premium:focus-visible .cat-card__action {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .alsaro-cats-premium-head__controls .cats-carousel-btn:hover:not(:disabled) {
	background: var(--line-brand);
	border-color: var(--line-brand);
	box-shadow: 0 8px 22px rgba(90, 173, 134, 0.28);
}

.alsaro-home-page .alsaro-cats-section--ortopedicos .cats-carousel-progress__bar {
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

/* ── Línea Hospitalaria (carrusel categorías) ── */
.alsaro-home-page .section.bg-white.alsaro-cats-section--hospitalaria,
.alsaro-home-page .alsaro-cats-section--hospitalaria {
	background:
		radial-gradient(ellipse 90% 70% at 50% -8%, rgba(54, 144, 182, 0.18) 0%, transparent 62%),
		linear-gradient(180deg, var(--line-brand-soft) 0%, rgba(232, 243, 248, 0.55) 42%, #fff 100%);
	position: relative;
	overflow: hidden;
}

.alsaro-home-page .alsaro-cats-section--hospitalaria::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 92% 18%, rgba(91, 168, 204, 0.12) 0%, transparent 38%),
		radial-gradient(circle at 8% 82%, rgba(54, 144, 182, 0.08) 0%, transparent 34%);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria > .container {
	position: relative;
	z-index: 1;
}

.alsaro-home-page .alsaro-cats-section--hospitalaria::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .alsaro-cats-eyebrow,
.alsaro-home-page .alsaro-cats-section--hospitalaria .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .alsaro-cats-eyebrow::before {
	background: var(--line-brand);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card--premium {
	border: 1.5px solid rgba(54, 144, 182, 0.34);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card--premium:hover,
.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card--premium:focus-visible {
	border-color: var(--line-brand);
	box-shadow: 0 18px 40px rgba(54, 144, 182, 0.16);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card__visual {
	background:
		radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.98) 0%, transparent 45%),
		linear-gradient(155deg, var(--cat-tint, var(--line-brand-light)) 0%, #fff 88%);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card__badge {
	color: var(--line-brand-dark);
	border-color: rgba(54, 144, 182, 0.22);
	background: rgba(255, 255, 255, 0.94);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card--premium:hover .cat-card__action,
.alsaro-home-page .alsaro-cats-section--hospitalaria .cat-card--premium:focus-visible .cat-card__action {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .alsaro-cats-premium-head__controls .cats-carousel-btn:hover:not(:disabled) {
	background: var(--line-brand);
	border-color: var(--line-brand);
	box-shadow: 0 8px 22px rgba(54, 144, 182, 0.28);
}

.alsaro-home-page .alsaro-cats-section--hospitalaria .cats-carousel-progress__bar {
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

/* ── Más vendidos (carrusel categorías) ── */
.alsaro-home-page .section.bg-white.alsaro-cats-section--mas-vendidos,
.alsaro-home-page .alsaro-cats-section--mas-vendidos {
	background:
		radial-gradient(ellipse 90% 70% at 50% -8%, rgba(232, 80, 10, 0.16) 0%, transparent 62%),
		linear-gradient(180deg, var(--line-brand-soft) 0%, rgba(255, 240, 232, 0.55) 42%, #fff 100%);
	position: relative;
	overflow: hidden;
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 92% 18%, rgba(240, 120, 64, 0.12) 0%, transparent 38%),
		radial-gradient(circle at 8% 82%, rgba(232, 80, 10, 0.08) 0%, transparent 34%);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos > .container {
	position: relative;
	z-index: 1;
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .alsaro-cats-eyebrow,
.alsaro-home-page .alsaro-cats-section--mas-vendidos .alsaro-title-duo h2 span {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .alsaro-cats-eyebrow::before {
	background: var(--line-brand);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card--premium {
	border: 1.5px solid rgba(232, 80, 10, 0.32);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card--premium:hover,
.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card--premium:focus-visible {
	border-color: var(--line-brand);
	box-shadow: 0 18px 40px rgba(232, 80, 10, 0.16);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card__visual {
	background:
		radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.98) 0%, transparent 45%),
		linear-gradient(155deg, var(--cat-tint, var(--line-brand-light)) 0%, #fff 88%);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card__badge {
	color: var(--line-brand-dark);
	border-color: rgba(232, 80, 10, 0.22);
	background: rgba(255, 255, 255, 0.94);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card--premium:hover .cat-card__action,
.alsaro-home-page .alsaro-cats-section--mas-vendidos .cat-card--premium:focus-visible .cat-card__action {
	color: var(--line-brand-dark);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .alsaro-cats-premium-head__controls .cats-carousel-btn:hover:not(:disabled) {
	background: var(--line-brand);
	border-color: var(--line-brand);
	box-shadow: 0 8px 22px rgba(232, 80, 10, 0.28);
}

.alsaro-home-page .alsaro-cats-section--mas-vendidos .cats-carousel-progress__bar {
	background: linear-gradient(90deg, var(--line-brand) 0%, var(--line-brand-glow) 100%);
}

.alsaro-home-page.alsaro-line-hospitalario .elementor-widget-elementskit-client-logo .single-client:hover {
	border-color: rgba(54, 144, 182, 0.35);
	box-shadow: 0 10px 28px rgba(54, 144, 182, 0.12);
}

.alsaro-home-page.alsaro-line-mas-vendidos .elementor-widget-elementskit-client-logo .single-client:hover {
	border-color: rgba(232, 80, 10, 0.35);
	box-shadow: 0 10px 28px rgba(232, 80, 10, 0.12);
}

.alsaro-home-page .alsaro-cats-premium-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.alsaro-home-page .alsaro-cats-premium-head__copy {
	flex: 1;
	min-width: 0;
}

.alsaro-home-page .alsaro-cats-premium-head__copy .sec-title {
	text-align: left;
	margin-bottom: 0;
}

.alsaro-home-page .alsaro-cats-premium-head__copy .sec-title p {
	max-width: 520px;
	margin-top: 8px;
}

.alsaro-home-page .alsaro-cats-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--blue);
	margin-bottom: 10px;
}

.alsaro-home-page .alsaro-cats-eyebrow::before {
	content: '';
	width: 24px;
	height: 2px;
	border-radius: 999px;
	background: var(--blue);
}

.alsaro-home-page .alsaro-cats-premium-head__controls {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.alsaro-home-page .cats-carousel-premium {
	position: relative;
}

.alsaro-home-page .cats-carousel-viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 8px 4px 20px;
	margin: 0 -4px;
	container-type: inline-size;
	container-name: catsvp;
	--cats-gap: 20px;
}

.alsaro-home-page .cats-carousel-viewport::-webkit-scrollbar {
	display: none;
}

.alsaro-home-page .cats-carousel-track {
	display: flex;
	gap: var(--cats-gap, 20px);
}

.alsaro-home-page .cat-card--premium {
	flex-shrink: 0;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(28, 43, 58, 0.08);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(28, 43, 58, 0.06);
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, border-color 0.28s ease;
	text-decoration: none;
	color: inherit;
}

/* Tarjetas enteras visibles: 1 (móvil) → 2 → 3 → 4 (desktop) */
@container catsvp (max-width: 767px) {
	.alsaro-home-page .cat-card--premium {
		width: calc(100cqw - 8px);
		min-width: calc(100cqw - 8px);
	}
}

@container catsvp (min-width: 768px) and (max-width: 991px) {
	.alsaro-home-page .cat-card--premium {
		width: calc((100cqw - var(--cats-gap)) / 2);
		min-width: calc((100cqw - var(--cats-gap)) / 2);
	}
}

@container catsvp (min-width: 992px) and (max-width: 1199px) {
	.alsaro-home-page .cat-card--premium {
		width: calc((100cqw - (2 * var(--cats-gap))) / 3);
		min-width: calc((100cqw - (2 * var(--cats-gap))) / 3);
	}
}

@container catsvp (min-width: 1200px) {
	.alsaro-home-page .cat-card--premium {
		width: calc((100cqw - (3 * var(--cats-gap))) / 4);
		min-width: calc((100cqw - (3 * var(--cats-gap))) / 4);
	}
}

.alsaro-home-page .cat-card--premium:hover,
.alsaro-home-page .cat-card--premium:focus-visible {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(28, 43, 58, 0.12);
	border-color: rgba(26, 94, 167, 0.22);
	outline: none;
}

.alsaro-home-page .cat-card__visual {
	position: relative;
	height: 210px;
	background:
		radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.95) 0%, transparent 42%),
		linear-gradient(160deg, var(--cat-tint, #eef4fb) 0%, #fff 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.alsaro-home-page .cat-card__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(28, 43, 58, 0.08);
	font-size: 11px;
	font-weight: 700;
	color: var(--dark);
	box-shadow: 0 4px 12px rgba(28, 43, 58, 0.08);
}

.alsaro-home-page .cat-card--premium .cat-card__photo {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	filter: drop-shadow(0 10px 18px rgba(28, 43, 58, 0.12));
}

.alsaro-home-page .cat-card--premium:hover .cat-card__photo,
.alsaro-home-page .cat-card--premium:focus-visible .cat-card__photo {
	transform: scale(1.04) translateY(-2px);
}

.alsaro-home-page .cat-card__media-fallback {
	width: 76px;
	height: 76px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.72);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: inset 0 0 0 1px rgba(28, 43, 58, 0.06);
}

.alsaro-home-page .cat-card__media-fallback .alsaro-cat-svg {
	width: 36px;
	height: 36px;
	color: var(--cat-accent, var(--blue));
}

.alsaro-home-page .cat-card--premium .cat-card__body {
	padding: 20px 20px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0;
}

.alsaro-home-page .cat-card--premium h3 {
	margin: 0 0 8px;
}

.alsaro-home-page .cat-card__tagline {
	margin: 0 0 18px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
}

.alsaro-home-page .cat-card__action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	color: var(--cat-accent, var(--blue));
	transition: gap 0.2s ease, color 0.2s ease;
}

.alsaro-home-page .cat-card__action svg {
	width: 16px;
	height: 16px;
	display: block;
	transition: transform 0.2s ease;
}

.alsaro-home-page .cat-card--premium:hover .cat-card__action,
.alsaro-home-page .cat-card--premium:focus-visible .cat-card__action {
	gap: 10px;
	color: var(--blue-dk);
}

.alsaro-home-page .cat-card--premium:hover .cat-card__action svg,
.alsaro-home-page .cat-card--premium:focus-visible .cat-card__action svg {
	transform: translateX(3px);
}

.alsaro-home-page .alsaro-cats-premium-head__controls .cats-carousel-btn {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	border: 1px solid var(--g200);
	background: #fff;
	color: var(--dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 14px rgba(28, 43, 58, 0.06);
}

.alsaro-home-page .alsaro-cats-premium-head__controls .cats-carousel-btn svg {
	width: 18px;
	height: 18px;
}

.alsaro-home-page .alsaro-cats-premium-head__controls .cats-carousel-btn:hover:not(:disabled) {
	background: var(--blue);
	border-color: var(--blue);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(26, 94, 167, 0.24);
}

.alsaro-home-page .alsaro-cats-premium-head__controls .cats-carousel-btn:disabled {
	opacity: 0.35;
	cursor: default;
	box-shadow: none;
	transform: none;
}

.alsaro-home-page .cats-carousel-progress {
	height: 3px;
	border-radius: 999px;
	background: var(--g200);
	margin-top: 8px;
	overflow: hidden;
}

.alsaro-home-page .cats-carousel-progress__bar {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--blue) 0%, #3b82f6 100%);
	transition: width 0.15s ease-out;
}

@media (max-width: 767px) {
	.alsaro-home-page .alsaro-cats-premium-head {
		flex-direction: column;
		align-items: stretch;
	}

	.alsaro-home-page .alsaro-cats-premium-head__controls {
		display: none;
	}

	.alsaro-home-page .cat-card__visual {
		height: 190px;
	}
}

.alsaro-home-page .cat-card--premium:hover {
	border-color: rgba(26, 94, 167, 0.22);
}

/* ── PRODUCT CARD (grid “más vendidos”) ── */
.alsaro-home-page .prod-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	align-items: stretch;
}
.alsaro-home-page .prod-card {
	background: #fff;
	border-radius: var(--r2);
	overflow: hidden;
	box-shadow: var(--sh1);
	border: 1px solid var(--g200);
	transition: 0.25s;
	cursor: default;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.alsaro-home-page .prod-card:hover {
	box-shadow: var(--sh3);
	transform: translateY(-3px);
}
.alsaro-home-page .prod-card-hit {
	display: block;
	flex: 1;
}
.alsaro-home-page .prod-img {
	position: relative;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 56px;
	overflow: hidden;
	background-color: #fff;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.alsaro-home-page .prod-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 9px;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	z-index: 1;
}
.alsaro-home-page .b-orange {
	background: var(--orange);
	color: #fff;
}
.alsaro-home-page .b-green {
	background: var(--green);
	color: #fff;
}
.alsaro-home-page .b-yellow {
	background: var(--yellow);
	color: #fff;
}
.alsaro-home-page .b-blue {
	background: var(--blue);
	color: #fff;
}
.alsaro-home-page .prod-body {
	padding: 14px;
}
.alsaro-home-page .prod-body--actions {
	padding-top: 0;
	margin-top: auto;
}
.alsaro-home-page .prod-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--dark);
	margin-bottom: 2px;
	line-height: 1.3;
}
.alsaro-home-page .prod-sku {
	font-size: 12px;
	color: var(--g500);
	margin-bottom: 8px;
}
.alsaro-home-page .prod-price {
	font-size: 20px;
	font-weight: 700;
	color: var(--blue);
	margin-bottom: 4px;
}
.alsaro-home-page .prod-stat {
	font-size: 12px;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 10px;
}
.alsaro-home-page .s-green {
	color: var(--green);
}
.alsaro-home-page .s-blue {
	color: var(--blue);
}
.alsaro-home-page .s-orange {
	color: var(--orange);
}
.alsaro-home-page .prod-actions {
	display: flex;
	gap: 8px;
}
.alsaro-home-page .btn-add {
	flex: 1;
	background: var(--blue);
	color: #fff;
	border: none;
	padding: 9px;
	border-radius: var(--r);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.alsaro-home-page .btn-add:hover {
	background: var(--blue-dk);
}
.alsaro-home-page .btn-fav {
	width: 36px;
	height: 36px;
	border: 1.5px solid var(--g300);
	border-radius: var(--r);
	background: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--g500);
	transition: 0.2s;
	font-size: 15px;
}
.alsaro-home-page .btn-fav:hover {
	border-color: #e53e3e;
	color: #e53e3e;
}

.alsaro-home-page .vid-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 44px;
	height: 44px;
	background: rgba(26, 94, 167, 0.8);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 14px;
}

/* ── WHY ── */
.alsaro-home-page .why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.alsaro-home-page .why-item {
	text-align: center;
	padding: 20px;
}
.alsaro-home-page .why-icon {
	width: 56px;
	height: 56px;
	background: var(--blue-lt);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
	font-size: 22px;
}
.alsaro-home-page .why-item h3 {
	font-size: 15px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 4px;
}
.alsaro-home-page .why-item p {
	font-size: 13px;
	color: var(--g500);
}

/* ── CLIENTS CAROUSEL ── */
.alsaro-home-page .clients-carousel-wrap {
	overflow: hidden;
	position: relative;
	padding: 8px 0;
}
.alsaro-home-page .clients-carousel-wrap::before,
.alsaro-home-page .clients-carousel-wrap::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	z-index: 2;
	pointer-events: none;
}
.alsaro-home-page .clients-carousel-wrap::before {
	left: 0;
	background: linear-gradient(90deg, #fff, transparent);
}
.alsaro-home-page .clients-carousel-wrap::after {
	right: 0;
	background: linear-gradient(-90deg, #fff, transparent);
}
.alsaro-home-page .clients-track {
	display: flex;
	gap: 24px;
	width: max-content;
	animation: alsaro-home-clients-marquee 28s linear infinite;
}
.alsaro-home-page .clients-track:hover {
	animation-play-state: paused;
}
@keyframes alsaro-home-clients-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}
.alsaro-home-page .logo-card {
	width: 160px;
	height: 72px;
	background: #fff;
	border: 1.5px solid var(--g200);
	border-radius: var(--r2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: 0.25s;
	padding: 14px 16px;
}
.alsaro-home-page .logo-card:hover {
	border-color: var(--blue);
	box-shadow: var(--sh2);
	transform: translateY(-2px);
}
.alsaro-home-page .logo-card .logo-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.alsaro-home-page .logo-card .logo-img {
	max-height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Mensajes WP / Woo */
.alsaro-home-page .alsaro-home-wc-missing,
.alsaro-home-page .alsaro-home-clients-empty {
	text-align: center;
	color: var(--g500);
	font-size: 15px;
	padding: 24px 0;
	margin: 0;
}

/* ElementsKit — Logotipo del cliente */
.alsaro-home-page .alsaro-clients-ekit-head {
	padding-top: 8px;
}
.alsaro-home-page .elementor-widget-elementskit-client-logo .ekit-wid-con {
	padding: 8px 0 32px;
}
.alsaro-home-page .elementor-widget-elementskit-client-logo .elementskit-client-slider-item {
	display: flex;
	align-items: center;
	justify-content: center;
}
.alsaro-home-page .elementor-widget-elementskit-client-logo .single-client {
	width: 160px;
	height: 72px;
	background: #fff;
	border: 1.5px solid var(--g200);
	border-radius: var(--r2);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 16px;
	transition: 0.25s;
}
.alsaro-home-page .elementor-widget-elementskit-client-logo .single-client:hover {
	border-color: var(--blue);
	box-shadow: var(--sh2);
	transform: translateY(-2px);
}
.alsaro-home-page .elementor-widget-elementskit-client-logo .content-image,
.alsaro-home-page .elementor-widget-elementskit-client-logo .content-image img {
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: 44px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}
.alsaro-home-page.alsaro-line-ortopedicos .elementor-widget-elementskit-client-logo .single-client:hover {
	border-color: var(--line-brand, #5aad86);
}
