/* Green Pi Interactive City V6.20 - desktop language fix + mobile orientation guidance */

/* Desktop / general polish */
.gp-map-topbar,
.gp-topbar-shell,
.gp-topbar-main-shell,
.gp-topbar-actions,
.gp-topbar-language,
.gp-flag-language{
  overflow:visible !important;
}
.gp-topbar-actions{
  position:relative;
  z-index:120;
}
.gp-topbar-language{
  position:relative !important;
  z-index:130 !important;
}
.gp-flag-language{
  position:relative;
}
.gp-flag-language__trigger{
  position:relative;
  z-index:2;
}
.gp-flag-language__menu{
  top:calc(100% + 10px) !important;
  right:0 !important;
  left:auto !important;
  min-width:68px !important;
  width:68px !important;
  z-index:400 !important;
}
.gp-native-lang-link{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.gp-native-lang-link *{
  opacity:0 !important;
  pointer-events:none !important;
}
.gp-native-lang-option{
  position:relative;
}

/* Mobile rotate overlay */
.gp-rotate-notice{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(22,28,34,.88);
  backdrop-filter:blur(8px) saturate(1.08);
  -webkit-backdrop-filter:blur(8px) saturate(1.08);
}
.gp-rotate-notice__card{
  width:min(92vw,430px);
  padding:28px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  color:#fff;
  text-align:center;
  background:linear-gradient(180deg,rgba(40,48,54,.94),rgba(26,32,38,.92));
  box-shadow:0 20px 60px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
}
.gp-rotate-notice__card strong{
  display:block;
  margin:0 0 10px;
  font-size:clamp(24px,4vw,34px);
  line-height:1.2;
}
.gp-rotate-notice__card p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.55;
}
.gp-rotate-notice__phone{
  position:relative;
  width:110px;
  height:110px;
  margin:0 auto 18px;
}
.gp-rotate-notice__phone span{
  position:absolute;
  left:50%;
  top:50%;
  width:36px;
  height:62px;
  border:4px solid #fff;
  border-radius:10px;
  transform:translate(-50%,-50%) rotate(18deg);
}
.gp-rotate-notice__phone::before,
.gp-rotate-notice__phone::after{
  content:'';
  position:absolute;
  width:22px;
  height:22px;
  border-top:4px solid #fff;
  border-right:4px solid #fff;
  border-radius:3px;
}
.gp-rotate-notice__phone::before{
  left:18px;
  top:18px;
  transform:rotate(135deg);
}
.gp-rotate-notice__phone::after{
  right:18px;
  bottom:18px;
  transform:rotate(-45deg);
}

@media (max-width: 900px) and (orientation: portrait){
  html,body{
    overflow:hidden !important;
  }
  .gp-rotate-notice{
    display:flex;
  }
  .gp-map-app > :not(.gp-rotate-notice){
    filter:blur(4px);
    pointer-events:none !important;
    user-select:none !important;
  }
}

/* Mobile landscape layout */
@media (max-width: 900px) and (orientation: landscape){
  .gp-map-topbar{
    top:8px !important;
    left:10px !important;
    right:10px !important;
    gap:8px !important;
  }
  .admin-bar .gp-map-topbar{
    top:54px !important;
  }
  .gp-topbar-main-shell{
    display:grid !important;
    grid-template-columns:minmax(220px,330px) minmax(0,1fr) 44px 126px !important;
    grid-template-areas:"brand nav language quote" !important;
    align-items:center !important;
    gap:10px !important;
    padding:10px 12px !important;
    border-radius:24px !important;
  }
  .gp-topbar-brand{
    grid-area:brand;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
    padding:8px 12px !important;
    gap:10px !important;
    border-radius:20px !important;
  }
  .gp-topbar-logo img,.gp-topbar-logo .custom-logo{
    max-width:120px !important;
    max-height:42px !important;
  }
  .gp-topbar-brand-copy--always small{
    font-size:6.5px !important;
    letter-spacing:.14em !important;
    line-height:1.12 !important;
  }
  .gp-topbar-brand-copy--always strong{
    font-size:11px !important;
    line-height:1.15 !important;
  }
  .gp-topbar-nav{
    grid-area:nav;
    min-width:0 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    border-top:0 !important;
    padding-top:0 !important;
    overflow-x:auto !important;
    scrollbar-width:none;
  }
  .gp-topbar-nav::-webkit-scrollbar{display:none}
  .gp-topbar-nav .gp-group-tab{
    flex:1 1 0 !important;
    min-width:140px !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 14px !important;
    white-space:nowrap !important;
    font-size:12px !important;
    text-align:center !important;
  }
  .gp-topbar-language{
    grid-area:language;
    margin:0 !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:40px !important;
  }
  .gp-flag-language,
  .gp-flag-language__trigger{
    width:44px !important;
    min-width:44px !important;
    height:40px !important;
    border-radius:12px !important;
  }
  .gp-flag-language__flag{font-size:18px !important}
  .gp-topbar-quote{
    grid-area:quote;
    min-height:40px !important;
    height:40px !important;
    padding:0 15px !important;
    border-radius:14px !important;
    font-size:12px !important;
    white-space:nowrap !important;
    justify-content:center !important;
  }
  .gp-map-dock--products,
  .admin-bar .gp-map-dock--products{
    left:10px !important;
    right:auto !important;
    top:84px !important;
    bottom:10px !important;
    width:min(390px,44vw) !important;
    max-height:none !important;
    border-radius:24px !important;
  }
  .gp-map-dock--products .gp-product-view{
    max-height:none !important;
    height:100% !important;
  }
  .gp-map-dock--products .gp-panel-product-list{
    max-height:none !important;
    flex:1 1 auto !important;
  }
}

/* Small desktop and tablet landscape - keep dropdown clean */
@media (min-width: 901px){
  .gp-topbar-main-shell{
    padding-right:18px !important;
  }
}
