/* ==========================================================================
   Ventel – capa de estilo sobre Twenty Twenty-Five.
   Principios: respuesta inmediata, profundidad sutil, tracking segun tamano,
   y respeto por "reducir movimiento" / "reducir transparencia".
   ========================================================================== */

:root {
	--v-azul: #1d3362;
	--v-acento: #1e73be;
	--v-radio: 16px;
	--v-sombra: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(29, 51, 98, .07);
	--v-sombra-alta: 0 2px 4px rgba(16, 24, 40, .05), 0 18px 40px rgba(29, 51, 98, .14);
	--v-cintillo-ancho: min(100vw, 1180px);
	--v-cintillo: calc(var(--v-cintillo-ancho) * 0.0802); /* alto del cintillo (8335x668) */
	--v-curva: cubic-bezier(.2, .8, .2, 1);
}

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* ---------- Tipografia: Platypi (titulos) + Manrope (texto e interfaz) ---------- */
/* Tracking especifico por tamano: grande = negativo, pequeno = levemente positivo */
h1, h2, h3, h4, .wp-block-post-title { font-optical-sizing: auto; text-wrap: balance; }
h1, .wp-block-post-title.is-h1 { letter-spacing: -0.022em; font-weight: 650; }
h2 { letter-spacing: -0.016em; }
h3 { letter-spacing: -0.006em; }
p, li { text-wrap: pretty; }
.has-small-font-size, small, .wp-block-post-date { letter-spacing: 0.01em; }
/* La interfaz se queda en sans-serif */
.ventel-menu, .wp-element-button, .wp-block-button__link, .ventel-antetitulo, .ventel-antetitulo-oscuro,
.ventel-dato, .ventel-cifra-txt, .wp-block-post-date, footer h3, input, select, textarea, button {
	font-family: var(--wp--preset--font-family--manrope) !important;
}
footer h3 { letter-spacing: .06em !important; text-transform: uppercase; font-size: .82rem !important; font-weight: 700 !important; }

/* ---------- Cabecera: cintillo + menu translucido que queda fijo ---------- */
header.wp-block-template-part { position: sticky; top: calc(-1 * var(--v-cintillo)); z-index: 50; }
.admin-bar header.wp-block-template-part { top: calc(32px - var(--v-cintillo)); }
.ventel-cintillo { background-color: #1d3362 !important; }
.ventel-cintillo .wp-block-image { margin: 0 auto; max-width: var(--v-cintillo-ancho); }
.ventel-cintillo img {
	width: 100%; height: auto; display: block;
	/* Bordes laterales e inferior fundidos con el azul del fondo (la imagen trae un marco fino) */
	--v-lados: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
	--v-abajo: linear-gradient(180deg, transparent 0, #000 6%, #000 86%, transparent 100%);
	-webkit-mask-image: var(--v-lados), var(--v-abajo);
	-webkit-mask-composite: source-in;
	mask-image: var(--v-lados), var(--v-abajo);
	mask-composite: intersect;
}
@media (max-width: 1180px) {
	.ventel-cintillo img { -webkit-mask-image: var(--v-abajo); mask-image: var(--v-abajo); }
}

.ventel-menu {
	background-color: rgba(255, 255, 255, .82) !important;
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid rgba(29, 51, 98, .08);
}
.ventel-menu .wp-block-navigation-item__content { font-weight: 600; font-size: .97rem; letter-spacing: -0.005em; transition: color .18s ease-out; }
.ventel-menu .wp-block-navigation-item__content:hover { color: var(--v-acento); }

/* Sin subrayados en la navegacion: el estado se indica solo con el color */
.ventel-menu a, .ventel-menu a:hover, .ventel-menu a:focus,
footer a, footer a:hover,
.ventel-tarjeta a, .ventel-tarjeta a:hover,
.wp-block-post-title a, .wp-block-post-title a:hover { text-decoration: none !important; }
.ventel-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding-block: .35rem; }
.ventel-menu .current-menu-item > .wp-block-navigation-item__content { color: var(--v-acento); }
footer a:hover { color: #9cc9f2 !important; }

/* Sin el recuadro de foco al hacer clic con el raton (se mantiene para teclado) */
.ventel-menu a:focus:not(:focus-visible), .ventel-menu button:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.ventel-menu .wp-block-navigation-submenu__toggle { transition: transform .25s var(--v-curva); }
.ventel-menu .has-child:hover > .wp-block-navigation-submenu__toggle,
.ventel-menu .wp-block-navigation-submenu__toggle[aria-expanded="true"] { transform: rotate(180deg); }

/* Submenu: blanco opaco que aparece con un deslizamiento corto */
.ventel-menu .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: 14px; padding: .5rem !important; min-width: 250px !important;
	background-color: #ffffff !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 16px 40px rgba(29, 51, 98, .18);
	margin-top: .6rem;
	transform: translateY(6px); opacity: 0;
	transition: opacity .18s ease-out, transform .22s var(--v-curva), visibility 0s linear .22s !important;
}
.ventel-menu .has-child:hover > .wp-block-navigation__submenu-container,
.ventel-menu .has-child:focus-within > .wp-block-navigation__submenu-container,
.ventel-menu .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: translateY(0); opacity: 1;
	transition: opacity .18s ease-out, transform .22s var(--v-curva), visibility 0s !important;
}
/* Puente invisible para no perder el hover entre el enlace y el submenu */
.ventel-menu .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -.8rem; height: .8rem; }
.ventel-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 500; padding: .55rem .85rem !important; border-radius: 9px; color: #2b3445;
	transition: background-color .15s ease-out, color .15s ease-out;
}
.ventel-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #f1f5fb; color: var(--v-acento); }

