/*
 * Child theme styles - Serviclean Catálogo.
 * Loaded after the parent CSS, so plain selectors are enough - avoid !important.
 */

:root {
	--sc-blue: #062587;
	--sc-blue-hover: #0a33b8;
	--sc-text: rgba(0, 0, 0, 0.65);
	--sc-muted: rgba(0, 0, 0, 0.45);
	--sc-border: rgba(0, 0, 0, 0.12);
	--sc-radius-pill: 999px;
	--sc-header-h: 80px;
}

/* ---------- Header ---------- */
/* Menu oculto (escritorio y movil) hasta que las paginas esten terminadas. Quitar esta regla para mostrarlo. */
.sc-header__nav {
	display: none;
}

#tahefobu-header {
	position: relative;
	z-index: 100;
}

#tahefobu-header.ta-sticky-header {
	position: sticky;
	top: 0;
}

.admin-bar #tahefobu-header.ta-sticky-header {
	top: 32px;
}

.sc-header {
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.e-con.sc-header__actions {
	width: auto;
	flex: 0 0 auto;
	margin-left: auto;
}

.e-con.sc-why-copy {
	width: auto;
	flex: 1 1 0;
	min-width: 0;
}

@media (max-width: 1024px) {
	.e-con.sc-why-copy {
		width: 100%;
		flex: 0 0 auto;
	}
}

.sc-header__logo img {
	display: block;
	height: auto;
}

.sc-header__nav .tahefobu-nav-menu > li > a {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 22.5px;
	color: var(--sc-blue);
	height: 40px;
	display: flex;
	align-items: center;
	gap: 6px;
	border-radius: 8px;
}

.sc-header__nav .tahefobu-nav-menu .tahefobu-sub-icon {
	font-size: 11px;
}

.sc-header__nav .tahefobu-sub-menu {
	min-width: 260px;
	padding: 8px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(6, 37, 135, 0.12);
}

.sc-header__nav .tahefobu-sub-menu a {
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--sc-blue);
	padding: 8px 12px;
	border-radius: 8px;
}

.sc-header__nav .tahefobu-mobile-nav-menu a {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--sc-blue);
}

.sc-btn-cotiza .elementor-button {
	white-space: nowrap;
	line-height: 21px;
}


/* Nav dropdown chevron (replaces plugin icon with empty glyph) */
.sc-header__nav .tahefobu-nav-menu > li > a .tahefobu-sub-icon {
	display: none;
}

.sc-header__nav .tahefobu-nav-menu > li.menu-item-has-children > a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	flex: none;
}

/* Search: icon that expands into a pill (Figma Header / Variant2) */
.sc-search {
	position: relative;
	display: flex;
	align-items: center;
}

.sc-search__toggle,
.sc-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sc-blue);
	cursor: pointer;
}

.sc-search__toggle {
	width: 40px;
	height: 40px;
	border-radius: 8px;
}

.sc-search__toggle:hover,
.sc-search__toggle:focus-visible {
	background: rgba(6, 37, 135, 0.06);
}

.sc-search__form {
	display: none;
	align-items: center;
	gap: 8px;
	width: 240px;
	padding: 8px 16px;
	border: 1px solid rgba(6, 37, 135, 0.4);
	border-radius: var(--sc-radius-pill);
	background: rgba(6, 37, 135, 0.15);
	color: var(--sc-blue);
	margin: 0;
}

.sc-search.is-open .sc-search__toggle {
	display: none;
}

.sc-search.is-open .sc-search__form {
	display: flex;
}

.sc-search__icon {
	flex: none;
}

.sc-search__input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 16px;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	color: var(--sc-blue);
	outline: none;
	box-shadow: none;
}

.sc-search__input::placeholder {
	color: rgba(6, 37, 135, 0.5);
}

.sc-search__input::-webkit-search-cancel-button {
	display: none;
}

/* ---------- Footer ---------- */
.turbo-footer-template a {
	color: inherit;
	text-decoration: none;
}

.turbo-footer-template a:hover,
.turbo-footer-template a:focus-visible {
	color: var(--sc-blue);
}

