/* ---------- GENERALES ---------- */

:root{

  --color-primario:#0d6efd;

  --color-secundario:#ffc107;

}

html{

  scroll-behavior:smooth;

}

body{

  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

}

section{padding:4rem 0;}

.bg-dark{background-color:#111!important;}



/* ---------- HERO ---------- */

.hero{

  min-height:100vh;

  background:url('../fotos/1.avif') center/cover no-repeat fixed;

  position:relative;

}

.hero::before{

  content:'';

  position:absolute;

  inset:0;

  background:rgba(0,0,0,.55);

}

.hero #heroParticles{

  position:absolute;

  inset:0;

  z-index:1;

}

.hero .container{position:relative; z-index:2;}

.hero h1{

  background:linear-gradient(90deg,#fff,#80bfff,#fff);

  -webkit-background-clip:text; background-clip:text; color:transparent;

  text-shadow:0 0 20px rgba(128,191,255,.25);

  animation:shine 6s linear infinite;

}

@keyframes shine{

  0%{filter:brightness(1)}

  50%{filter:brightness(1.25)}

  100%{filter:brightness(1)}

}



/* ---------- GALERÍA ---------- */

.gallery-grid{

  display:grid;

  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

  gap:1.5rem;

}

.swiper{width:100%; height:360px; border-radius:12px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.2);} 

.swiper-slide{display:flex; align-items:center; justify-content:center; background:#000;}

.swiper-slide img{width:100%; height:100%; object-fit:cover;}

.gallery-item{

  position:relative;

  overflow:hidden;

  border-radius:12px;

  height:250px;

  box-shadow:0 4px 10px rgba(0,0,0,.15);

  transition:all .35s ease;

}

.gallery-item img{

  width:100%; height:100%; object-fit:cover;

  transition:transform .5s ease;

}

.gallery-caption{

  position:absolute;

  left:0; right:0; bottom:0;

  background:rgba(0,0,0,.65);

  color:#fff;

  padding:1rem;

  transform:translateY(100%);

  transition:transform .35s ease;

}

.gallery-item:hover{

  transform:translateY(-8px);

  box-shadow:0 12px 25px rgba(0,0,0,.25);

}

.gallery-item:hover img{transform:scale(1.08);}

.gallery-item:hover .gallery-caption{transform:translateY(0);}



/* ---------- VOLVER ARRIBA ---------- */

.back-to-top{

  position:fixed;

  bottom:25px; right:25px;

  background:var(--color-primario);

  color:#fff;

  width:45px; height:45px;

  border-radius:50%;

  display:flex;

  align-items:center;

  justify-content:center;

  font-size:1.3rem;

  text-decoration:none;

  opacity:0; visibility:hidden;

  transition:all .3s ease;

  z-index:1040;

}

.back-to-top.show{opacity:1; visibility:visible;}

.back-to-top:hover{background:var(--color-secundario); color:#000;}



/* ---------- WHATSAPP FLOTANTE ---------- */

.wa-float{

  position:fixed;

  bottom:25px; left:25px;

  width:56px; height:56px; border-radius:50%;

  background:#25D366; color:#fff;

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

  box-shadow:0 10px 25px rgba(37,211,102,.4);

  text-decoration:none;

  z-index:1040; transition:transform .2s ease, box-shadow .2s ease;

}

.wa-float:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(37,211,102,.5);} 



/* ---------- COOKIES BANNER ---------- */

.cookie-banner{

  position:fixed; left:0; right:0; bottom:0;

  background:rgba(17,17,17,.96); color:#fff;

  padding:.8rem 0; z-index:1050;

  transform:translateY(100%);

  transition:transform .35s ease;

}

.cookie-banner.show{transform:translateY(0);}

.cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem;}

.cookie-link{color:#ffc107; text-decoration:underline;}



/* ---------- RESPONSIVE ---------- */

@media(max-width:576px){

  .hero h1{font-size:2.2rem;}

  .gallery-grid{grid-template-columns:1fr;}

}



/* Desactivar parallax en móviles para rendimiento */

@media (max-width: 768px){

  .hero{background-attachment:scroll;}

}