/* Hello MOW — estilos que antes generaba Elementor Pro. Colores de la marca: */
:root {
	--mow-navy: #000c31;
	--mow-coral: #eb5a5f;
	--mow-blue: #214072;
	--mow-grey: #7a7a7a;
}

/* ---------- Cabecera ---------- */
.mow-site-header > .elementor > .e-con:first-child,
.mow-site-header .elementor-element-35bd72b { position: relative; z-index: 100; }

/* El logo va dentro de un enlace: sin interlineado extra debajo de la imagen */
.mow-site-header .elementor-widget-image,
.mow-site-footer .elementor-widget-image { line-height: 0; }

/* ---------- Menú principal [mow_menu] ---------- */
.mow-menu { display: flex; justify-content: center; font-family: Montserrat, sans-serif; }
.mow-menu__list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 0; padding: 0; list-style: none; }
.mow-menu__list li { position: relative; margin: 0; }
.mow-menu__list a {
	display: flex; align-items: center; gap: 10px;
	padding: 13px 20px; color: #fff; text-decoration: none;
	font-size: 14px; font-weight: 600; line-height: 20px;
	transition: color .2s;
}
.mow-menu__list a:hover,
.mow-menu__list a:focus-visible,
.mow-menu__list .current-menu-item > a,
.mow-menu__list .current-menu-ancestor > a,
.mow-menu__list .current_page_parent > a { color: var(--mow-coral); }
.mow-menu__list .menu-item-has-children > a::after {
	content: ""; width: 0; height: 0;
	border-left: 4.5px solid transparent; border-right: 4.5px solid transparent; border-top: 5px solid currentColor;
}
.mow-menu__list .sub-menu {
	position: absolute; top: 100%; left: 0; z-index: 110; min-width: 12em;
	margin: 0; padding: 0; list-style: none;
	background: var(--mow-navy); border-radius: 6px; overflow: hidden;
	visibility: hidden; opacity: 0; transition: opacity .15s, visibility .15s;
}
.mow-menu__list li:hover > .sub-menu,
.mow-menu__list li:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.mow-menu__list .sub-menu a { font-size: 13px; font-weight: 500; white-space: nowrap; }
.mow-menu__list .sub-menu a:hover,
.mow-menu__list .sub-menu a:focus-visible,
.mow-menu__list .sub-menu .current-menu-item > a { color: #fff; background: var(--mow-coral); }

.mow-menu__toggle {
	display: none; align-items: center; justify-content: center;
	width: 33px; height: 33px; padding: 0; margin-left: auto;
	background: rgba(0, 0, 0, .05); border: 0; border-radius: 3px; color: #fff; cursor: pointer;
}
.mow-menu__toggle:hover, .mow-menu__toggle:focus { background: rgba(0, 0, 0, .05); color: #fff; }
.mow-menu__bars, .mow-menu__bars::before, .mow-menu__bars::after {
	display: block; width: 20px; height: 2.5px; background: currentColor; border-radius: 2px; transition: transform .2s, opacity .2s;
}
.mow-menu__bars { position: relative; }
.mow-menu__bars::before, .mow-menu__bars::after { content: ""; position: absolute; left: 0; }
.mow-menu__bars::before { top: -6.5px; }
.mow-menu__bars::after { top: 6.5px; }
.mow-menu.is-open .mow-menu__bars { background: transparent; }
.mow-menu.is-open .mow-menu__bars::before { transform: translateY(6.5px) rotate(45deg); }
.mow-menu.is-open .mow-menu__bars::after { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 1024px) {
	.mow-menu { justify-content: flex-end; }
	.mow-menu__toggle { display: flex; }
	.mow-menu__list {
		display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 120;
		flex-direction: column; align-items: stretch; flex-wrap: nowrap;
		background: var(--mow-navy); box-shadow: 0 10px 20px rgba(0, 0, 0, .25);
		max-height: calc(100vh - 100%); overflow-y: auto;
	}
	.mow-menu.is-open .mow-menu__list { display: flex; }
	.mow-menu__list li { position: static; }
	.mow-menu__list a { font-weight: 500; }
	.mow-menu__list .menu-item-has-children > a::after { display: none; }
	.mow-menu__list .sub-menu { position: static; visibility: visible; opacity: 1; border-radius: 0; background: transparent; }
	.mow-menu__list .sub-menu a { padding-left: 40px; font-size: 14px; }
	/* El desplegable ocupa todo el ancho de la cabecera, por debajo de ella: el widget y su
	   columna no deben ser la referencia de posición, sino el contenedor principal de la cabecera */
	.mow-site-header .elementor-widget-shortcode:has(.mow-menu),
	.mow-site-header .e-con:has(> .elementor-widget-shortcode .mow-menu),
	.mow-site-header .e-con-inner:has(> .elementor-widget-shortcode .mow-menu) { position: static; }
}

/* ---------- Tarjetas de entradas [mow_posts] y blog ---------- */
.mow-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 30px; }
.mow-card {
	display: flex; flex-direction: column; overflow: hidden;
	border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, .15);
	font-family: Montserrat, sans-serif;
}
.mow-card__thumb { display: block; position: relative; padding-bottom: 66%; overflow: hidden; }
.mow-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mow-card__text { flex: 1; margin-top: 20px; padding: 0 30px; }
.mow-card__title { margin: 0 0 25px; font-size: 20px; font-weight: 500; line-height: 1.2; }
.mow-card__title a { color: inherit; text-decoration: none; }
.mow-card__excerpt p { margin: 0 0 25px; font-size: 14px; font-weight: 400; line-height: 1.5; }
.mow-card__more { display: inline-block; margin-bottom: 20px; font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--mow-coral); text-decoration: none; }
.mow-card__more:hover { color: #fff; }

.mow-card--archive { background: var(--mow-navy); }
.mow-card--archive .mow-card__text { margin-top: 40px; }
.mow-card--archive .mow-card__title { color: var(--mow-coral); }
.mow-card--archive .mow-card__excerpt { color: #fff; }

.mow-card--home { background: #fff; }
.mow-card--home .mow-card__title { color: var(--mow-blue); }
.mow-card--home .mow-card__text { padding-top: 20px; padding-bottom: 44px; }

@media (max-width: 1024px) { .mow-cards--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.mow-cards--archive, .mow-cards--home { grid-template-columns: 1fr; }
	.mow-card__thumb { padding-bottom: 50%; }
}

/* Entradas y blog ocupan todo el ancho (Hello limita .site-main y le añade márgenes) */
body .site-main.mow-single, body .site-main.mow-archive { max-width: none; margin: 0; padding-inline: 0; }

/* ---------- Blog (Actualidad) ---------- */
body .site-main.mow-archive { max-width: 1160px; margin: 0 auto; padding: 50px 10px 60px; }
.mow-archive__title {
	margin: 0 0 60px; text-align: center; color: var(--mow-coral);
	font-family: Montserrat, sans-serif; font-size: 42px; font-weight: 700; line-height: 1;
}
.mow-pagination { margin-top: 40px; text-align: center; font-family: Montserrat, sans-serif; }
.mow-pagination .page-numbers { padding: 0 8px; color: var(--mow-navy); }
.mow-pagination .current { color: var(--mow-coral); font-weight: 700; }
@media (max-width: 767px) {
	.mow-archive { padding-top: 50px; }
	.mow-archive__title { font-size: 30px; margin-bottom: 60px; }
}

/* ---------- Entrada ---------- */
.mow-single { font-family: Montserrat, sans-serif; }
.mow-single__head { max-width: 920px; margin: 0 auto; padding: 50px 10px 10px; }
.mow-single__title { margin: 0 0 20px; color: var(--mow-coral); font-size: 38px; font-weight: 700; line-height: 42px; }
.mow-single__date { margin: 0; color: var(--mow-grey); font-size: 16px; line-height: 24px; }
.mow-single__body { max-width: 740px; margin: 0 auto; padding: 10px 10px 60px; }
.mow-single__image { margin: 0 0 60px; line-height: 0; text-align: center; }
.mow-single .mow-single__image img { width: auto; max-width: 100%; max-height: none; height: auto; }
.mow-single__content { color: var(--mow-grey); font-size: 16px; font-weight: 300; line-height: 1.5; text-align: justify; }
.mow-single__content p { margin: 0 0 .9em; }
.mow-single__content img { max-width: 100%; height: auto; }
.mow-single__content a { color: var(--mow-coral); }

.mow-postnav { display: flex; align-items: center; margin-top: 35px; padding-top: 35px; border-top: 1px solid #8a8a8a; }
.mow-postnav__prev, .mow-postnav__next { flex: 1; min-width: 0; }
.mow-postnav__next { text-align: right; }
.mow-postnav a { display: flex; align-items: center; gap: 15px; text-decoration: none; }
.mow-postnav__next a { justify-content: flex-end; }
.mow-postnav__text { display: flex; flex-direction: column; min-width: 0; }
.mow-postnav__label { color: var(--mow-coral); font-size: 12.8px; line-height: 1.5; text-transform: uppercase; }
.mow-postnav__title { color: #54595f; font-size: 11.2px; font-weight: 300; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mow-postnav__arrow { flex: none; width: 19px; color: #d5d8dc; }
.mow-postnav__arrow svg { display: block; width: 100%; fill: currentColor; }
.mow-postnav__arrow--next svg { transform: scaleX(-1); }
.mow-postnav__sep { width: 1px; height: 30px; margin: 0 10px; background: #d5d8dc; }
.mow-postnav a:hover .mow-postnav__label { color: var(--mow-navy); }

/* ---------- Formularios (Fluent Forms), con las medidas de los antiguos de Elementor Pro ---------- */
.mow-form .fluentform { font-family: Montserrat, sans-serif; }
.mow-form .fluentform .ff-el-group { margin-bottom: 16px; }
.mow-form .fluentform .ff-el-input--label { display: block; margin: 0; padding: 0 0 5px; line-height: 16px; }
.mow-form .fluentform .ff-el-input--label label { display: block; margin: 0; font-family: inherit; font-size: 16px; font-weight: 300; line-height: 16px; }
.mow-form .fluentform .ff-el-input--content { line-height: 0; }
.mow-form .fluentform .ff-el-form-control {
	display: block; height: 40px; padding: 8px 16px; border: 0; border-radius: 6px; background: #fff;
	color: #595959; font-family: inherit; font-size: 15px; font-weight: 300; line-height: 21px; box-shadow: none; /* #595959: contraste AA */
}
.mow-form .fluentform textarea.ff-el-form-control { height: 94px; padding: 5px 14px; }
.mow-form .fluentform .ff-el-form-control:focus { box-shadow: 0 0 0 2px rgba(235, 90, 95, .5); }
.mow-form .fluentform .ff-el-form-control::placeholder { color: #767676; opacity: 1; }
.mow-form .fluentform .ff_submit_btn_wrapper { margin: 0; }
.mow-form .fluentform .ff-btn-submit {
	width: 100%; height: 40px; padding: 0 24px; border: 0; border-radius: 8px;
	background: var(--mow-coral) !important; color: #fff !important;
	font-family: inherit; font-size: 20px; font-weight: 600; line-height: 28px; cursor: pointer;
}
.mow-form .fluentform .ff-btn-submit:hover { opacity: .9; }
.mow-form .ff-message-success {
	margin: 0; padding: 15px 20px; border: 0; border-radius: 6px; box-shadow: none;
	background: #e7f6ec; color: #1e5631; font-family: Montserrat, sans-serif; font-size: 16px;
}
.mow-form .ff-message-success p { margin: 0; }
.mow-form .ff-message-success p::before { content: "✓ "; font-weight: 700; }
.mow-form .fluentform .error, .mow-form .fluentform .text-danger { margin-top: 4px; color: #ffb3b5; font-size: 13px; }

/* Contacto: etiquetas blancas sobre el recuadro azul */
.mow-form--contacto .fluentform .ff-el-input--label label { color: #fff; }

/* Newsletter: campos en dos columnas, sin etiquetas, botón a media anchura */
.mow-form--newsletter .fluentform fieldset { display: flex !important; flex-wrap: wrap; column-gap: 15px; }
.mow-form--newsletter .fluentform .ff-el-group { flex: 0 0 100%; margin-bottom: 15px; }
.mow-form--newsletter .fluentform .ff-el-group.mow-half,
.mow-form--newsletter .fluentform .ff_submit_btn_wrapper { flex: 0 0 calc(50% - 7.5px); }
.mow-form--newsletter .fluentform .ff-el-group:has(.ff-el-recaptcha), 
.mow-form--newsletter .fluentform .ff-el-group:empty { margin: 0; }
.mow-form--newsletter .fluentform .ff-el-group.mow-break { margin-right: calc(50% + 7.5px); }
.mow-form--newsletter .fluentform .ff-el-form-control { border: 1px solid #c5c5c5; border-radius: 8px; }
.mow-form--newsletter .fluentform .ff-btn-submit { font-weight: 500; }
.mow-form--newsletter .fluentform .error, .mow-form--newsletter .fluentform .text-danger { color: #c0392b; }
@media (max-width: 767px) {
	.mow-form--newsletter .fluentform .ff-el-group.mow-half,
	.mow-form--newsletter .fluentform .ff_submit_btn_wrapper { flex-basis: 100%; }
	.mow-form--newsletter .fluentform .ff-el-group.mow-break { margin-right: 0; }
}

/* ---------- Efectos de movimiento (assets/mow.js) ---------- */
.mow-parallax { isolation: isolate; overflow: hidden; }
.mow-parallax__layer {
	position: absolute; left: 0; right: 0; z-index: -1; pointer-events: none;
	background-repeat: no-repeat; will-change: transform;
}

/* ---------- Búsqueda ---------- */
.mow-archive__query { margin: -40px 0 50px; text-align: center; color: var(--mow-grey); font-family: Montserrat, sans-serif; font-size: 18px; }
.mow-archive__empty { text-align: center; font-family: Montserrat, sans-serif; color: var(--mow-grey); }
