/* ===== NHFW Price Table (B) ===== */
.nhfw-price-box{
  border:1px solid #e6e6e6;
  border-radius:16px;
  padding:14px;
  margin:12px 0 18px;
  background:#fff;
}

/* Sale badge (top) */
.nhfw-sale-badge{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  font-weight:900;
  font-size:20px;
  padding:14px 20px;
  border-radius:24px;
  margin:0 auto 12px;
  border:1px solid rgba(220, 38, 38, 0.25);
  background:rgba(220, 38, 38, 0.08);
  text-align:center;
  width:min(560px, 100%);
  max-width:92vw;
  color:#dc2626;
  line-height:1.25;
  gap:6px;
}

.nhfw-sale-badge__line1,
.nhfw-sale-badge__line2{
  display:block;
  line-height:1.25;
}

/* Rows container */
.nhfw-price-rows{
  display:flex;
  flex-direction:column;
  gap:0;
  border-radius:14px;
  overflow:hidden;
  border:1px solid #f0f0f0;
}

/* Each row = 2-column table feel */
.nhfw-price-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:12px 18px;
  border-bottom:1px solid #f0f0f0;
  background:#fff;
  min-height:64px;
}

/* Right side prices: keep in one line and align columns */
.nhfw-price-row > .nhfw-price-list,
.nhfw-price-row > .nhfw-arrow,
.nhfw-price-row > .nhfw-price-now{
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  line-height:1;
}

/* Push the price group to the right */
.nhfw-price-row > .nhfw-price-list{ margin-left:auto; }
.nhfw-price-row > .nhfw-plan + .nhfw-price-now{ margin-left:auto; } /* when there is no list price */

/* Fixed column widths so arrows line up across rows */
.nhfw-price-row > .nhfw-price-list{
  width:110px;
  text-align:right;
  margin-right:0;
}

.nhfw-price-row > .nhfw-arrow{
  width:26px;
  text-align:center;
  margin:0;
}

/* Optical alignment tweaks (strike-through can look slightly high) */
.nhfw-price-list{ transform: translateY(1px); }
.nhfw-arrow{ transform: translateY(1px); }

.nhfw-price-row > .nhfw-price-now{
  width:140px;
  padding-right:0;
  display:flex;
  justify-content:center;
}

/* Left label column (like the pink table header cells) */
.nhfw-plan{
  font-weight:900;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(220, 38, 38, 0.22);
  background:rgba(220, 38, 38, 0.06);
  color:#b91c1c;
  line-height:1;
  flex:0 0 150px;
  box-sizing:border-box;
  align-self:center;
  text-align:center;
}

/* Default current price */
.nhfw-price-list{
  opacity:0.55;
  text-decoration:line-through;
  margin-right:10px;
  font-size:13px;
}

.nhfw-arrow{
  opacity:0.55;
  margin:0 10px 0 0;
  font-size:13px;
}

.nhfw-price-now{
  font-weight:900;
  font-size:20px;
  letter-spacing:0.2px;
}

.nhfw-price-list,
.nhfw-arrow,
.nhfw-price-now{
  line-height:1;
}

/* If list price exists, make the current price bold red (discounted) */
.nhfw-price-row .nhfw-price-list ~ .nhfw-price-now{
  color:#dc2626;
}

/* If there is no list price, keep it neutral */
.nhfw-price-row .nhfw-price-now{
  color:#111827;
}

/* Footer lines */
.nhfw-checked{
  margin-top:12px;
  opacity:0.7;
  font-size:6px;
  text-align:right;
}

/* Mobile tuning */
@media (max-width: 640px){
  .nhfw-price-row{
    padding:10px 14px;
  }
  .nhfw-plan{ 
    font-size:13px; 
    padding:9px 10px; 
    flex-basis:120px; 
  }
  .nhfw-price-now{ font-size:18px; }

  .nhfw-price-row > .nhfw-price-list{ width:90px; }
  .nhfw-price-row > .nhfw-arrow{ width:22px; }
  .nhfw-price-row > .nhfw-price-now{ width:120px; padding-right:0; display:flex; justify-content:center; }

  .nhfw-price-list{ transform: translateY(1px); }
  .nhfw-arrow{ transform: translateY(1px); }
}


/* ===== NHFW Sale Balloon (A) ===== */
.nhfw-balloon-wrap{
  margin:14px 0 22px;
}

.nhfw-balloon{
  border-radius:16px;
  padding:12px 14px;
  border:1px solid rgba(220, 38, 38, 0.20);
  background:rgba(220, 38, 38, 0.06);
  position:relative;
  animation: nhfwFloat 2.8s ease-in-out infinite;
  padding-bottom:18px;
}

/* Speech balloon pointer */
.nhfw-balloon::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-11px;
  transform:translateX(-50%);
  margin-left:-1px;
  width:0;
  height:0;
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  border-top:12px solid rgba(220, 38, 38, 0.06);
}

.nhfw-balloon::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-13px;
  transform:translateX(-50%);
  margin-left:-1px;
  width:0;
  height:0;
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  border-top:13px solid rgba(220, 38, 38, 0.20);
}

@keyframes nhfwFloat{
  0%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
  100%{ transform: translateY(0); }
}

.nhfw-balloon-title{
  font-weight:900;
  font-size:14px;
  margin-bottom:4px;
  color:#b91c1c;
}

.nhfw-balloon-line{
  font-weight:900;
  font-size:13px;
  margin-top:2px;
  color:#111827;
  white-space:nowrap;
}

@media (min-width: 641px){
  .nhfw-balloon-line{
    font-size:20px;
    margin-top:4px;
  }
}

@media (min-width: 641px){
  .nhfw-balloon-title{
    font-size:21px;
    margin-bottom:6px;
  }
}

.nhfw-balloon-note{
  margin-top:8px;
  font-size:11px;
  opacity:0.7;
  line-height:1.5;
}