.phase-badge-center {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}

.phase-badge {
  display: inline-block;
  padding: 10px 20px;
  border-radius: var(--radius-full);
  border: 2px solid rgba(147, 51, 234, 0.6);
  background: linear-gradient(135deg,
      rgba(147, 51, 234, 0.25),
      rgba(168, 85, 247, 0.35));
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  box-shadow:
    0 0 20px rgba(147, 51, 234, 0.4),
    0 0 40px rgba(147, 51, 234, 0.2),
    inset 0 0 15px rgba(255, 255, 255, 0.1);
  animation: phasePulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

@keyframes phasePulse {

  0%,
  100% {
    box-shadow:
      0 0 20px rgba(147, 51, 234, 0.4),
      0 0 40px rgba(147, 51, 234, 0.2),
      inset 0 0 15px rgba(255, 255, 255, 0.1);
    border-color: rgba(147, 51, 234, 0.6);
  }

  50% {
    box-shadow:
      0 0 30px rgba(147, 51, 234, 0.6),
      0 0 60px rgba(147, 51, 234, 0.35),
      inset 0 0 20px rgba(255, 255, 255, 0.15);
    border-color: rgba(168, 85, 247, 0.8);
  }
}

.phase-badge::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg,
      transparent,
      rgba(255, 255, 255, 0.15),
      transparent);
  animation: phaseShine 3s ease-in-out infinite;
}

@keyframes phaseShine {
  0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
  }

  100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
  }
}

.widget-v2__title {
  text-align: center;
  margin-bottom: 18px;
}

.tabs--compact {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 18px;
}

.tab--icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(0, 0, 0, 0.25);
  transition: all 200ms ease;
}

.tab--icon.is-active {
  background: rgba(57, 255, 136, 0.15);
  border-color: rgba(57, 255, 136, 0.35);
}

.tab__icon {
  width: 18px;
  height: 18px;
  opacity: 0.9;
}

.widget-v2__inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

@media (max-width: 600px) {
  .widget-v2__inputs {
    grid-template-columns: 1fr;
  }
}

.widget-v2__input-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-v2__label {
  font-size: 13px;
  font-weight: 800;
  opacity: 0.85;
  letter-spacing: 0.03em;
}

.widget-v2__input-box {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(0, 0, 0, 0.25);
  transition: all 200ms ease;
}

.widget-v2__input-box:focus-within {
  border-color: rgba(57, 255, 136, 0.35);
  box-shadow: 0 0 0 3px rgba(57, 255, 136, 0.08);
}

.widget-v2__input-box--readonly {
  background: rgba(0, 0, 0, 0.15);
  cursor: default;
}

.input--v2 {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
}

.input--v2:focus {
  outline: none;
}

.input--v2::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.widget-v2__estimated {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
}

.widget-v2__currency {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  opacity: 0.9;
  white-space: nowrap;
}

.widget-v2__currency-icon {
  width: 20px;
  height: 20px;
}

.widget-v2__usd-hint {
  font-size: 12px;
  opacity: 0.65;
  margin-top: -2px;
}

/* ===== You Own (보유량) ===== */
.widget-v2__owned {
  text-align: center;
  padding: 10px;
  margin-bottom: 14px;
  border-radius: 12px;
  background: rgba(255, 165, 0, 0.08);
  border: 1px solid rgba(255, 165, 0, 0.22);
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 200, 100, 0.95);
}

.widget-v2__owned strong {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.95);
}

/* ===== BUY Button (v2) ===== */
.widget--v2 .btn.btn--v2,
.widget--v2 button.btn--v2,
#btn-buy.btn--v2 {
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  padding: 16px 20px !important;
  margin-bottom: 8px;
  border-radius: 18px !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
  transition: all 200ms ease;
}

.widget-v2__min-purchase {
  text-align: center;
  font-size: 12px;
  opacity: 0.7;
  margin-bottom: 18px;
  padding-bottom: 4px;
}

/* ===== Progress (v2) ===== */
.widget-v2__progress {
  margin-bottom: 18px;
  padding-bottom: 2px;
}

.widget-v2__progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 800;
}

