/* Green Pi Interactive City V6.14
   Premium UI polish: refined top menu typography, glass side panel synced with menu,
   and luxury hover effects for quote buttons. */

:root{
  --gp-premium-glass-bg: linear-gradient(135deg, rgba(245,250,249,.20), rgba(33,48,56,.26));
  --gp-premium-glass-dark: linear-gradient(180deg, rgba(15,29,37,.72), rgba(11,25,34,.58));
  --gp-premium-border: rgba(255,255,255,.24);
  --gp-premium-accent: rgba(94,237,195,.92);
  --gp-premium-shadow: 0 24px 60px rgba(4,18,25,.22);
}

/* --- TOP BAR PREMIUM TYPOGRAPHY --- */
.gp-topbar-main-shell{
  background: linear-gradient(135deg, rgba(248,251,251,.23), rgba(73,86,92,.18) 52%, rgba(35,53,61,.24)) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:0 28px 70px rgba(4,18,25,.20), inset 0 1px 0 rgba(255,255,255,.30), inset 0 -1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:blur(28px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(28px) saturate(1.18) !important;
}
.gp-topbar-nav .gp-group-tab{
  font-size:17px !important;
  font-weight:760 !important;
  letter-spacing:.015em !important;
  color:rgba(255,255,255,.92) !important;
  text-shadow:0 1px 14px rgba(0,18,26,.18), 0 0 1px rgba(255,255,255,.10);
  transition:color .25s ease, transform .25s ease, text-shadow .25s ease !important;
}
.gp-topbar-nav .gp-group-tab:not(:last-child)::after{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.34), rgba(255,255,255,.02)) !important;
}
.gp-topbar-nav .gp-group-tab::before{
  height:3px !important;
  left:22% !important;
  right:22% !important;
  background:linear-gradient(90deg, transparent, rgba(115,255,220,.86), rgba(255,255,255,.88), rgba(115,255,220,.86), transparent) !important;
  box-shadow:0 0 18px rgba(94,237,195,.42);
}
.gp-topbar-nav .gp-group-tab:hover,
.gp-topbar-nav .gp-group-tab.is-active{
  color:#ffffff !important;
  transform:translateY(-1px);
  text-shadow:0 2px 18px rgba(0,20,28,.20), 0 0 16px rgba(94,237,195,.20);
}

/* Premium topbar buttons */
.gp-topbar-quote,
.gp-map-dock--products .gp-dock-quote .gp-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.gp-topbar-quote{
  border:1px solid rgba(142,255,225,.70) !important;
  background:linear-gradient(135deg, rgba(56,223,171,.96), rgba(100,235,204,.88)) !important;
  box-shadow:0 14px 28px rgba(24,196,147,.18), 0 3px 14px rgba(14,90,71,.16), inset 0 1px 0 rgba(255,255,255,.44) !important;
}
.gp-topbar-quote::before,
.gp-map-dock--products .gp-dock-quote .gp-btn::before{
  content:'';
  position:absolute;
  inset:-40% auto -40% -18%;
  width:40%;
  transform:skewX(-24deg) translateX(-180%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  pointer-events:none;
  z-index:0;
  transition:transform .75s ease;
}
.gp-topbar-quote > *,
.gp-map-dock--products .gp-dock-quote .gp-btn > *{position:relative;z-index:1}
.gp-topbar-quote:hover,
.gp-map-dock--products .gp-dock-quote .gp-btn:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 20px 38px rgba(24,196,147,.24), 0 8px 20px rgba(14,90,71,.18), inset 0 1px 0 rgba(255,255,255,.54) !important;
  filter:saturate(1.06);
}
.gp-topbar-quote:hover::before,
.gp-map-dock--products .gp-dock-quote .gp-btn:hover::before{
  transform:skewX(-24deg) translateX(430%);
}

