/* Planos — decision-first layout aligned with the UauCloud editorial system. */
.plans-page { color: var(--navy-900); overflow: clip; }
.plans-page .eyebrow { padding: 0; background: transparent; border-radius: 0; color: var(--blue-700); font: 600 11px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.plans-page .eyebrow::before { display: none; }
.plans-page a:focus-visible,
.plans-page summary:focus-visible,
.plans-page [tabindex="0"]:focus-visible { outline: 3px solid var(--blue-500); outline-offset: 3px; }
.plans-hero { padding: 34px 0 76px; background: linear-gradient(90deg,#fff 0 68%,#eef7ff 68% 100%); border-bottom: 1px solid var(--ink-100); }
.plans-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.72fr); align-items: center; gap: clamp(48px,7vw,106px); }
.plans-hero-copy { padding: 30px 0; }
.plans-hero .crumbs { margin: 0 0 38px; color: var(--ink-500); font: 12px var(--font-mono); }
.plans-hero .crumbs a { color: inherit; min-height: 44px; display: inline-flex; align-items: center; }
.plans-hero .eyebrow { color: var(--blue-700); background: transparent; border-radius: 0; padding: 0; }
.plans-hero h1 { max-width: 12ch; margin: 22px 0; font-size: clamp(46px,5.4vw,76px); line-height: 1.02; letter-spacing: -.055em; }
.plans-hero .lead { max-width: 600px; color: var(--ink-600); font-size: clamp(18px,1.65vw,21px); line-height: 1.65; }
.plans-hero .btn { margin-top: 32px; }
.plans-hero-index { background: #0d1b32; color: #fff; border-radius: 0; padding: 18px 30px 22px; }
.plans-index-label { margin: 0; padding: 14px 0 17px; color: #9ac6ff; font: 600 11px var(--font-mono); letter-spacing: .11em; }
.plans-hero-index a { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.16); color: #fff; text-decoration: none; }
.plans-hero-index a span { font: 600 13px var(--font-mono); letter-spacing: .02em; }
.plans-hero-index a strong { font-size: 18px; }
.plans-hero-index a:hover { color: #9ac6ff; }

.plans-page .stackcp-plans-section { padding-top: clamp(76px,8vw,112px); }
.plans-page .wp-plan-grid { gap: 0; border-top: 1px solid var(--ink-100); border-left: 1px solid var(--ink-100); }
.plans-page .wp-plan { border: 0; border-right: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); border-radius: 0; box-shadow: none; }
.plans-page .wp-plan-tag,
.plans-page .wp-common,
.plans-page .stackcp-feature,
.plans-page .stackcp-story-media,
.plans-page .stackcp-story-media img,
.plans-page .stackcp-questions-grid > div,
.plans-page .stackcp-extra-card,
.plans-page .compare-scroll,
.plans-page details,
.plans-page summary { border-radius: 0 !important; }
.plans-page .wp-common { margin-top: 0; border-top: 0; }
.plans-page .stackcp-feature-grid { counter-reset: plan-feature; gap: 0; border-top: 1px solid var(--ink-100); border-left: 1px solid var(--ink-100); }
.plans-page .stackcp-feature { border: 0; border-right: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); }
.plans-page .stackcp-feature::before { counter-increment: plan-feature; content: "0" counter(plan-feature); display: block; margin-bottom: 30px; color: var(--blue-700); font: 600 12px var(--font-mono); letter-spacing: .08em; }
.plans-page .stackcp-faq-section { padding: clamp(82px,9vw,126px) 0; background: #eef5ff; }
.plans-faq-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(44px,8vw,112px); align-items: start; }
.plans-faq-copy { position: sticky; top: 110px; max-width: 470px; }
.plans-faq-copy h2 { margin: 16px 0 20px; font-size: clamp(38px,4.4vw,58px); line-height: 1.05; letter-spacing: -.05em; }
.plans-faq-copy p { margin: 0 0 24px; color: var(--ink-600); line-height: 1.7; }
.plans-faq-list { border-top: 1px solid #b9cede; }
.plans-faq-list details { padding: 0; border: 0; border-bottom: 1px solid #b9cede; background: transparent; }
.plans-faq-list summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; color: var(--navy-900); font-size: 18px; font-weight: 650; }
.plans-faq-list summary::-webkit-details-marker { display: none; }
.plans-faq-list summary::after { content: '+'; flex: 0 0 auto; color: var(--blue-700); font: 400 26px/1 var(--font-sans); }
.plans-faq-list details[open] summary::after { content: '−'; }
.plans-faq-list p { max-width: 720px; margin: -4px 56px 24px 0; color: var(--ink-600); font-size: 15px; line-height: 1.75; }
.plans-page #comparativo { border-top: 1px solid var(--ink-100); background: #fff; }
.plans-page .compare-scroll { border: 1px solid var(--ink-100); border-radius: 0; }
.plans-page .compare { border: 0; border-radius: 0; overflow: visible; }
.plans-page .compare thead th { background: #0d1b32; color: #fff; border-bottom-color: #0d1b32; }
.plans-page .compare-four .compare-group th { background: #eaf2ff; color: var(--navy-900); padding: 15px 20px; font: 600 11px var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.plans-page .compare th,
.plans-page .compare td { padding: 18px 20px; }
.plans-page .compare .col-feature { background: #f1f7ff; }
.plans-page .compare thead .col-feature { background: #17345c; }
.plans-page .compare .price-row > * { background: #f5f8fc; }
.plans-final { padding: 82px 0; background: #101f39; color: #fff; }
.plans-final-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.plans-final .eyebrow { color: #9ac6ff; }
.plans-final h2 { color: #fff; margin: 14px 0 10px; font-size: clamp(34px,4vw,54px); }
.plans-final p { max-width: 670px; color: #dce8f7; line-height: 1.7; }

@media(max-width:850px) {
  .plans-hero { padding: 22px 0 58px; background: linear-gradient(180deg,#fff 0 64%,#eef7ff 64% 100%); }
  .plans-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .plans-faq-layout { grid-template-columns: 1fr; gap: 40px; }
  .plans-faq-copy { position: static; }
  .plans-faq-list summary { min-height: 68px; font-size: 17px; }
  .plans-faq-list p { margin-right: 32px; }
  .plans-hero-copy { padding: 12px 0 0; }
  .plans-hero h1 { max-width: 15ch; }
  .plans-hero-index { padding: 12px 22px 16px; }
  .plans-page .wp-plan-grid { border-left: 1px solid var(--ink-100); gap: 0; }
  .plans-final-inner { align-items: flex-start; flex-direction: column; }
}
@media(max-width:520px) {
  .plans-hero h1 { font-size: clamp(40px,12vw,50px); }
  .plans-hero-index a { min-height: 64px; }
  .plans-hero-index a strong { font-size: 16px; }
  .plans-final .btn { width: 100%; justify-content: center; }
}