.widget-v2__progress-header>span:first-child {
  color: rgba(255, 255, 255, 0.95);
  font-weight: 900;
}

.widget-v2__progress-header>span:last-child {
  color: rgba(255, 255, 255, 0.85);
}

.widget-v2__progress-header strong {
  font-weight: 900;
  color: rgba(57, 255, 136, 0.95);
}

.progress__bar--v2 {
  height: 10px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5) inset;
}

.progress__bar--v2 .progress__fill {
  height: 100%;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg,
      rgba(57, 255, 136, 0.95) 0%,
      rgba(0, 229, 255, 0.85) 100%);
  box-shadow: 0 0 18px rgba(57, 255, 136, 0.35);
  transition: width 400ms ease;
}

/* ===== Price & Countdown Combined Box (세로 레이아웃) ===== */
.widget-v2__info-box {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.45);
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

/* 각 Row (한 줄씩) */
.widget-v2__info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}

.widget-v2__info-row:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 12px;
}

/* 라벨 */
.widget-v2__info-label {
  font-size: 13px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.95);
  white-space: nowrap;
}

/* 값 */
.widget-v2__info-value {
  font-size: 15px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.95);
  text-align: right;
}

.widget-v2__info-value--green {
  color: rgba(57, 255, 136, 0.95);
}

/* Countdown 스타일 */
.widget-v2__countdown-inline {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-shadow: 0 0 12px rgba(57, 255, 136, 0.25);
  white-space: nowrap;
}

.widget-v2__countdown-inline span {
  color: rgba(57, 255, 136, 0.95);
  font-weight: 1000;
}

/* Price 증가율 */
.widget-v2__price-increase {
  font-size: 12px;
  font-weight: 800;
  opacity: 0.85;
  margin-left: 4px;
}

/* 모바일 대응 */
@media (max-width: 600px) {
  .widget-v2__info-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .widget-v2__countdown-inline {
    font-size: 18px;
    align-self: flex-end;
  }

  .widget-v2__info-value {
    text-align: left;
    align-self: flex-end;
  }
}

/* ===== Total Tokens Sold ===== */
.widget-v2__total-sold {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.45);
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.widget-v2__total-sold>span:first-child {
  color: rgba(255, 255, 255, 0.95);
  font-weight: 900;
}

.widget-v2__total-sold strong {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.95);
}

/* ===== Add to Wallet Button ===== */
.btn--v2-ghost {
  background: rgba(40, 40, 40, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 14px 18px;
  margin-bottom: 16px;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  transition: all 200ms ease;
}

.btn--v2-ghost:hover {
  background: rgba(60, 60, 60, 0.55);
  border-color: rgba(255, 165, 0, 0.35);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
}

/* ===== Trust Pills (v2) ===== */
.trust-row--v2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.trust-pill--v2 {
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.20);
  opacity: 0.85;
  font-weight: 700;
  white-space: nowrap;
}

/* ===== Widget v2 전체 스타일 ===== */
.widget--v2 {
  max-width: 520px;
  margin: 0 auto;
}

.widget--v2 .card__pad {
  padding: 26px 22px 34px;
  /* ✅ 하단 패딩을 34px로 증가하여 버튼 잘림 완전 방지 */
}

/* 글래스모피즘 효과 강화 */
.widget--v2.widget--glow {
  background: linear-gradient(180deg,
      rgba(10, 20, 30, 0.75),
      rgba(15, 25, 35, 0.65));
  backdrop-filter: blur(12px);
  border: 2px solid rgba(147, 51, 234, 0.25);
  box-shadow: 0 0 0 1px rgba(147, 51, 234, 0.15) inset,
    0 0 42px rgba(147, 51, 234, 0.22), 0 0 68px rgba(0, 229, 255, 0.16),
    0 28px 80px rgba(0, 0, 0, 0.65);
}

/* 보라색 글로우 강화 */
.widget--v2.widget--glow::before {
  background: radial-gradient(500px 250px at 50% 0%,
      rgba(147, 51, 234, 0.45),
      transparent 65%),
    radial-gradient(500px 250px at 50% 100%,
      rgba(0, 229, 255, 0.35),
      transparent 65%);
  filter: blur(24px);
  opacity: 0.95;
}

