/* ==== Fuente Museo Sans (extraida del sitio original) ==== */
@font-face {
	font-family: 'Museo Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../uploads/2023/04/MuseoSans.woff') format('woff');
}
@font-face {
	font-family: 'Museo Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../uploads/2023/04/MuseoSans-300.woff2') format('woff2'),
	     url('../uploads/2023/04/MuseoSans-300.woff') format('woff');
}
@font-face {
	font-family: 'Museo Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../uploads/2023/04/MuseoSans-500.woff2') format('woff2'),
	     url('../uploads/2023/04/MuseoSans-500.woff') format('woff');
}
@font-face {
	font-family: 'Museo Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../uploads/2023/04/MuseoSans-700.woff2') format('woff2'),
	     url('../uploads/2023/04/MuseoSans-700.woff') format('woff');
}
@font-face {
	font-family: 'Museo Sans';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('../uploads/2023/04/MuseoSans-900.woff2') format('woff2'),
	     url('../uploads/2023/04/MuseoSans-900.woff') format('woff');
}
/* Elementor referencia estas familias con el sufijo "- peso" literal en algunas tipografias */
@font-face { font-family: 'Museo Sans - 300'; font-weight: 300; font-display: swap; src: url('../uploads/2023/04/MuseoSans-300.woff2') format('woff2'), url('../uploads/2023/04/MuseoSans-300.woff') format('woff'); }
@font-face { font-family: 'Museo Sans - 500'; font-weight: 500; font-display: swap; src: url('../uploads/2023/04/MuseoSans-500.woff2') format('woff2'), url('../uploads/2023/04/MuseoSans-500.woff') format('woff'); }
@font-face { font-family: 'Museo Sans - 600'; font-weight: 600; font-display: swap; src: url('../uploads/2023/04/MuseoSans-500.woff2') format('woff2'), url('../uploads/2023/04/MuseoSans-500.woff') format('woff'); }
@font-face { font-family: 'Museo Sans - 700'; font-weight: 700; font-display: swap; src: url('../uploads/2023/04/MuseoSans-700.woff2') format('woff2'), url('../uploads/2023/04/MuseoSans-700.woff') format('woff'); }
@font-face { font-family: 'Museo Sans - 900'; font-weight: 900; font-display: swap; src: url('../uploads/2023/04/MuseoSans-900.woff2') format('woff2'), url('../uploads/2023/04/MuseoSans-900.woff') format('woff'); }
@font-face { font-family: 'Museo Sans 700'; font-weight: 700; font-display: swap; src: url('../uploads/2023/04/Museo700-Regular.woff') format('woff'); }

/* ==== Reset minimo + base de layout flex de Elementor (contenedores) ==== */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: 'Museo Sans', Arial, sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { margin: 0; padding: 0; list-style: none; }

.elementor-widget { position: relative; }

/* ==== Menu principal ==== */
.elementor-nav-menu--main { display: flex; align-items: center; position: relative; }
.elementor-nav-menu { display: flex; gap: 1.5em; flex-wrap: wrap; }
.elementor-menu-toggle { display: none; background: none; border: none; font-size: 24px; cursor: pointer; color: inherit; }

