/* Green Pi Interactive City V6.6
 * Selected glass-menu concept: framed glass bar, text tabs with active underline,
 * flag-only language menu and premium quote button.
 */

/* Main glass shell */
.gp-map-topbar{
  top:26px !important;
  left:36px !important;
  right:36px !important;
}
.admin-bar .gp-map-topbar{top:58px !important}
.gp-topbar-main-shell{
  min-height:92px !important;
  padding:14px 22px !important;
  gap:24px !important;
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:32px !important;
  background:linear-gradient(120deg,rgba(245,250,249,.24),rgba(31,48,55,.28)) !important;
  box-shadow:0 18px 48px rgba(5,24,32,.22),inset 0 1px 0 rgba(255,255,255,.28) !important;
  backdrop-filter:blur(24px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.18) !important;
}

/* Logo */
.gp-topbar-brand{
  min-width:220px !important;
  max-width:280px !important;
  padding-left:4px !important;
}
.gp-topbar-logo img,
.gp-topbar-logo .custom-logo{
  max-width:190px !important;
  max-height:64px !important;
  filter:drop-shadow(0 5px 14px rgba(0,28,36,.16));
}

/* Navigation as clean text, not boxed pills */
.gp-topbar-nav{
  position:relative;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  min-height:64px;
}
.gp-topbar-nav .gp-group-tab{
  position:relative !important;
  min-height:58px !important;
  padding:0 34px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.90) !important;
  font-size:16px !important;
  font-weight:720 !important;
  letter-spacing:.005em !important;
  text-shadow:0 1px 8px rgba(0,18,28,.20);
}
.gp-topbar-nav .gp-group-tab:not(:last-child)::after{
  content:'';
  position:absolute;
  top:50%;
  right:0;
  width:1px;
  height:22px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.32);
}
.gp-topbar-nav .gp-group-tab::before{
  content:'';
  position:absolute;
  left:24%;
  right:24%;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--gp-green),transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .25s ease,transform .25s ease;
}
.gp-topbar-nav .gp-group-tab:hover,
.gp-topbar-nav .gp-group-tab.is-active{
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
}
.gp-topbar-nav .gp-group-tab:hover::before,
.gp-topbar-nav .gp-group-tab.is-active::before{
  opacity:1;
  transform:scaleX(1);
}

/* Right actions */
.gp-topbar-actions{
  gap:14px !important;
  min-width:max-content;
}
.gp-topbar-quote{
  min-height:52px !important;
  padding:0 25px !important;
  border:1px solid rgba(132,255,217,.65) !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,rgba(47,210,156,.92),rgba(81,224,190,.78)) !important;
  color:#073a30 !important;
  box-shadow:0 10px 24px rgba(28,206,153,.22),inset 0 1px 0 rgba(255,255,255,.42) !important;
  font-size:15px !important;
  font-weight:850 !important;
  transition:transform .22s ease,box-shadow .22s ease !important;
}
.gp-topbar-quote::after{
  content:'→';
  margin-left:10px;
  font-size:18px;
}
.gp-topbar-quote:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(28,206,153,.32),inset 0 1px 0 rgba(255,255,255,.48) !important;
}

