/* Página de relatório: hero escuro, prévia e coluna de preço fixa. */
.cp-sale { background: #fbf7f4; color: #3f374f; font-family: "DM Sans", system-ui, sans-serif; line-height: 1.55; }
.cp-sale header { max-width: none; margin: 0; padding: 0; border: 0; display: block; background: transparent; }
.cp-sale .cp-aurora a { color: #ebdcf2; }
.cp-sale .cp-aurora .cp-word { color: #fff; }
.cp-sale .cp-foot a, .cp-sale .cp-faq a, .cp-sale .cp-article a { color: #6d28d9; }
.cp-article { color: #3f374f; }
.cp-article h2 { margin: 28px 0 8px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 28px; color: #251c39; font-weight: 700; }
.cp-article p, .cp-article li { color: #6e6580; font-size: 15px; line-height: 1.65; }
.cp-article table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
.cp-article th, .cp-article td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #f0e6ee; }
.cp-article th { background: #f6f1f5; }
.cp-sale .font-display { font-family: "Cormorant Garamond", Georgia, serif; }
.cp-wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.cp-trust { background: #231042; color: #e4d6ee; }
.cp-trust-inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; padding: 8px 16px; font-size: 12.5px; font-weight: 600; }
.cp-trust-inner span { display: inline-flex; align-items: center; gap: 6px; }
.cp-trust-inner svg { color: #fcd9a8; flex: none; }

.cp-aurora {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(ellipse 70% 80% at 100% -10%, rgba(252, 217, 168, .22), transparent 52%),
    radial-gradient(ellipse 55% 70% at -10% 110%, rgba(180, 74, 168, .38), transparent 55%),
    linear-gradient(165deg, #160a2c 0%, #2c1550 48%, #3d1d72 100%);
}
.cp-aurora-nav { display: flex; align-items: center; gap: 16px; padding: 16px 0 8px; }
.cp-aurora-nav .cp-word { color: #fff; text-decoration: none; font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.cp-aurora-nav .cp-word em { font-style: italic; color: #fcd9a8; }
.cp-nav-links { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.cp-nav-links a { color: #ebdcf2; text-decoration: none; font-size: 14.5px; font-weight: 600; }
.cp-nav-links a:hover { color: #fff; }
.cp-seal { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }

.cp-hero { padding: 12px 0 88px; }
.cp-kicker { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fce1c4; border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 650; }
.cp-hero h1 { margin: 14px 0 0; max-width: 640px; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.03em; color: #fff; }
.cp-hero h1 em { font-weight: 500; font-style: italic; color: #fcd9a8; }
.cp-hero h1 em.cp-break { display: block; margin-top: 4px; }
.cp-hero-lead { margin: 14px 0 0; max-width: 540px; font-size: clamp(15.5px, 1.5vw, 18px); line-height: 1.55; color: #e7d8ef; }
.cp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.cp-chips li { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.08); border-radius: 10px; padding: 7px 10px; font-size: 13px; color: #f3eaf7; }
.cp-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; align-items: center; }
.cp-hero-note { margin: 12px 0 0; font-size: 13px; color: #d9c8e2; }
.cp-welcome { margin: 0 0 10px; color: #fcd9a8; font-weight: 650; font-size: 14px; }

.cp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 14px; padding: 15px 22px; font: 700 15.5px/1.2 "DM Sans", system-ui, sans-serif; cursor: pointer; text-decoration: none; }
.cp-btn-warm { color: #fff; background: linear-gradient(135deg, #f5934e, #e4548a 58%, #b94aa8); box-shadow: 0 16px 32px -16px rgba(228, 84, 138, .85); }
.cp-btn-warm:hover { transform: translateY(-1px); }
.cp-btn-ghost { color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); }
.cp-btn-ghost:hover { background: rgba(255,255,255,.16); }
.cp-btn-block { width: 100%; }
.cp-btn:focus-visible, .cp-sale a:focus-visible, .cp-sale input:focus-visible, .cp-sale summary:focus-visible { outline: 3px solid #c4a3ff; outline-offset: 3px; }
.cp-btn:disabled { opacity: .65; cursor: wait; transform: none; }

.cp-stage { position: relative; z-index: 2; margin-top: -68px; padding-bottom: 64px; }
.cp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 36px; align-items: start; }
.cp-col { display: flex; flex-direction: column; gap: 28px; min-width: 0; }

.cp-panel { background: #fff; border: 1px solid #f0e6ee; border-radius: 22px; box-shadow: 0 24px 50px -36px rgba(80, 30, 90, .45); }
.cp-form { padding: 22px; }
.cp-form-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.cp-form-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #f1eafb; color: #5b21b6; flex: none; }
.cp-form-head strong { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 20px; color: #251c39; line-height: 1.1; }
.cp-form-head span { font-size: 12.5px; color: #756b83; }
.cp-fields { display: grid; gap: 12px; }
.cp-fields label, .cp-field label { display: block; font-size: 13px; font-weight: 700; color: #3f374f; margin-bottom: 6px; }
.cp-fields input, .cp-field input { width: 100%; box-sizing: border-box; border: 1px solid #e3d6e4; background: #fff; border-radius: 12px; padding: 13px 14px; font: 16px/1.3 "DM Sans", system-ui, sans-serif; color: #251c39; }
.cp-fields input:focus, .cp-field input:focus { border-color: #b794f6; box-shadow: 0 0 0 3px rgba(124, 58, 237, .15); outline: none; }
.cp-form .cp-btn { margin-top: 14px; background: #3b1675; color: #fff; }
.cp-form .cp-btn:hover { background: #2e1065; }
.cp-fine { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 12.5px; color: #756b83; text-align: center; }
.cp-error { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff0f0; color: #8a2020; font-size: 14px; }
.cp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.cp-buy { position: sticky; top: 16px; }
.cp-buy-card { background: #fff; border: 1px solid #f0e6ee; border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(80, 30, 90, .55); display: flex; flex-direction: column; max-height: calc(100vh - 32px); }
.cp-buy-bar { height: 5px; background: linear-gradient(90deg, #fcd9a8, #e4548a, #6d28d9); flex: none; }
.cp-buy-head, .cp-buy-foot { padding: 16px 18px 0; flex: none; }
.cp-buy-foot { padding: 12px 18px 16px; }
.cp-buy-id { display: flex; gap: 12px; align-items: center; }
.cp-buy-id img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; }
.cp-buy-id strong { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; line-height: 1.05; color: #251c39; }
.cp-buy-id span { font-size: 12.5px; color: #756b83; }
.cp-price { display: flex; align-items: baseline; gap: 8px; margin-top: 12px; }
.cp-price b { font-family: "Cormorant Garamond", Georgia, serif; font-size: 40px; line-height: 1; letter-spacing: -.02em; color: #251c39; font-weight: 700; }
.cp-price span { font-size: 12.5px; color: #756b83; }
.cp-buy-scroll { overflow: auto; padding: 12px 18px 4px; min-height: 0; }
.cp-cmp { width: 100%; border-collapse: collapse; font-size: 13px; }
.cp-cmp th, .cp-cmp td { text-align: left; padding: 8px 4px; border-bottom: 1px solid #f6f0f4; vertical-align: middle; color: #3f374f; font-weight: 500; }
.cp-cmp thead th { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #756b83; font-weight: 700; }
.cp-cmp thead th:nth-child(n+2), .cp-cmp td:nth-child(n+2) { width: 52px; text-align: center; }
.cp-cmp thead th:last-child { color: #251c39; }
.cp-cmp th[scope="row"] { font-weight: 550; padding-right: 8px; }
.cp-mark { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 13px; line-height: 1; }
.cp-mark-yes { background: #e2f5ef; color: #1a6e51; }
.cp-mark-paid { background: #ede7fd; color: #5b21b6; }
.cp-mark-no { color: #b3a8bc; font-size: 16px; background: transparent; }
.cp-guarantee { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; padding: 8px 10px; border-radius: 11px; background: rgba(47, 158, 130, .1); color: #1f7a63; font-size: 12.5px; font-weight: 650; line-height: 1.35; }
.cp-paynote { margin: 8px 0 0; text-align: center; font-size: 12px; color: #756b83; }
.cp-trustlist { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cp-trustlist li { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: #4a4560; }
.cp-trustlist svg { color: #1f7d5c; flex: none; margin-top: 2px; }

.cp-block h2 { margin: 2px 0 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(26px, 3vw, 34px); line-height: 1.12; letter-spacing: -.02em; color: #251c39; font-weight: 700; }
.cp-eyebrow { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: 20px; color: #a83e96; }
.cp-block > p, .cp-lead { margin: 8px 0 0; color: #6e6580; font-size: 15px; line-height: 1.6; }
.cp-chapters { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cp-chapters li { background: #fff; border: 1px solid #f0e6ee; border-radius: 18px; padding: 16px 18px; }
.cp-ch-top { display: flex; align-items: center; gap: 12px; }
.cp-num { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #ede7fd; color: #251c39; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; flex: none; }
.cp-ch-top h3 { margin: 0; flex: 1; font-family: "Cormorant Garamond", Georgia, serif; font-size: 18px; color: #251c39; }
.cp-lock { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; background: #f6f1f5; color: #5b5570; font-size: 11.5px; font-weight: 700; padding: 4px 8px; white-space: nowrap; }
.cp-chapters p { margin: 8px 0 0; color: #6e6580; font-size: 14px; line-height: 1.5; }

.cp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 14px; }
.cp-steps article { background: #fff; border: 1px solid #f0e6ee; border-radius: 18px; padding: 16px; }
.cp-steps-top { display: flex; justify-content: space-between; align-items: center; }
.cp-step-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #ede7fd; color: #3b1675; font-weight: 800; }
.cp-step-n { font-family: "Cormorant Garamond", Georgia, serif; font-size: 28px; color: #f1e6ef; font-weight: 700; line-height: 1; }
.cp-steps h3 { margin: 12px 0 4px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 18px; color: #251c39; }
.cp-steps p { margin: 0; font-size: 13.5px; color: #6e6580; line-height: 1.45; }

.cp-quote { position: relative; overflow: hidden; background: #fff; border: 1px solid #f0e6ee; border-radius: 24px; padding: 28px 26px; }
.cp-quote-mark { position: absolute; top: -18px; right: 16px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 120px; line-height: 1; color: #ede7fd; }
.cp-quote p { position: relative; margin: 10px 0 0; font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-size: clamp(18px, 2vw, 24px); line-height: 1.45; color: #251c39; }
.cp-quote .cp-note { position: relative; margin-top: 12px; font-family: "DM Sans", system-ui, sans-serif; font-style: normal; font-size: 12.5px; color: #756b83; line-height: 1.45; }

.cp-faq details { background: #fff; border: 1px solid #f0e6ee; border-radius: 16px; }
.cp-faq { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.cp-faq summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; padding: 16px 18px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 18px; font-weight: 650; color: #251c39; }
.cp-faq summary::-webkit-details-marker { display: none; }
.cp-faq summary::after { content: ""; width: 8px; height: 8px; margin-left: auto; border-right: 2px solid #5b5570; border-bottom: 2px solid #5b5570; transform: rotate(45deg); flex: none; }
.cp-faq details[open] summary::after { transform: rotate(225deg); margin-top: 6px; }
.cp-faq details p { margin: 0; padding: 0 18px 16px; color: #6e6580; font-size: 14.5px; line-height: 1.6; }
.cp-faq a { color: #6d28d9; }

.cp-result { padding: 22px; }
.cp-result-kicker { margin: 0; font-size: 13px; color: #756b83; }
.cp-result-kicker strong { color: #251c39; }
.cp-result-hero { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.cp-result-num { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; flex: none; background: linear-gradient(160deg, #3b1675, #2c1550); color: #fcd9a8; font-family: "Cormorant Garamond", Georgia, serif; font-size: 36px; font-weight: 700; }
.cp-result h2 { margin: 0; font-size: clamp(26px, 3vw, 34px); }
.cp-result h2 em { font-style: italic; color: #6d28d9; }
.cp-result h2 .number { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; margin-right: 8px; padding: 0 12px; border-radius: 999px; background: #ede7fd; color: #3b1675; font-family: "Cormorant Garamond", Georgia, serif; vertical-align: middle; }
.cp-preview { margin-top: 14px; border-left: 3px solid #6d28d9; background: #f8f4fc; border-radius: 0 14px 14px 0; padding: 14px 16px; white-space: pre-line; color: #3f374f; font-size: 15px; line-height: 1.6; }
.cp-empty { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; background: #fbf0dc; border: 1px solid #f0e0b8; border-radius: 18px; padding: 14px 16px; color: #5b4e2a; font-size: 14px; }
.cp-empty p { margin: 0; flex: 1; min-width: 200px; }
.cp-empty button, .cp-empty a { border: 1px solid #f0e0b8; background: #fff; color: #8a6416; border-radius: 10px; padding: 10px 12px; font-weight: 750; cursor: pointer; text-decoration: none; }
.cp-article .table-wrap { overflow-x: auto; border: 1px solid #f0e6ee; border-radius: 12px; background: #fff; }
#pForm, #pResult, #calculadora { scroll-margin-top: 20px; }

.cp-closer { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; border-radius: 26px; padding: 28px; color: #fff; background:
  radial-gradient(ellipse 60% 80% at 100% 0%, rgba(252,217,168,.2), transparent 50%),
  linear-gradient(145deg, #2c1550, #3b1675); }
.cp-closer h2 { color: #fff; margin: 0; font-size: clamp(26px, 3vw, 34px); }
.cp-closer p { margin: 8px 0 0; color: #e7d8ef; }
.cp-badge-days { width: 108px; height: 108px; border-radius: 50%; border: 2px dashed rgba(252,217,168,.7); display: grid; place-items: center; text-align: center; flex: none; }
.cp-badge-days b { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 34px; color: #fcd9a8; line-height: 1; }
.cp-badge-days span { display: block; margin-top: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.25; }

.cp-related { border-top: 1px solid #f0e2ec; background: linear-gradient(180deg, #f7eef6, #fbf7f3); padding: 48px 0 56px; }
.cp-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.cp-pcard { display: flex; flex-direction: column; text-decoration: none; background: #fff; border: 1px solid #f0e6ee; border-radius: 18px; overflow: hidden; color: inherit; }
.cp-pcard:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -24px rgba(120, 60, 120, .5); }
.cp-pcard-top { height: 92px; display: grid; place-items: center; color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: 40px; font-weight: 700; }
.cp-pcard div { padding: 14px 16px 16px; }
.cp-pcard h3 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; color: #251c39; }
.cp-pcard p { margin: 6px 0 0; color: #6e6580; font-size: 14px; }
.cp-pcard-row { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; }
.cp-pcard-row b { font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; color: #251c39; }
.cp-pcard-row span { color: #a83e96; font-weight: 750; font-size: 13.5px; }

.cp-foot { background: #fff; border-top: 1px solid #f0e6ee; padding: 28px 0 36px; text-align: center; color: #756b83; font-size: 14px; }
.cp-foot a { color: #6d28d9; }
.cp-foot-links { display: flex; flex-wrap: wrap; gap: 14px 18px; justify-content: center; margin: 14px 0; }

@media (max-width: 980px) {
  .cp-grid, .cp-steps, .cp-cards, .cp-grid-2 { grid-template-columns: 1fr; }
  .cp-hero { padding-bottom: 72px; }
  .cp-grid { display: flex; flex-direction: column; }
  .cp-col { display: contents; }
  .cp-form { order: 1; }
  #resultSection, #pResult { order: 2; }
  #previewEmpty { order: 3; }
  .cp-buy { order: 4; position: static; }
  .cp-buy-card { max-height: none; }
  .cp-block, .cp-quote, .cp-closer, .cp-article { order: 5; }
  .cp-nav-links a.cp-hide-sm { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-btn-warm:hover, .cp-pcard:hover { transform: none; }
}