/* --- SIDE PANEL MATCH MENU GLASS --- */
.gp-map-dock--products{
  border:1px solid rgba(255,255,255,.20) !important;
  background:linear-gradient(180deg, rgba(14,27,35,.68), rgba(11,24,33,.56)) !important;
  box-shadow:0 24px 64px rgba(4,18,25,.28), inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(255,255,255,.04) !important;
  backdrop-filter:blur(26px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(26px) saturate(1.14) !important;
}
.gp-map-dock--products::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 18%, rgba(82,224,190,.05) 70%, rgba(255,255,255,0));
}
.gp-map-dock--products .gp-product-panel-head,
.gp-map-dock--products .gp-active-location-info,
.gp-map-dock--products .gp-mini-filters,
.gp-map-dock--products .gp-product-result-bar,
.gp-map-dock--products .gp-dock-quote{
  position:relative;
  z-index:1;
}
.gp-map-dock--products .gp-product-panel-head{
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
}
.gp-map-dock--products .gp-active-location-copy small{
  color:rgba(184,245,226,.74) !important;
  letter-spacing:.16em !important;
  font-weight:700 !important;
}
.gp-map-dock--products .gp-active-location-copy strong{
  color:#fff !important;
  font-size:16px !important;
  letter-spacing:.01em;
  text-shadow:0 1px 12px rgba(0,18,26,.18);
}
.gp-map-dock--products .gp-active-location-info{
  padding:16px 18px 10px !important;
}
.gp-map-dock--products .gp-active-location-info p{
  color:rgba(236,247,245,.78) !important;
  line-height:1.6 !important;
}
.gp-map-dock--products .gp-sector-tags .gp-sector-tag,
.gp-map-dock--products .gp-sector-tags a,
.gp-map-dock--products .gp-sector-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(115,255,220,.24);
  background:rgba(71,233,186,.10);
  color:#99f3d6 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.gp-map-dock--products .gp-mini-filters{
  padding:10px 14px 12px !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)) !important;
}
.gp-map-dock--products .gp-search-box,
.gp-map-dock--products .gp-filter-row select{
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(0,0,0,.06);
  color:#f1fffb !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.gp-map-dock--products .gp-search-box:focus-within,
.gp-map-dock--products .gp-filter-row select:focus{
  border-color:rgba(94,237,195,.42) !important;
  box-shadow:0 0 0 3px rgba(94,237,195,.10), inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(0,0,0,.08) !important;
}
.gp-map-dock--products .gp-filter-row select{
  min-height:48px !important;
  border-radius:16px !important;
  font-weight:700 !important;
}
.gp-map-dock--products .gp-search-box input,
.gp-map-dock--products .gp-search-box input::placeholder{
  color:rgba(245,253,251,.78) !important;
}
.gp-map-dock--products .gp-product-result-bar{
  padding:14px 18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.00)) !important;
}
.gp-map-dock--products .gp-product-result-bar strong{
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.01em;
}
.gp-map-dock--products .gp-panel-product-list{
  padding:14px !important;
}
.gp-map-dock--products .gp-panel-product-card{
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.gp-map-dock--products .gp-panel-product-card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(94,237,195,.28) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.16), 0 0 0 1px rgba(94,237,195,.08), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.gp-map-dock--products .gp-panel-product-card__media{
  border:1px solid rgba(255,255,255,.26) !important;
}
.gp-map-dock--products .gp-panel-product-card__brand{
  color:#97f5dc !important;
  text-shadow:0 1px 8px rgba(0,18,26,.10);
}
.gp-map-dock--products .gp-panel-product-card h3{
  font-size:13px !important;
  font-weight:820 !important;
}
.gp-map-dock--products .gp-panel-product-card p{
  color:rgba(241,251,248,.66) !important;
}
.gp-map-dock--products .gp-panel-product-card__actions a{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.gp-map-dock--products .gp-panel-product-card__actions a:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(0,0,0,.12);
}
.gp-map-dock--products .gp-panel-product-card__actions a:first-child{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,251,.92)) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.08);
}
.gp-map-dock--products .gp-panel-product-card__actions a:last-child{
  box-shadow:0 10px 20px rgba(24,196,147,.18), inset 0 1px 0 rgba(255,255,255,.28);
}
.gp-map-dock--products .gp-panel-load-more{
  min-height:46px !important;
  border-radius:16px !important;
  border-color:rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
}
.gp-map-dock--products .gp-panel-load-more:hover{
  transform:translateY(-1px);
  border-color:rgba(94,237,195,.36) !important;
}
.gp-map-dock--products .gp-dock-quote{
  padding:14px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)) !important;
}
.gp-map-dock--products .gp-dock-quote .gp-btn{
  min-height:54px !important;
  border-radius:18px !important;
  border:1px solid rgba(142,255,225,.72) !important;
  background:linear-gradient(135deg, rgba(56,223,171,.96), rgba(100,235,204,.88)) !important;
  color:#083730 !important;
  font-size:16px !important;
  font-weight:870 !important;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(24,196,147,.20), 0 3px 14px rgba(14,90,71,.14), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Header utility buttons aligned with premium panel */
.gp-map-dock--products .gp-icon-button{
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  color:#eefaf7 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.10);
}
.gp-map-dock--products .gp-icon-button:hover{
  border-color:rgba(94,237,195,.34) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
}

@media (max-width: 1200px){
  .gp-topbar-nav .gp-group-tab{font-size:15px !important;padding:0 26px !important}
}
@media (max-width: 900px){
  .gp-topbar-main-shell{padding:12px 14px !important;border-radius:24px !important}
  .gp-topbar-nav .gp-group-tab{font-size:13px !important;padding:0 16px !important}
  .gp-map-dock--products .gp-dock-quote .gp-btn,
  .gp-topbar-quote{min-height:46px !important}
}
