/* RESET */ 
*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family: Arial, sans-serif;
font-size:18px;
line-height:1.7;
color:#333;
background:#fff8e1;
}

/* HERO */
.hero{
position:relative;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:rgb(255, 238, 105);
overflow:hidden;
background-position:center;
background-size:cover;
}

.hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:url('img/hero.jpeg') center/cover no-repeat;
z-index:-2;
animation:zoomHero 20s ease-in-out infinite alternate;
}

.hero::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
z-index:-1;
}

.overlay{
background: rgba(0,0,0,0.6);
padding:40px;
border-radius:12px;
max-width:800px;
text-align:center;
}

.logo{
width:170px;
margin-bottom:15px;
display:block;
margin-left:auto;
margin-right:auto;
transition: transform 0.4s ease;
}

.logo:hover{
transform: rotate(5deg) scale(1.05);
}

.hero h1{
font-size:48px;
margin-bottom:15px;
}

.hero p{
margin-bottom:25px;
}

@keyframes zoomHero{
from{transform:scale(1);}
to{transform:scale(1.1);}
}

/* BOTONES */
.btn{
background:#f5b400;
color:black;
padding:12px 25px;
text-decoration:none;
font-weight:bold;
border-radius:6px;
display:inline-block;
transition:0.3s;
position:relative;
overflow:hidden;
}

.btn:hover{
background:#e0a800;
transform:scale(1.05);
}

.btn::after{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:rgba(255,255,255,0.3);
transition:0.5s;
}

.btn:hover::after{
left:100%;
}

/* NAVBAR */
nav{
background: rgba(34,34,34,0.85);
backdrop-filter: blur(8px);
padding:10px 30px;
display:flex;
align-items:center;
justify-content:space-between;
position:sticky;
top:0;
z-index:1000;
border-bottom:1px solid rgba(255,255,255,0.1);
}

.logo-nav{
width:90px;
}

.menu a{
color:rgb(255, 238, 105);
margin-left:20px;
text-decoration:none;
font-weight:bold;
transition:0.3s;
}

.menu a:hover{
color:#f5b400;
}

/* SECCIONES */
section{
background:rgb(253, 255, 149);
border-radius:12px;
margin-bottom:30px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
padding:40px 20px;
transition: all 0.4s ease;
}

section:hover{
transform:translateY(-5px);
box-shadow:0 15px 30px rgba(0,0,0,0.1);
}

/* TITULOS */
h2{
text-align:center;
font-size:34px;
margin-bottom:25px;
position:relative;
}

h2::after{
content:"";
width:65px;
height:4px;
background:#f5b400;
display:block;
margin:10px auto 0;
transition:0.3s;
}

section:hover h2::after{
width:120px;
}

/* PARRAFOS */
p{
text-align:justify;
margin-bottom:15px;
}

#inicio p{
max-width:800px;
margin:15px auto;
}

/* TARJETAS */
.cards{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:25px;
margin-top:30px;
}

.card{
background:#f5b400;
color:#000;
padding:25px;
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
width:280px;
transition:all 0.4s ease;
}

.card:hover{
transform:translateY(-12px) scale(1.05);
box-shadow:0 15px 30px rgba(0,0,0,0.2);
background:#ffd54f;
}

.card h3{
margin-bottom:10px;
text-align:center;
}

.card p{
text-align:justify;
}

/* GALERIA */
.galeria-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
gap:15px;
margin-top:20px;
}

.galeria-grid img{
width:100%;
height:160px;
object-fit:cover;
border-radius:12px;
cursor:pointer;
transition:all 0.4s ease;
}

.galeria-grid img:hover{
transform:scale(1.1);
filter:brightness(0.85);
}

/* MAPA */
.mapa-container{
margin-top:20px;
text-align:center;
}

.mapa-img{
width:100%;
max-width:600px;
border-radius:12px;
cursor:pointer;
transition:0.3s;
box-shadow:0 5px 15px rgba(0,0,0,0.2);
}

.mapa-img:hover{
transform:scale(1.03);
}

/* TITULO GALERIA */
.titulo-galeria{
margin-top:50px;
margin-bottom:20px;
font-size:26px;
border-left:5px solid #f5b400;
padding-left:10px;
}

/* LIGHTBOX */
.lightbox{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
justify-content:center;
align-items:center;
z-index:2000;
}

.lightbox-img{
max-width:90%;
max-height:80%;
border-radius:10px;
}

.cerrar{
position:absolute;
top:20px;
right:30px;
font-size:40px;
color:white;
cursor:pointer;
}

/* ANIMACIONES */
.hidden{
opacity:0;
transform:translateY(60px) scale(0.95);
transition:all 0.8s ease;
}

.show{
opacity:1;
transform:translateY(0) scale(1);
}

/* WHATSAPP */
.whatsapp-container{
position:fixed;
bottom:15px;
right:15px;
display:flex;
flex-direction:column;
gap:8px;
z-index:3000;
}

