/* Gardermoen Menu – basic styles */
:root{
  --g-green:#78b842;
  --g-ink:#1f2a37;
  --g-sky:#e9f2ff;
  --g-mint:#e9f7e9;
  --g-sand:#fff3d9;
  --g-border:#e5e7eb;
}
.g-header{ background:#fff; border-bottom:1px solid var(--g-border); }
.brand-logo img{ height:28px; }
.weather-chip{ gap:.4rem; }
.btn-menu{ background:var(--g-green); color:#fff; border:0; padding:.35rem .7rem; border-radius:.5rem; font-weight:600; }
.btn-menu:hover{ filter:brightness(.95); color:#fff; }

/* Desktop mega */
.g-desktop-nav .nav-link{ font-weight:600; color:var(--g-ink); }
.g-desktop-nav .nav-link:hover{ text-decoration:underline; }
.mega-panel{ display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--g-border); box-shadow:0 18px 40px rgba(0,0,0,.07); padding:1.25rem 0; }
.g-desktop-nav .nav-item:hover .mega-panel{ display:block; }
.mega-columns{ column-count:2; column-gap:3rem; }
@media (min-width:1200px){ .mega-columns{ column-count:3; } }
.mega-list, .mega-sublist{ list-style:none; margin:0; padding:0; }
.mega-list > li{ break-inside:avoid; margin-bottom:.35rem; }
.mega-link{ text-decoration:none; color:var(--g-ink); }
.mega-link:hover{ text-decoration:underline; }
.mega-title{ font-weight:700; display:block; margin:.5rem 0; }

/* Mobil offcanvas */
.offcanvas-fullscreen{ 
    width:100vw !important; 
    height:100vh !important; 
    max-width:100% !important;
    max-height:100% !important;
    border:0; 
    border-radius:0; 
    left:0; 
    right:0;
    top:0 !important;
    bottom:0 !important;
    position:fixed !important;
}
.shortcut{ width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#0b3b64; background:#deecff; }
.shortcut + small{ max-width:74px; display:block; text-wrap:balance; }
.g-card{ border-radius:14px; border:1px solid var(--g-border); overflow:hidden; background:#fff; }
.g-card .g-card-head{ padding:1rem 1.25rem; font-weight:700; display:flex; gap:.75rem; align-items:center; }
.g-card .chev{ margin-left:auto; }
.g-card .list-group-item{ border:0; border-top:1px solid var(--g-border); padding:.875rem 1.25rem; }
.g-card.flytider{ background:var(--g-sky); }
.g-card.transport{ background:var(--g-mint); }
.g-card.opplevelser{ background:var(--g-sand); }

/* Visibility helpers */
@media (min-width:992px){ .only-mobile{ display:none !important; } }
@media (max-width:991.98px){ .only-desktop{ display:none !important; } }
