/* =========================================================
   CHEF CHAPÍN — FOOTER
   Estilos exclusivos del footer
   ========================================================= */


/* =========================================================
   1. FOOTER GENERAL
   ========================================================= */

.cc-footer {
	width: 100vw;
	max-width: 100vw;

	margin-left: calc(50% - 50vw);
	margin-right: 0;

	padding: 0;

	background: #5F7800;
	color: #FFFFFF;

	box-sizing: border-box;
}

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


/* =========================================================
   2. CONTENEDOR PRINCIPAL
   ========================================================= */

.cc-footer__inner {
	width: min(calc(100% - 56px), 1180px);
	max-width: 1180px;

	margin-left: auto;
	margin-right: auto;

	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 80px;

	height: auto;
	min-height: 0;

	padding-top: 38px;
	padding-bottom: 24px;

	align-self: flex-start;
}


/* =========================================================
   3. MARCA
   ========================================================= */

.cc-footer__brand {
	min-width: 0;
	max-width: 520px;
}


/* Logo */

.cc-footer__logo {
	display: inline-block;

	margin: 0;

	line-height: 0;
	text-decoration: none;
}

.cc-footer__logo img {
	display: block;

	width: auto;
	max-width: 210px;
	height: auto;
	max-height: 70px;

	object-fit: contain;
}


/* Descripción */

.cc-footer__description {
	max-width: 500px;

	margin: 18px 0 0;

	color: rgba(255, 255, 255, 0.88);

	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
}


/* =========================================================
   4. INFORMACIÓN
   ========================================================= */

.cc-footer__links {
	min-width: 0;
}

.cc-footer__links h2 {
	margin: 0 0 18px;

	color: #FFFFFF;

	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;

	text-transform: uppercase;
	letter-spacing: 0.07em;
}


/* Lista */

.cc-footer__links ul {
	margin: 0;
	padding: 0;

	list-style: none;
}

.cc-footer__links li {
	margin: 0 0 10px;
	padding: 0;
}


/* Enlaces */

.cc-footer__links a {
	display: inline-block;

	color: rgba(255, 255, 255, 0.90);

	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;

	text-decoration: none;

	transition:
		color 160ms ease,
		transform 160ms ease;
}

.cc-footer__links a:hover,
.cc-footer__links a:focus {
	color: #EEF4D8;

	text-decoration: none;

	transform: translateX(2px);
}


/* =========================================================
   5. BARRA INFERIOR / COPYRIGHT
   ========================================================= */

.cc-footer__bottom {
	width: 100%;

	height: auto;
	min-height: 0;

	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.cc-footer__bottom-inner {
	width: min(calc(100% - 56px), 1180px);
	max-width: 1180px;

	margin-left: auto;
	margin-right: auto;

	padding-top: 17px;
	padding-bottom: 17px;
}

.cc-footer__bottom p {
	margin: 0;

	color: rgba(255, 255, 255, 0.72);

	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
}


/* =========================================================
   6. ASTRA — ELIMINAR ESPACIOS ALREDEDOR DEL FOOTER
   ========================================================= */

.site-footer:has(.cc-footer) {
	margin: 0 !important;
	padding: 0 !important;
}

.site-footer:has(.cc-footer) .site-primary-footer-wrap,
.site-footer:has(.cc-footer) .site-below-footer-wrap,
.site-footer:has(.cc-footer) .footer-widget-area,
.site-footer:has(.cc-footer) .ast-builder-grid-row-container {
	margin-top: 0 !important;
	margin-bottom: 0 !important;

	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* El bloque de Chef Chapín queda pegado al contenido */

.site-footer:has(.cc-footer) .cc-footer {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}


/* =========================================================
   7. ASTRA — EVITAR ESPACIO ENTRE FOOTER Y COPYRIGHT
   ========================================================= */

/* Evitar que Astra estire verticalmente la fila */

.site-footer:has(.cc-footer) .site-primary-footer-wrap,
.site-footer:has(.cc-footer) .site-primary-footer-wrap .ast-builder-grid-row,
.site-footer:has(.cc-footer) .site-primary-footer-wrap .site-footer-section {
	height: auto !important;
	min-height: 0 !important;
}


/* Nuestro contenido ocupa solamente su altura real */

.cc-footer__inner {
	height: auto !important;
	min-height: 0 !important;

	padding-top: 38px !important;
	padding-bottom: 24px !important;

	align-self: flex-start;
}


/* La barra de copyright queda inmediatamente después */

.cc-footer__bottom {
	height: auto !important;
	min-height: 0 !important;
}


/* =========================================================
   8. TABLET
   ========================================================= */

@media (max-width: 1024px) {

	.cc-footer__inner {
		width: min(calc(100% - 44px), 1180px);

		grid-template-columns: minmax(0, 1fr) 240px;

		gap: 50px;
	}

	.cc-footer__bottom-inner {
		width: min(calc(100% - 44px), 1180px);
	}

}


/* =========================================================
   9. MÓVIL
   ========================================================= */

@media (max-width: 767px) {

	.cc-footer {
		width: 100vw;
		max-width: 100vw;

		margin-left: calc(50% - 50vw);
		margin-right: 0;
	}


	/* Contenedor */

	.cc-footer__inner {
		width: 100%;
		max-width: 100%;

		display: grid;
		grid-template-columns: 1fr;

		gap: 30px;

		margin: 0;

		height: auto !important;
		min-height: 0 !important;

		padding-top: 30px !important;
		padding-bottom: 22px !important;
		padding-left: 12px;
		padding-right: 12px;
	}


	/* Marca */

	.cc-footer__brand {
		width: 100%;
		max-width: 100%;
	}


	/* Logo */

	.cc-footer__logo img {
		max-width: 180px;
		max-height: 58px;
	}


	/* Descripción */

	.cc-footer__description {
		max-width: 100%;

		margin-top: 15px;

		font-size: 14px;
		line-height: 1.65;
	}


	/* Información */

	.cc-footer__links {
		width: 100%;
	}

	.cc-footer__links h2 {
		margin-bottom: 14px;

		font-size: 14px;
	}

	.cc-footer__links li {
		margin-bottom: 8px;
	}

	.cc-footer__links a {
		font-size: 14px;
	}


	/* Barra inferior */

	.cc-footer__bottom-inner {
		width: 100%;
		max-width: 100%;

		margin: 0;

		padding: 15px 12px;
	}

	.cc-footer__bottom p {
		font-size: 12px;
	}

}


/* =========================================================
   10. MÓVILES PEQUEÑOS
   ========================================================= */

@media (max-width: 380px) {

	.cc-footer__inner {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.cc-footer__bottom-inner {
		padding-left: 10px;
		padding-right: 10px;
	}

	.cc-footer__logo img {
		max-width: 165px;
	}

}