@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Condensed:wght@300;400;600&display=swap');

:root {
  --title-color-init: #05299E;
  --title-color-after: #292929;
  --bg-init: #1812CE;
  --bg-after: #000000;
  --btn-size-lg: 88px;
}

* { box-sizing: border-box; }

html, body { 
  height: 100%; 
  margin: 0; 
  padding: 0; 
  width: 100%;
  overflow-x: hidden;
}

body.osehuz-home {
  font-family: "IBM Plex Sans Condensed", sans-serif;
  background-color: var(--bg-init);
  overflow: hidden;
  transition: background-color 0.6s ease;
}

#osehuz-wrapper {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

#osehuz-central {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

#osehuz-central.hidden-by-menu {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.98);
  pointer-events: none;
}

#osehuz-title {
  margin: 0;
  padding: 0;
  color: var(--title-color-init);
  font-size: 33vw;
  font-weight: 300;
  letter-spacing: -0.05em;
  white-space: nowrap;
  line-height: 1;
  user-select: none;
  overflow: visible;
  clip-path: inset(0 3% 0 3%);
  transform: translateY(-6%);
  pointer-events: none;
}

#osehuz-plus {
  pointer-events: auto;
  z-index: 1100;
  background: transparent;
  border: 0;
  margin-top: 4vh;
  width: var(--btn-size-lg);
  height: var(--btn-size-lg);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.45s ease, transform 0.3s ease;
  cursor: pointer;
}
#osehuz-plus img { width: 100%; height: auto; }
#osehuz-plus.show { opacity: 1; transform: translateY(0); }

#osehuz-menu-container {
  position: fixed;
  inset: 0;
  width: 100%; 
  height: 100%;
  z-index: 1200;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.6s;
}

#osehuz-menu-container.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
}

#osehuz-menu-container.closing {
  opacity: 0;
  visibility: visible;
  transition: opacity 0.55s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.menu-block {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(5%);
  transition: opacity 0.55s cubic-bezier(0.25,0.1,0.25,1), transform 0.55s cubic-bezier(0.25,0.1,0.25,1);
  pointer-events: none;
  z-index: 1201;
}

.menu-block.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.menu-block.hidden-section {
  opacity: 0;
  transform: translateY(5%);
  pointer-events: none;
  transition: opacity 0.55s cubic-bezier(0.25,0.1,0.25,1), transform 0.55s cubic-bezier(0.25,0.1,0.25,1);
}

.menu-block .close-btn,
.menu-block .pulse-center,
.menu-block .click-zone {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.55s cubic-bezier(0.25,0.1,0.25,1), transform 0.55s cubic-bezier(0.25,0.1,0.25,1);
  transition-delay: 0s;
}

.menu-block .next-btn {
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 0.55s cubic-bezier(0.25,0.1,0.25,1), transform 0.55s cubic-bezier(0.25,0.1,0.25,1);
  transition-delay: 0s;
}

.menu-block.active .close-btn,
.menu-block.active .pulse-center,
.menu-block.active .click-zone {
  opacity: 1;
  transform: translateY(0);
}

.menu-block.active .next-btn {
  opacity: 1;
  transform: translate(-50%, 0);
}

.menu-block.hidden-section .close-btn,
.menu-block.hidden-section .pulse-center,
.menu-block.hidden-section .click-zone {
  opacity: 0;
  transform: translateY(8px);
}

.menu-block.hidden-section .next-btn {
  opacity: 0;
  transform: translate(-50%, 8px);
}

.pulse-center {
  position: relative;
  width: 100%;
  height: 60%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.pulse-center::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pulse-center::after {
  content: "";
  position: absolute;
  width: 36px;
  height: 36px;
  background: rgba(0,0,0,0.25);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.4);
  opacity: 0;
  z-index: 1;
  animation: pulseCircle 2.8s infinite ease-out;
}

@keyframes pulseCircle {
  0% { transform: translate(-50%, -50%) scale(0.4); opacity: 0.8; }
  65% { transform: translate(-50%, -50%) scale(3.2); opacity: 0; }
  100% { opacity: 0; }
}

.click-zone {
  position: absolute;
  top: 20%;
  left: 12%;
  right: 12%;
  bottom: 30%;
  cursor: pointer;
  z-index: 1202;
  background: transparent;
  pointer-events: auto;
}

.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 72px;
  background: transparent;
  border: 0;
  padding: 0;
  z-index: 1300;
  cursor: pointer;
}
.close-btn img { width: 100%; height: auto; }

.next-btn {
  position: absolute;
  bottom: 44px;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 72px;
  background: transparent;
  border: 0;
  padding: 0;
  z-index: 1300;
  cursor: pointer;
}
.next-btn img { width: 100%; height: auto; }

.close-btn:hover, #osehuz-plus:hover, .next-btn:hover,
.close-btn:active, #osehuz-plus:active, .next-btn:active {
  box-shadow: none;
  filter: none;
  background: transparent;
  cursor: pointer;
}

@media (max-width: 480px) {
  #osehuz-plus { width: 78px; height: 78px; max-width: 18vw; }
  .close-btn { width: 64px; top: 16px; right: 16px; }
  
  /* Botón Siguiente: RESTAURADO al valor de 12vh que tenías */
  .next-btn { 
      width: 64px; 
      height: 64px; 
      bottom: 7vh; 
  }
  
  /* Título: Ajustado a 1.5% para mantener el efecto pero ser más visible */
  #osehuz-title { 
      font-size: 33vw; 
     clip-path: inset(0 3% 0 3%);
  }
}

#osehuz-central { z-index: 1000; position: relative; }
#osehuz-menu-container { z-index: 1200; }

#popup-video::-webkit-media-controls,
#popup-video::-webkit-media-controls-enclosure,
#popup-video::-webkit-media-controls-panel,
#popup-video::-webkit-media-controls-play-button,
#popup-video::-webkit-media-controls-start-playback-button {
  display: none !important;
}
/* SOLUCIÓN NUCLEAR: Gigante (130%) y desplazado para tapar bordes a la fuerza */
#popup-video {
  position: fixed !important;
  /* Lo subimos y movemos a la izquierda para centrar el exceso */
  top: -15vh !important;
  left: -15vw !important;
  transform: none !important; /* Quitamos el transform anterior */

  /* Lo hacemos gigante */
  width: 130vw !important;
  height: 130vh !important;

  object-fit: cover !important; 
  z-index: 9999;
  pointer-events: none !important;
  background: black;
  outline: none !important;
}
/* Cambiar tipografía del banner Complianz a Figtree */
.cmplz-cookiebanner,
.cmplz-cookiebanner * {
    font-family: 'Figtree', sans-serif !important;
}
