/* Green Pi Interactive City V6.8
 * Premium refinement for the product/results dock and supporting glass UI.
 */

:root{
  --gp-premium-glass-bg: linear-gradient(180deg, rgba(14,32,39,.72), rgba(9,24,31,.66));
  --gp-premium-border: rgba(255,255,255,.34);
  --gp-premium-inner: rgba(255,255,255,.12);
  --gp-premium-accent: rgba(92,236,193,.92);
  --gp-premium-accent-soft: rgba(92,236,193,.18);
  --gp-premium-text-soft: rgba(234,247,250,.70);
}

.gp-map-dock--products{
  top:114px !important;
  right:30px !important;
  bottom:24px !important;
  width:min(404px, calc(100vw - 42px)) !important;
  border:1px solid var(--gp-premium-border) !important;
  border-radius:32px !important;
  background:var(--gp-premium-glass-bg) !important;
  box-shadow:
    0 28px 65px rgba(3,18,26,.36),
    0 10px 22px rgba(6,33,42,.14),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.03) !important;
  backdrop-filter: blur(24px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.18) !important;
  overflow: hidden !important;
  isolation: isolate;
}
.admin-bar .gp-map-dock--products{top:146px !important}

.gp-map-dock--products::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.06) 38%, rgba(92,236,193,.24) 78%, rgba(255,255,255,.12));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.95;
}
.gp-map-dock--products::after{
  content:'';
  position:absolute;
  inset:-18% -22% auto auto;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(92,236,193,.18), rgba(92,236,193,0) 68%);
  pointer-events:none;
  filter:blur(10px);
}

.gp-map-dock--products .gp-product-view{
  position:relative;
  z-index:1;
  display:flex !important;
  flex-direction:column !important;
  height:100%;
}

.gp-map-dock--products .gp-product-panel-head{
  position:relative;
  min-height:84px !important;
  padding:16px 18px 14px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)) !important;
}
.gp-map-dock--products .gp-product-panel-head::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(92,236,193,.26), rgba(255,255,255,0));
}

