/* Eliminar márgenes y padding del body y html */
html,
body {
    margin: 0;
    padding: 0;
    background: url('../img/fondo2.jpg') no-repeat center center/cover;
    background-attachment: fixed;
    
    /* Ensures the background stays fixed during scrolling */
}

.background-image {
    background-color: rgba(51, 51, 51, 0.4);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    /* Ensure it stays behind other content */
}

/* =========================================
   HEADER PRINCIPAL (main-header)
   ========================================= */


   .main-header {
    color: #fff;
    
    padding: 20px;
    font-family: "Jost", sans-serif;
    /* Cambiar la fuente */
    width: 100%;
    /* Asegura que ocupe todo el ancho */
    box-sizing: border-box;
    /* Incluye el padding dentro del ancho */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    transition: background-color 0.3s ease;
}

.main-header.transparent {}

.main-header.scrolled {
    background-color: rgba(51, 51, 51, 0.5);
    /* Slightly opaque gray when scrolling */
}

/* Logo */
.main-header__logo {
    float: left;
    font-size: 24px;

}

/* Navegación */
.main-header__nav {
    float: right;
}

.main-header__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-header__item {
    display: inline-block;
    margin-left: 20px;
}

.main-header__item a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.main-header__item a:hover {
    opacity: 0.7;
}

/* Limpieza de floats */
.main-header.clearfix::after {
    content: "";
    display: table;
    clear: both;
}


/* =========================================
   Titulo Principal
   ========================================= */

   .tittle-prin {
    text-align: center;
    font-family: 'Birthstone', cursive; /* Asegúrate de que la fuente esté cargada */
    font-size: 150px;
    color: var(--white); /* Usa la variable CSS para el color */
    margin: 20px 0; /* Ajusta los márgenes según sea necesario */
    font-weight: bold; /* 🔹 esto aplica la negrita */
    text-shadow: 0 0 5px #6a00f4, 0 0 10px #00c6ff, 0 0 20px #9d00ff, 0 0 40px #00bfff, 0 0 80px #6a00f4, 0 0 100px #9d00ff;
}


/* =========================================
   Form contact us
   ========================================= */


.content-container{
    padding-bottom: 100px;
    background-color: rgba(51, 51, 51, 0.4);
    
}


/* =========================================
   Imagenes galería
   ========================================= */
    /* Miniaturas */
    .gallery {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
      }
  
      .gallery img {
        width: 140px;
        height: 140px;
        object-fit: cover;
        border-radius: 10px;
        cursor: pointer;
        transition: transform 0.2s ease;
      }
      .gallery img:hover {
        transform: scale(1.05);
      }
  
      /* Modal (fondo oscuro) */
      .lightbox {
        display: none; /* oculto por defecto */
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        justify-content: center;
        align-items: center;
      }
  
      /* Imagen centrada */
      .lightbox img {
        max-width: 80%;
        max-height: 80%;
        border-radius: 10px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
      }
  
      /* Botones */
      .close, .prev, .next {
        position: absolute;
        color: white;
        font-size: 40px;
        cursor: pointer;
        user-select: none;
      }
  
      .close {
        top: 20px;
        right: 30px;
      }
  
      .prev {
        left: 50px;
      }
  
      .next {
        right: 50px;
      }
  
      .prev:hover, .next:hover, .close:hover {
        color: #8bd84f;
      }





 /* =========================================
    Footer
   ========================================= */

:root {
  --bg: #151515;
  --text: #a8a8a8;
  --muted: #8d8d8d;
  --white: #ffffff;

  /* Paleta acento */
  --accent-color: #00c6ff;
  /* cian sólido para bordes y color */
  --accent-color-2: #6a00f4;
  /* violeta (segunda referencia) */
  --accent-gradient: linear-gradient(135deg, #6a00f4, #00c6ff);
}

.site-footer {
  font-family: 'Birthstone', cursive;
  /* font-family: "Jost", sans-serif; */
  background: var(--bg);
  color: var(--text);
  padding: 70px 16px 40px;
}

.footer-inner {
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
}

.brand-footer {
  font-size: 30px;
  font-weight: 800;
  margin: 0 0 26px;
  letter-spacing: 0.3px;
  /* Texto con degradado violeta→cian */
  background: white;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.footer-nav-footer ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;
}

.footer-nav-footer a {
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.12em;
  font-size: 20px;
  /* Texto con degradado */
  background: #a8a8a8;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.footer-nav-footer a:hover {
  color: var(--white);
  /* fallback visual en hover */
  -webkit-text-fill-color: var(--white);
}

.social-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin: 22px 0 34px;
}

.social-btn-footer {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
  z-index: 1;
}

/* Capa que simula el borde degradado */
.social-btn-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  padding: 2px;
  /* grosor del borde */
  background: linear-gradient(135deg, #6a00f4, #00c6ff);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
}



/* Fondo degradado al pasar el mouse */
.social-btn-footer:hover {
  background: var(--accent-gradient);
  color: #111;
  transform: translateY(-2px);
}



.copy-footer {
  font-size: 14px;
  color: var(--muted);
  margin: 0;
}

.copy-footer {
  font-family: "Jost", sans-serif;
  display: inline-block;
  margin: 0 0.35em;
  color: #7b7b7b;
  font-size: 13px;
}

/* Enlaces de copy con degradado */
.copy-footer a {
  background: var(--accent-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: none;
}

.copy-footer a:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 480px) {
  .brand-footer {
    font-size: 26px;
  }

  .social-footer {
    gap: 16px;
  }
}