/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://example.com
Description: Tema hijo de Twenty Twenty-Five para personalizaciones.
Author: Usuario
Template: twentytwentyfive
Version: 1.0
*/

@import url("../twentytwentyfive/style.css");

@font-face {
    font-family: "Hector";
    src: url("fonts/Hector-Regular.woff2") format("woff2"),
         url("fonts/Hector-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ==== Estilos personalizados ==== */
.sticky-image {
  position: fixed;
  top: 30%;
  left: 50%;
  pointer-events: none;
  z-index: 100;
}

.sticky-image img {
  transform: translate(-50%, -30%);
  transform-origin: center center;
  transition: transform 0.8s ease, opacity 0.8s ease;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 1rem 2rem;
  transition: background 0.3s ease;
}

header .wp-block-navigation a {
    font-family: "Hector", sans-serif !important;
}

.wp-block-site-title{
	font-family: "Hector", sans-serif !important;
}

.wp-block-navigation__responsive-container.is-menu-open 
    .wp-block-navigation__responsive-container-close {
    
    position: absolute !important;
    top: 5% !important;
    right: 5% !important;
    z-index: 999999 !important;
    color: #FFFFFF !important;
    font-size: 2rem !important;
}

#fullpage { margin: 0; }

.section { margin: 0; }

/* --- Reposicionar flechas del slider horizontal en la sección 6 --- */
.section-casos .fp-slides { position: relative; }

.section-casos .fp-controlArrow {
    top: 40px !important;
    transform: none !important;
    z-index: 9999 !important;
}

.fp-controlArrow.fp-prev {
    left: 40% !important;
    margin-left: -80px !important;
	top: 23%;
	border-width: 28.5px 24px 28.5px 0 !important;
}

.fp-controlArrow.fp-next {
    right: 40% !important;
    margin-right: -80px !important;
	top: 23%;
	border-width: 28.5px 0 28.5px 24px !important;
}

.fp-watermark { display: none !important; }

.justificao{ text-align: justify; }

/* Sección 6 (casos) */
.section:nth-child(7) .fp-slide .wp-block-columns {
  display: flex !important;
  flex-wrap: nowrap;
  padding-top: 15% !important;
}

.section:nth-child(7) .fp-slide .wp-block-column { flex: 0 0 auto; }

.section:nth-child(7) .casos-titulo {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
}

.mi-cuadricula img {
    display: block;
    margin: 0 auto;
	width:50%;
}

/* BLOQUE PRINCIPAL */
.cruz-imagenes {
    position: relative !important;
    width: 100% !important;
    height: calc(var(--vh) * 100) !important;
    min-height: calc(var(--vh) * 100) !important;
    overflow: visible !important;
    display: block !important;
}

/* WRAPPER GUTENBERG */
.cruz-imagenes > .wp-block-group__inner-container {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: calc(var(--vh) * 100) !important;
    min-height: calc(var(--vh) * 100) !important;
    overflow: visible !important;
    position: relative !important;
}

.cruz-imagenes.is-layout-constrained {
    max-width: none !important;
    padding: 0 !important;
}

/* FIGURES */
.cruz-imagenes figure {
    position: absolute !important;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
    transition: opacity 0.8s ease, transform 0.8s ease;
    margin: 0 !important;
}

.cruz-imagenes figure img {
    width: 250px !important;
    height: auto !important;
    display: block !important;
}

/* POSICIONES */
.cruz-imagenes .img-arriba    { top: 20%; left: 50%; }
.cruz-imagenes .img-izquierda { top: 50%; left: 25%; }
.cruz-imagenes .img-derecha   { top: 50%; left: 75%; }
.cruz-imagenes .img-abajo     { top: 80%; left: 50%; }

.cruz-imagenes.visible figure {
    opacity: 1 !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

.cruz-imagenes figure:hover img {
    transform: scale(1.12) rotate(3deg);
}

a:focus {
    outline: none !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {

    .no-gap {
        gap: 0;
		margin-top: 0;
		grid-template-columns: repeat(auto-fill, minmax(min(6rem, 100%), 1fr));
    }

	.h-mov {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.cust-center {
		text-align: center !important;
		margin-top: 50% !important;
	}

	.cruz-imagenes .img-arriba    { top: 22%; left: 25%; width:130px; }
	.cruz-imagenes .img-izquierda { top: 22%; left: 75%; width:130px; }
	.cruz-imagenes .img-derecha   { top: 70%; left: 75%; width:130px; }
	.cruz-imagenes .img-abajo     { top: 70%; left: 25%; width:130px; }

	.justificao {
		font-size: 16px;
		margin-bottom: 10px !important;
	}
	
	.section-casos .fp-controlArrow {
		display:none !important;
	}

	.fp-controlArrow.fp-prev {
		display:none !important;
	}

	.fp-controlArrow.fp-next {
		display:none !important;
	}
	
	.psrel {
		position: relative !important;
		top: -5%;
	}
	
	.fp-slide.fp-table {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }
	
	.fp-slidesContainer{
		height: 0 !important;
	}
	
	.section:nth-child(7) .fp-slide .wp-block-columns {
	  padding-top: 50% !important;
	}

	.section:nth-child(7) .casos-titulo {
		top: 10% !important;
	}

	
}


/* =======================================
   MENÚ MÓVIL — CENTRADO TOTAL + ESTILOS
   ======================================= */
.wp-block-navigation__responsive-container.is-menu-open {
    background: #000A1B !important;
    position: fixed !important;
    inset: 0 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 99999 !important;
}

.wp-block-navigation__responsive-container.is-menu-open 
    .wp-block-navigation__container {
    
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1.8rem !important;
    width: 100%;
    padding: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open a {
    font-family: "Hector", sans-serif !important;
    color: #FFFFFF !important;
    font-size: 1.8rem;
    text-decoration: none;
    line-height: 1;
}

.wp-block-navigation__responsive-container.is-menu-open a:hover {
    opacity: 0.8;
}

.wp-block-navigation__responsive-container.is-menu-open 
    .current-menu-item > a,
.wp-block-navigation__responsive-container.is-menu-open 
    .wp-block-navigation-item__content[aria-current="page"] {
    
    color: #B8A5CD !important;
    font-weight: 600;
}

.wp-block-navigation__responsive-container.is-menu-open a:focus,
.wp-block-navigation__responsive-container.is-menu-open a:active {
    outline: none !important;
    box-shadow: none !important;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
    color: #FFFFFF !important;
}

#casos{display:none;}

/* ============================================================
   ⭐ FIX iOS — Altura real del viewport (sin overscroll upward)
   ============================================================ */

.fp-section,
.section,
.fp-slide {
    height: calc(var(--vh) * 100) !important;
    min-height: calc(var(--vh) * 100) !important;
}


/* ======================================
   CUADRÍCULA EN UNA SOLA LÍNEA (MÓVIL)
   ====================================== */

@media (max-width: 768px) {

    .no-gap {
        display: flex !important;
        flex-wrap: wrap !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;  /* Firefox */
        -ms-overflow-style: none !important;  /* IE/Edge */
        gap: 0 !important;
        padding-bottom: 1rem;
    }

    /* Ocultar barra de scroll en mobile WebKit */
    .no-gap::-webkit-scrollbar {
        display: none !important;
    }

    .no-gap figure {
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center;
    }

    .no-gap img {
        width: 76px !important;  /* Ajusta tamaño del logo */
        height: auto !important;
    }
}


/* FORZAR que el menú móvil esté encima de fullPage.js */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    z-index: 99999999 !important;
    pointer-events: auto !important;
}

/* Asegurar que el contenido detrás NO captura clics */
body .fp-section,
body .fp-slides,
body .fp-overflow {
    pointer-events: none;
}

/* Pero dentro del menú, sí permitimos clics */
.wp-block-navigation__responsive-container.is-menu-open * {
    pointer-events: auto !important;
}
