/* دکمه رأی + جمله یک‌خطی + موبایل — فایل جدید تا کش قدیمی نماند */

.vote-campaign .about-head {
  max-width: none !important;
  margin-bottom: 1.5rem;
}

.vote-campaign__lead {
  max-width: none !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: clamp(0.88rem, 1.12vw, 1.02rem) !important;
  line-height: 1.7 !important;
  color: #3d5653 !important;
}

.vote-box {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.85rem !important;
  width: 100%;
  padding: 0.55rem 0.55rem 0.55rem 0.55rem !important;
  text-decoration: none !important;
  color: #062e2c !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.vote-box__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.vote-box__line {
  display: block;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.9rem;
  font-weight: 800;
  color: #062e2c !important;
  line-height: 1.5;
}

.vote-box__kicker,
.vote-box__meta,
.vote-box strong {
  display: none !important;
}

.vote-box__btn {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0 !important;
  justify-self: auto !important;
  padding: 0.72rem 1.25rem !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  color: #2a1c04 !important;
  background: linear-gradient(180deg, #ffd98a 0%, #f0b45a 100%) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 16px rgba(232, 146, 10, 0.28);
  white-space: nowrap;
}

.vote-box__btn::after {
  content: "←";
  font-size: 0.95em;
}

.vote-box:hover {
  transform: translateY(-1px);
}

.vote-box:hover .vote-box__btn {
  filter: brightness(1.06);
}

.kp-vote-strip__btn {
  padding: 0.4rem 1.05rem !important;
  background: linear-gradient(180deg, #ffd98a 0%, #f0b45a 100%) !important;
  box-shadow: 0 4px 12px rgba(240, 180, 90, 0.32);
}

@media (max-width: 1100px) {
  .vote-campaign__lead {
    white-space: normal !important;
  }
}

@media (max-width: 900px) {
  .vote-campaign {
    padding-top: calc(var(--nav-h) + var(--vote-bar-h) + 1.1rem) !important;
    padding-bottom: 2.4rem !important;
  }

  .vote-campaign .about-head {
    margin-bottom: 1.15rem;
  }

  .vote-campaign .about-h2 {
    font-size: clamp(1.25rem, 5vw, 1.7rem);
  }

  .vote-campaign__lead {
    white-space: normal !important;
    font-size: 0.92rem !important;
    line-height: 1.85 !important;
  }

  .vote-campaign__panel {
    padding: 1.2rem 1.05rem 1.05rem !important;
  }

  .vote-campaign__panel h3 {
    font-size: 1.25rem !important;
  }

  .vote-campaign__bio {
    font-size: 0.9rem !important;
  }

  .vote-campaign__portrait {
    border-radius: 18px;
  }

  .vote-campaign__portrait img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: min(70vh, 560px);
    object-fit: contain !important;
  }
}

@media (max-width: 640px) {
  .vote-campaign__facts {
    grid-template-columns: 1fr !important;
  }

  .vote-campaign__highlights {
    gap: 0.35rem;
  }

  .vote-box {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0.85rem 0.8rem !important;
    gap: 0.7rem !important;
  }

  .vote-box__line {
    white-space: normal !important;
    text-align: center;
    font-size: 0.88rem;
  }

  .vote-box__btn {
    width: 100%;
    padding: 0.85rem 1rem !important;
    font-size: 1rem !important;
    border-radius: 14px !important;
  }

  .vote-resume {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px) {
  .kp-vote-strip__btn {
    padding: 0.32rem 0.75rem !important;
    font-size: 0.75rem !important;
  }
}