/* Menu movil: capa opaca y legible */
.ventel-menu .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: var(--v-azul); padding: 1.5rem; }
.ventel-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.08rem; }
.ventel-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding-left: 1rem; background: transparent !important; }

/* ---------- Portadas (cover) con degradado en lugar de velo plano ---------- */
.ventel-hero .wp-block-cover__background {
	background: linear-gradient(100deg, rgba(20, 36, 72, .92) 0%, rgba(29, 51, 98, .72) 45%, rgba(29, 51, 98, .18) 100%) !important;
	opacity: 1 !important;
}
.ventel-hero h1 { font-size: clamp(2.5rem, 5.4vw, 4rem) !important; letter-spacing: -0.025em; line-height: 1.04; font-weight: 600; max-width: 14ch; }
.ventel-hero p { max-width: 46ch; color: rgba(255, 255, 255, .9); }
/* Alinear al borde izquierdo del contenido (no centrar por el max-width) */
.ventel-hero .wp-block-cover__inner-container > h1,
.ventel-hero .wp-block-cover__inner-container > p { margin-left: max(0px, calc((100% - 1180px) / 2)) !important; margin-right: auto !important; }
.ventel-hero .wp-block-cover__inner-container { padding-block: 2rem; position: relative; z-index: 2; }
.ventel-hero .ventel-antetitulo { max-width: none; }
.ventel-antetitulo { text-transform: uppercase; letter-spacing: .14em !important; font-size: .8rem !important; font-weight: 700; color: #ffd166 !important; margin-bottom: .2rem; }
.ventel-antetitulo-oscuro { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 700; color: var(--v-acento); margin-bottom: -.4rem; }

/* Carrusel de la portada: capas apiladas con fundido y un zoom muy lento */
.ventel-carrusel { overflow: hidden; }
.ventel-carrusel .ventel-capa { opacity: 0; transform: scale(1.06); transition: opacity 1.2s ease-in-out, transform 7.5s linear; }
.ventel-carrusel .ventel-capa.is-activa { opacity: 1; transform: scale(1); }
.ventel-carrusel .wp-block-cover__background { z-index: 1; }
.ventel-puntos { position: absolute; z-index: 3; left: 50%; bottom: 1.4rem; transform: translateX(-50%); display: flex; gap: .55rem; }
.ventel-puntos button {
	width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
	background: rgba(255, 255, 255, .45); transition: width .3s var(--v-curva), background-color .2s ease-out;
}
.ventel-puntos button:hover { background: rgba(255, 255, 255, .8); }
.ventel-puntos button[aria-current="true"] { width: 28px; background: #fff; }

/* Pagina 404 y buscador sobre la portada */
.ventel-404 .wp-block-cover__inner-container { text-align: center; }
.ventel-hero.ventel-404 .wp-block-cover__inner-container > h1,
.ventel-hero.ventel-404 .wp-block-cover__inner-container > p { margin-left: auto !important; margin-right: auto !important; }
.ventel-404 h1 { max-width: 16ch; }
.ventel-404 .wp-block-buttons { justify-content: center; }
.ventel-buscar { max-width: 520px; margin: 1.2rem auto 0 !important; }
.ventel-buscar.ventel-buscar-izq { margin-left: 0 !important; }
.ventel-buscar .wp-block-search__input { border-radius: 999px !important; border: 0 !important; padding: .8rem 1.3rem !important; background: rgba(255, 255, 255, .95); }
.ventel-buscar .wp-block-search__button { border-radius: 999px !important; background: var(--v-acento) !important; color: #fff !important; border: 0 !important; margin-left: .5rem !important; }

/* Franja de cifras bajo la portada */
.ventel-cifras { padding: 2.2rem var(--wp--preset--spacing--40); background-image: linear-gradient(180deg, #1d3362, #182b54); }
.ventel-cifras-grid { gap: 1.5rem 2rem !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.ventel-cifra { border-left: 2px solid rgba(255, 209, 102, .7); padding-left: 1rem; }
.ventel-cifra p { margin: 0; }
.ventel-cifra-num { color: #fff; font-family: var(--wp--preset--font-family--platypi); font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; font-variant-numeric: lining-nums; }
.ventel-cifra-txt { color: rgba(255, 255, 255, .72); font-size: .9rem; line-height: 1.4; margin-top: .3rem !important; }

/* ---------- Botones: respuesta al presionar (100 ms, ease-out) ---------- */
.wp-element-button, .wp-block-button__link {
	border-radius: 999px !important;
	transition: transform .1s ease-out, background-color .15s ease-out, color .15s ease-out, box-shadow .15s ease-out;
}
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.97); }
.is-style-outline .wp-block-button__link { border-width: 1.5px; }
.ventel-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.ventel-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); }

/* ---------- Tarjetas ---------- */
.ventel-tarjeta {
	border-radius: var(--v-radio) !important; overflow: hidden; height: 100%;
	box-shadow: var(--v-sombra);
	transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease-out;
}
.ventel-tarjeta:hover { transform: translateY(-3px); box-shadow: var(--v-sombra-alta); }
.ventel-tarjeta:active { transform: translateY(-1px) scale(.995); }
.ventel-tarjeta .wp-block-image, .ventel-tarjeta .wp-block-post-featured-image { margin: 0; }
.ventel-tarjeta .wp-block-image, .ventel-tarjeta .wp-block-post-featured-image { overflow: hidden; }
.ventel-tarjeta .wp-block-image img, .ventel-tarjeta .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; transition: transform .6s var(--v-curva); }
.ventel-tarjeta:hover .wp-block-image img, .ventel-tarjeta:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.ventel-dato { text-transform: uppercase; letter-spacing: .1em; font-size: .72rem !important; font-weight: 700; color: var(--v-acento); margin: 0 !important; }
.ventel-enlace { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; }
.ventel-enlace::after { content: "→"; transition: transform .2s var(--v-curva); }
.ventel-tarjeta:hover .ventel-enlace::after, .ventel-enlace:hover::after { transform: translateX(4px); }
.ventel-tarjeta h2 a, .ventel-tarjeta h3 a { text-decoration: none; color: var(--v-azul); }
.ventel-tarjeta h2 a:hover, .ventel-tarjeta h3 a:hover { color: var(--v-acento); }
.ventel-revista { display: flex; flex-direction: column; }
.ventel-revista .wp-block-buttons { margin-top: auto; }

/* ---------- Aliados: cuadricula adaptable, en gris hasta pasar el cursor ---------- */
.ventel-aliados { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem 1.5rem !important; align-items: center; }
.ventel-aliados > .wp-block-column { flex-basis: auto !important; }
.ventel-aliados .wp-block-image { display: flex; justify-content: center; align-items: center; margin: 0; }
.ventel-aliados img { max-height: 76px; width: auto !important; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter .2s ease-out, opacity .2s ease-out; }
.ventel-aliados img:hover { filter: none; opacity: 1; }

/* ---------- Iconos y galerias ---------- */
.ventel-icono img { width: 64px; height: 64px; object-fit: contain; }
.wp-block-gallery.ventel-galeria .wp-block-image { border-radius: 12px; overflow: hidden; }
.wp-block-gallery.ventel-galeria .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.wp-block-gallery.ventel-galeria .wp-block-image:hover img { transform: scale(1.03); }
.wp-block-image img, .wp-block-video video { border-radius: 12px; }
.ventel-cintillo img, .ventel-aliados img, .ventel-icono img, .ventel-logo-pie img, .wp-block-cover img { border-radius: 0; }

/* ---------- Pie: logo en blanco sobre el fondo oscuro ---------- */
.ventel-logo-pie img { filter: brightness(0) invert(1); background: none !important; padding: 0 !important; opacity: .95; }

/* ---------- Accesibilidad ---------- */
:where(a, button, .wp-block-button__link, input, select, textarea):focus-visible { outline: 2px solid var(--v-acento); outline-offset: 2px; border-radius: 6px; }
[id] { scroll-margin-top: 5rem; }

@media (prefers-reduced-transparency: reduce) {
	.ventel-menu { background-color: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
	.ventel-tarjeta:hover, .wp-block-gallery.ventel-galeria .wp-block-image:hover img { transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.ventel-aliados { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 1rem !important; }
	.ventel-aliados img { max-height: 56px; }
	.ventel-hero { min-height: 420px !important; }
	.ventel-cifras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ventel-cifra-num { font-size: 1.6rem; }
	.ventel-hero h1 { max-width: none; }
	.ventel-menu { padding-left: 1rem !important; padding-right: 1rem !important; }
}
@media (max-width: 480px) {
	.ventel-aliados { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wp-block-buttons > .wp-block-button { flex: 1 1 100%; }
	.wp-block-buttons > .wp-block-button .wp-block-button__link { width: 100%; }
}
