/* 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); }
.g-desktop-nav { background:#fff; border-bottom:1px solid var(--g-border);z-index:1000; }
.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; 
  position:relative; 
  z-index:9999;
}
.btn-menu:hover{ filter:brightness(.95); color:#fff; }

/* Force visibility for mobile menu button */
@media (max-width: 991.98px) {
  .g-header .btn-menu.d-lg-none,
  .btn-menu.d-lg-none {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Force override Elementor tablet hiding */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element:has(.gardermoen_menu).elementor-hidden-tablet,
  .elementor-element[data-widget_type="gardermoen_menu.default"].elementor-hidden-tablet,
  .elementor-hidden-tablet:has(.g-header),
  .elementor-hidden-tablet:has(.btn-menu) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Alternative more aggressive override */
.elementor-element:has(header.g-header),
.elementor-element:has(.g-header) {
  display: block !important;
}

.elementor-element[class*="elementor-element"]:has(.g-header) {
  display: block !important;
}

@media (min-width: 992px) {
  .g-header .btn-menu.d-lg-none,
  .btn-menu.d-lg-none {
    display: none !important;
  }
}

/* Extra visibility for tablet range debugging */
@media (min-width:767px) and (max-width:1024px) {
  .btn-menu {
    background: var(--g-green) !important; /* Debug color to make it visible */
    border: 2px solid #fff !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Desktop mega */
nav.g-desktop-nav{
	border-top:1px #000 solid;
	border-bottom:2px #000 solid;
}
.g-desktop-nav .nav-link{ font-weight:400; color:var(--g-ink); white-space:nowrap}

.g-desktop-nav .nav-item:hover{ background: var(--g-green)}

.g-desktop-nav .nav-item:hover>a{
				color: #FFF !important; 
				}
.g-desktop-nav .nav-item.current-menu-item{
	background: #000;
} 
.g-desktop-nav .nav-item.current-menu-item A{
	color: #FFF;
} 

.g-desktop-nav .nav-item.dw_hasicon,
.mega-list > li.dw_hasicon{
	display:grid !important;
	grid-template-columns: 40px 1fr !Important;
}

.g-desktop-nav .dw_hasicon i,
.mega-list > li.dw_hasicon i  {
  display: inline-flex;   /* eller flex */
  align-items: center;
  
  justify-content: center;
  width:100%;
  height: 100%;           /* fyller høyden til containeren */
  aspect-ratio: 1 / 1;    /* sørger for kvadrat */
  font-size: 100%;         /* juster slik at ikonet passer inn */
}
li.dw_hasicon a>i{

	margin-right:15px;
}
.g-desktop-nav .dw_hasicon i:before{
    line-height: 1;
    width: 100%;
    text-align: center;
    font-size: 100%;
    font-size: 1.2rem;
}
.g-desktop-nav li a{
	display:grid;
font-weight:500;
padding-left:15px;
	line-height:36px;;
}
nav.g-desktop-nav>.container-fluid{
	--bs-gutter-x:0px;
}

.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; }
.mega-list > li.current-menu-item {
	background: #DDD;
}
 li.current-menu-parent{
 	background: #DDD;
 }

/* 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:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#fff; background:#deecff; transition: all 0.2s ease; }
.shortcut + small{ max-width:74px; display:block; text-wrap:balance; }

/* Shortcut color variations */
.shortcut-default, .shortcut{ background:#0b3b64; color:#fff; }
.shortcut-green{ background:#28a745; color:#fff; }
.shortcut-red{ background:#dc3545; color:#fff; }
.shortcut-orange{ background:#fd7e14; color:#fff; }
.shortcut-yellow{ background:#ffc107; color:#212529; }
.shortcut-purple{ background:#6f42c1; color:#fff; }
.shortcut-pink{ background:#e83e8c; color:#fff; }
.shortcut-teal{ background:#20c997; color:#fff; }
.shortcut-gray{ background:#6c757d; color:#fff; }
.shortcut-white{ background:#fff; color:#212529; border:2px solid #dee2e6; }
.shortcut-black{ background:#212529; color:#fff; }
.shortcut-gardermoen-green{ background:var(--g-green, #78b842); color:#fff; }

/* Hover effects */
.shortcut:hover{ transform:scale(1.05); box-shadow:0 4px 12px rgba(0,0,0,0.15); }

/* Mobile menu enhancements */
.g-card-head:hover {
  background-color: rgba(0,0,0,0.05);
}

.g-card-head[aria-expanded="true"] .chev {
  transform: rotate(90deg);
}

.g-card-head .chev {
  transition: transform 0.35s ease;
}

.gdm-mobile-section .collapse {
  transition: height 0.35s ease;
}
#gdmMobileMenuButton{
  display:block !important;
  position:absolute;
  background: var(--g-green);
	border-radius:5px;
	border: 1px #DDD solid !Important;
  top : -75px;
  right : 5px;
}
.btn.gdm-simple-toggle{
border:none !important;
}
.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; transition: transform 0.35s ease; }
.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 - Force visibility overrides */
/* Desktop: hide mobile button, show desktop nav */
@media (min-width:1025px){ 
  .g-header .only-mobile, 
  .only-mobile{ display:none !important; } 
  #gdmMobileMenuButton{ display:none !important; }
  .g-header .only-desktop,
  .only-desktop{ display:flex !important; flex-basis: initial}
}

/* Tablet and Mobile: hide desktop nav, show mobile button */
@media (max-width:1024px){ 
  .g-header .only-desktop,
  .only-desktop{ display:none !important; } 
  .g-header .only-mobile,
  .only-mobile{ display:inline-block !important; }


}


/* Extra safety for the problematic tablet range */
@media (min-width:767px) and (max-width:1024px) {
  .g-header .only-mobile,
  .only-mobile{ display:inline-block !important; }
  .g-header .only-desktop,
  .only-desktop{ display:none !important; }
}

/* Mobile specific */
@media (max-width:767px) {
  .g-header .only-mobile,
  .only-mobile{ display:inline-block !important; }
  .g-header .only-desktop,
  .only-desktop{ display:none !important; }
}
