/* ========== FOOTER ========== */

.footer{
background:white;
border-top:1px solid #e5e5e5;
margin-top:80px;
width:100%;
overflow:hidden;
}

.footer-container{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2.5rem;
padding:4rem 5%;
max-width:1400px;
margin:auto;
box-sizing:border-box;
}

/* COLUMN */

.footer-col{
width:100%;
min-width:0;
}

.footer-col h3{
font-family:'Cormorant Garamond',serif;
margin-bottom:1.2rem;
color:#222;
font-size:1.5rem;
letter-spacing:.5px;
}

/* LOGO */

.footer-logo{
display:flex;
align-items:center;
gap:.8rem;
font-family:'Cormorant Garamond',serif;
font-size:1.5rem;
margin-bottom:1.2rem;
flex-wrap:wrap;
}

.footer-logo img{
height:40px;
width:auto;
flex-shrink:0;
}

/* PRIMARY COLOR */

.gold{
color:#1e88e5;
}

/* DESCRIPTION */

.footer-desc{
color:#666;
line-height:1.7;
font-size:.95rem;
word-wrap:break-word;
}

/* SOCIAL */

.footer-social{
margin-top:1.2rem;
display:flex;
flex-wrap:wrap;
gap:1rem;
}

.footer-social a{
color:#777;
font-size:1.4rem;
transition:.3s;
display:inline-flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:50%;
background:#f4f7fb;
}

.footer-social a:hover{
color:white;
background:#1e88e5;
transform:translateY(-3px);
}

/* CONTACT */

.footer-col p{
color:#666;
margin-bottom:.8rem;
display:flex;
align-items:center;
gap:.6rem;
font-size:.95rem;
word-wrap:break-word;
}

.footer-col i{
color:#1e88e5;
min-width:20px;
text-align:center;
}

/* MAP */

.maps iframe{
border-radius:10px;
width:100%;
height:180px;
border:none;
box-shadow:0 4px 15px rgba(0,0,0,.05);
}

/* BOTTOM */

.footer-bottom{
text-align:center;
padding:1.5rem 5%;
border-top:1px solid #eee;
color:#777;
font-size:.9rem;
width:100%;
box-sizing:border-box;
background:#fafafa;
}

/* ========== RESPONSIVE ========== */

@media(max-width:1000px){

.footer-container{
grid-template-columns:repeat(2,1fr);
gap:2rem;
padding:3rem 5%;
}

}

@media(max-width:600px){

.footer-container{
grid-template-columns:1fr;
gap:2rem;
padding:2.5rem 20px;
text-align:center;
}

.footer-logo{
justify-content:center;
}

.footer-social{
justify-content:center;
}

.footer-col p{
justify-content:center;
}

.maps iframe{
height:200px;
}

}

@media(max-width:400px){

.footer-logo{
flex-direction:column;
text-align:center;
}

.footer-social a{
font-size:1.2rem;
}

.footer-col h3{
font-size:1.3rem;
}

}