/* Core carousel layout */
.pkg-carousel{
  position:relative;
  /* CSS vars:
     --pkg-visible: number of fully visible cards on desktop
     --pkg-gap: gap in px
  */
}
.pkg-carousel .pkg-viewport{
  width:100%;
}
.pkg-track{
  display:flex;
  align-items:stretch;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding:24px 0 12px 0;
  gap:var(--pkg-gap,12px);
  cursor:grab;
  scrollbar-width:none;
}
.pkg-track::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
.pkg-slide{
  display:flex;
  flex:0 0 min(
    230px,
    calc(
      (100% - (var(--pkg-visible,3) - 1) * var(--pkg-gap,12px))
      / var(--pkg-visible,3)
    )
  );
  max-width:230px;
}
.pkg-carousel.is-dragging .pkg-track{
  cursor:grabbing;
}
.pkg-carousel.pkg--static .pkg-track{
  cursor:default;
}

/* Navigation arrows */
.pkg-carousel .pkg-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:10px;
  background:#0b0f15;
  color:#e6e9ef;
  border:1px solid #22262d;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
}
.pkg-carousel .pkg-nav[disabled]{
  opacity:.4;
  cursor:not-allowed;
}
.pkg-carousel .pkg-nav--left{
  left:-4px;
}
.pkg-carousel .pkg-nav--right{
  right:-4px;
}
@media (max-width:800px){
  .pkg-carousel .pkg-nav--left{ left:4px; }
  .pkg-carousel .pkg-nav--right{ right:4px; }
}

/* Card styling */
.pkg-card{
  position:relative;
  padding:28px 20px 20px 20px;
  border-radius:10px;
  background:#121418;
  border:1px solid #22262d;
  color:#e6e9ef;
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
  min-height:220px;
  height:100%;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
/* Highlight border when Best Value is enabled */
.pkg-card.pkg-best{
  border-color:#DA2B35;
  box-shadow:0 0 0 1px rgba(218,43,53,.4);
}

.pkg-title{
  font-size:1.05rem;
  margin:0 0 .25rem 0;
}
.pkg-card .pkg-title{
  font-size:1.1rem;
  margin:0;
}

/* Header row: title left, badge right */
.pkg-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  margin-bottom:4px;
}

/* Subtitle full width under header */
.pkg-subtitle{
  width:100%;
  margin-top:4px;
  margin-bottom:8px;
  font-size:.85rem;
  color:#9ba3b4;
}

/* Discount badge */
.pkg-discount-badge{
  background:#DA2B35;
  color:#ffffff;
  font-size:.75rem;
  font-weight:700;
  border-radius:6px;
  padding:4px 8px;
  white-space:nowrap;
  line-height:1;
}

/* Best value badge */
.pkg-badge{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-17px;
  z-index:2;
  background:linear-gradient(135deg,#FFD700,#D4AF37);
  color:#1a1a1a;
  font-weight:700;
  font-size:12px;
  letter-spacing:.3px;
  padding:6px 12px;
  border-radius:999px;
  box-shadow:0 4px 10px rgba(0,0,0,.15);
  pointer-events:none;
  white-space:nowrap;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
}

/* Price block */
.pkg-price-block{
  margin-bottom:10px;
}
.pkg-price-original,
.pkg-price-now,
.pkg-price-single{
  display:flex;
  align-items:baseline;
  gap:6px;
}
.pkg-price-label{
  font-size:.85rem;
  color:#9ba3b4;
}
.pkg-price-original{
  font-size:.85rem;
  color:#9ba3b4;
  margin-bottom:-10px; /* Pull original price row 10px closer to Now */
}
.pkg-price-original-value del{
  opacity:.8;
}
.pkg-price-now{
  margin-top:2px;
}
.pkg-price-now-value{
  font-size:1.45rem;
  font-weight:700;
  color:#DA2B35;
}
.pkg-price-single .pkg-price-now-value{
  font-size:1.45rem;
  font-weight:700;
  color:#DA2B35;
}

/* Description & bullets */
.pkg-desc,
.pkg-bullets,
.pkg-bullets li,
.pkg-descwrap,
.pkg-descwrap p,
.pkg-descwrap li{
  color:#8A8A8A;
  font-size:14px;
  margin:5px 0;
}
.pkg-bullets{
  margin:0 0 .75rem 1.1rem;
  padding-left:18px;
}
.pkg-bullets li{
  margin:4px 0;
  color:#c9cfdb;
}
.pkg-desc{
  margin:10px 0 .75rem 0;
}

/* CTA / out-of-stock */
.pkg-card .cart,
.pkg-card .pkg-oos-note{
  margin-top:auto;
  padding-top:15px;
}
.pkg-oos{
  opacity:.6;
}
.pkg-oos .pkg-btn{
  display:none;
}
.pkg-oos-note{
  color:#97a3b6;
  font-size:.9rem;
}

/* Button styling */
.woocommerce .pkg-card .cart .button.pkg-btn,
.woocommerce-page .pkg-card .cart .button.pkg-btn,
.pkg-card .cart .button.pkg-btn,
.pkg-btn{
  background:linear-gradient(to right,#CA212B 50%,#DA2B35 50%)!important;
  background-size:200% 100%!important;
  background-position:right bottom!important;
  transition:all 300ms cubic-bezier(.75,0,.45,1)!important;
  color:#fff!important;
  border:none!important;
  border-radius:44px!important;
  font-family:"Montserrat",Sans-serif!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
  padding:12px 30px!important;
  cursor:pointer!important;
  display:inline-block!important;
  text-align:center!important;
  text-decoration:none!important;
  width:100%!important;
}
.woocommerce .pkg-card .cart .button.pkg-btn:hover,
.woocommerce-page .pkg-card .cart .button.pkg-btn:hover,
.pkg-card .cart .button.pkg-btn:hover,
.pkg-btn:hover{
  background-position:left bottom!important;
  color:#fff!important;
  filter:none!important;
}

/* Single CTA wrapper */
.pkg-single-cta{
  max-width:340px;
}

/* Mobile tweaks */
@media (max-width:767px){
  .pkg-track{
    scroll-snap-type:none;
  }
  .pkg-card .cart .pkg-btn{
    width:100%;
  }
  .pkg-carousel .pkg-viewport{
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .pkg-carousel .pkg-nav{
    display:none!important;
  }
  /* On mobile, card fills width minus side gaps, but never exceeds 230px */
  .pkg-slide{
    flex:0 0 min(
      230px,
      calc(100% - 2 * var(--pkg-gap,12px))
    );
    max-width:230px;
  }
}
