/* VARIABLES */
:root{
--vino:#7c2643;
--claro:#dfd7e4;
--rosado:#e6c3f7;
--dorado:#f6b373;
--navbar-height: 80px;
}

.nav-menu {
  transition: all 0.4s ease;
}

/* Mobile-first base */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

body{
font-family:'Poppins', sans-serif;
background:var(--vino);
color:white;
line-height:1.6;
font-size: clamp(1rem, 2.5vw, 1.1rem);
}

/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins', sans-serif;
background:var(--vino);
color:white;
}

/* TOPBAR */
.topbar{
background:var(--claro);
color:black;
display:flex;
justify-content:space-between;
padding:6px 20px;
font-size:13px;
}

/* =========================
NAVBAR PROFESIONAL CON FONDO 🔥
========================= */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;

/* 🔥 FONDO SIEMPRE ACTIVO */
background:#7c2643;

/* EFECTO PREMIUM */
background:linear-gradient(
rgba(124,38,67,0.95),
rgba(124,38,67,0.95)
);

backdrop-filter:blur(8px);
box-shadow:0 5px 20px rgba(0,0,0,0.4);

transition:0.3s;
}
.hero{
margin-top:70px;
}

.navbar.scrolled{
background:var(--vino);
box-shadow:0 5px 20px rgba(0,0,0,0.3);
}

.nav-container{
max-width:1200px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 20px;
}

/* 🔥 LOGO PROFESIONAL */
.logo{
height:65px;
width:auto;
object-fit:contain;
display:block;
transition:0.3s;
}

/* EFECTO AL SCROLL */
.navbar.scrolled .logo{
height:45px;
}

/* MENU */
.nav-menu{
display:flex;
align-items:center;
gap:25px;
}

.nav-menu a{
color:white;
text-decoration:none;
font-weight:500;
position:relative;
}

/* HOVER */
.nav-menu a::after{
content:"";
position:absolute;
width:0%;
height:2px;
background:var(--dorado);
left:0;
bottom:-5px;
transition:0.3s;
}

.nav-menu a:hover::after{
width:100%;
}

/* BOTON NAV */
.btn-nav{
background:#25D366;
padding:8px 15px;
border-radius:20px;
color:white;
display:flex;
align-items:center;
gap:5px;
}

/* MENU MOBILE */
.menu-toggle{
display:none;
flex-direction:column;
cursor:pointer;
}

.menu-toggle span{
height:3px;
width:25px;
background:white;
margin:4px 0;
}

/* HERO */
.hero{
position:relative;
height:85vh;
overflow:hidden;
margin-top:90px;
}

.video-bg{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
}

.overlay{
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
}

.hero-text{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
text-align:center;
max-width:600px;
}

.hero-text h1{
font-family:'Cinzel';
font-size:38px;
margin-bottom:10px;
}

.hero-text p{
font-size:18px;
margin-bottom:20px;
}

/* BOTON */
.btn{
border:1px solid var(--dorado);
padding:10px 20px;
border-radius:20px;
text-decoration:none;
color:white;
}

/* CONTAINER */
.container{
max-width:1100px;
margin:auto;
padding:40px 20px;
}

/* JENNIFER */
.jennifer{
display:flex;
gap:40px;
align-items:center;
}

.jennifer img{
width:380px;
border-radius:15px;
}

.jennifer h2{
font-family:'Cinzel';
color:var(--dorado);
}

/* SERVICIOS */
.servicio{
display:flex;
background:#8e2c4c;
border:5px solid var(--dorado);
border-radius:15px;
margin-bottom:25px;
position:relative;
overflow:hidden;
transition:0.5s;
}

.servicio:hover{
transform:translateY(-5px);
}

.servicio img{
	width:280px;
	height:440px;
	border-radius:15px;
	object-fit:cover;
	object-position:center top;
	border-radius:10px 0 0 10px;
	margin:0;
}

.contenido{
padding:6px;
}

.tiempo{
position:absolute;
top:10px;
right:10px;
background:black;
padding:5px 10px;
border-radius:10px;
font-size:12px;
}

.precio{
color:var(--dorado);
font-weight:bold;
}

.precio span{
background:black;
padding:4px 10px;
border-radius:10px;
font-size:12px;
}

/* WHATSAPP */
.wsp{
position:absolute;
right:10px;
bottom:10px;
background:#25D366;
width:45px;
height:45px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
}


