/* Catálogo: leitura limpa, comparação horizontal e cobrança explícita. */
.billing-choice { display:flex; justify-content:center; gap:4px; width:max-content; max-width:100%; padding:4px; margin:24px auto 12px; border:1px solid #dcd8e7; border-radius:14px; background:#fff; }
.billing-choice[hidden] { display:none; }
.billing-choice button { border:0; background:transparent; color:#4b435d; border-radius:10px; padding:12px 22px; font:600 .95rem Inter, sans-serif; cursor:pointer; }
.billing-choice button[aria-pressed="true"] { background:#5f35bc; color:white; }
.billing-choice button:focus-visible, .pricing-grid:focus-visible { outline:3px solid #9e82d7; outline-offset:4px; }
.billing-promise { text-align:center; color:#5b417f; font-size:.9rem; margin:0 0 28px; }
.billing-detail { min-height:52px; margin:12px 0; color:#60596e; font-size:.85rem; line-height:1.6; }
.billing-detail strong { display:block; color:#51327e; font-weight:600; }
.pricing-swipe-hint { display:none; }
.plans-modern .planos-hero { padding:125px 0 48px; background:#f7f5fb; color:#211832; }
.plans-modern .planos-hero::before, .plans-modern .planos-hero::after { display:none; }
.plans-modern .planos-hero h1 { color:#211832; font-size:clamp(2rem,4.5vw,3.25rem); letter-spacing:-.045em; }
.plans-modern .planos-hero-desc { color:#60596e; max-width:650px; margin-inline:auto; }
.plans-modern .planos-badge { display:none; }
.plans-modern .planos-hero-guarantees span { color:#60596e; font-size:.85rem; }
.plans-modern .plan-help { margin:28px 0 0; text-align:center; }
.plans-modern .pricing { padding:38px 0 70px; background:#f7f5fb; }
.plans-modern .pricing .section-title { font-size:1.35rem; margin-bottom:10px; }
.plans-modern .pricing .section-description { font-size:.95rem; margin-bottom:20px; }
.plans-modern .pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; scroll-margin-top:80px; }
.plans-modern .pricing-card { position:relative; border:1px solid #ddd8e5; border-radius:22px; background:#fff; padding:48px 28px 28px; box-shadow:none; text-align:left; transform:none; transition:border-color .15s; }
.plans-modern .pricing-card:hover { transform:none; background:#fff; box-shadow:none; border-color:#9b7bc9; }
.plans-modern .pricing-card.featured { border:2px solid #7953b1; background:#fdfbff; }
.plans-modern .pricing-badge { position:absolute; top:17px; left:28px; right:auto; transform:none; padding:0; box-shadow:none; background:none; color:#6b3aab; font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; margin:0; }
.plans-modern .plan-icon { display:none; }
.plans-modern .pricing-header { text-align:left; margin-bottom:0; }
.plans-modern .plan-name { font-size:1.5rem; letter-spacing:-.03em; }
.plans-modern .plan-subtitle { color:#60596e; font-size:.9rem; }
.plans-modern .pricing-price { justify-content:flex-start; align-items:baseline; gap:5px; margin:22px 0 0; }
.plans-modern .pricing-price .amount { font-size:2.6rem; color:#211832; -webkit-text-fill-color:initial; background:none; letter-spacing:-.05em; }
.plans-modern .pricing-price .currency, .plans-modern .pricing-price .period { font-size:.9rem; color:#60596e; margin:0; align-self:baseline; }
.plans-modern .plan-connections { color:#60596e; background:none; border:0; padding:0; justify-content:flex-start; font-size:.85rem; margin-bottom:12px; }
.plan-quantity { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0 18px; color:#60596e; font-size:.82rem; }
.plan-quantity select { border:1px solid #dcd8e7; padding:8px 12px; background:white; color:#211832; border-radius:8px; font:inherit; }
.plans-modern .pricing-btn { margin:0 0 24px; width:100%; box-shadow:none; background:#f1edf7; border:1px solid #e0d8ed; color:#51327e; font-size:.9rem; padding:12px 16px; border-radius:10px; }
.plans-modern .featured .pricing-btn { color:white; background:#6438b4; border-color:#6438b4; }
.plans-modern .pricing-btn:hover { transform:none; box-shadow:none; filter:brightness(.97); }
.plans-modern .pricing-features { border-top:1px solid #eae6ef; padding-top:18px; margin:0; }
.plans-modern .pricing-features h4 { font-size:.82rem; margin:16px 0 8px; color:#383041; }
.plans-modern .pricing-features li { padding:6px 0; font-size:.83rem; line-height:1.55; border:0; gap:10px; color:#60596e; }
.plans-modern .pricing-features strong { font-weight:500; }
.plans-modern .pricing-features i { color:#7953b1; font-size:.7rem; margin-top:6px; }
.plans-modern .pricing-guarantee { box-shadow:none; border:1px solid #dfd9e9; background:#fff; margin-top:30px; }
@media(max-width:900px) {
  .plans-modern .container { padding-inline:20px; }
  .plans-modern .planos-hero { padding:100px 0 28px; }
  .plans-modern .planos-hero h1 { font-size:1.75rem; line-height:1.2; }
  .plans-modern .planos-hero-desc { font-size:.95rem; line-height:1.5; margin-bottom:18px; }
  .plans-modern .planos-hero-guarantees { flex-direction:row; gap:12px; }
  .plans-modern .planos-hero-guarantees span { font-size:.7rem; }
  .plans-modern .pricing { padding-top:26px; }
  .plans-modern .pricing-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; scroll-padding-inline:2px; overscroll-behavior-x:contain; padding:4px 2px 20px; }
  .plans-modern .pricing-card { padding:48px 24px 24px; scroll-snap-align:start; scroll-snap-stop:always; }
  .pricing-swipe-hint { display:block; color:#60596e; font-size:.8rem; margin:0 0 10px; }
  .billing-choice button { padding:11px 18px; }
}
@media(prefers-reduced-motion:reduce) { .plans-modern * { scroll-behavior:auto!important; transition:none!important; } }
