/*!
Theme Name: Dj Schaper
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: JMFM
Author URI: https://juanfiorillo.es
Description: Tema personalizado para el sitio web de DJ Schaper.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* La personalización del tema empezará aquí.
-------------------------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */

.text-focus-in {
	-webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) 0.5s both;
	        animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) 0.5s both;
}


@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}

.elemento-muy-centrado {
    max-width: 60% !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Estilos para el modal personalizado */

.custom-modal {
  position: fixed;
  inset: 0;
  background: rgba(3, 50, 78, 0.8);
  z-index: 9999;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.custom-modal.active {
  opacity: 1;
  visibility: visible;
}

.modal-box {
  background: #ffffff;
  max-width: 80%;
  height: auto;
  max-height: 95vh;
  overflow-y: auto;
  width: 80%;
  padding: 2rem;
  border-radius: 8px;
  position: relative;
  box-shadow: 0px 14px 32px rgba(0,0,0,0.3);
  transform: translateY(30px) scale(0.95);
  transition: transform 0.3s ease;
}

.custom-modal.active .modal-box {
  transform: translateY(0) scale(1);
}

.open-modal {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.open-modal:hover {
  transform: scale(1.2);
}

/* Estilos para el botón de cierre del modal */

.close-modal {
  position: absolute;
  top: 1rem;
  right: 1rem;

  font-size: 2rem;
  font-weight: 300;

  cursor: pointer;
  line-height: 1;

  color: #12384d;
  transition: transform 0.2s ease, color 0.2s ease;
}



/* ==========================================
   SECCIÓN DE CONTACTO Y VINILO
   ========================================== */


/* El bloque principal permite que la imagen se salga */
.bloque-vinilo {
    position: relative;
    overflow: visible;
}

/* El contenedor de la imagen se convierte en capa flotante */
.bloque-vinilo__decoracion {
    position: absolute;
    bottom: 0;
    left: -40px;      /* Ajusta según el diseño */
    width: 50vw;        /* Panel que muestra solo la mitad */
    height: 30vh;       /* Altura visible del panel */
    /*overflow: hidden;    Oculta la mitad superior */
    z-index: 10;
}

/* La imagen se mantiene en flujo, pero se desplaza */
.bloque-vinilo__decoracion img {
    position: relative;     /* IMPORTANTE: NO absolute */
    left: -20%;             /* Mueve la imagen hacia la izquierda */
    bottom: -20%;           /* Hace que asome por abajo */
    width: auto;
    height: 40vh;          /* Imagen grande para que el recorte sea limpio */
    object-fit: cover;
}

.absolute {
  position: absolute;
}

/* ========================================
   Responsive vista móvil
   ======================================== */



@media (max-width: 768px) {
   .elemento-muy-centrado {
        max-width: 95% !important;
    }
    .bloque-vinilo__decoracion {
        left: -60px;      /* Ajusta según el diseño */
        width: 100vw;        /* Panel que muestra solo la mitad */
        height: 25vh;       /* Altura visible del panel */
    }
    .bloque-vinilo__decoracion img {
      height: 30vh;          /* Imagen grande para que el recorte sea limpio */
      bottom: -80px;           /* Hace que asome por abajo */
    }
}

@media (max-width: 480px) {
    .bloque-vinilo__decoracion img {
      height: 30vh;          /* Imagen grande para que el recorte sea limpio */
      bottom: -35px;           /* Hace que asome por abajo */
    }
}