/**
 * DSC Volume Pricing Display v1.0.0
 * For DSC Modern / Zen Cart 2.2.2
 */

.dsc-volume-pricing{
  width:100%;
  margin:22px 0;
  box-sizing:border-box;
}

.dsc-volume-card{
  width:100%;
  overflow:hidden;
  border:1px solid #bfd5ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(20,55,90,.045);
  color:#102f52;
  box-sizing:border-box;
}

.dsc-volume-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 18px 16px;
  background:#eef5ff;
  border-bottom:1px solid #c9dced;
}

.dsc-volume-heading{
  min-width:0;
}

.dsc-volume-eyebrow{
  display:block;
  margin:0 0 5px;
  color:#1b527f;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.6px;
}

.dsc-volume-heading h3{
  margin:0;
  color:#001f44;
  font-size:20px;
  line-height:1.2;
  font-weight:900;
}

.dsc-volume-heading p{
  max-width:430px;
  margin:10px 0 0;
  color:#496b8c;
  font-size:13px;
  line-height:1.5;
}

.dsc-volume-max-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid #94d3ab;
  border-radius:999px;
  background:#effdf4;
  color:#006b37;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.dsc-volume-table{
  padding:12px;
}

.dsc-volume-table-head,
.dsc-volume-row{
  display:grid;
  grid-template-columns:1fr 1fr .95fr;
  align-items:center;
  gap:10px;
}

.dsc-volume-table-head{
  padding:0 10px 6px;
  color:#55718c;
  font-size:10px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.4px;
}

.dsc-volume-rows{
  overflow:hidden;
  border-radius:10px;
}

.dsc-volume-row{
  position:relative;
  min-height:49px;
  margin:0;
  padding:8px 10px;
  border:1px solid #d5e2ef;
  border-bottom:0;
  background:#fff;
  box-sizing:border-box;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.dsc-volume-row:first-child{
  border-radius:10px 10px 0 0;
}

.dsc-volume-row:last-child{
  border-bottom:1px solid #d5e2ef;
  border-radius:0 0 10px 10px;
}

.dsc-volume-row + .dsc-volume-row{
  margin-top:0;
}

.dsc-volume-row.dsc-volume-active{
  z-index:2;
  border-color:#2a76e8;
  background:#f1f6ff;
  box-shadow:inset 4px 0 0 #0870e8;
}

.dsc-volume-row.dsc-volume-best{
  border-color:#8bcca3;
  background:#effbf4;
}

.dsc-volume-row.dsc-volume-best.dsc-volume-active{
  border-color:#16884d;
  background:#edf9f2;
  box-shadow:inset 4px 0 0 #16884d;
}

.dsc-volume-qty,
.dsc-volume-price{
  min-width:0;
  color:#002a53;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
}

.dsc-volume-save{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  min-width:0;
}

.dsc-volume-regular,
.dsc-volume-save-badge,
.dsc-volume-best-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.dsc-volume-regular{
  background:#f1f4f7;
  color:#536b84;
}

.dsc-volume-save-badge{
  background:#eaf9f0;
  color:#007543;
}

.dsc-volume-best-badge{
  background:#098348;
  color:#fff;
}

.dsc-volume-current{
  padding:12px 15px;
  border-top:1px solid #d9e5f0;
  color:#006330;
  font-size:13px;
  line-height:1.4;
}

.dsc-volume-current-text{
  font-weight:900;
}

.dsc-volume-note{
  padding:13px 15px 15px;
  border-top:1px solid #d9e5f0;
  color:#456783;
  font-size:12px;
  line-height:1.5;
}

.dsc-volume-note strong{
  color:#0c3157;
}

.dsc-volume-attributes-note{
  padding:0 15px 14px;
  color:#6b7f92;
  font-size:11px;
  line-height:1.45;
}

.dsc-volume-locked{
  display:grid;
  gap:5px;
  padding:16px;
  border:1px solid #d5e2ef;
  border-radius:12px;
  background:#f7f9fb;
  color:#294a69;
}

@media(max-width:760px){
  .dsc-volume-pricing{
    margin:18px 0;
  }

  .dsc-volume-header{
    padding:15px;
    gap:10px;
  }

  .dsc-volume-heading h3{
    font-size:18px;
  }

  .dsc-volume-heading p{
    font-size:12px;
  }

  .dsc-volume-max-badge{
    min-height:28px;
    padding:0 9px;
    font-size:10px;
  }

  .dsc-volume-table{
    padding:10px;
  }

  .dsc-volume-table-head,
  .dsc-volume-row{
    grid-template-columns:.8fr 1fr 1.15fr;
    gap:6px;
  }

  .dsc-volume-table-head{
    padding-left:8px;
    padding-right:8px;
    font-size:9px;
  }

  .dsc-volume-row{
    min-height:47px;
    padding:8px;
  }

  .dsc-volume-qty,
  .dsc-volume-price{
    font-size:12px;
  }

  .dsc-volume-regular,
  .dsc-volume-save-badge,
  .dsc-volume-best-badge{
    min-height:23px;
    padding:0 7px;
    font-size:9px;
  }

  .dsc-volume-current{
    padding:11px 12px;
    font-size:12px;
  }

  .dsc-volume-note{
    padding:11px 12px 13px;
    font-size:11px;
  }
}

@media(max-width:390px){
  .dsc-volume-header{
    display:block;
  }

  .dsc-volume-max-badge{
    margin-top:10px;
  }

  .dsc-volume-table-head,
  .dsc-volume-row{
    grid-template-columns:.75fr 1fr 1.1fr;
  }
}