/* Flag-only custom language control */
.gp-topbar-language{
  position:relative !important;
  min-width:54px !important;
  max-width:54px !important;
  min-height:52px !important;
}
.gp-topbar-language::before{display:none !important}
.gp-language-source{display:none !important}
.gp-flag-language{
  position:relative;
  display:block;
  width:54px;
  height:52px;
}
.gp-flag-language__trigger{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:54px;
  height:52px;
  padding:0;
  border:1px solid rgba(255,255,255,.34);
  border-radius:15px;
  color:#fff;
  background:rgba(23,40,47,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  cursor:pointer;
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
.gp-flag-language__trigger:hover,
.gp-flag-language.is-open .gp-flag-language__trigger{
  border-color:rgba(53,211,154,.72);
  background:rgba(17,45,49,.42);
  transform:translateY(-1px);
}
.gp-flag-language__flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:23px;
  line-height:1;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.16));
}
.gp-flag-language__chevron{
  font-size:11px;
  opacity:.82;
  transition:transform .22s ease;
}
.gp-flag-language.is-open .gp-flag-language__chevron{transform:rotate(180deg)}
.gp-flag-language__menu{
  position:absolute;
  z-index:80;
  top:calc(100% + 10px);
  right:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  width:68px;
  padding:10px 7px;
  border:1px solid rgba(89,238,188,.55);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(15,35,42,.70),rgba(12,31,38,.62));
  box-shadow:0 18px 42px rgba(0,22,30,.30),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px) scale(.96);
  transform-origin:top right;
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
}
.gp-flag-language.is-open .gp-flag-language__menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.gp-flag-language__option{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  color:#fff;
  background:rgba(255,255,255,.055);
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.gp-flag-language__option:hover,
.gp-flag-language__option.is-active{
  border-color:rgba(53,211,154,.75);
  background:rgba(53,211,154,.14);
  transform:translateY(-1px);
}
.gp-flag-language__option .gp-flag-language__flag{font-size:25px}

/* Hide plugin-native dropdown after our flag UI is mounted */
.gp-topbar-language.is-flag-ui-ready > .gp-language-mounted,
.gp-topbar-language.is-flag-ui-ready > select,
.gp-topbar-language.is-flag-ui-ready > .switcher,
.gp-topbar-language.is-flag-ui-ready > .gt_float_switcher,
.gp-topbar-language.is-flag-ui-ready > #gtranslate_wrapper,
.gp-topbar-language.is-flag-ui-ready > .gtranslate_wrapper{
  display:none !important;
}

/* Compact location dropdown following same glass language */
.gp-topbar-locations-shell{
  top:104px !important;
  left:clamp(210px,24vw,390px) !important;
  right:clamp(150px,18vw,270px) !important;
  border-color:rgba(255,255,255,.38) !important;
  background:linear-gradient(120deg,rgba(238,247,246,.20),rgba(20,42,49,.44)) !important;
  border-radius:20px !important;
  box-shadow:0 18px 42px rgba(0,22,30,.24),inset 0 1px 0 rgba(255,255,255,.18) !important;
  backdrop-filter:blur(22px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.12) !important;
}
.gp-topbar-location-chip{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.07) !important;
}

@media(max-width:1200px){
  .gp-topbar-main-shell{gap:12px !important;padding:12px 16px !important}
  .gp-topbar-brand{min-width:170px !important;max-width:220px !important}
  .gp-topbar-logo img,.gp-topbar-logo .custom-logo{max-width:165px !important;max-height:52px !important}
  .gp-topbar-nav .gp-group-tab{padding:0 20px !important;font-size:14px !important}
  .gp-topbar-quote{padding:0 18px !important}
}

@media(max-width:900px){
  .gp-map-topbar{left:12px !important;right:12px !important;top:12px !important}
  .admin-bar .gp-map-topbar{top:58px !important}
  .gp-topbar-main-shell{min-height:70px !important;border-radius:22px !important;flex-wrap:wrap !important}
  .gp-topbar-brand{min-width:0 !important;max-width:160px !important}
  .gp-topbar-logo img,.gp-topbar-logo .custom-logo{max-width:138px !important;max-height:42px !important}
  .gp-topbar-actions{margin-left:auto !important}
  .gp-topbar-nav{order:3 !important;width:100% !important;justify-content:flex-start !important;overflow-x:auto !important;min-height:44px !important}
  .gp-topbar-nav .gp-group-tab{min-height:42px !important;padding:0 16px !important;font-size:12px !important}
  .gp-flag-language,.gp-flag-language__trigger{width:44px;height:42px}
  .gp-topbar-language{min-width:44px !important;max-width:44px !important;min-height:42px !important}
  .gp-flag-language__flag{font-size:20px}
  .gp-topbar-quote{min-height:42px !important;padding:0 14px !important;font-size:12px !important}
  .gp-topbar-locations-shell{top:126px !important;left:0 !important;right:0 !important}
}