/* 모바일 최적화 */
@media (max-width: 600px) {
  .widget--v2 .card__pad {
    padding: 20px 16px 30px;
  }

  .widget-v2__title {
    font-size: 28px;
  }

  .widget-v2__progress-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .widget-v2__total-sold {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .trust-row--v2 {
    justify-content: center;
  }

  .trust-pill--v2 {
    font-size: 11px;
    padding: 5px 8px;
  }
}

/* ===== Disclaimer (USD estimate) ===== */
#btn-add-wallet {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#btn-add-wallet .btn__icon {
  width: 18px;
  height: 18px;
  display: inline-block;
}

.widget-v2__owned {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: left;
  /* icon + text */
}

.widget-v2__owned-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.widget-v2__owned-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#btn-buy.is-connect-wallet {
  opacity: 1 !important;
  filter: saturate(1.15) brightness(1.05);
}

#btn-buy.is-notstarted-waiting {
  opacity: 1 !important;
  filter: saturate(0.95) brightness(0.95);
}

.widget-v2__disclaimer {
  font-size: 0.8rem;
  color: rgb(156, 156, 156);
}

/* =========================
   Dust Mode Box
========================= */
.widget-v2__dust {
  margin-top: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(170, 100, 255, .08);
  border: 1px dashed rgba(170, 100, 255, .35);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.widget-v2__dust .dust__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.widget-v2__dust .dust__badge {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .10em;
  padding: 6px 10px;
  border-radius: 999px;
  color: rgba(220, 200, 255, .96);
  background: rgba(170, 100, 255, .12);
  border: 1px solid rgba(170, 100, 255, .22);
}

.widget-v2__dust .dust__text {
  font-size: 13px;
  color: rgba(255, 255, 255, .86);
}

.widget-v2__dust .dust__sub {
  font-size: 12px;
  color: rgba(255, 255, 255, .74);
  margin-bottom: 10px;
}

.dustBox {
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(130, 255, 200, .22);
  background: rgba(0, 0, 0, .35);
  backdrop-filter: blur(10px);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.dustBox.is-open {
  display: flex;
}

.dustBox__title {
  font-weight: 800;
}

.dustBox__desc {
  opacity: .9;
  font-size: 13px;
}

.dustBox__hint {
  opacity: .7;
  margin-left: 8px;
}

.hero__widget.card{
  box-shadow: none !important;
}

.widget-v2__input-box{
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
}

.input--v2,
.widget-v2__estimated{
  line-height: 1;
  display: block;
}

/* Wallet dropdown menu */
.walletMenu{
  position:absolute;
  z-index: 10050;
  display:none;
  width: min(340px, calc(100vw - 24px));
  padding: 8px;
  border-radius: 16px;
  background:
    radial-gradient(120% 120% at 30% 0%,
      rgba(255,204,84,.10),
      rgba(20,12,7,.96) 55%
    ),
    rgba(20,12,7,.96);
  border: 1px solid rgba(255,204,84,.22);
  box-shadow:
    0 18px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 38px rgba(255,204,84,.14);
  backdrop-filter: blur(10px);
}

.walletMenu.is-open{ display:block; }

.walletMenu__item,
.walletMenu__row{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 12px;
}

.walletMenu__item{
  appearance:none;
  border: 0;
  background: transparent;
  color: rgba(255,243,230,.92);
  cursor: pointer;
  font-weight: 800;
  letter-spacing: .2px;
}

.walletMenu__item:hover{
  background: rgba(255,243,230,.08);
}

.walletMenu__row{
  color: rgba(255,243,230,.78);
  background: rgba(255,243,230,.04);
}

.walletMenu__label{
  font-size: 13px;
}

.walletMenu__meta{
  font-size: 12px;
  color: rgba(255,243,230,.72);
}

.walletMenu__sep{
  height: 1px;
  margin: 6px 6px;
  background: rgba(255,243,230,.10);
  border-radius: 999px;
}

.walletMenu__item--danger{
  color: rgba(255,160,170,.95);
}

.walletMenu__item--danger:hover{
  background: rgba(255,90,110,.12);
}