/* TESTIMONIOS 🔥 */
.carousel{
overflow:hidden;
max-width:2200px;
margin:auto;
}

.carousel-track{
display:flex;
gap:20px;
transition:transform 0.5s ease;
}

/* 🔥 SLIDE */
.slide{
min-width:880px; /* mismo tamaño */
display:flex;
justify-content:center;
}

/* 🔥 IMAGEN EXACTA */
.slide img{
width:280px;
height:280px;
object-fit:cover; /* llena sin deformar */
border-radius:20px;
box-shadow:0 10px 25px rgba(0,0,0,0.3);
transition:0.3s;
}

/* EFECTO HOVER */
.slide img:hover{
transform:scale(1.05);
}

/* EFECTO ACTIVO */
.slide.active img{
transform:scale(1.08);
}

/* RESPONSIVE */
@media(max-width:768px){

.carousel-track{
gap:15px;
}

.slide{
min-width:280px;
}

.slide img{
width:260px;
height:260px;
}

}

/* EXPERIENCIA */
.paso{
display:flex;
background:white;
color:black;
border-radius:12px;
margin:10px 0;
overflow:hidden;
}

.paso img{
width:110px;
height:110px;
object-fit:cover;
}

.paso span{
margin-left:auto;
padding:10px;
}

/* COBERTURA */
.cols{
display:flex;
gap:50px;
}

/* FAQ */
.faq-item button{
width:100%;
padding:12px;
background:none;
border:1px solid white;
color:white;
text-align:left;
}

/* FOOTER */
.footer{
background:#dfd7e4;
padding:40px 20px;
}

.footer-container{
max-width:1100px;
margin:auto;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.footer-col h3,.footer-col h4{
color:var(--dorado);
}

.footer {
  color: var(--vino);
}

.footer a {
  color: var(--vino);
  text-decoration: none;
}

.footer a:hover {
  color: var(--dorado);
}

/* RESPONSIVE */
@media(max-width:768px){

.nav-menu{
	position:absolute;
	top:70px;
	left:0;
	width:100%;
	background:rgba(124,38,67,0.98);
	flex-direction:column;
	display:none;
	padding:30px 20px;
	border-radius:0 0 20px 20px;
	box-shadow:0 10px 30px rgba(0,0,0,0.4);
}

.nav-menu.active{
	display:flex;
}

.menu-toggle{
	display:flex;
}



/* ANIMACIÓN HAMBURGUESA */
.menu-toggle.active span:nth-child(1){
	transform:rotate(45deg) translate(6px,6px);
}
.menu-toggle.active span:nth-child(2){
	opacity:0;
}
.menu-toggle.active span:nth-child(3){
	transform:rotate(-45deg) translate(6px,-6px);
}

.hero{
	height:70vh;
}

.hero-text h1{
	font-size:26px;
}

.jennifer{
	flex-direction:column;
	text-align:center;
}

.jennifer img{
	width:100%;
}

.servicio{
	flex-direction:column;
	overflow:visible;
}

.servicio img{
	width:100%;
	height:280px;
	object-fit:cover;
	object-position:center top;
}

.cols{
	flex-direction:column;
}

.footer-container{
	grid-template-columns:1fr;
	text-align:center;
}

}

/* EXPERIENCIA */
.experiencia{
margin-top:40px;
}

.titulo-exp{
text-align:center;
font-family:'Cinzel';
color:#f6b373;
margin-bottom:30px;
}

/* TIMELINE */
.timeline{
display:flex;
flex-direction:column;
gap:20px;
}

/* CARD */
.paso{
display:flex;
align-items:center;
background:white;
color:black;
border-radius:15px;
padding:15px;
gap:20px;
position:relative;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
transition:0.3s;
}

/* HOVER */
.paso:hover{
transform:translateY(-5px);
}

/* IMAGEN */
.paso img{
	width:120px;
	max-height:120px;
	height:auto;
	object-fit:contain;
	border-radius:10px;
}

/* TEXTO */
.info{
flex:1;
}

.info h4{
margin-bottom:5px;
font-weight:600;
}

.info p{
font-size:14px;
color:#444;
}

/* TIEMPO */
.paso .tiempo{
position:absolute;
top:10px;
right:15px;
background:#7c2643;
color:white;
padding:5px 10px;
border-radius:10px;
font-size:12px;
}

/* RESPONSIVE */
@media(max-width:768px){

.paso{
	flex-direction:column;
	text-align:center;
}

.paso img{
	width:100%;
	max-height:180px;
	height:auto;
	object-fit:contain;
}

.paso .tiempo{
	position:static;
	margin-top:10px;
}

}

/* FAQ PREMIUM */
.faq{
text-align:center;
margin-top:60px;
}

/* TITULOS */
.faq-title{
font-family:'Cinzel';
color:#f6b373;
font-size:30px;
margin-bottom:10px;
}

.faq-subtitle{
font-size:18px;
margin-bottom:10px;
}

.faq-desc{
color:#ddd;
margin-bottom:40px;
}

/* GRID */
.faq-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
max-width:900px;
margin:auto;
}

