/* =========================================================
   CORAL CHILD — BASE
   ========================================================= */

:root {

	/* =========================================================
	   PALETA
	   ========================================================= */

	--coral-green: #2d4e3b;
	--coral-green-dark: #20392b;
	--coral-green-soft: #52725a;

	--coral-gold: #c89a45;

	--coral-bg: #fcfbf8;
	--coral-section: #f4efe7;
	--coral-white: #ffffff;

	--coral-heading: #26342d;
	--coral-body: #465149;
	--coral-body-light: #5d5d5d;

	--coral-border: #e9e4dc;

	/* =========================================================
	   LAYOUT
	   ========================================================= */

	--coral-container: 1320px;

	/* =========================================================
	   ESPACIADOS
	   ========================================================= */

	--coral-space-xs: 0.5rem;
	--coral-space-sm: 1rem;
	--coral-space-md: 1.5rem;
	--coral-space-lg: 2.5rem;
	--coral-space-xl: 4rem;
	--coral-space-2xl: 6rem;

	/* =========================================================
	   RADIOS
	   ========================================================= */

	--coral-radius-sm: 0.625rem;
	--coral-radius-md: 0.875rem;
	--coral-radius-lg: 1.125rem;

	/* =========================================================
	   EFECTOS
	   ========================================================= */

	--coral-shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.06);
	--coral-transition: 180ms ease;
}v

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--coral-bg);
	color: var(--coral-body);
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: inherit;
}

:focus-visible {
	outline: 3px solid var(--coral-gold);
	outline-offset: 3px;
}

.coral-container {
	width: min(100% - 2rem, var(--coral-container));
	margin-inline: auto;
}

.coral-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
#main-content {
	margin: 0;
	padding: 0;
}
.elementor-location-header + #main-content,
header + #main-content {
	margin-top: 0;
	padding-top: 0;
}
/* Quitar espacio superior del primer elemento de Elementor */
#main-content,
#main-content > .elementor,
#main-content > .elementor > .e-con,
#main-content > .elementor > .e-con > .e-con-inner {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
#main-content > .elementor > .e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}
/* =========================================================
   FOOTER
   ========================================================= */

.coral-footer {
	padding: 3rem 1.5rem;
	background: var(--coral-section);
	border-top: 1px solid var(--coral-border);
}

.coral-footer__inner {
	width: min(100% - 2rem, var(--coral-container));
	margin-inline: auto;
}

.coral-footer__copyright {
	margin: 0;
	color: var(--coral-body-light);
	font-size: 0.9rem;
	line-height: 1.6;
	text-align: center;
}