.sc-footer p {
	margin: 0;
}

.sc-footer__links ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sc-footer__links a {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 22.5px;
	color: var(--sc-text);
}

.sc-footer__contact .elementor-icon-box-wrapper {
	align-items: flex-start;
}

.sc-footer__contact .elementor-icon-box-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-top: 2px;
	flex: none;
}

.sc-footer__contact .elementor-icon-box-description {
	margin: 0;
}

/* ---------- Shared blocks ---------- */
.sc-pill .elementor-heading-title {
	display: inline-block;
	padding: 6px 20px;
	border-radius: var(--sc-radius-pill);
	background: rgba(255, 255, 255, 0.18);
}

.sc-pill--soft .elementor-heading-title {
	padding: 10px 24px;
	background: rgba(255, 255, 255, 0.1);
}

.sc-hero__title .elementor-heading-title {
	max-width: 1000px;
	margin-inline: auto;
}

.sc-maxw-640 {
	max-width: 640px;
	margin-inline: auto;
}

.sc-maxw-500 {
	max-width: 500px;
}

.sc-maxw-640 p,
.sc-maxw-500 p,
.sc-cat-card p,
.sc-hero p {
	margin: 0;
}

/* Full-bleed rows inside a boxed section */
.elementor .e-con > .elementor-widget.sc-bleed,
.elementor .e-con > .e-con-inner > .elementor-widget.sc-bleed,
.e-con .sc-bleed,
.sc-bleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.sc-logo-carousel img {
	width: 100%;
	height: auto;
}

.sc-logo-carousel .swiper-pagination-bullet-active {
	width: 24px;
	border-radius: var(--sc-radius-pill);
	background: #002ec1;
}