/* CARD */
.faq-card{
background:rgba(255,255,255,0.05);
border-radius:15px;
overflow:hidden;
transition:0.3s;
border:1px solid rgba(255,255,255,0.1);
}

/* HOVER */
.faq-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,0.3);
}

/* PREGUNTA */
.faq-question{
width:100%;
background:none;
border:none;
color:white;
padding:18px;
display:flex;
justify-content:space-between;
align-items:center;
cursor:pointer;
font-size:15px;
}

/* IZQUIERDA */
.faq-question .left{
display:flex;
align-items:center;
gap:10px;
}

.faq-question i{
color:#f6b373;
}

/* ICONO DERECHA */
.icon{
transition:0.3s;
}

/* RESPUESTA */
.faq-answer{
max-height:0;
overflow:hidden;
transition:all 0.4s ease;
padding:0 18px;
font-size:14px;
color:#ccc;
}

/* ACTIVO */
.faq-card.active .faq-answer{
max-height:200px;
padding-bottom:15px;
}

.faq-card.active .icon{
transform:rotate(45deg);
}

/* RESPONSIVE */
@media(max-width:768px){

.faq-grid{
grid-template-columns:1fr;
}

.faq-title{
font-size:24px;
}

}

/* COBERTURA */
.cobertura{
text-align:center;
margin-top:60px;
}

.titulo-cobertura{
font-family:'Cinzel';
color:#f6b373;
font-size:30px;
margin-bottom:10px;
}

.sub-cobertura{
font-size:18px;
margin-bottom:10px;
}

.desc-cobertura{
color:#ddd;
max-width:700px;
margin:auto;
margin-bottom:40px;
}

/* GRID */
.cobertura-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px;
}

/* CARD */
.cobertura-card{
background:rgba(255,255,255,0.05);
border-radius:20px;
padding:25px;
text-align:left;
border:1px solid rgba(255,255,255,0.1);
transition:0.3s;
}

/* HOVER */
.cobertura-card:hover{
transform:translateY(-5px);
box-shadow:0 10px 30px rgba(0,0,0,0.3);
}

/* TITULO */
.cobertura-card h4{
color:#f6b373;
margin-bottom:15px;
display:flex;
align-items:center;
gap:10px;
}

/* MINI TEXTO */
.mini-text{
font-size:14px;
color:#ccc;
margin-bottom:15px;
}

/* ZONAS */
.zonas{
display:flex;
flex-wrap:wrap;
gap:10px;
}

/* CHIP */
.zonas span{
background:#7c2643;
border:1px solid #f6b373;
padding:6px 12px;
border-radius:20px;
font-size:13px;
transition:0.3s;
}

/* HOVER CHIP */
.zonas span:hover{
background:#f6b373;
color:black;
cursor:pointer;
}

/* CTA */
.cobertura-cta{
margin-top:30px;
}

/* RESPONSIVE */
@media(max-width:768px){

.cobertura-grid{
grid-template-columns:1fr;
}

.titulo-cobertura{
font-size:24px;
}

}

/* TESTIMONIOS */
.testimonios{
text-align:center;
margin-top:60px;
}

.titulo-test{
font-family:'Cinzel';
color:#f6b373;
font-size:30px;
}

.desc-test{
color:#ddd;
margin-bottom:30px;
}

/* CARRUSEL */
.carousel{
	position:relative;
	overflow:hidden;
	max-width:100%;
	margin:0 auto;
}

.carousel-track{
display:flex;
transition:transform 0.5s ease;
}

/* SLIDES MÁS GRANDES 🔥 */
.slide{
min-width:400px;
margin:0 15px;
transition:0.4s;
}

