*{
margin:0;
padding:0;
box-sizing:border-box;
}

.logo img{
height:50px;
width:auto;
display:block;
}

body{
font-family:Poppins;
background:#f5f1e8;
color:#222;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

header{
background: #1F3D34;
padding:15px 0;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
}

nav a{
margin:0 15px;
text-decoration:none;
color:#FFF;
font-weight:500;
}

.logo{
font-family:Playfair Display;
}

.btn{
background:#c6a46c;
border:none;
padding:12px 25px;
color:white;
cursor:pointer;
}

.hero{
height:80vh;
background:url('img/hero.jpg') center/cover;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
}

.hero h1{
font-family:Playfair Display;
font-size:50px;
}

.hero span{
font-style:italic;
}

.hero p{
margin:20px 0;
}

.about{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
padding:80px 0;
}

.about img{
width:100%;
}

.rituales{
background:#e9e3d8;
padding:80px 0;
text-align:center;
}

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-top:40px;
}

.card{
background:white;
padding-bottom:20px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

.card img{
width:100%;
height:150px;
object-fit:cover;
}

.card h4{
margin:15px;
}

.card ul{
padding:0 20px;
}

.card li{
margin:5px 0;
}

.featured{
transform:scale(1.05);
}

.precios{
padding:80px 0;
text-align:center;
}

table{
width:100%;
margin-top:30px;
border-collapse:collapse;
}

td{
padding:15px;
border-bottom:1px solid #ddd;
}

.galeria{
background:#1F3D34;
padding:80px 0;
text-align:center;
}

.grid{
margin-top:40px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.grid img{
width:100%;
height:220px;
object-fit:cover;
}

.quote{
background:url('img/hero2.jpg') center/cover;
color:white;
text-align:center;
padding:120px 20px;
font-size:24px;
font-style:italic;
}

.cta{
background:#a88655;
color:white;
text-align:center;
padding:80px 20px;
}

footer{
background:#111;
color:#ccc;
padding:40px 0;
}


footer h4{
margin-bottom:10px;
}

/* navbar scroll */

.nav-scroll{
background:#1F3D34;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
position:fixed;
width:100%;
z-index:999;
}


/* animaciones */

.card,
.about-text,
.about-img,
table tr{
opacity:0;
transform:translateY(40px);
transition:all 0.8s ease;
}

.show{
opacity:1;
transform:translateY(0);
}


/* galería zoom */

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}

.lightbox img{
max-width:90%;
max-height:90%;
border-radius:10px;
}


/* hover galería */

.grid img{
cursor:pointer;
transition:0.3s;
}

.grid img:hover{
transform:scale(1.05);
}

.rituales{
background:#1F3D34;
padding:100px 0;
}

.ritual-header{
text-align:center;
margin-bottom:60px;
}

.mini{
letter-spacing:3px;
font-size:12px;
color:#9c8660;
}

.ritual-header h2{
font-family:"Playfair Display";
font-size:40px;
margin:10px 0;
}

.ritual-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
gap:30px;
}

/* laptop */
@media (max-width:1200px){

.ritual-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* tablet */
@media (max-width:768px){

.ritual-grid{
grid-template-columns:1fr;
}

}
@media (max-width:768px){

.ritual-img{
height:180px;
}

.ritual-card{
max-width:420px;
margin:auto;
}

}

.ritual-card{
background:white;
box-shadow:0 10px 20px rgba(0,0,0,0.08);
position:relative;
}

.ritual-img{
position:relative;
height:220px;
overflow:hidden;
}

.ritual-img img{
width:100%;
height:100%;
object-fit:cover;
}

.ritual-overlay{
position:absolute;
bottom:20px;
left:20px;
color:white;
}

.ritual-overlay h3{
font-family:"Playfair Display";
font-size:22px;
}

.tag{
font-size:12px;
letter-spacing:2px;
color:#c6a46c;
}

.ritual-img::after{
content:"";
position:absolute;
bottom:0;
left:0;
right:0;
height:100%;
background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}

.ritual-body{
padding:25px;
}

.ritual-body ul{
list-style:none;
}

.ritual-body li{
margin-bottom:10px;
position:relative;
padding-left:20px;
}

.ritual-body li::before{
content:"✔";
position:absolute;
left:0;
color:#c6a46c;
}

.featured{
transform:scale(1.05);
z-index:2;
}

.badge{
position:absolute;
top:15px;
right:15px;
background:#9c8660;
color:white;
font-size:12px;
padding:5px 10px;
letter-spacing:1px;
}

.footer{
background:#0e0e0e;
color:#d6d6d6;
padding-top:70px;
font-family:Poppins;
}

.footer-container{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(100px,1fr));
gap:30px;
padding:0 20px;
}



.footer h3{
font-family:"Playfair Display";
color:white;
margin-bottom:10px;
letter-spacing:2px;
}