.whatsapp{
width:50px;
height:50px;
background:#25D366;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
box-shadow:0 4px 10px rgba(0,0,0,0.25);
transition:all 0.3s ease;
}

.whatsapp img{
width:26px;
height:26px;
}

.whatsapp:hover{
transform:scale(1.08);
background:#1ebe5d;
}

/* REDES SOCIALES */
.red-social{
width:50px;
height:50px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
box-shadow:0 4px 10px rgba(0,0,0,0.25);
transition:all 0.3s ease;
}

.red-social img{
width:26px;
height:26px;
}

.facebook{ background:#1877f2; }
.instagram{ background:linear-gradient(45deg,#feda75,#d62976,#962fbf); }
.tiktok{ background:#000; }

.red-social:hover{
transform:scale(1.1);
}

/* VIDEO */
.video-preview{
position:relative;
max-width:800px;
margin:30px auto;
cursor:pointer;
transition:transform 0.4s ease;
}

.video-preview:hover{
transform:scale(1.03);
}

.video-preview img{
width:100%;
border-radius:12px;
transition:0.3s;
}

.video-preview:hover img{
filter:brightness(0.8);
}

.play-btn{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
font-size:50px;
color:white;
background:rgba(0,0,0,0.6);
width:80px;
height:80px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
transition:0.3s;
}

.video-preview:hover .play-btn{
transform:translate(-50%, -50%) scale(1.1);
}

/* CONTACTO */
.contacto-box{
margin-top:30px;
text-align:center;
}

.contacto-link{
display:inline-block;
margin:5px 0;
color:#000;
font-weight:bold;
text-decoration:none;
}

.contacto-link:hover{
color:#f5b400;
}

/* MISION Y VISION */
.mv-container{
display:flex;
gap:30px;
margin-top:30px;
flex-wrap:wrap;
}

.mv-card{
flex:1;
min-width:280px;
background:#f5b400;
padding:25px;
border-radius:15px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
transition:0.3s;
}

.mv-card:hover{
transform:translateY(-5px);
}

.mv-card h3{
margin-bottom:15px;
font-size:22px;
}

.mv-card p{
text-align:justify;
line-height:1.6;
}

/* RESPONSIVE */
@media (max-width:768px){

.hero h1{font-size:36px;}
.hero p{font-size:16px;}
.hero{height:80vh;}

h2{font-size:28px;}
p{font-size:16px;}

.card h3{font-size:18px;}
.card p{font-size:15px;}

.menu a{font-size:16px;}

.btn{
font-size:16px;
padding:10px 20px;
}

.cards{
flex-direction:column;
align-items:center;
}

.logo-nav{
width:45px;
}

.whatsapp{
width:45px;
height:45px;
}

.whatsapp img{
width:22px;
height:22px;
}

}

/* ABEJAS ANIMADAS */
.abejas-container{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:999;
}

.abeja{
  position:absolute;
  width:150px;
  opacity:0.9;
  animation-timing-function: linear;
}

/* RUTAS DIFERENTES */
.abeja1{
  top:30%;
  left:-50px;
  animation:volar1 20s infinite;
}

.abeja2{
  top:50%;
  left:-60px;
  animation:volar2 25s infinite;
}

.abeja3{
  top:70%;
  left:-70px;
  animation:volar3 18s infinite;
}

/* ANIMACIONES */
@keyframes volar1{
  0%{transform:translateX(0) translateY(0);}
  50%{transform:translateX(50vw) translateY(-30px);}
  100%{transform:translateX(110vw) translateY(20px);}
}

@keyframes volar2{
  0%{transform:translateX(0) translateY(0);}
  50%{transform:translateX(60vw) translateY(40px);}
  100%{transform:translateX(110vw) translateY(-20px);}
}

@keyframes volar3{
  0%{transform:translateX(0) translateY(0);}
  50%{transform:translateX(40vw) translateY(-50px);}
  100%{transform:translateX(110vw) translateY(30px);}
}

.titulo-principal{
  text-align:center;
  line-height:0.9; /* antes 1.2 → más compacto */
}

/* TEXTO PEQUEÑO (más grande ahora) */
.subtitulo{
  font-size:25px; /* antes 18px */
  display:block;
  letter-spacing:1px;
  margin:3px 0; /* controla espacio vertical */
}

/* TEXTO GRANDE */
.principal{
  font-size:65px;
  font-weight:bold;
  display:block;
  letter-spacing:3px;
  margin:5px 0;
}

@media (max-width:768px){

  .principal{
    font-size:42px;
  }

  .subtitulo{
    font-size:18px;
  }

}
@media (max-width:768px){

  nav{
    flex-direction:column;
    align-items:center;
  }

  .menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin-top:10px;
  }

  .menu a{
    margin:5px;
    font-size:14px;
  }

}