
/* ChaMax Pack Shop - Dark premium UI */
.cps-wrap{
  --bg0:#0A0A0A;
  --bg1:#0F0F0F;
  --bg2:#141414;
  --line:rgba(255,255,255,.10);
  --line2:rgba(255,255,255,.06);
  --txt:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.62);
  --muted2:rgba(255,255,255,.48);

  --acc:#FF6F00;
  --acc2:#FF8A33;
  --acc3:#FFB27A;

  color:var(--txt);
  background:linear-gradient(180deg, rgba(255,111,0,.06) 0%, rgba(10,10,10,0) 40%), var(--bg0);
  border:1px solid var(--line2);
  border-radius:18px;
  padding:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);
  overflow:hidden;
}

.cps-header{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}

.cps-title{
  margin:0;
  font-size:20px;
  line-height:1.1;
  letter-spacing:.2px;
}

.cps-sub{
  color:var(--muted);
  font-size:13px;
}

.cps-empty{
  background:rgba(255,255,255,.03);
  border:1px dashed var(--line);
  color:var(--muted);
  padding:14px;
  border-radius:14px;
}

/* GRID FIXO: desktop 4 colunas */
.cps-grid{
  display:grid;
  gap:14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Tablet: 2 colunas */
@media (max-width: 980px){
  .cps-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cps-wrap{
    padding:14px;
  }
  .cps-title{ font-size:18px; }
  .cps-sub{ font-size:12px; }
}

/* Mobile: 1 coluna (ALTERAÇÃO PEDIDA) */
@media (max-width: 640px){
  .cps-grid{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.cps-card{
  position:relative;
  background: radial-gradient(120% 80% at 10% 0%, rgba(255,111,0,.14) 0%, rgba(255,111,0,0) 60%),
              linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%),
              var(--bg1);
  border:1px solid var(--line2);
  border-radius:18px;
  overflow:hidden;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,.40);
}

.cps-card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,111,0,.25);
  box-shadow: 0 18px 46px rgba(0,0,0,.55);
}

.cps-badge{
  position:absolute;
  top:12px;
  left:12px;
  font-size:11px;
  letter-spacing:.8px;
  color: rgba(255,255,255,.92);
  background: rgba(255,111,0,.14);
  border:1px solid rgba(255,111,0,.28);
  padding:6px 10px;
  border-radius:999px;
  backdrop-filter: blur(6px);
}

/* Imagem fixa: “pack em pé” */
.cps-img{
  width:100%;
  height: 190px;
  background: linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.28) 100%), var(--bg2);
  border-bottom: 1px solid var(--line2);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding: 14px;
}

.cps-img img{
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.55));
  transform: translateZ(0);
}

@media (max-width: 980px){
  .cps-img{
    height: 140px;
    padding: 10px;
  }
}

.cps-img-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--muted2);
  font-weight:600;
  letter-spacing:.6px;
  background: repeating-linear-gradient(
    45deg,
    rgba(255,255,255,.03),
    rgba(255,255,255,.03) 10px,
    rgba(255,255,255,.015) 10px,
    rgba(255,255,255,.015) 20px
  );
}

.cps-body{
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

@media (max-width: 980px){
  .cps-body{
    padding:12px 12px 12px;
    gap:8px;
  }
}

.cps-name{
  font-size:14px;
  font-weight:900;
  color:var(--txt);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media (max-width: 980px){
  .cps-name{ font-size:13px; }
}

.cps-price{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line2);
}

@media (max-width: 980px){
  .cps-price{
    padding:8px 10px;
    border-radius:12px;
  }
}

.cps-price-label{
  font-size:12px;
  color:var(--muted);
}

.cps-price-value{
  font-size:14px;
  font-weight:900;
  color: var(--acc2);
  text-shadow: 0 0 18px rgba(255,111,0,.16);
}

.cps-buyform{
  display:flex;
  flex-direction:column;
  gap:10px;
}

@media (max-width: 980px){
  .cps-buyform{ gap:8px; }
}

/* Quantidade - wrapper */
.cps-qtywrap{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line2);
  border-radius: 14px;
  padding: 10px 12px;
}

@media (max-width: 980px){
  .cps-qtywrap{
    padding: 10px 10px;
    border-radius: 12px;
  }
}

/* Cabeçalho: Quantidade + “1x” */
.cps-qtyhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom: 8px;
}

.cps-qtylabel{
  font-size: 12px;
  color: var(--muted);
}

.cps-qtyvalue{
  font-size: 12px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
  background: rgba(255,111,0,.10);
  border: 1px solid rgba(255,111,0,.22);
  padding: 6px 10px;
  border-radius: 999px;
}

/* Desktop stepper */
.cps-qtyrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.cps-qtybtn{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.92);
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  user-select:none;
}

.cps-qtybtn:hover{
  border-color: rgba(255,111,0,.25);
  background: rgba(255,111,0,.08);
}

.cps-qtybtn:active{
  transform: scale(.98);
}

.cps-qtyinput{
  flex:1;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.95);
  font-weight:900;
  text-align:center;
  outline:none;
}

.cps-qtyinput:focus{
  border-color: rgba(255,111,0,.35);
  box-shadow: 0 0 0 3px rgba(255,111,0,.12);
}

/* Mobile: mostra slider e esconde stepper */
.cps-qty-mobile{ display:none; }
.cps-qty-desktop{ display:block; }

@media (max-width: 980px){
  .cps-qty-desktop{ display:none; }
  .cps-qty-mobile{ display:block; }
}

/* Slider bonito */
.cps-qtyrange{
  width: 100%;
  accent-color: var(--acc);
  margin: 6px 0 8px;
}

.cps-qtyrange{
  -webkit-appearance: none;
  appearance: none;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,111,0,.55), rgba(255,111,0,.18));
  outline: none;
  border: 1px solid rgba(255,111,0,.18);
}

.cps-qtyrange::-webkit-slider-thumb{
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acc2), var(--acc));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 20px rgba(255,111,0,.22);
}

.cps-qtyrange::-moz-range-thumb{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acc2), var(--acc));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 20px rgba(255,111,0,.22);
}

.cps-range-scale{
  display:flex;
  justify-content:space-between;
  font-size: 11px;
  color: rgba(255,255,255,.45);
}

/* Botão */
.cps-buy{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  color:#FFFFFF !important;
  font-weight:900;
  font-size:13px;
  padding:12px 12px;
  border-radius:14px;
  background: linear-gradient(180deg, var(--acc2), var(--acc));
  border: 1px solid rgba(255,111,0,.35);
  box-shadow: 0 12px 26px rgba(255,111,0,.18);
  cursor:pointer;
  transition: transform .16s ease, filter .16s ease;
}

.cps-buy:hover{
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.cps-buy:active{
  transform: translateY(0px) scale(.99);
}

@media (max-width: 980px){
  .cps-buy{
    padding: 11px 12px;
    border-radius: 12px;
  }
}

/* Note mais compacta no mobile */
.cps-note{
  font-size:12px;
  color: rgba(255,255,255,.72);
  margin-top: -2px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  border: 1px dashed rgba(255,255,255,.12);
}

@media (max-width: 980px){
  .cps-note{
    font-size:11px;
    padding: 8px 10px;
    border-radius: 12px;
  }
}

.cps-note strong{
  color: var(--acc3);
}

.cps-disabled{
  font-size:12px;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.02);
  border: 1px dashed rgba(255,255,255,.12);
  padding:10px 12px;
  border-radius:14px;
}


