/* =========================================================
   Digi Idle — D-SHOP (aba flutuante redimensionável)
   ========================================================= */

.float-win.shop-win.shop-digi,
.shop-win.shop-digi{
  --dd-orange:#ff9a2e;
  --dd-orange-2:#ff6b1a;
  --dd-cyan:#4fd6ff;
  --dd-bg:#0a101c;
  --dd-panel:#101828;
  --dd-text:#eaf2ff;
  --dd-muted:#8b9bb3;
  --dd-line:rgba(79,214,255,.22);
  --dd-font:"Rajdhani","Segoe UI",system-ui,sans-serif;
  --dd-display:"Orbitron","Rajdhani",system-ui,sans-serif;
  --s-surface:rgba(0,0,0,.28);
  --s-surface-2:#152033;
  --s-elev:rgba(0,0,0,.4);
  --s-line:rgba(79,214,255,.14);
  --s-line-2:rgba(79,214,255,.28);
  --s-text:var(--dd-text);
  --s-muted:var(--dd-muted);
  --s-gold:var(--dd-orange);
  --s-green:#7dffb0;
  --s-amber:#ffc56b;

  /* Pode cruzar a toolbar — sem teto artificial de área útil */
  z-index:120;
  max-width:min(98vw, 1100px);
  max-height:min(98vh, calc(var(--vvh, 100dvh) - 4px));
  min-width:min(380px, calc(100vw - 8px));
  min-height:min(320px, calc(var(--vvh, 100dvh) - 8px));
  font-family:var(--dd-font) !important;
  color:var(--dd-text) !important;
  background:
    radial-gradient(120% 80% at 0% 0%,rgba(255,154,46,.14),transparent 45%),
    radial-gradient(90% 70% at 100% 0%,rgba(79,214,255,.1),transparent 50%),
    linear-gradient(180deg,#152033 0%,var(--dd-bg) 100%) !important;
  border:1px solid var(--dd-line) !important;
  border-radius:14px !important;
  box-shadow:
    0 0 0 1px rgba(255,154,46,.08) inset,
    0 22px 50px rgba(0,0,0,.55),
    0 0 28px rgba(79,214,255,.08) !important;
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
  container-type:inline-size;
  container-name:shop;
}

.shop-digi .float-head{
  flex:0 0 auto !important;
  background:linear-gradient(90deg,rgba(255,154,46,.14),rgba(79,214,255,.06)) !important;
  border-bottom:1px solid rgba(79,214,255,.16) !important;
  padding:7px 10px 7px 12px !important;
}
.shop-digi .float-title{
  font-family:var(--dd-display) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  color:var(--dd-orange) !important;
  text-shadow:0 0 10px rgba(255,154,46,.3);
}
.shop-digi .float-close{
  width:26px !important;
  height:26px !important;
  border-radius:8px !important;
}

.float-win.float-resizable.shop-win .float-body,
.shop-digi .float-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  color:var(--dd-text) !important;
  padding:8px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.shop-digi .float-body > *{
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
}

/* —— Hero strip —— */
.shop-digi .shop-hero{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(79,214,255,.16);
  background:
    linear-gradient(90deg,rgba(255,154,46,.1),transparent 55%),
    rgba(0,0,0,.28);
}
.shop-digi .shop-brand{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.shop-digi .shop-brand-core{
  width:10px;
  height:10px;
  border-radius:50%;
  flex:0 0 auto;
  background:
    radial-gradient(circle at 50% 50%,#fff6e8 0 22%,var(--dd-orange) 23% 48%,#132033 49% 100%);
  box-shadow:0 0 0 2px rgba(79,214,255,.45),0 0 12px rgba(255,154,46,.5);
  animation:shopCorePulse 2.6s ease-in-out infinite;
}
@keyframes shopCorePulse{
  0%,100%{box-shadow:0 0 0 2px rgba(79,214,255,.4),0 0 8px rgba(255,154,46,.4)}
  50%{box-shadow:0 0 0 3px rgba(79,214,255,.7),0 0 14px rgba(255,154,46,.7)}
}
.shop-digi .shop-brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
  gap:1px;
  min-width:0;
}
.shop-digi .shop-brand-text > span{
  font-family:var(--dd-display);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--dd-orange);
  text-shadow:0 0 10px rgba(255,154,46,.35);
}
.shop-digi .shop-brand-text > small{
  font-family:var(--dd-display);
  font-size:6px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--dd-cyan);
}

.shop-digi .shop-money{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.35) !important;
  border:1px solid rgba(255,154,46,.35) !important;
  box-shadow:0 0 12px rgba(255,154,46,.12) !important;
  font-family:var(--dd-display);
  font-weight:700 !important;
  font-size:12px !important;
  color:var(--dd-orange) !important;
  flex:0 0 auto;
}
.shop-digi .shop-money .chip-ico{
  color:var(--dd-orange) !important;
  font-size:12px;
  filter:drop-shadow(0 0 6px rgba(255,154,46,.4));
}
.shop-digi .shop-money-val{
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
}
.shop-digi .shop-money .muted{
  font-family:var(--dd-display) !important;
  font-weight:700 !important;
  font-size:8px !important;
  letter-spacing:.16em !important;
  color:var(--dd-cyan) !important;
}