@media (max-width: 850px) {
	.elementor-menu-toggle { display: block; }
	.elementor-nav-menu { display: none; flex-direction: column; position: absolute; top: 100%; right: 0; background: #fff; padding: 1em; box-shadow: 0 4px 12px rgba(0,0,0,.15); z-index: 999; min-width: 220px; }
	.elementor-nav-menu.is-open { display: flex; }
}

/* ==== Hero slider (reemplazo simplificado de Slider Revolution) ==== */
.hero-slider { position: relative; width: 100%; aspect-ratio: 1440 / 600; overflow: hidden; background: #881a19; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1s ease; }
.hero-slide.is-active { opacity: 1; }

/* ==== Popups (simulador de colores) ==== */
.elementor-popup-modal { position: fixed; inset: 0; z-index: 10000; display: none; }
.elementor-popup-modal.is-open { display: block; }
.elementor-popup-modal .popup-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.elementor-popup-modal .popup-inner { position: relative; max-width: 640px; margin: 5vh auto; background: #fff; border-radius: 8px; padding: 2em; max-height: 90vh; overflow-y: auto; }
.elementor-popup-modal .popup-close { position: absolute; top: .5em; right: .5em; background: none; border: none; font-size: 28px; line-height: 1; cursor: pointer; }

/* ==== Icon list (paleta de colores) ==== */
.elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; }
.elementor-icon-list-item a { display: flex; align-items: center; justify-content: center; cursor: pointer; }
.elementor-icon-list-icon i { display: inline-block; }

/* ==== Accordion (Donde comprar) ==== */
.elementor-accordion-item { border-bottom: 1px solid #ddd; }
.elementor-tab-title { display: flex; align-items: center; gap: .5em; padding: 1em 0; cursor: pointer; }
.elementor-tab-content { display: none; padding: 0 0 1em; }
.elementor-accordion-item.is-open .elementor-tab-content { display: block; }
.elementor-accordion-icon-opened { display: none; }
.elementor-accordion-item.is-open .elementor-accordion-icon-closed { display: none; }
.elementor-accordion-item.is-open .elementor-accordion-icon-opened { display: inline; }

/* ==== Formulario de contacto ==== */
.elementor-form {
	max-width: 720px;
	background: #fff;
	border-radius: 12px;
	padding: 2.5em;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .1);
	margin: -60px auto 0;
	position: relative;
	z-index: 5;
}
.elementor-form .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 1.4em 1.2em;
	margin: 0;
}
.elementor-form .elementor-field-group {
	display: flex;
	flex-direction: column;
	gap: .4em;
	flex: 1 1 100%;
}
.elementor-form .elementor-field-group-half { flex-basis: calc(50% - .6em); }
.elementor-form .elementor-field-group-full { flex-basis: 100%; }
.elementor-form label {
	font-size: .85em;
	font-weight: 600;
	color: var(--e-global-color-721849b, #003882);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.elementor-form .elementor-field {
	width: 100%;
	padding: .85em 1em;
	border: 1px solid #dcdfe4;
	border-radius: 6px;
	font-family: inherit;
	font-size: 1em;
	background: #f9fafb;
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.elementor-form .elementor-field:focus {
	outline: none;
	border-color: var(--e-global-color-721849b, #003882);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 56, 130, .12);
}
.elementor-form textarea.elementor-field { min-height: 140px; resize: vertical; }
.elementor-form-actions { margin-top: .4em; }
.elementor-button {
	display: inline-block;
	padding: .9em 2.4em;
	border-radius: 6px;
	cursor: pointer;
	border: none;
	font-family: inherit;
	font-weight: 600;
	letter-spacing: .03em;
	background: var(--e-global-color-721849b, #003882);
	color: #fff;
	transition: background .2s, transform .1s;
}
.elementor-button:hover:not(:disabled) { background: #002a63; }
.elementor-button:active:not(:disabled) { transform: translateY(1px); }
.elementor-button:disabled { opacity: .6; cursor: default; }
.elementor-form-message { margin-top: 1em; padding: .8em 1.1em; border-radius: 6px; font-size: .95em; }
.elementor-form-message.is-success { background: #e6f6ea; color: #1e7e34; border: 1px solid #b7e4c0; }
.elementor-form-message.is-error { background: #fbe9e9; color: #a12222; border: 1px solid #f0b8b8; }

@media (max-width: 700px) {
	.elementor-form { margin: -30px 20px 0; padding: 1.6em; width: auto; }
	.elementor-form .elementor-field-group-half { flex-basis: 100%; }
}

/* Titulos de portada sin override mobile en el sitio original: se recortaban en pantallas chicas */
@media (max-width: 600px) {
	.elementor-34 .elementor-element-495835d .elementor-heading-title,
	.elementor-28 .elementor-element-0cd23e0 .elementor-heading-title,
	.elementor-30 .elementor-element-9479b42 .elementor-heading-title {
		font-size: 26px !important;
		line-height: 1.2em !important;
		text-align: center !important;
	}
	.elementor-34 .elementor-element-495835d,
	.elementor-28 .elementor-element-0cd23e0,
	.elementor-30 .elementor-element-9479b42 {
		width: 100% !important;
		text-align: center !important;
	}
}