.footer h4{
color:white;
margin-bottom:20px;
font-size:14px;
letter-spacing:2px;
}

.footer p{
font-size:14px;
margin-bottom:10px;
color:#9c9c9c;
}

.social{
display:flex;
gap:15px;
}

.social a{
width:35px;
height:35px;
border:1px solid #555;
display:flex;
align-items:center;
justify-content:center;
color:white;
text-decoration:none;
border-radius:50%;
font-size:13px;
transition:0.3s;
}

.social a:hover{
background:#c6a46c;
border-color:#c6a46c;
}

.footer-bottom{
margin-top:50px;
border-top:1px solid #222;
text-align:center;
padding:20px;
font-size:13px;
color:#777;
}


.agenda{
background:#9c7b4f;
padding:120px 20px;
text-align:center;
color:white;
}

.agenda-content{
max-width:700px;
margin:auto;
}

.agenda-mini{
letter-spacing:3px;
font-size:12px;
color:#e7d3a6;
}

.agenda h2{
font-family:"Playfair Display";
font-size:36px;
margin:15px 0;
}

.agenda-text{
font-size:15px;
color:#f1e9db;
margin-bottom:35px;
}

.agenda-btn{
display:inline-block;
padding:14px 32px;
border:1px solid #e7d3a6;
color:white;
text-decoration:none;
font-size:13px;
letter-spacing:2px;
transition:0.3s;
}

.agenda-btn:hover{
background:#e7d3a6;
color:#5c452a;
}

.agenda-note{
margin-top:25px;
font-size:12px;
color:#eadcc0;
}

.btn{
background:#c6a46c;
color:white;
padding:12px 28px;
border:none;
cursor:pointer;
font-size:13px;
letter-spacing:1px;
position:relative;
overflow:hidden;
transition:all .3s ease;
}

/* elevación */

.btn:hover{
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,0.2);
}


/* efecto brillo */

.btn::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.4),
transparent
);
transition:.6s;
}

.btn:hover::before{
left:100%;
}

.btn{
animation:pulse 5s infinite;
}

@keyframes pulse{

0%{transform:scale(1)}

50%{transform:scale(1.05)}

100%{transform:scale(1)}

}

/* hamburguesa */

.hamburger{
display:none;
flex-direction:column;
cursor:pointer;
gap:5px;
}

.hamburger span{
width:25px;
height:3px;
background:#FFF;
display:block;
transition:.3s;
}


/* mobile */

@media (max-width:768px){

nav{
position:absolute;
top:80px;
left:0;
width:100%;
background:white;
display:flex;
flex-direction:column;
align-items:center;
padding:30px 0;

opacity:0;
pointer-events:none;
transform:translateY(-10px);
transition:.3s;
}

nav a{
margin:15px 0;
font-size:18px;
}

nav.active{
opacity:1;
pointer-events:auto;
transform:translateY(0);
background: #1F3D34;
}

.hamburger{
display:flex;
}

.nav-btn{
display:none;
}

}

.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(5px,-5px);
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
grid-auto-rows:200px;
gap:15px;
margin-top:40px;
}

.gallery-grid img{
width:100%;
height:100%;
object-fit:cover;
border-radius:6px;
transition:.4s;
cursor:pointer;
}

/* tamaños */

.wide{
grid-column:span 2;
}

.tall{
grid-row:span 2;
}

.big{
grid-column:span 2;
grid-row:span 2;
}

/* hover elegante */

.gallery-grid img:hover{
transform:scale(1.05);
}

@media (max-width:768px){

.gallery-grid{
grid-template-columns:repeat(2,1fr);
grid-auto-rows:150px;
}

.big{
grid-column:span 2;
grid-row:span 1;
}

}



.contacto .sucursal{
margin-bottom:10px;
font-size:14px;
}

.contacto strong{
display:block;
color:#c9a96a;
font-weight:500;
}

.social{
display:flex;
gap:15px;
margin-top:10px;
}

.social a{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
background:#111;
border-radius:50%;
transition:.3s;
}

.social a:hover{
background:#c9a96a;
}

.floating-buttons{
position:fixed;
bottom:25px;
right:25px;
display:flex;
flex-direction:column;
gap:12px;
z-index:999;
}

.float-btn{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
color:white;
text-decoration:none;
border:none;
cursor:pointer;
box-shadow:0 5px 15px rgba(0,0,0,0.3);
transition:.3s;
}

/* colores */

.pwa{
background:#fff;
}

.whatsapp{
background:#25D366;
}

.top{
background:#111;
}

/* hover */

.float-btn:hover{
transform:scale(1.1);
}

@media (max-width:768px){

.float-btn{
width:48px;
height:48px;
font-size:18px;
}

}

.float-btn img{
width:60%;
height:60%;
object-fit:contain;
}