/* —— Columns —— */
.shop-digi .shop-cols{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
.shop-digi .shop-col{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:8px;
  border-radius:10px;
  border:1px solid rgba(79,214,255,.12);
  background:rgba(0,0,0,.22);
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.shop-digi .shop-col-buy{
  border-color:rgba(255,154,46,.18);
  background:
    linear-gradient(180deg,rgba(255,154,46,.06),transparent 40%),
    rgba(0,0,0,.22);
}
.shop-digi .shop-col-sell{
  border-color:rgba(125,255,176,.14);
  background:
    linear-gradient(180deg,rgba(125,255,176,.05),transparent 40%),
    rgba(0,0,0,.22);
}

.shop-digi .shop-col-head{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex:0 0 auto;
}
.shop-digi .shop-h{
  margin:0 !important;
  font-family:var(--dd-display) !important;
  font-size:9px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
  color:var(--dd-text) !important;
  font-weight:700 !important;
}
.shop-digi .shop-h-tag{
  font-family:var(--dd-display);
  font-size:7px;
  font-weight:700;
  letter-spacing:.1em;
  padding:2px 6px;
  border-radius:999px;
  color:#1a0e05;
  background:linear-gradient(180deg,#ffb35a,var(--dd-orange));
  border:1px solid rgba(255,255,255,.15);
}
.shop-digi .shop-h-tag.sell{
  color:#062416;
  background:linear-gradient(180deg,#9dffc0,#3ecf7a);
}

.shop-digi .shop-sell-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:0 !important;
  flex:0 0 auto;
}

.shop-digi .shop-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex;
  flex-direction:column;
  gap:5px !important;
  max-height:none !important;
  overflow-x:hidden;
  overflow-y:auto;
  padding-right:2px;
  overscroll-behavior:contain;
}
.shop-digi .shop-list::-webkit-scrollbar{ width:3px; }
.shop-digi .shop-list::-webkit-scrollbar-thumb{
  background:transparent;
  border-radius:99px;
}
.shop-digi .shop-list:hover::-webkit-scrollbar-thumb,
.shop-digi .shop-list.is-scrolling::-webkit-scrollbar-thumb{
  background:rgba(79,214,255,.4);
}

.shop-digi .shop-empty{
  font-size:11px !important;
  padding:12px 8px !important;
  color:var(--dd-muted) !important;
  font-style:italic;
  text-align:center;
  letter-spacing:.02em;
}

/* —— Buy rows —— */
.shop-digi .shop-buy-row{
  display:flex;
  flex-direction:column;
  gap:6px !important;
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(79,214,255,.12) !important;
  border-radius:9px !important;
  padding:6px 8px !important;
  transition:border-color .12s, background .12s, box-shadow .12s;
  flex:0 0 auto;
}
.shop-digi .shop-buy-row:hover{
  border-color:rgba(255,154,46,.35) !important;
  background:rgba(255,154,46,.06) !important;
  box-shadow:0 0 14px rgba(255,154,46,.08);
}
.shop-digi .shop-buy-top{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
}
.shop-digi .shop-ico{
  width:30px !important;
  height:30px !important;
  border-radius:8px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.06);
}
.shop-digi .shop-row-info{
  min-width:0;
}
.shop-digi .shop-row-name{
  font-weight:700 !important;
  font-size:12px !important;
  color:var(--dd-text) !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.shop-digi .shop-row-sub{
  font-size:10px !important;
  color:var(--dd-muted) !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.shop-digi .shop-price{
  font-family:var(--dd-display);
  font-weight:700 !important;
  font-size:12px !important;
  letter-spacing:.04em;
  flex:0 0 auto;
}
.shop-digi .shop-price.buy{ color:var(--dd-orange) !important; }
.shop-digi .shop-price.sell{ color:var(--s-green) !important; }

.shop-digi .shop-buy-ctl{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px !important;
  min-width:0;
}
.shop-digi .shop-buy-qtywrap{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.shop-digi .shop-buy-qty{
  width:42px !important;
  padding:4px 6px !important;
  font-family:var(--dd-display);
  font-weight:700 !important;
  font-size:11px !important;
  color:var(--dd-text) !important;
  background:rgba(0,0,0,.4) !important;
  border:1px solid rgba(79,214,255,.2) !important;
  border-radius:7px !important;
  box-sizing:border-box !important;
}
.shop-digi .shop-buy-qty:focus{
  outline:none;
  border-color:rgba(255,154,46,.55) !important;
}
.shop-digi .shop-buy-x{ color:var(--dd-muted) !important; font-size:10px; }

.shop-digi .shop-slider{
  flex:1 1 80px;
  min-width:0;
  max-width:100%;
  height:14px;
  background:transparent;
  cursor:pointer;
}
.shop-digi .shop-slider::-webkit-slider-runnable-track{
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--dd-orange) 0 var(--fill,0%),rgba(79,214,255,.15) var(--fill,0%) 100%);
}
.shop-digi .shop-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:12px;
  height:12px;
  border-radius:50%;
  margin-top:-4px;
  background:linear-gradient(180deg,#fff6e8,var(--dd-orange));
  border:2px solid rgba(79,214,255,.55);
  box-shadow:0 0 8px rgba(255,154,46,.45);
}
.shop-digi .shop-slider::-moz-range-track{
  height:4px;
  border-radius:999px;
  background:rgba(79,214,255,.15);
}
.shop-digi .shop-slider::-moz-range-progress{
  height:4px;
  border-radius:999px;
  background:var(--dd-orange);
}
.shop-digi .shop-slider::-moz-range-thumb{
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(180deg,#fff6e8,var(--dd-orange));
  border:2px solid rgba(79,214,255,.55);
}

.shop-digi .shop-buy-btn{
  padding:5px 10px !important;
  font-family:var(--dd-display) !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  color:#1a0e05 !important;
  background:linear-gradient(180deg,#ffb35a,var(--dd-orange-2)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:8px !important;
  box-shadow:0 4px 12px rgba(255,107,26,.3);
  transition:filter .12s, transform .1s;
  flex:0 0 auto;
}
.shop-digi .shop-buy-btn:hover:not(:disabled){
  filter:brightness(1.06);
}
.shop-digi .shop-buy-btn:active:not(:disabled){
  transform:translateY(1px);
}
.shop-digi .shop-buy-btn:disabled{
  opacity:.4 !important;
  cursor:not-allowed;
  color:var(--dd-muted) !important;
  background:rgba(0,0,0,.35) !important;
  border-color:rgba(255,255,255,.06) !important;
  box-shadow:none;
}

/* —— Sell rows —— */
.shop-digi .shop-row{
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) auto auto !important;
  align-items:center;
  gap:7px !important;
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(79,214,255,.12) !important;
  border-radius:9px !important;
  padding:6px 8px !important;
  transition:border-color .12s, background .12s;
  flex:0 0 auto;
}
.shop-digi .shop-row:hover{
  border-color:rgba(125,255,176,.35) !important;
  background:rgba(125,255,176,.05) !important;
}

.shop-digi .shop-sellall{
  padding:4px 9px !important;
  font-family:var(--dd-display) !important;
  font-size:8px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  color:#062416 !important;
  background:linear-gradient(180deg,#9dffc0,#3ecf7a) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:7px !important;
  box-shadow:0 3px 10px rgba(62,207,122,.25);
  transition:filter .12s;
  flex:0 0 auto;
}
.shop-digi .shop-sellall:hover{
  filter:brightness(1.06);
  background:linear-gradient(180deg,#9dffc0,#3ecf7a) !important;
  border-color:rgba(255,255,255,.2) !important;
}

.shop-digi .shop-row-btns{
  display:flex;
  gap:4px;
  flex:0 0 auto;
}
.shop-digi .shop-row-btns button{
  min-width:36px;
  padding:4px 7px !important;
  font-family:var(--dd-display);
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.05em;
  color:var(--dd-text) !important;
  background:rgba(0,0,0,.4) !important;
  border:1px solid rgba(79,214,255,.2) !important;
  border-radius:7px !important;
  cursor:pointer;
  transition:border-color .12s, background .12s, color .12s;
}
.shop-digi .shop-row-btns button:hover{
  color:#062416 !important;
  background:rgba(125,255,176,.85) !important;
  border-color:transparent !important;
}

/* —— Flash —— */
.shop-digi .shop-flash{
  flex:0 0 auto;
  margin-top:0 !important;
  padding:7px 10px !important;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:600 !important;
  text-align:center;
  font-family:var(--dd-font);
  letter-spacing:.02em;
}
.shop-digi .shop-flash.ok{
  color:#b8ffd4 !important;
  background:rgba(125,255,176,.12) !important;
  border:1px solid rgba(125,255,176,.35) !important;
}
.shop-digi .shop-flash.err{
  color:#ffb0b8 !important;
  background:rgba(255,93,108,.12) !important;
  border:1px solid rgba(255,93,108,.4) !important;
}

/* —— Container queries (panel width) —— */
@container shop (max-width: 560px){
  .shop-cols{
    grid-template-columns:1fr !important;
  }
  .shop-brand-text > small{ display:none; }
}
@container shop (max-width: 420px){
  .shop-hero{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .shop-money{
    align-self:flex-start;
  }
  .shop-row{
    grid-template-columns:28px minmax(0,1fr) auto !important;
  }
}

/* Fallback viewport */
@media (max-width:720px){
  .shop-digi .shop-cols{
    grid-template-columns:1fr !important;
  }
  .shop-digi .shop-brand-text > small{ display:none; }
}
@media (max-width:480px){
  .shop-digi .shop-hero{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .shop-digi .shop-money{
    align-self:flex-start;
  }
}