/* Logo marquee (marcas / clientes) */
.sc-marquee {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.sc-marquee__track {
	display: flex;
	width: max-content;
	animation: sc-marquee var(--sc-marquee-speed, 40s) linear infinite;
}

.sc-marquee:hover .sc-marquee__track,
.sc-marquee:focus-within .sc-marquee__track {
	animation-play-state: paused;
}

.sc-marquee__group {
	display: flex;
	align-items: center;
	gap: 48px;
	margin: 0;
	padding: 0 48px 0 0;
	list-style: none;
}

.sc-marquee__item img {
	display: block;
	width: auto;
	height: 75px;
	max-width: none;
}

@keyframes sc-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (max-width: 767px) {
	.sc-marquee__group {
		gap: 24px;
		padding-right: 24px;
	}

	.sc-marquee__item img {
		height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sc-marquee {
		overflow-x: auto;
	}

	.sc-marquee__track {
		animation: none;
	}

	.sc-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

/* Category cards */
.e-con.sc-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.e-con.sc-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.e-con.sc-grid-3 > .e-con,
.e-con.sc-grid-2 > .elementor-widget {
	width: auto;
	max-width: none;
}

.sc-cat-card {
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sc-cat-card:hover,
.sc-cat-card:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(6, 37, 135, 0.12);
}

.sc-cat-card__img img {
	display: block;
	width: 100%;
}

/* Brand rail */
.e-con.sc-brand-rail {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-inline: max(24px, calc(50vw - 576px));
	scrollbar-width: thin;
}

.sc-brand-rail > .sc-brand-card {
	flex: 0 0 386px;
	scroll-snap-align: start;
}

.sc-brand-card img {
	display: block;
	width: 386px;
	max-width: none;
	height: 400px;
	object-fit: cover;
	border-radius: 24px 24px 0 0;
	transition: transform 0.2s ease;
}

.sc-brand-card a:hover img,
.sc-brand-card a:focus-visible img {
	transform: translateY(-4px);
}

/* Why Serviclean */
.sc-why-media {
	position: relative;
}

.sc-why-media__main img {
	display: block;
	width: 340px;
	height: 380px;
	object-fit: cover;
	border-radius: 24px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.e-con .sc-why-media__inset {
	position: absolute;
	left: 280px;
	top: 200px;
	width: 200px;
}

.sc-why-media__inset img {
	display: block;
	width: 200px;
	height: 220px;
	object-fit: cover;
	border: 4px solid #fff;
	border-radius: 24px;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.e-con .sc-why-media__badge {
	position: absolute;
	left: 295px;
	top: 24px;
	width: 169px;
	padding: 12px 16px;
	border-radius: 16px;
	background: #002ec1;
}

.sc-why-media__badge p {
	margin: 0;
}

.sc-badge__label {
	font-size: 11px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #7fc0ff;
}

.sc-feature .elementor-icon {
	border-radius: 16px;
}

.sc-feature .elementor-icon-box-title {
	margin-top: 0;
}

/* Sector chips */
.sc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sc-chips li {
	padding: 6px 14px;
	border-radius: var(--sc-radius-pill);
	background: #eef1fb;
	color: #002ec1;
	font-family: "Inter", sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 19.5px;
}

.sc-quimicos-img img {
	width: 100%;
	height: auto;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.e-con.sc-grid-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sc-why-media {
		align-self: center;
	}
}

/* Mobile / tablet header: logo | Cotiza ahora | hamburger */
@media (max-width: 1024px) {
	.e-con.sc-header__actions {
		width: auto;
		flex: 0 0 auto;
		margin-left: auto;
	}

	.sc-header__nav {
		flex: 0 0 auto;
		order: 3;
	}

	.sc-header__nav .tahefobu-mobile-toggle {
		color: var(--sc-blue);
	}

	.sc-header__nav .tahefobu-mobile-nav-menu-container {
		position: static;
	}

	.sc-header__nav .tahefobu-mobile-nav-menu {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		max-height: calc(100vh - 64px);
		overflow-y: auto;
		background: #fff;
		box-shadow: 0 16px 32px rgba(6, 37, 135, 0.12);
	}

	.sc-header__nav .tahefobu-mobile-nav-menu a {
		padding: 12px 20px;
	}
}

@media (max-width: 767px) {
	.sc-header .e-con.sc-header__actions {
	width: auto;
	flex: 0 0 auto;
	margin-left: auto;
}

.e-con.sc-why-copy {
	width: auto;
	flex: 1 1 0;
	min-width: 0;
}

@media (max-width: 1024px) {
	.e-con.sc-why-copy {
		width: 100%;
		flex: 0 0 auto;
	}
}

.sc-header__logo img {
		width: 72px;
	}

	.sc-btn-cotiza .elementor-button {
		padding: 10px 14px;
		font-size: 11px;
		letter-spacing: 0.4px;
	}

	/* Why Serviclean images: keep inside the viewport */
	.sc-why-media {
		transform: none;
		margin-bottom: 0;
		width: 100%;
		min-height: 0;
		padding-bottom: 48px;
	}

	.sc-why-media__main img {
		width: 78%;
		height: auto;
		aspect-ratio: 340 / 380;
	}

	.e-con .sc-why-media__inset {
		left: auto;
		right: 0;
		top: auto;
		bottom: 0;
		width: 44%;
	}

	.sc-why-media__inset img {
		width: 100%;
		height: auto;
		aspect-ratio: 200 / 220;
	}

	.e-con .sc-why-media__badge {
		left: auto;
		right: 0;
		top: 16px;
		width: auto;
		max-width: 52%;
	}

	.e-con.sc-grid-3,
	.e-con.sc-grid-2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.sc-brand-rail > .sc-brand-card {
		flex-basis: 280px;
	}

	.sc-brand-card img {
		width: 280px;
		height: 290px;
	}

}

@media (max-width: 1100px) {
	.sc-header__search {
		display: none;
	}
}

@media (max-width: 1024px) {
	:root {
		--sc-header-h: 64px;
	}

	.sc-header__nav {
		order: 3;
	}
}

@media (max-width: 782px) {
	.admin-bar #tahefobu-header.ta-sticky-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar #tahefobu-header.ta-sticky-header {
		top: 0;
	}
}

@media (max-width: 480px) {
	.sc-btn-cotiza .elementor-button {
		font-size: 12px;
		letter-spacing: 0.4px;
	}
}
