/* ===========================
   SIBERIA LAS REYNAS
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    color:#2d2d2d;
    background:#faf8f3;
    overflow-x:hidden;

}

body.menu-abierto{
    overflow:hidden;
}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.contenedor{

    width:90%;
    max-width:1250px;
    margin:auto;

}

/*================ HEADER ================*/

header{

position:fixed;
top:0;
left:0;
width:100%;
padding:20px 0;
z-index:999;
transition:.4s;
background:rgba(70,0,0,.75);
backdrop-filter:blur(10px);

}

header .contenedor{

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

}

.logo img{

height:85px;
width:auto;

}

nav ul{

display:flex;
gap:35px;
list-style:none;

}

nav a{

color:white;
font-weight:500;
transition:.3s;

}

nav a:hover{

color:#f7d28c;

}

/*================ MENÚ MÓVIL (HAMBURGUESA) ================*/

.menu-toggle{

display:none;
flex-direction:column;
justify-content:center;
gap:6px;
width:34px;
height:26px;
background:none;
border:none;
cursor:pointer;
z-index:1001;
padding:0;

}

.menu-toggle span{

display:block;
width:100%;
height:3px;
background:white;
border-radius:3px;
transition:.35s;

}

.menu-toggle.activo span:nth-child(1){
transform:translateY(9px) rotate(45deg);
}

.menu-toggle.activo span:nth-child(2){
opacity:0;
}

.menu-toggle.activo span:nth-child(3){
transform:translateY(-9px) rotate(-45deg);
}

/*================ HERO ================*/

.hero{

height:100vh;

background:
linear-gradient(rgba(40,0,0,.55),rgba(40,0,0,.55)),
url("../assets/img/hero.jpg");

background-size:cover;
background-position:center;

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

text-align:center;

color:white;

padding:0 20px;

}

.hero-logo{

max-width:320px;
margin:auto;
margin-bottom:30px;

}

.hero h1{

font-size:70px;

font-family:"Cormorant Garamond",serif;

margin-bottom:20px;

}

.hero p{

font-size:20px;

letter-spacing:2px;

margin-bottom:45px;

}

.botones{

display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;

}

.btn{

padding:18px 40px;

border-radius:60px;

font-weight:bold;

transition:.35s;

}

.btn.rojo{

background:#8e0f14;

color:white;

}

.btn.rojo:hover{

background:#b51b22;
transform:translateY(-4px);

}

.btn.blanco{

background:white;
color:#8e0f14;

}

.btn.blanco:hover{

transform:translateY(-4px);

}

/*================ NOSOTROS ================*/

.nosotros{

padding:120px 0;

background:#faf8f3;

}

.grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.nosotros h2{

font-size:54px;

margin-bottom:25px;

font-family:"Cormorant Garamond",serif;

color:#8e0f14;

}

.nosotros p{

font-size:18px;

line-height:1.9;

}

.nosotros img{

border-radius:20px;

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

}

/*================ ESPECIALIDAD ================*/

.especialidad{

padding:120px 0;

background:#7f0f16;

color:white;

}

.especialidad .contenedor{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.especialidad h2{

font-size:60px;

font-family:"Cormorant Garamond",serif;

margin-bottom:25px;

}

.especialidad p{

font-size:18px;

line-height:1.9;

}

.especialidad img{

border-radius:18px;

box-shadow:0 20px 40px rgba(0,0,0,.35);

}

/*================ GALERIA ================*/

.galeria{

padding:120px 0;

background:#faf8f3;

}

.galeria h2{

text-align:center;

font-size:55px;

margin-bottom:60px;

color:#8e0f14;

font-family:"Cormorant Garamond",serif;

}

.grid-galeria{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

width:90%;
margin:auto;

}

.grid-galeria img{

height:380px;

object-fit:cover;

border-radius:18px;

transition:.45s;

cursor:pointer;

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

}

.grid-galeria img:hover{

transform:scale(1.04);

}

/*================ UBICACION ================*/

.ubicacion{

padding:120px 0;

background:white;

}

.ubicacion .contenedor{

display:grid;

grid-template-columns:420px 1fr;

gap:60px;

align-items:center;

}

.info{

background:#8e0f14;

color:white;

padding:45px;

border-radius:20px;

}

.info h2{

font-size:48px;

font-family:"Cormorant Garamond",serif;

margin-bottom:25px;

}

.info p{

margin-bottom:22px;

line-height:1.8;

}

.mapa iframe{

width:100%;

height:500px;

border:none;

border-radius:20px;

}

/*================ FOOTER ================*/

footer{

background:#250000;

padding:70px 0;

text-align:center;

color:white;

}

.footer-logo{

width:180px;

margin:auto;

margin-bottom:30px;

}

.redes{

margin:35px 0;

display:flex;

justify-content:center;

gap:18px;

}

.redes a{

width:55px;

height:55px;

background:#8e0f14;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

color:white;

font-size:22px;

transition:.35s;

}

.redes a:hover{

background:#d4202c;

transform:translateY(-5px);

}

.copy{

margin-top:35px;

font-size:14px;

opacity:.7;

}

/*================ WHATSAPP ================*/

.whatsapp{

position:fixed;

right:25px;

bottom:25px;

width:70px;

height:70px;

background:#25D366;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

color:white;

font-size:38px;

box-shadow:0 15px 30px rgba(0,0,0,.3);

z-index:999;

transition:.35s;

}

.whatsapp:hover{

transform:scale(1.12);

}

/*================ RESPONSIVE ================*/

@media(max-width:980px){

.hero h1{

font-size:48px;

}

.grid,
.especialidad .contenedor,
.ubicacion .contenedor{

grid-template-columns:1fr;

}

.grid-galeria{

grid-template-columns:1fr;

}

.menu-toggle{

display:flex;

}

nav{

position:fixed;
top:0;
right:-100%;
width:75%;
max-width:320px;
height:100vh;
background:rgba(30,0,0,.98);
backdrop-filter:blur(10px);
display:flex;
align-items:center;
transition:.45s ease;

}

nav.activo{

right:0;

}

nav ul{

flex-direction:column;
width:100%;
text-align:center;
gap:40px;

}

nav a{

font-size:22px;

}

.logo img{

height:65px;

}

.hero-logo{

max-width:220px;

}

.hero{

padding-top:120px;

}

}
