/*
 * LaMagna 1.8.1 — refinamiento editorial basado en el kit Elementor actual.
 * Verde botella estructural, burdeos, marfil y oro viejo.
 */

:root {
	--lamagna-green: #0f322a;
	--lamagna-burgundy: #4f151f;
	--lamagna-gold: #a8852d;
	--lamagna-ivory: #f5f1e8;
	--lamagna-paper: #fffdf8;
	--lamagna-ink: #2b211e;
	--lamagna-section-space: clamp(44px, 6.2vw, 78px);
}

/* Ritmo general: cada sección conserva su contenido, pero pierde el vacío
   acumulado por los rellenos de 100–110 px del kit original. */
.lamagna-paper,
.lamagna-dark,
.lamagna-burgundy,
.lamagna-native-section {
	box-sizing: border-box;
}

.lamagna-paper > .e-con-inner,
.lamagna-dark > .e-con-inner,
.lamagna-burgundy > .e-con-inner {
	gap: clamp(18px, 2.4vw, 34px);
}

.lamagna-hero {
	min-height: min(78vh, 780px) !important;
}

.lamagna-hero__copy {
	gap: clamp(14px, 1.8vw, 24px) !important;
}

.lamagna-hero h1.elementor-heading-title {
	font-size: clamp(2.9rem, 6.7vw, 6.3rem);
	line-height: .93;
	text-wrap: balance;
}

.lamagna-paper:not(.lamagna-dark):not(.lamagna-burgundy) h1.elementor-heading-title,
.lamagna-paper:not(.lamagna-dark):not(.lamagna-burgundy) h2.elementor-heading-title,
.lamagna-native-section--ivory h1.elementor-heading-title,
.lamagna-native-section--ivory h2.elementor-heading-title,
.lamagna-native-section--ivory h3.elementor-heading-title {
	color: var(--lamagna-burgundy) !important;
}

.lamagna-dark,
.lamagna-hero {
	background-color: var(--lamagna-green);
}

.lamagna-dark h1.elementor-heading-title,
.lamagna-dark h2.elementor-heading-title,
.lamagna-dark h3.elementor-heading-title,
.lamagna-hero h1.elementor-heading-title,
.lamagna-hero h2.elementor-heading-title,
.lamagna-hero h3.elementor-heading-title,
.lamagna-dark .elementor-widget-text-editor,
.lamagna-dark .elementor-widget-text-editor p,
.lamagna-hero .elementor-widget-text-editor,
.lamagna-hero .elementor-widget-text-editor p {
	color: var(--lamagna-ivory) !important;
}

.lamagna-dark .lamagna-kicker .elementor-heading-title,
.lamagna-hero .lamagna-kicker .elementor-heading-title,
.lamagna-burgundy .lamagna-kicker .elementor-heading-title {
	color: #d9b95f !important;
}

/* Contenedor que alojaba cuatro bloques nativos dentro de una sección verde.
   El fondo de cada bloque vuelve a decidir su contraste. */
.lamagna-composite-host {
	padding: 0 !important;
	gap: 0 !important;
}

.lamagna-composite-host > .e-con-inner,
.lamagna-composite-host.e-con {
	gap: 0 !important;
}

.lamagna-native-section--ivory,
.lamagna-native-story-grid {
	background: var(--lamagna-ivory) !important;
	color: var(--lamagna-ink) !important;
}

.lamagna-native-story-grid .elementor-widget-text-editor,
.lamagna-native-story-grid .elementor-widget-text-editor p {
	color: var(--lamagna-ink) !important;
}

.lamagna-native-story-grid .lamagna-kicker .elementor-heading-title {
	color: var(--lamagna-gold) !important;
}

/* Separador real como widget de Elementor: completo, sin máscaras ni recorte. */
.lamagna-page-divider {
	align-self: flex-start;
	margin-top: clamp(4px, 1vw, 12px);
	max-width: 300px;
	width: min(54vw, 300px) !important;
}

.lamagna-page-divider .elementor-widget-container {
	background: transparent !important;
}

.lamagna-page-divider img {
	display: block;
	height: auto !important;
	max-width: 100%;
	object-fit: contain;
	opacity: .82;
}

/* Esquinas completas: el archivo original corresponde a la esquina inferior
   izquierda; el giro de 180º lo sitúa en la diagonal superior derecha. */
.lamagna-native-decorated {
	isolation: isolate;
	overflow: visible !important;
}

.lamagna-native-ornament--bottom-left {
	bottom: clamp(22px, 3vw, 48px) !important;
	left: clamp(22px, 3vw, 48px) !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
}

.lamagna-native-ornament--top-right {
	bottom: auto !important;
	left: auto !important;
	right: clamp(22px, 3vw, 48px) !important;
	top: clamp(22px, 3vw, 48px) !important;
	transform: rotate(180deg) !important;
}

.lamagna-native-ornament--bottom-left,
.lamagna-native-ornament--top-right {
	height: auto !important;
	max-width: 250px;
	width: clamp(145px, 16vw, 250px) !important;
}

.lamagna-native-ornament--bottom-left img,
.lamagna-native-ornament--top-right img {
	display: block;
	height: auto !important;
	max-width: 100%;
	object-fit: contain;
	opacity: .12;
}

.lamagna-native-scroll-ornament {
	right: clamp(22px, 3vw, 52px) !important;
	top: 20% !important;
}

.lamagna-native-scroll-ornament img {
	opacity: .14;
}

/* Botones: altura, texto y foco coherentes en todas las páginas. */
.lamagna-btn .elementor-button,
.lamagna-button,
.lamagna-native-section .elementor-button,
.elementor-widget-button .elementor-button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	line-height: 1.15 !important;
	min-height: 48px;
	padding: 13px 22px;
	text-align: center;
}

