@font-face {
	font-family: 'Bellarina';
	src: url('../fonts/Bellarina.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

:root {
	--cosfil-blue: #112A3E;

	--cosfil-gray: #4B6069;

	--cosfil-yellow: #DCDF22;

	--cosfil-red: #FE4A49;

}

body {
	font-family: 'Inter', sans-serif;
	background-color: #ffffff;
	color: var(--cosfil-blue);

}


.cosfil-logo-text {
	color: var(--cosfil-blue);
	font-weight: 800;

	letter-spacing: -0.05em;

}

.cosfil-logo-subtitle {
	color: var(--cosfil-gray);
	font-size: 0.65rem;

	letter-spacing: 0.15em;
	margin-top: -4px;
}


.menu-toggle-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	width: 24px;
	height: 24px;
	cursor: pointer;
}

.menu-toggle-icon div {
	width: 100%;
	height: 3px;
	background-color: var(--cosfil-blue);

	border-radius: 2px;
	transition: all 0.3s ease-in-out;
}


.menu-open .bar1 {
	transform: rotate(-45deg) translate(-5px, 6px);
}

.menu-open .bar2 {
	opacity: 0;
}

.menu-open .bar3 {
	transform: rotate(45deg) translate(-5px, -6px);
}


.hero-banner {
	background-size: cover;
	background-position: center;
	background-attachment: scroll;
}


.indicator-dot {
	width: 10px;
	height: 10px;
	background-color: #ffffff;
	opacity: 0.5;
	border-radius: 50%;
	transition: opacity 0.3s, background-color 0.3s;
	cursor: pointer;
}

.indicator-dot.active {
	opacity: 1;
	background-color: var(--cosfil-yellow);

}


#carouselWrapper {
	width: 200%;

	height: 100%;
}

.carousel-slide {
	height: 100%;

}

.indicator-dot {
	width: 10px;
	height: 10px;
	background-color: #ffffff;
	opacity: 0.5;
	border-radius: 50%;
	transition: opacity 0.3s, background-color 0.3s;
	cursor: pointer;
}

.indicator-dot.active {
	opacity: 1;
	background-color: var(--cosfil-yellow);

}


.quienes-somos-bg {
	position: absolute;
	top: -100px;
	left: -100px;
	width: calc(100% + 200px);
	height: calc(100% + 200px);

	background-image: url('../images/amarillo.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
	z-index: -1;


	@media (max-width: 768px) {

		clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
	}
}


.mision-vision-bg,
.products-bg,
.features-bg {
	background-color: #f8f8f8;

	background-size: 80px 80px;
}


.mision-vision-card {
	background-color: var(--cosfil-blue);
	border-radius: 2rem;

	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);

	transition: transform 0.3s ease;
}

.mision-vision-card:hover {
	transform: translateY(-5px);

}


.decorative-strip {
	background-color: #f8f8f8;
	white-space: nowrap;
	overflow: hidden;
	height: 120px;
	display: flex;
	align-items: center;
}

.decorative-text-container {
	display: inline-block;
	animation: marquee 25s linear infinite;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--cosfil-blue);
}

@keyframes marquee {
	0% {
		transform: translate(0, 0);
	}

	100% {
		transform: translate(-50%, 0);
	}
}

.curved-text-item {
	display: inline-block;
	margin-right: 4rem;
	transform: rotate(-2deg);
	transform-origin: bottom left;
	padding-bottom: 5px;
}


.product-card {
	background-color: #ffffff;
	border-radius: 1.5rem;
	padding: 1.5rem;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.category-title {
	color: var(--cosfil-blue);
	font-size: 1.5rem;
	font-weight: 800;
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
	position: relative;
}

.product-image {
	width: 100%;
	max-width: 150px;
	height: auto;
	margin: 1rem auto;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.cotizar-button {
	background-color: var(--cosfil-blue);
	color: #ffffff;
	font-weight: 700;
	padding: 0.5rem 2.5rem;
	border-radius: 9999px;
	transition: background-color 0.3s;
	margin-top: auto;
}

.cotizar-button:hover {
	background-color: #1a4d6b;
}

.quantity-select {
	border: 2px solid var(--cosfil-yellow);
	border-radius: 9999px;
	padding: 0.5rem 1rem;
	appearance: none;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%230A2E44"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>');
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1.5em 1.5em;
	cursor: pointer;
}

.special-measure-content {
	background-color: var(--cosfil-blue);
	color: white;
	padding: 1.5rem 1rem;
	border-radius: 1.25rem;
	position: relative;
	text-align: center;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.special-measure-card {
	background-color: #ffffff;
	border-radius: 1.5rem;
	padding: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


.video-section {
	background-color: var(--cosfil-yellow);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.video-placeholder {
	background-color: var(--cosfil-red);
	min-height: 250px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 700;
	color: white;
	border-radius: 1.5rem;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.contact-button-dark {
	background-color: var(--cosfil-blue);
	color: var(--cosfil-yellow);
	font-weight: 700;
	padding: 0.75rem 2.5rem;
	border-radius: 9999px;
	transition: background-color 0.3s, transform 0.2s;
	text-transform: uppercase;
}

.contact-button-dark:hover {
	background-color: #1a4d6b;
	transform: translateY(-2px);
}


.great-vibes-title {
	font-family: 'Bellarina', cursive;
	color: var(--cosfil-yellow);
	font-size: 3rem;

	font-weight: 400;

	line-height: 1;
}

.feature-card {
	background-color: #ffffff;
	border-radius: 1.5rem;
	padding: 2rem;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);

	text-align: center;
	transition: all 0.3s ease;
	height: 100%;

}

.feature-card:hover {
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.feature-title {
	color: var(--cosfil-blue);
	font-size: 1.5rem;
	font-weight: 900;

	text-transform: uppercase;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}


.payment-methods span {
	display: inline-block;
	margin: 0 0.5rem;
	font-size: 1.25rem;
	font-weight: 700;
}


.card-icon {
	background-color: var(--cosfil-blue);
	color: white;
	border-radius: 0.5rem;
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	font-weight: 700;
}


.clients-section {
	background-color: var(--cosfil-blue);
	background-image: url('../images/azul.jpg');
	background-size: 100%;
}

.client-logo-placeholder {
	width: 120px;
	height: 120px;
	background-color: white;
	border-radius: 9999px;

	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--cosfil-blue);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
	transition: transform 0.3s ease;
}

.client-logo-placeholder:hover {
	transform: scale(1.05);
}


@media (max-width: 768px) {
	.client-logo-placeholder {
		width: 100px;
		height: 100px;
	}
	.hero-banner {
		background-size: contain;
	}
}


.footer-logo-svg {

	position: relative;
	width: 60px;
	height: 60px;
	margin-right: 1rem;
}

.footer-logo-svg .shape1 {
	fill: #ffffff;

	opacity: 0.9;
}

.footer-logo-svg .shape2 {
	fill: var(--cosfil-yellow);

	opacity: 0.9;
	transform: translate(4px, 4px);

}

.footer-logo-svg .dot1,
.footer-logo-svg .dot2 {
	fill: var(--cosfil-yellow);
}

.tab-button {
	border-bottom: 10px solid var(--cosfil-yellow) !important;
}