/* Plan contents come from the live catalog; the purchase action stays visible. */
.v2-plan .plan-features {
  flex: none;
  align-content: start;
  gap: 11px;
  font-size: 16px;
  line-height: 1.5;
}
.v2-plan .plan-features li {
  min-width: 0;
  padding-left: 22px;
  overflow-wrap: anywhere;
}
/* A quantidade de cada recurso (plano-recursos.js) em negrito. */
.v2-plan .plan-features li strong {
  font-weight: 750;
}
.v2-plan .plan-features li::before {
  font-size: 16px;
}
.v2-plan > .button {
  margin-top: auto;
  min-height: 48px;
  font-size: 17px;
  line-height: 1.4;
}
.v2-plan .plan-features-more {
  margin-top: 0;
  margin-bottom: 24px;
  border-top: 1px solid var(--line, #D9D4CB);
}
.v2-plan .plan-features-more > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 10px 0;
  color: var(--green, #0E7A5B);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.v2-plan .plan-features-more > summary::-webkit-details-marker {
  display: none;
}
.v2-plan .plan-features-more > summary::after {
  content: "+";
  flex: 0 0 auto;
  font-size: 23px;
  font-weight: 400;
}
.v2-plan .plan-features-more[open] > summary::after {
  content: "\2212";
}
.v2-plan .plan-features-more > summary:focus-visible {
  outline: 3px solid var(--green, #0E7A5B);
  outline-offset: 3px;
  border-radius: 4px;
}
.v2-plan .plan-features-more .plan-features {
  margin: 3px 0 0;
  padding: 4px 0 0;
  border: 0;
}
.v2-plan .plan-features li.is-missing {
  color: #9aa396;
  text-decoration: line-through;
}
.v2-plan .plan-features li.is-missing::before {
  content: "✕";
  color: #b3b9ae;
}
/* O recurso da vez (QUENTE em plano-recursos.js): 🔥 no lugar do ✓. */
.v2-plan .plan-features li.is-hot {
  color: var(--ink, #17251f);
  font-weight: 750;
}
.v2-plan .plan-features li.is-hot::before {
  content: "\1F525";
}