.slide img{
	width:100%;
	max-height:350px;
	height:auto;
	object-fit:cover;
	object-position:center;
	border-radius:25px;
	box-shadow: 0 20px 45px rgba(0,0,0,0.5);
	border: 4px solid rgba(246,179,115,0.4);
	transition: all 0.4s ease;
}

/* EFECTO PROFUNDIDAD */
.slide{
opacity:1;
transform:scale(0.98);
filter: brightness(1.05) contrast(1.1);
}

.slide.active{
opacity:1;
transform:scale(1.05);
box-shadow: 0 20px 40px rgba(0,0,0,0.5);
}

/* FLECHAS */
.arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,0.5);
color:white;
border:none;
padding:10px;
cursor:pointer;
border-radius:50%;
z-index:2;
}

.left{left:10px;}
.right{right:10px;}

.arrow:hover{
background:#f6b373;
color:black;
}

/* DOTS */
.dots{
margin-top:15px;
}

.dots span{
display:inline-block;
width:10px;
height:10px;
background:#ccc;
margin:5px;
border-radius:50%;
cursor:pointer;
}

.dots .active{
background:#f6b373;
}

/* RESPONSIVE */
@media(max-width:768px){

.slide{
	min-width:350px;
}

.slide img{
	max-height:300px;
	height:auto;
	object-fit:cover;
	object-position:center;
}

}

@media(max-width:480px){
	.slide {
		min-width:300px;
	}
	.slide img {
		max-height:250px !important;
	}
	.servicio img {
		max-height:280px !important;
		object-position: center top !important;
	}
	.paso img {
		max-height:160px !important;
	}
}

/* HERO AJUSTADO 🔥 */
.hero{
position:relative;
height:65vh; /* 🔥 MÁS PEQUEÑO */
margin-top:80px;
overflow:hidden;
display:flex;
align-items:center;
justify-content:center;
}

/* VIDEO */
.video-bg{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
}

/* OVERLAY */
.overlay{
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
}

/* 🔥 LOGO CENTRADO */
.hero-logo{
position:absolute;
top:30%;
left:50%;
transform:translate(-50%, -50%);
z-index:2;
}

.hero-logo{
background: transparent;
}

.hero-logo img{
width: clamp(160px, 25vw, 220px);
height:auto;
object-fit:contain;
display: block;
}

/* TEXTO */
.hero-text{
position:absolute;
top:65%;
left:50%;
transform:translate(-50%, -50%);
text-align:center;
z-index:2;
}

/* RESPONSIVE 🔥 */
@media(max-width:768px){

.hero{
height:55vh; /* MÁS PEQUEÑO EN CELULAR */
}

.hero-logo img{
width:160px;
}

.hero-text h1{
font-size:22px;
}

.hero-text p{
font-size:14px;
}

}

/* NAVBAR BASE */
.navbar{
position:fixed;
top:0;
width:100%;
z-index:999;
background:transparent;
transition:0.4s;
}

/* SCROLL EFECTO */
.navbar.scrolled{
background:rgba(124,38,67,0.95);
backdrop-filter:blur(8px);
box-shadow:0 5px 20px rgba(0,0,0,0.3);
}

/* CONTENEDOR */
.nav-container{
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 20px;
}

.logo-container {
display:flex;
align-items:center;
}

.logo{
height:50px;
width:auto;
object-fit:contain;
}

/* MENÚ */
.nav-menu{
display:flex;
align-items:center;
gap:25px;
}

/* LINKS */
.nav-menu a{
color:white;
text-decoration:none;
font-weight:500;
position:relative;
font-size:15px;
}

/* HOVER PRO */
.nav-menu a::after{
content:"";
position:absolute;
width:0%;
height:2px;
background:#f6b373;
left:0;
bottom:-5px;
transition:0.3s;
}

.nav-menu a:hover::after{
width:100%;
}

/* BOTÓN WHATSAPP */
.btn-nav{
background:#25D366;
padding:8px 18px;
border-radius:25px;
color:white;
display:flex;
align-items:center;
gap:6px;
font-size:14px;
transition:0.3s;
}

.btn-nav:hover{
background:#1ebe5d;
transform:scale(1.05);
}

/* ANIMACIÓN ICONO */
.menu-toggle.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}
.menu-toggle.active span:nth-child(2){
opacity:0;
}
.menu-toggle.active span:nth-child(3){
transform:rotate(-45deg) translate(5px,-5px);
}

