/* V210 — fix ready-package hierarchy and keep modal counter visible */

/* Left summary cards: clean hierarchy, no overlapping labels */
.flex-left-packages-head{align-items:flex-start!important;gap:16px!important}
.flex-package-count{align-self:flex-start!important}
.flex-package-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.flex-package-tab{
  position:relative!important;
  overflow:hidden!important;
  min-height:178px!important;
  padding:22px 18px 18px!important;
  border-radius:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%)!important;
  border:1px solid #dbe4f1!important;
  box-shadow:0 8px 22px rgba(28,44,88,.04)!important;
}
.flex-package-tab::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(245,248,255,.8),rgba(255,255,255,0) 56%)!important;pointer-events:none!important}
.flex-package-tab:hover,.flex-package-tab:focus-visible{transform:translateY(-2px)!important;border-color:#c2d0ea!important;box-shadow:0 16px 28px rgba(28,44,88,.08)!important;outline:none!important}
.flex-package-tab-head{display:block!important;position:relative!important;z-index:1!important;padding-top:22px!important;min-width:0!important}
.flex-package-tab-head strong{
  display:block!important;
  font-size:17px!important;
  line-height:1.16!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#22304a!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow:visible!important;
  max-width:none!important;
}
.flex-package-tab-head small{display:none!important}
.flex-package-tab-discount{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  min-width:96px!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  justify-content:center!important;
  align-items:center!important;
  background:#eef3ff!important;
  color:#4460df!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 1px rgba(79,97,211,.11)!important;
}
.flex-package-tab-price-row{display:none!important}
.flex-package-tab-price-block{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:6px!important;
  padding-top:16px!important;
  border-top:1px solid #e8edf6!important;
  margin-top:auto!important;
}
.flex-package-tab-price-block span{
  font-size:14px!important;
  line-height:1.2!important;
  color:#7e8ba3!important;
  font-weight:700!important;
}
.flex-package-tab-price-block b{
  font-size:22px!important;
  line-height:1.05!important;
  color:#1f2d4b!important;
  font-weight:850!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
}
html[data-theme=dark] .flex-package-tab{background:#18243a!important;border-color:#35445d!important;box-shadow:none!important}
html[data-theme=dark] .flex-package-tab::before{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 56%)!important}
html[data-theme=dark] .flex-package-tab-head strong{color:#eef4ff!important}
html[data-theme=dark] .flex-package-tab-discount{background:#27365a!important;color:#d8e0ff!important}
html[data-theme=dark] .flex-package-tab-price-block{border-color:#2d3b52!important}
html[data-theme=dark] .flex-package-tab-price-block span{color:#9aa9c3!important}
html[data-theme=dark] .flex-package-tab-price-block b{color:#eef4ff!important}

/* Modal: keep 4x4 grid + compact selector visible on desktop */
.flex-package-modal-dialog{
  width:min(1540px,97vw)!important;
  max-height:96vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:18px 22px 20px!important;
}
.flex-package-modal-panel{padding-top:8px!important}
.flex-package-modal-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important}
.flex-package-modal-section-head strong{font-size:15px!important}
.flex-package-modal-section-head small{font-size:12px!important}
@media (min-width: 981px){
  .flex-package-modal-list,
  .flex-package-modal-list[data-package-grid]{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px 14px!important}
  .flex-package-modal-item{min-height:84px!important;height:84px!important;padding:10px 12px!important;grid-template-columns:32px minmax(90px,1fr) minmax(132px,auto)!important;gap:10px!important;border-radius:16px!important}
  .flex-package-modal-copy b{font-size:15px!important;font-weight:800!important}
  .flex-package-modal-copy small{font-size:11px!important;margin-top:2px!important}
  .flex-package-modal-price{min-width:132px!important;height:62px!important;padding:8px 10px!important;border-radius:12px!important}
  .flex-package-modal-price b{font-size:15px!important}
  .flex-package-modal-discount{font-size:10px!important;padding:4px 8px!important}
  .flex-package-custom-choice{margin-top:12px!important;padding-top:10px!important}
  .flex-package-custom-form{display:grid!important;grid-template-columns:minmax(250px,.95fr) minmax(260px,1.1fr) minmax(230px,.92fr) minmax(170px,.74fr)!important;gap:10px!important;align-items:center!important}
  .flex-package-stepper{grid-column:1!important;min-height:54px!important;height:54px!important;grid-template-columns:46px minmax(0,1fr) 46px!important;border-radius:14px!important}
  .flex-package-stepper button{font-size:24px!important}
  .flex-package-qty-manual{height:52px!important;font-size:23px!important}
  .flex-package-range-wrap{grid-column:2!important}
  .flex-package-live-box{grid-column:3!important;min-height:54px!important;height:54px!important;padding:8px 10px!important;border-radius:13px!important}
  .flex-package-live-box small{font-size:10px!important}.flex-package-live-box strong{font-size:14px!important}.flex-package-live-box span{font-size:9px!important;padding:5px 8px!important;max-width:126px!important}
  .flex-package-continue{grid-column:4!important;min-height:54px!important;height:54px!important;margin:0!important;font-size:14px!important}
}

@media (max-width: 1100px){
  .flex-package-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width: 980px){
  .flex-package-modal-dialog{width:100vw!important;max-width:none!important;min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:14px 12px 18px!important}
  .flex-package-modal-list,
  .flex-package-modal-list[data-package-grid]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
}
@media (max-width: 640px){
  .flex-left-packages{padding:16px!important}
  .flex-left-packages-head{flex-direction:column!important;align-items:flex-start!important}
  .flex-package-count{align-self:flex-start!important}
  .flex-package-tabs{grid-template-columns:1fr!important;gap:12px!important}
  .flex-package-tab{min-height:144px!important;padding:18px 16px 16px!important;border-radius:24px!important}
  .flex-package-tab-head{padding-top:18px!important}
  .flex-package-tab-head strong{font-size:16px!important}
  .flex-package-tab-discount{font-size:14px!important;min-width:88px!important;padding:8px 14px!important}
  .flex-package-tab-price-block span{font-size:13px!important}
  .flex-package-tab-price-block b{font-size:20px!important}

  .flex-package-modal{padding:0!important;align-items:stretch!important}
  .flex-package-modal-dialog{width:100vw!important;max-width:none!important;min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:12px 10px 18px!important}
  .flex-package-modal-list,
  .flex-package-modal-list[data-package-grid]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;max-height:none!important}
  .flex-package-modal-item{min-height:114px!important;padding:9px!important;border-radius:13px!important;grid-template-columns:minmax(0,1fr) 26px!important;grid-template-rows:auto auto!important;gap:7px 5px!important}
  .flex-package-select-mark{width:26px!important;height:26px!important;border-radius:7px!important}
  .flex-package-modal-copy b{font-size:13px!important}.flex-package-modal-copy small{font-size:9.5px!important}
  .flex-package-modal-price{grid-column:1/-1!important;width:100%!important;padding:8px 4px!important;border-radius:10px!important;gap:5px!important}
  .flex-package-modal-price b{font-size:11.5px!important}
  .flex-package-modal-discount{font-size:8px!important;padding:3px 5px!important}
  .flex-package-favorite{top:-7px!important;left:7px!important;font-size:7.5px!important;padding:3px 6px!important}
  .flex-package-custom-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .flex-package-stepper{min-height:56px!important;grid-template-columns:46px minmax(0,1fr) 46px!important}
  .flex-package-qty-manual{height:54px!important;font-size:22px!important}
  .flex-package-live-box{min-height:58px!important;padding:9px 10px!important;flex-direction:row!important;align-items:center!important}
  .flex-package-live-box strong{font-size:15px!important}
  .flex-package-live-box span{font-size:9px!important;padding:6px 8px!important}
  .flex-package-continue{min-height:46px!important}
}
@media (max-width:365px){.flex-package-modal-list,.flex-package-modal-list[data-package-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
