/* Responsive helpers and mobile layout tweaks */
:root{
    --nav-height:56px;
}
/* Mobile-first */
header.main-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 14px;
    gap:12px;
    height:var(--nav-height);
}
.logo-section{display:flex;align-items:center;gap:10px}
.main-nav{display:none}
.burger-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    background:transparent;
    border-radius:8px;
    border:1px solid rgba(255,255,255,0.06);
    cursor:pointer;
    z-index:1200;
}
.burger-btn .bar{width:22px;height:2px;background:var(--burger-color,#fff);border-radius:2px;display:block;position:relative}
.burger-btn .bar::before,.burger-btn .bar::after{content:'';position:absolute;left:0;width:22px;height:2px;background:inherit;border-radius:2px}
.burger-btn .bar::before{top:-7px}
.burger-btn .bar::after{top:7px}

/* Mobile slide-in nav */
.mobile-nav-panel{
    position:fixed;
    top:0;
    left:0;
    height:100vh;
    width:280px;
    transform:translateX(-110%);
    transition:transform .28s cubic-bezier(.2,.9,.2,1);
    background:linear-gradient(180deg, rgba(10,14,20,0.96), rgba(6,8,16,0.98));
    color:#e6eef8;
    z-index:1199;
    padding:calc(var(--nav-height) + 12px) 16px 20px 16px;
    box-shadow: 8px 0 40px rgba(2,6,23,0.6);
}
.mobile-nav-panel.active{transform:translateX(0)}
.mobile-nav-panel .nav-item{padding:12px 6px;border-radius:8px;display:block;color:inherit;text-decoration:none}
.mobile-nav-panel .nav-item:hover{background:rgba(255,255,255,0.03)}

/* Overlay behind nav */
.mobile-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);opacity:0;pointer-events:none;transition:opacity .28s;z-index:1198}
.mobile-nav-overlay.active{opacity:1;pointer-events:auto}

/* Header controls alignment on small screens */
.search-container{flex:1;display:flex;align-items:center;gap:8px}
.search-container input{flex:1;min-width:0}

/* Make the globe and panels take full width on small screens */
#earth_div, .weather-panel, .main-content{width:100%}
.weather-panel{right:0;left:auto}

/* Calendar / events responsive tweaks */
.tab-content{padding:12px}

/* Larger screens - restore original nav */
@media (min-width:900px){
    .burger-btn{display:none}
    .main-nav{display:flex;gap:8px;align-items:center}
    .mobile-nav-panel{display:none}
    .mobile-nav-overlay{display:none}
}

/* Utility: hide on mobile when needed */
.hide-on-mobile{display:none}
@media (min-width:900px){.hide-on-mobile{display:initial}}