/* MOBILE 🔥 */
@media(max-width:768px){

.nav-container{
justify-content:space-between;
}

/* MENÚ DESPLEGABLE */
.nav-menu{
position:absolute;
top:68px;
right:0;
width:100%;
background:#7c2643;
flex-direction:column;
align-items:center;
gap:20px;
padding:25px 0;

transform:translateY(-150%);
opacity:0;
transition:0.4s;
}

/* ACTIVO */
.nav-menu.active{
transform:translateY(0);
opacity:1;
}

/* HAMBURGUESA */
.menu-toggle{
display:flex;
}

}
/* IMPORTAR FUENTES */
@font-face{
font-family:'Jerrick';
src:url('fonts/Jerrick.ttf');
}

@font-face{
font-family:'Shelley';
src:url('fonts/ShelleyScript.ttf');
}

/* TITULO HERO */
.hero-title{
font-size:55px;
text-align:center;
line-height:1.1;
}

/* JENNIFER */
.jennifer{
font-family:'Jerrick';
display:block;
color:#ffffff;
letter-spacing:2px;
}

/* RODRIGUEZ */
.rodriguez{
font-family:'Shelley';
display:block;
color:#f6b373;
font-size:60px;
}

/* RESPONSIVE */
@media(max-width:768px){

.hero-title{
font-size:32px;
}

.rodriguez{
font-size:36px;
}

}

/* JENNIFER SECTION 🔥 */
.jennifer{
display:flex;
align-items:center; /* 🔥 centra vertical */
justify-content:center;
gap:40px;
}

/* IMAGEN */
.jennifer img{
width:380px;
height:420px;
object-fit:cover;
border-radius:20px;
}

/* TEXTO */
.jennifer-texto{
max-width:500px;
}

.jennifer-texto h2{
font-family:'Cinzel';
color:#f6b373;
margin-bottom:10px;
}

.jennifer-texto p{
margin-bottom:20px;
line-height:1.6;
}

/* RESPONSIVE 🔥 */
@media(max-width:768px){

.jennifer{
flex-direction:column; /* solo en celular */
text-align:center;
}

.jennifer img{
width:100%;
height:auto;
}

}



/* =========================
TEAM NUEVO ESTILO GALERÍA 🔥
========================= */

.team-section {
  background: #dfd7e4;
  padding: 120px 20px;
}

.section-title {
  text-align: centeR;
  font-size: 3rem;
  margin-bottom: 100px;
  color: #7c2643;
}

/* GRID */
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

/* CARD */
.team-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  transition: 0.4s ease;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);

  /* 🔥 NUEVO MARCO */
  border: 5px solid #7c2643;
}

/* IMAGEN FULL */
.team-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-bottom: 5px solid #7c2643;
  transition: 0.5s ease;
  border-radius: 20px;
}

/* NOMBRE */
.team-card h3 {
  padding: 15px;
  font-size: 1.2rem;
  color: #7c2643;
}

/* HOVER */
.team-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

.team-card:hover img {
  transform: scale(1.1);
}

.team-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
  border-color: #5a1b30; /* tono más oscuro */
}

/* =========================
MODAL TEAM 🔥
========================= */

.team-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.team-modal-content {
  background: #fff;
  padding: 25px;
  border-radius: 20px;
  text-align: center;
  max-width: 400px;
  width: 90%;
  animation: zoomIn 0.4s ease;
}

.team-modal-content img {
  width: 100%;
  border-radius: 15px;
  margin-bottom: 15px;
}

.team-modal-content h3 {
  color: #7c2643;
  margin-bottom: 20px;
}

.team-modal-content p {
  color: #555;
  font-size: 0.95rem;
}

.team-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: white;
  font-size: 35px;
  cursor: pointer;
}

/* RESPONSIVE */
@media(max-width:768px){
  .team-card img {
    height: 260px;
  }
}
/* CLICK (LIGHTBOX) */
.team-img {
  cursor: zoom-in;
}

/* RESPONSIVE 🔥 */
@media (max-width: 768px) {
  .team-card {
    flex-direction: column;
    text-align: center;
    padding: 25px;
  }

  .team-card img {
    width: 180px;
    height: 180px;
  }

  .section-title {
    font-size: 2.2rem;
  }
}

@media (max-width: 768px) {

  .team-card img {
    width: 100%;
    height: auto;
    object-fit: contain;
    background: #dfd7e4; /* usa tu color de marca */
	height: 320px;
    object-fit: cover;
	height: auto;
    object-fit: contain;

  }

}



