/* Green Pi Interactive City V6.23
 * Product panel layout cleanup + proper internal scrollbar + entity/display fixes.
 */

/* Keep fixed controls fixed; scroll only product list */
.gp-map-dock--products .gp-product-view{
  min-height:0 !important;
  overflow:hidden !important;
}
.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-panel-load-more-wrap,
.gp-map-dock--products .gp-dock-quote{
  flex:0 0 auto !important;
}
.gp-map-dock--products .gp-panel-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:var(--gp-theme-accent, #6ef0d8) rgba(255,255,255,.045);
  padding:14px 14px 18px !important;
}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar{
  width:8px;
}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar-track{
  margin:8px 0;
  border-radius:999px;
  background:rgba(255,255,255,.035);
}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar-thumb{
  min-height:54px;
  border:2px solid transparent;
  border-radius:999px;
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--gp-theme-accent, #6ef0d8) 85%, white),
    color-mix(in srgb, var(--gp-theme-accent, #6ef0d8) 55%, transparent)
  ) padding-box;
  box-shadow:0 0 14px color-mix(in srgb, var(--gp-theme-accent, #6ef0d8) 22%, transparent);
}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar-thumb:hover{
  background:var(--gp-theme-accent, #6ef0d8);
}

/* Filters: prevent dropdown from looking glued to result/cards */
.gp-map-dock--products .gp-mini-filters{
  position:relative !important;
  z-index:40 !important;
  overflow:visible !important;
}
.gp-map-dock--products .gp-filter-row{
  position:relative !important;
  z-index:45 !important;
}
.gp-map-dock--products .gp-premium-select{
  z-index:1;
}
.gp-map-dock--products .gp-premium-select.is-open{
  z-index:80 !important;
}
.gp-map-dock--products .gp-premium-select__menu{
  z-index:120 !important;
  max-height:190px !important;
  padding:7px !important;
  border-radius:16px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.gp-map-dock--products .gp-premium-select__option{
  min-height:38px !important;
  border-radius:10px !important;
}

/* Result row should never collide */
.gp-map-dock--products .gp-product-result-bar{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:10px 12px !important;
  min-height:58px;
  padding:10px 16px !important;
  position:relative;
  z-index:10 !important;
}
.gp-map-dock--products .gp-product-result-bar > strong{
  white-space:nowrap;
  align-self:center;
}
.gp-map-dock--products .gp-result-actions{
  min-width:0;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}
.gp-map-dock--products .gp-favorites-toggle{
  min-width:112px;
  justify-content:center;
  white-space:nowrap;
}
.gp-map-dock--products #gpSectorArchive{
  white-space:nowrap;
  flex:0 0 auto;
}

/* Cards: cleaner button hierarchy for a narrow premium panel */
.gp-map-dock--products .gp-panel-product-card__actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
  width:100%;
}
.gp-map-dock--products .gp-panel-product-card__actions > *{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  white-space:nowrap;
}
.gp-map-dock--products .gp-panel-product-card__actions > :last-child{
  grid-column:1 / -1;
  justify-self:stretch;
}

/* Protect long location/category names without ugly clipping */
.gp-map-dock--products .gp-active-location-copy strong,
.gp-map-dock--products .gp-premium-select__label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-height:760px) and (min-width:783px){
  .gp-map-dock--products .gp-active-location-info{
    padding-top:10px !important;
    padding-bottom:8px !important;
  }
  .gp-map-dock--products .gp-mini-filters{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  .gp-map-dock--products .gp-panel-product-list{
    padding-top:10px !important;
  }
}

@media (max-width:782px){
  .gp-map-dock--products .gp-product-result-bar{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .gp-map-dock--products .gp-result-actions{
    justify-content:space-between !important;
  }
}