.gp-map-dock--products .gp-icon-button{
  width:40px !important;
  height:40px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 6px 18px rgba(0,0,0,.10);
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.gp-map-dock--products .gp-icon-button:hover{
  transform:translateY(-1px);
  border-color:rgba(92,236,193,.48) !important;
  background:rgba(92,236,193,.10) !important;
}
.gp-map-dock--products .gp-active-location-copy small{
  display:block;
  color:rgba(255,255,255,.52) !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase;
  margin-bottom:4px;
}
.gp-map-dock--products .gp-active-location-copy strong{
  color:#fff !important;
  font-size:18px !important;
  font-weight:840 !important;
  letter-spacing:-.01em;
  text-shadow:0 1px 10px rgba(0,0,0,.12);
}

.gp-map-dock--products .gp-active-location-info{
  padding:14px 18px 12px !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
.gp-map-dock--products .gp-active-location-info p{
  color:var(--gp-premium-text-soft) !important;
  font-size:12px !important;
  line-height:1.6 !important;
}
.gp-map-dock--products .gp-sector-tags{
  gap:8px !important;
  margin-top:10px !important;
}
.gp-map-dock--products .gp-sector-tags span,
.gp-map-dock--products .gp-sector-tags a{
  padding:6px 12px !important;
  border:1px solid rgba(92,236,193,.22) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(92,236,193,.18), rgba(92,236,193,.11)) !important;
  color:#a6f3d9 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.gp-map-dock--products .gp-mini-filters{
  padding:14px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
.gp-map-dock--products .gp-search-box,
.gp-map-dock--products .gp-filter-row select{
  border:1px solid rgba(255,255,255,.15) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 5px 14px rgba(0,0,0,.08);
}
.gp-map-dock--products .gp-search-box{
  height:44px !important;
  border-radius:15px !important;
}
.gp-map-dock--products .gp-search-box span{color:rgba(255,255,255,.74) !important}
.gp-map-dock--products .gp-search-box input,
.gp-map-dock--products .gp-filter-row select{
  color:#fff !important;
  font-size:14px !important;
}
.gp-map-dock--products .gp-search-box input::placeholder{color:rgba(255,255,255,.46) !important}
.gp-map-dock--products .gp-filter-row{
  gap:10px !important;
  margin-top:10px !important;
}
.gp-map-dock--products .gp-filter-row select{
  height:42px !important;
  border-radius:15px !important;
  padding:0 12px !important;
  appearance:none;
  -webkit-appearance:none;
}
.gp-map-dock--products .gp-filter-row select:focus,
.gp-map-dock--products .gp-search-box:focus-within{
  border-color:rgba(92,236,193,.48) !important;
  box-shadow:0 0 0 3px rgba(92,236,193,.10), inset 0 1px 0 rgba(255,255,255,.08);
}

.gp-map-dock--products .gp-product-result-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
  color:rgba(255,255,255,.60) !important;
  font-size:11px !important;
}
.gp-map-dock--products .gp-product-result-bar strong{
  color:#fff !important;
  font-size:12px !important;
  font-weight:820 !important;
}
.gp-map-dock--products .gp-product-result-bar a{
  color:#92f1d5 !important;
  font-weight:700 !important;
}

.gp-map-dock--products .gp-panel-product-list{
  padding:12px 12px 14px !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(92,236,193,.34) transparent;
}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar{width:10px}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar-track{background:transparent}
.gp-map-dock--products .gp-panel-product-list::-webkit-scrollbar-thumb{
  border-radius:999px;
  border:2px solid transparent;
  background:linear-gradient(180deg, rgba(92,236,193,.42), rgba(255,255,255,.12)) padding-box;
}

.gp-map-dock--products .gp-panel-product-card{
  position:relative;
  grid-template-columns:88px 1fr !important;
  gap:12px !important;
  margin:0 0 12px !important;
  padding:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.gp-map-dock--products .gp-panel-product-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0) 46%, rgba(92,236,193,.06));
  pointer-events:none;
}
.gp-map-dock--products .gp-panel-product-card:hover{
  transform:translateY(-2px);
  border-color:rgba(92,236,193,.26) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.16), 0 0 0 1px rgba(92,236,193,.08), inset 0 1px 0 rgba(255,255,255,.07);
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.055)) !important;
}
.gp-map-dock--products .gp-panel-product-card__media{
  min-height:86px !important;
  border-radius:15px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,248,250,.95)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 4px 12px rgba(0,0,0,.06);
}
.gp-map-dock--products .gp-panel-product-card__brand{
  color:#89e9ff !important;
  font-size:9px !important;
  font-weight:850 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.gp-map-dock--products .gp-panel-product-card h3{
  margin:4px 0 6px !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.38 !important;
  font-weight:780 !important;
}
.gp-map-dock--products .gp-panel-product-card p{
  color:rgba(255,255,255,.62) !important;
  font-size:10px !important;
  line-height:1.45 !important;
}
.gp-map-dock--products .gp-panel-product-card__actions{
  gap:8px !important;
  margin-top:10px !important;
}
.gp-map-dock--products .gp-panel-product-card__actions a{
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  font-size:9px !important;
  font-weight:820 !important;
  letter-spacing:.02em;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}
.gp-map-dock--products .gp-panel-product-card__actions a:first-child{
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.96) !important;
  color:#0f3240 !important;
}
.gp-map-dock--products .gp-panel-product-card__actions a:last-child{
  border:1px solid rgba(92,236,193,.44) !important;
  background:linear-gradient(135deg, rgba(47,210,156,.95), rgba(81,224,190,.78)) !important;
  color:#07382f !important;
}

.gp-map-dock--products .gp-panel-load-more-wrap{
  padding:0 12px 12px !important;
}
.gp-map-dock--products .gp-panel-load-more{
  width:100% !important;
  min-height:44px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:15px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.08);
}
.gp-map-dock--products .gp-panel-load-more:hover{
  border-color:rgba(92,236,193,.30) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055)) !important;
}

.gp-map-dock--products .gp-dock-quote{
  padding:12px !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)) !important;
}
.gp-map-dock--products .gp-dock-quote .gp-btn{
  min-height:50px !important;
  border-radius:17px !important;
  border:1px solid rgba(92,236,193,.58) !important;
  background:linear-gradient(135deg, rgba(47,210,156,.98), rgba(81,224,190,.82)) !important;
  color:#08362f !important;
  font-size:16px !important;
  font-weight:860 !important;
  letter-spacing:.01em;
  box-shadow:0 14px 28px rgba(28,206,153,.18), inset 0 1px 0 rgba(255,255,255,.34) !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.gp-map-dock--products .gp-dock-quote .gp-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(28,206,153,.24), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Gentle premium polish for topbar shell too */
.gp-topbar-main-shell{
  box-shadow:0 22px 46px rgba(5,24,32,.18), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.gp-flag-language__menu{
  border-color:rgba(92,236,193,.40) !important;
  background:linear-gradient(180deg, rgba(16,33,40,.72), rgba(10,26,34,.66)) !important;
}

@media(max-width:1200px){
  .gp-map-dock--products{top:108px !important;right:16px !important;bottom:16px !important;width:min(382px,calc(100vw - 24px)) !important}
  .admin-bar .gp-map-dock--products{top:140px !important}
}

@media(max-width:900px){
  .gp-map-dock--products,.admin-bar .gp-map-dock--products{
    top:auto !important;
    right:12px !important;
    left:12px !important;
    bottom:12px !important;
    width:auto !important;
    max-height:58vh !important;
    border-radius:26px !important;
  }
}