.gallery-pro {
  background: #dfd7e4;
  padding: 90px 20px;
}

.gallery-title {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.gallery-subtitle {
  text-align: center;
  color: #555;
  margin-bottom: 50px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 25px;
}

/* CARD */
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  border: 5px solid #7c2643;
  cursor: pointer;
  transition: 0.4s ease;
  background: #000;
}

.gallery-item img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  transition: 0.5s ease;
}

/* HOVER EFECTO */
.gallery-item:hover img {
  transform: scale(1.15) rotate(1deg);
  opacity: 0.8;
}

/* OVERLAY */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(124, 38, 67, 0.7);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: 0.4s ease;
}

.overlay span {
  color: #fff;
  font-size: 1.1rem;
  background: rgba(255,255,255,0.2);
  padding: 10px 20px;
  border-radius: 30px;
  backdrop-filter: blur(5px);
}

.gallery-item:hover .overlay {
  opacity: 1;
}

/* LIGHTBOX PRO */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.lightbox-img {
  max-width: 90%;
  max-height: 80%;
  border-radius: 15px;
  animation: zoomIn 0.4s ease;
}

@keyframes zoomIn {
  from {
    transform: scale(0.7);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.close {
  position: absolute;
  top: 30px;
  right: 40px;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
}

.gallery-item {
  cursor: zoom-in;
}

.lightbox {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox.active {
  display: flex;
  opacity: 1;
}

.team-img {
  cursor: zoom-in;
  transition: 0.3s ease;
}

.team-img:hover {
  transform: scale(1.05);
}

.team-card:hover .team-img {
  transform: scale(1.08);
  filter: brightness(1.1);
}


.video-section {
  padding: 100px 20px;
  background: black;
  text-align: center;
}

.video-title {
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.video-subtitle {
  color: #666;
  margin-bottom: 40px;
}

/* CONTENEDOR */
.video-wrapper {
  position: relative;
  max-width: 900px;
  margin: auto;
  border-radius: 20px;
  overflow: hidden;
  border: 6px solid #7c2643;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
  transition: 0.4s ease;
}

/* EFECTO HOVER */
.video-wrapper:hover {
  transform: scale(1.02);
  box-shadow: 0 25px 60px rgba(0,0,0,0.3);
}

/* VIDEO */
.video-wrapper video {
  width: 100%;
  height: auto;
  display: block;
}

/* OVERLAY */
.video-overlay {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

/* BOTÓN SONIDO */
.sound-btn {
  background: rgba(124, 38, 67, 0.9);
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 30px;
  cursor: pointer;
  font-size: 0.9rem;
  backdrop-filter: blur(6px);
  transition: 0.3s ease;
}

.sound-btn:hover {
  background: #7c2643;
  transform: scale(1.05);
}

.video-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
  pointer-events: none;
}

/* =========================
FONDO DIFUMINADO TEAM 🔥
========================= */

.team-section{
  position: relative;
  padding: 0px 0px;
  overflow: hidden;
}

/* IMAGEN DE FONDO */
.team-section::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url('imagenes/equipo\ de\ trabajo.jpeg') center/cover no-repeat;
  filter: blur(0px); /* 🔥 DIFUMINADO */
  
}

/* CAPA OSCURA PARA LEGIBILIDAD */
.team-section::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(223,215,228,0.6);
  z-index: 1;
}

/* CONTENIDO ENCIMA */
.team-section .container{
  position: relative;
  z-index: 2;
}

/* =========================
GALERÍA BACKGROUND PRO 🔥
========================= */

.gallery-pro{
  position: relative;
  padding: 90px 20px;
  overflow: hidden;
}

/* IMAGEN DE FONDO */
.gallery-pro::before{
  content: "";
  position: absolute;
  inset: 0;

  background-image: url('imagenes/galeria.jpeg'); /* 🔥 CAMBIA ESTA IMAGEN */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  filter: blur(8px) brightness(0.8);
  transform: scale(1.15);

  z-index: 0;
}

/* CAPA PARA LEGIBILIDAD */
.gallery-pro::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(423,215,228,0.6);
  z-index: 1;
}

/* CONTENIDO ENCIMA */
.gallery-pro .container{
  position: relative;
  z-index: 2;
}

@media (max-width: 768px){
  .gallery-pro::before{
    background-position: center top;
    transform: scale(1.2);
  }
}
