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

.site-header{
background:#fff;
border-bottom:1px solid var(--border);
position:sticky;
top:0;
z-index:1000;
}

.site-header .container{

max-width:var(--max);
margin:auto;

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

height:64px;

padding:0 18px;
}

/* LOGO */

.logo{
display:flex;
align-items:center;
}

.logo img{
height:28px;
width:auto;
display:block;
}

/* NAVIGATION */

.main-nav{
flex:1;
display:flex;
justify-content:center;
}

.nav-main{
display:flex;
align-items:center;
gap:26px;

list-style:none;
margin:0;
padding:0;
}

.nav-main li{
position:relative;
display:flex;
align-items:center;
}

.nav-main a{

font-weight:600;
font-size:15px;

color:var(--text);

padding:8px 4px;

display:flex;
align-items:center;
}

.nav-main a:hover{
color:#000;
text-decoration:none;
}

/* CTA */

.header-cta{
display:flex;
align-items:center;
}

.header-cta .btn{
padding:10px 16px;
font-size:14px;
}

/* ===============================
MEGA MENU
=============================== */

.mega-menu{

display:none;

position:absolute;
top:46px;
left:0;

background:#fff;

border:1px solid var(--border);
box-shadow:0 20px 40px rgba(0,0,0,.08);

padding:24px;

grid-template-columns:repeat(4,200px);
gap:24px;

z-index:100;
}

.has-mega:hover .mega-menu{
display:grid;
}

.mega-menu.small{
grid-template-columns:1fr;
}

.mega-col h3{
font-size:13px;
margin-bottom:8px;
font-weight:700;
}

.mega-col ul{
list-style:none;
padding:0;
margin:0;
}

.mega-col li{
margin-bottom:6px;
}

.mega-col a{
font-size:14px;
color:#444;
}

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

.home-hero{
position:relative;
overflow:hidden;
}

.home-hero-img{
width:100%;
height:420px;
object-fit:cover;
}

.home-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));
}

.home-hero-content{
position:absolute;
inset:0;
display:flex;
align-items:flex-end;
}

.home-hero-content main{

background:#fff;
border-radius:18px;
box-shadow:var(--shadow);

padding:22px;

margin-bottom:18px;

max-width:760px;
}

/* ===============================
GRID
=============================== */

.city-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
gap:14px;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:16px;
}

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

.site-footer{
background:var(--soft);
margin-top:60px;
padding:40px 20px;
border-top:1px solid var(--border);
}

.footer-grid{
max-width:var(--max);
margin:auto;

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

/* ===============================
MOBILE
=============================== */

@media (max-width:720px){

.site-header .container{
height:56px;
}

.main-nav{
display:none;
}

.home-hero-img{
height:300px;
}

.home-hero-content main{
max-width:none;
}

.cards{
grid-template-columns:1fr;
}

.city-grid{
grid-template-columns:repeat(2,1fr);
}

.footer-grid{
grid-template-columns:1fr;
}

}