.elementor-button:focus-visible,
.lamagna-button:focus-visible,
.lamagna-whatsapp:focus-visible {
	outline: 3px solid #d9b95f;
	outline-offset: 4px;
}

/* Widgets de entradas nativos: tarjetas sin marcos barrocos alrededor de la
   fotografía. El detalle dorado queda limitado a una línea editorial. */
.lamagna-native-events .elementor-post,
.lamagna-native-posts .elementor-post {
	background: var(--lamagna-paper) !important;
	border: 0 !important;
	border-top: 3px solid var(--lamagna-gold) !important;
	border-radius: 0 !important;
	box-shadow: 0 16px 42px rgba(15, 50, 42, .12) !important;
	overflow: hidden;
	transition: box-shadow .35s ease, transform .35s ease;
}

.lamagna-native-events .elementor-post:hover,
.lamagna-native-posts .elementor-post:hover {
	box-shadow: 0 24px 54px rgba(15, 50, 42, .18) !important;
	transform: translateY(-4px);
}

.lamagna-native-events .elementor-post__thumbnail,
.lamagna-native-posts .elementor-post__thumbnail,
.lamagna-native-events .elementor-post__thumbnail img,
.lamagna-native-posts .elementor-post__thumbnail img {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.lamagna-native-events .elementor-post__title a,
.lamagna-native-posts .elementor-post__title a {
	color: var(--lamagna-burgundy) !important;
	font-family: Georgia, serif;
}

.lamagna-native-events .elementor-post__read-more,
.lamagna-native-posts .elementor-post__read-more {
	color: var(--lamagna-green) !important;
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

/* Galería Pro: ninguna tarjeta, marco ni esquina decorativa rodea las fotos. */
.lamagna-native-gallery,
.lamagna-native-gallery .elementor-widget-container,
.lamagna-native-gallery .e-gallery-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.lamagna-native-gallery .e-gallery-container {
	gap: clamp(8px, 1vw, 13px) !important;
}

.lamagna-native-gallery .e-gallery-item,
.lamagna-native-gallery .e-gallery-image,
.lamagna-native-gallery a {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0;
}

.lamagna-native-gallery .e-gallery-item {
	background: transparent !important;
	overflow: hidden;
}

.lamagna-native-gallery .e-gallery-image {
	background-position: center;
	background-size: cover;
	transition: filter .38s ease, transform .6s cubic-bezier(.2, .7, .2, 1) !important;
}

.lamagna-native-gallery .e-gallery-item:hover .e-gallery-image,
.lamagna-native-gallery .e-gallery-item:focus-visible .e-gallery-image {
	filter: saturate(1.07) contrast(1.025);
	transform: scale(1.045);
}

.lamagna-native-gallery .e-gallery-item:focus-visible {
	outline: 3px solid var(--lamagna-gold) !important;
	outline-offset: -3px;
}

/* WhatsApp visible, pero integrado con la identidad. */
.lamagna-whatsapp {
	align-items: center;
	background: var(--lamagna-green) !important;
	border: 1px solid #d9b95f !important;
	box-shadow: 0 12px 32px rgba(15, 50, 42, .28) !important;
	display: inline-flex;
	gap: 10px;
	min-height: 52px;
	padding: 11px 17px !important;
}

.lamagna-whatsapp svg {
	height: 27px !important;
	width: 27px !important;
}

/* Cabecera y submenús: los padres siguen siendo enlaces visitables. */
.lamagna-header__nav .elementor-nav-menu--main .sub-menu {
	background: var(--lamagna-paper) !important;
	border: 1px solid rgba(168, 133, 45, .5) !important;
	box-shadow: 0 18px 44px rgba(15, 50, 42, .2) !important;
}

.lamagna-header__nav .elementor-nav-menu--main .sub-menu a {
	color: var(--lamagna-green) !important;
}

.lamagna-header__nav .elementor-nav-menu--main .sub-menu a:hover,
.lamagna-header__nav .elementor-nav-menu--main .sub-menu a:focus-visible,
.lamagna-header__nav .elementor-nav-menu--main .sub-menu .elementor-item-active {
	background: var(--lamagna-green) !important;
	color: var(--lamagna-ivory) !important;
}

@media (max-width: 1024px) {
	.lamagna-hero {
		min-height: auto !important;
	}

	.lamagna-native-ornament--bottom-left,
	.lamagna-native-ornament--top-right {
		width: 150px !important;
	}
}

@media (max-width: 767px) {
	.lamagna-paper,
	.lamagna-dark,
	.lamagna-burgundy,
	.lamagna-native-section {
		padding-bottom: 44px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		padding-top: 44px !important;
	}

	.lamagna-composite-host {
		padding: 0 !important;
	}

	.lamagna-hero h1.elementor-heading-title {
		font-size: clamp(2.55rem, 13vw, 4.2rem);
	}

	.lamagna-page-divider {
		max-width: 220px;
		width: 62vw !important;
	}

	.lamagna-native-ornament,
	.lamagna-native-scroll-ornament {
		display: none !important;
	}

	.lamagna-native-gallery .e-gallery-container {
		gap: 8px !important;
	}

	.lamagna-whatsapp {
		border-radius: 50% !important;
		height: 58px !important;
		justify-content: center;
		min-height: 58px;
		padding: 0 !important;
		width: 58px !important;
	}

	.lamagna-whatsapp span {
		display: none;
	}

	.lamagna-whatsapp svg {
		height: 31px !important;
		width: 31px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lamagna-native-events .elementor-post,
	.lamagna-native-posts .elementor-post,
	.lamagna-native-gallery .e-gallery-image {
		transition: none !important;
	}
}
