/*
 * Capítulo 15 · Presença · camada visual pública 1.5.4
 * Carregar depois das folhas existentes do site público.
 * Não altera estrutura, estados, IDs, classes ou comportamento JavaScript.
 */

@font-face {
  font-family: "C15 Fraunces";
  src: url("../fonts/presenca-154/fraunces-variable-normal-154.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "C15 Fraunces";
  src: url("../fonts/presenca-154/fraunces-variable-italic-154.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "C15 DM Sans";
  src: url("../fonts/presenca-154/dm-sans-variable-normal-154.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}

@font-face {
  font-family: "C15 DM Sans";
  src: url("../fonts/presenca-154/dm-sans-variable-italic-154.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
}

:root {
  --c15-bordo: #4a2230;
  --c15-bordo-escuro: #351822;
  --c15-ouro: #8e6939;
  --c15-marfim: #fbf5ee;
  --c15-ouro-claro: #dec394;
  --c15-blush: #e3c1bd;
  --c15-blush-claro: #f4e6e2;
  --c15-papel: #fffdfa;
  --c15-texto-suave: #765d64;
  --c15-linha: #dfd0c8;
  --c15-linha-forte: #9e7f88;
  --c15-sucesso: #23503b;
  --c15-sucesso-fundo: #eff4ef;
  --c15-erro: #7b2135;
  --c15-erro-fundo: #fcf0ee;
  --c15-font-display: "C15 Fraunces", Georgia, "Times New Roman", serif;
  --c15-font-body: "C15 DM Sans", Arial, sans-serif;
  --c15-shadow-soft: 0 14px 36px rgb(74 34 48 / 8%);
  --c15-shadow-lift: 0 20px 50px rgb(74 34 48 / 13%);
  --c15-radius-content: 16px;
  --c15-radius-control: 999px;

  /* Compatibilidade com as folhas públicas existentes. */
  --cd-navy: var(--c15-bordo);
  --cd-navy-2: #5d2d3e;
  --cd-ink: var(--c15-bordo);
  --cd-text: #5f4650;
  --cd-muted: var(--c15-texto-suave);
  --cd-coral: var(--c15-bordo);
  --cd-coral-dark: var(--c15-bordo-escuro);
  --cd-blush: var(--c15-blush);
  --cd-cream: var(--c15-marfim);
  --cd-paper: var(--c15-papel);
  --cd-line: var(--c15-linha);
  --cd-gold: var(--c15-ouro);
  --cd-green: var(--c15-sucesso);
  --cd-shadow: var(--c15-shadow-soft);
  --cd-radius: var(--c15-radius-content);
  --cd-ui: var(--c15-font-body);
  --cd-serif: var(--c15-font-display);
  --cd-font-serif: var(--c15-font-display);
}

html {
  color-scheme: light;
  background: var(--c15-marfim);
  scroll-padding-top: 92px;
}

body.cd-public131 {
  --cd-ink153: var(--c15-bordo);
  --cd-rose153: var(--c15-bordo);
  --cd-soft153: var(--c15-marfim);
  margin: 0;
  background: var(--c15-marfim);
  color: var(--c15-bordo);
  font-family: var(--c15-font-body);
  font-size: 16px;
  font-optical-sizing: auto;
  font-synthesis: none;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.cd-public131 ::selection {
  background: var(--c15-blush);
  color: var(--c15-bordo-escuro);
}

body.cd-public131 h1,
body.cd-public131 h2,
body.cd-public131 .cd-title,
body.cd-public131 .cd-section-title,
body.cd-public131 .ps-page-hero h1,
body.cd-public131 .ps-blog-hero h1,
body.cd-public131 .ps-article__hero h1,
body.cd-public131 .ps-theme-detail h1,
body.cd-public131 .ps-legal h1 {
  color: var(--c15-bordo);
  font-family: var(--c15-font-display);
  font-optical-sizing: auto;
  font-synthesis: none;
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-weight: 500;
}

body.cd-public131 :is(h1, h2),
body.cd-public131 .s4-plan h3 {
  font-family: var(--c15-font-display) !important;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
}

body.cd-public131 h1,
body.cd-public131 h2,
body.cd-public131 h3,
body.cd-public131 p {
  overflow-wrap: break-word;
}

body.cd-public131 p,
body.cd-public131 li {
  text-wrap: pretty;
}

body.cd-public131 a {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 0.08em;
}

body.cd-public131 button,
body.cd-public131 input,
body.cd-public131 select,
body.cd-public131 textarea {
  font-family: var(--c15-font-body);
}

body.cd-public131 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--c15-bordo);
  outline-offset: 4px;
  box-shadow: none;
}

body.cd-public131 :is(
    .cd-final,
    .cd-price153,
    .ps-cta-band,
    .s4-footer,
    .s4-hero,
    .s4-final,
    .blog-index-hero,
    .blog-article__hero,
    .blog-growth-cta,
    .blog-article__inline-cta,
    .cd-campaign,
    .s4-plan--featured
  )
  :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline-color: var(--c15-ouro-claro);
}

body.cd-public131 :is(button, input, select, textarea):disabled,
body.cd-public131 [aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.56;
}

body.cd-public131 [aria-busy="true"] {
  cursor: progress;
}

/* Acesso por teclado */
body.cd-public131 .ps-skip {
  border-radius: 10px;
  background: var(--c15-marfim);
  color: var(--c15-bordo);
  font-weight: 700;
}

body.cd-public131 .ps-skip:focus {
  left: 16px;
  top: 16px;
  padding: 12px 16px;
  border: 2px solid var(--c15-bordo);
  box-shadow: var(--c15-shadow-lift);
}

/* Cabeçalho e marca */
body.cd-public131 .s4-header {
  min-height: 82px;
  padding: 12px max(22px, calc((100vw - 1180px) / 2));
  gap: 30px;
  background: rgb(251 245 238 / 96%);
  border-bottom: 1px solid rgb(74 34 48 / 12%);
  box-shadow: 0 8px 28px rgb(74 34 48 / 4%);
  backdrop-filter: blur(16px);
}

body.cd-public131 .s4-brand {
  min-width: 200px;
  color: var(--c15-bordo);
  gap: 0;
}

body.cd-public131 .s4-brand__mark {
  content: url("../img/brand/presenca-154/logo-capitulo15-presenca-claro-154.svg");
  display: block;
  width: 240px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: none;
}

body.cd-public131 .s4-brand__name {
  display: none;
}

body.cd-public131 .s4-nav {
  gap: clamp(16px, 2.2vw, 30px);
}

body.cd-public131 .s4-nav a,
body.cd-public131 .s4-header__login {
  color: var(--c15-bordo);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color 160ms ease;
}

body.cd-public131 .s4-nav a:hover,
body.cd-public131 .s4-header__login:hover {
  color: var(--c15-ouro);
}

body.cd-public131 .s4-menu-toggle {
  width: 48px;
  height: 48px;
  border: 1px solid var(--c15-linha-forte);
  border-radius: 50%;
  background: var(--c15-papel);
  color: var(--c15-bordo);
}

body.cd-public131 .s4-mobile-nav {
  top: 76px;
  border: 1px solid var(--c15-linha);
  border-radius: var(--c15-radius-content);
  background: var(--c15-papel);
  box-shadow: var(--c15-shadow-lift);
}

body.cd-public131 .s4-mobile-nav a {
  min-height: 48px;
  padding: 14px;
  border-color: rgb(74 34 48 / 10%);
  color: var(--c15-bordo);
  font-weight: 600;
}

body.cd-public131 .s4-mobile-nav__account {
  border-top-color: rgb(74 34 48 / 12%);
  color: var(--c15-bordo) !important;
}

/* Botões e links de ação */
body.cd-public131 .s4-button,
body.cd-public131 .cd-button,
body.cd-public131 .cd-help__button,
body.cd-public131 .ps-single-6178__cta {
  min-height: 48px;
  padding: 12px 24px;
  border: 2px solid var(--c15-bordo);
  border-radius: var(--c15-radius-control) !important;
  background: var(--c15-bordo);
  box-shadow: none;
  color: var(--c15-marfim) !important;
  font-family: var(--c15-font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease,
    color 160ms ease, transform 160ms ease;
}

body.cd-public131 .s4-button:hover,
body.cd-public131 .cd-button:hover,
body.cd-public131 .cd-help__button:hover,
body.cd-public131 .ps-single-6178__cta:hover {
  border-color: var(--c15-bordo-escuro);
  background: var(--c15-bordo-escuro);
  color: var(--c15-marfim);
  transform: translateY(-1px);
}

body.cd-public131 .s4-button--compact {
  min-height: 44px;
  padding: 9px 18px;
  font-size: 14px;
}

body.cd-public131 :is(
    .trial-create-submit,
    .checkout611-submit,
    .checkout611-coupon__apply button,
    .checkout611-primary-link
  ) {
  border: 2px solid var(--c15-bordo) !important;
  border-radius: var(--c15-radius-control) !important;
  background: var(--c15-bordo) !important;
  box-shadow: none;
  color: var(--c15-marfim) !important;
}

body.cd-public131 :is(
    .trial-create-submit,
    .checkout611-submit,
    .checkout611-coupon__apply button,
    .checkout611-primary-link
  ):hover {
  border-color: var(--c15-bordo-escuro) !important;
  background: var(--c15-bordo-escuro) !important;
}

body.cd-public131 .trial-create-progress > span,
body.cd-public131 .trial-create-submit.is-loading::before {
  border-top-color: var(--c15-bordo);
}

body.cd-public131 .checkout611-step {
  background: var(--c15-blush-claro);
  color: var(--c15-bordo);
}

body.cd-public131 .checkout611-method:has(input:checked) {
  border-color: var(--c15-bordo);
  background: var(--c15-blush-claro);
  box-shadow: 0 0 0 2px rgb(74 34 48 / 8%);
}

body.cd-public131 .checkout611-method input,
body.cd-public131 .checkout611-consent input {
  accent-color: var(--c15-bordo);
}

body.cd-public131 :is(.cd-button--outline, .ps-secondary-button),
body.cd-public131 .cd-home-all152 .s4-button {
  border-color: var(--c15-bordo);
  background: transparent;
  color: var(--c15-bordo) !important;
}

body.cd-public131 :is(.cd-button--outline, .ps-secondary-button):hover,
body.cd-public131 .cd-home-all152 .s4-button:hover {
  border-color: var(--c15-bordo) !important;
  background: var(--c15-bordo) !important;
  color: var(--c15-marfim) !important;
}

body.cd-public131 .cd-text-link131,
body.cd-public131 .ps-theme-card__actions a,
body.cd-public131 .cd-blog-preview a,
body.cd-public131 .ps-blog-card a {
  color: var(--c15-bordo);
  font-weight: 600;
  text-decoration-color: var(--c15-ouro);
}

body.cd-public131 .cd-text-link131:hover,
body.cd-public131 .ps-theme-card__actions a:hover,
body.cd-public131 .cd-blog-preview a:hover,
body.cd-public131 .ps-blog-card a:hover {
  color: var(--c15-ouro);
}

/* Faixas auxiliares e retorno à conta */
body.cd-public131 .ps-continue {
  border: 1px solid var(--c15-linha);
  border-radius: var(--c15-radius-content);
  background: var(--c15-papel);
  color: var(--c15-bordo);
  box-shadow: var(--c15-shadow-soft);
}

body.cd-public131 .ps-continue small,
body.cd-public131 .ps-continue > p {
  color: var(--c15-texto-suave);
}

body.cd-public131 .ps-continue strong,
body.cd-public131 .ps-continue b {
  color: var(--c15-bordo);
}

/* Hero principal e apresentações internas */
body.cd-public131 .cd-showcase136,
body.cd-public131 .cd-showcase137,
body.cd-public131 .cd-hero,
body.cd-public131 .cd-hero__copy,
body.cd-public131 .ps-page-hero,
body.cd-public131 .ps-blog-hero {
  background: var(--c15-marfim);
  color: var(--c15-bordo);
}

body.cd-public131 .cd-showcase137 {
  background-image: radial-gradient(
    ellipse at 82% 48%,
    rgb(227 193 189 / 36%),
    transparent 54%
  );
}

body.cd-public131 .cd-showcase137 .cd-showcase136__inner {
  max-width: 1180px;
  min-height: 680px;
  padding-block: clamp(52px, 7vw, 86px);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__copy {
  max-width: 590px;
}

body.cd-public131 .cd-showcase137 h1,
body.cd-public131 .cd-hero h1,
body.cd-public131 .ps-page-hero h1,
body.cd-public131 .ps-blog-hero h1 {
  color: var(--c15-bordo);
  font-family: var(--c15-font-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

body.cd-public131 .cd-showcase137 h1 em,
body.cd-public131 h2 em {
  color: var(--c15-ouro);
  font-family: inherit;
  font-style: italic;
  font-weight: inherit;
}

/* Em superfícies blush, o ouro oficial fica abaixo de AA para texto pequeno. */
body.cd-public131 .cd-example137 .cd-eyebrow,
body.cd-public131 .cd-benefits153 .cd-eyebrow,
body.cd-public131 .cd-section--blush .cd-eyebrow {
  color: var(--c15-bordo) !important;
}

body.cd-public131 .cd-eyebrow,
body.cd-public131 .s4-kicker,
body.cd-public131 .ps-eyebrow,
body.cd-public131 .ps-category-label {
  color: var(--c15-ouro);
  font-family: var(--c15-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.cd-public131 .cd-showcase137 .cd-showcase136__copy > p,
body.cd-public131 .cd-hero__lead,
body.cd-public131 .ps-page-hero > p,
body.cd-public131 .ps-blog-hero > p {
  color: var(--c15-texto-suave);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__count {
  color: var(--c15-bordo);
  font-weight: 600;
}

body.cd-public131 .cd-showcase137 .cd-showcase136__copy > small,
body.cd-public131 .cd-hero__note {
  color: var(--c15-texto-suave);
}

/* Superficies escuras da casca PHP usam a paleta Presenca e texto claro. */
body.cd-public131 .s4-hero,
body.cd-public131 .s4-features,
body.cd-public131 .s4-trial,
body.cd-public131 .s4-final,
body.cd-public131 .blog-index-hero,
body.cd-public131 .blog-article__hero,
body.cd-public131 .blog-growth-cta,
body.cd-public131 .blog-article__inline-cta {
  background-color: var(--c15-bordo-escuro);
  color: var(--c15-marfim);
}

body.cd-public131 .s4-final,
body.cd-public131 .blog-growth-cta {
  background-image: linear-gradient(120deg, var(--c15-bordo-escuro), var(--c15-bordo));
}

body.cd-public131 :is(
    .s4-hero,
    .s4-features,
    .s4-trial,
    .s4-final,
    .blog-index-hero,
    .blog-article__hero,
    .blog-growth-cta,
    .blog-article__inline-cta
  ) :is(h1, h2) {
  color: var(--c15-marfim);
}

body.cd-public131 :is(
    .s4-hero,
    .s4-features,
    .s4-trial,
    .s4-final,
    .blog-index-hero,
    .blog-article__hero,
    .blog-growth-cta,
    .blog-article__inline-cta
  ) .s4-kicker {
  color: var(--c15-ouro-claro);
}

body.cd-public131 :is(
    .s4-hero,
    .s4-features,
    .s4-trial,
    .s4-final,
    .blog-index-hero,
    .blog-article__hero,
    .blog-growth-cta,
    .blog-article__inline-cta
  ) .s4-button {
  border-color: var(--c15-marfim) !important;
  background: var(--c15-marfim) !important;
  color: var(--c15-bordo) !important;
}

body.cd-public131 :is(
    .s4-hero,
    .s4-features,
    .s4-trial,
    .s4-final,
    .blog-index-hero,
    .blog-article__hero,
    .blog-growth-cta,
    .blog-article__inline-cta
  ) .s4-button:hover {
  border-color: var(--c15-ouro-claro) !important;
  background: var(--c15-ouro-claro) !important;
  color: var(--c15-bordo-escuro) !important;
}

body.cd-public131 .cd-whatsapp137 {
  color: var(--c15-bordo);
}

body.cd-public131 .cd-whatsapp137__icon {
  background: var(--c15-blush-claro);
  color: var(--c15-bordo);
}

body.cd-public131 .cd-help {
  border-color: var(--c15-linha);
  background: var(--c15-blush-claro);
  color: var(--c15-bordo);
}

body.cd-public131 .cd-help :is(h2, p),
body.cd-public131 .cd-help__label {
  color: var(--c15-bordo);
}

body.cd-public131 .cd-phone137 {
  border-color: var(--c15-bordo);
  background: var(--c15-bordo-escuro);
  box-shadow: 0 0 0 1px var(--c15-bordo), 0 0 0 4px var(--c15-ouro-claro),
    0 28px 55px -20px rgb(74 34 48 / 42%);
}

body.cd-public131 .cd-phone137 .cd-phone136__speaker {
  border-color: #5c3643;
  background: var(--c15-bordo-escuro);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__theme {
  color: var(--c15-bordo);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__theme > span {
  color: var(--c15-texto-suave);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__controls button {
  border-color: var(--c15-linha-forte);
  background: var(--c15-papel);
  color: var(--c15-bordo);
}

body.cd-public131 .cd-showcase137 .cd-showcase136__controls button:hover {
  background: var(--c15-blush-claro);
}

/* Seções, títulos e superfícies */
body.cd-public131 .cd-shell,
body.cd-public131 .s4-section,
body.cd-public131 .ps-seo-intro,
body.cd-public131 .ps-page-hero,
body.cd-public131 .ps-page-layout,
body.cd-public131 .ps-blog-hero,
body.cd-public131 .ps-blog-grid,
body.cd-public131 .ps-article,
body.cd-public131 .ps-related,
body.cd-public131 .ps-theme-grid,
body.cd-public131 .ps-theme-detail,
body.cd-public131 .ps-legal,
body.cd-public131 .ps-cta-band {
  width: min(1180px, calc(100% - 40px));
}

body.cd-public131 .cd-section,
body.cd-public131 .cd-solution137,
body.cd-public131 .cd-catalog131,
body.cd-public131 .cd-journal131,
body.cd-public131 #duvidas {
  color: var(--c15-bordo);
}

body.cd-public131 .cd-solution137,
body.cd-public131 .cd-section--white,
body.cd-public131 #duvidas,
body.cd-public131 .cd-journal131 {
  background: var(--c15-papel);
}

body.cd-public131 .cd-example137,
body.cd-public131 .cd-benefits153,
body.cd-public131 .cd-section--blush {
  border-color: rgb(74 34 48 / 9%);
  background: var(--c15-blush-claro);
}

body.cd-public131 .cd-solution137 h2,
body.cd-public131 .cd-example137 h2,
body.cd-public131 .cd-section-head h2,
body.cd-public131 .cd-benefits153__intro h2,
body.cd-public131 .cd-faq h2,
body.cd-public131 .cd-journal131 h2,
body.cd-public131 .ps-seo-intro h2,
body.cd-public131 .ps-prose h2,
body.cd-public131 .ps-article__content h2,
body.cd-public131 .ps-related h2 {
  color: var(--c15-bordo);
  font-family: var(--c15-font-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-weight: 500;
  letter-spacing: -0.025em;
}

body.cd-public131 :is(
    .cd-solution137,
    .cd-example137,
    .cd-benefits153,
    .cd-section-head,
    .cd-faq,
    .ps-prose,
    .ps-article__content
  ) p {
  color: var(--c15-texto-suave);
}

/* Cartões de conteúdo, catálogo e blog */
body.cd-public131 :is(
    .cd-step,
    .cd-product-main,
    .cd-price__card,
    .cd-benefit153,
    .ps-theme-card,
    .cd-blog-preview article,
    .ps-blog-card,
    .ps-side-card,
    .ps-summary,
    .cd-faq details,
    .ps-checks div,
    .ps-payment-option,
    .cd-benefits153__more
  ) {
  border: 1px solid var(--c15-linha);
  border-radius: var(--c15-radius-content);
  background: var(--c15-papel);
  box-shadow: var(--c15-shadow-soft);
}

body.cd-public131 .cd-benefit153 {
  padding: 28px 25px;
}

body.cd-public131 .cd-benefit153__icon {
  border-radius: 12px;
  background: var(--c15-blush-claro);
  color: var(--c15-ouro);
}

body.cd-public131 .cd-benefit153 h3,
body.cd-public131 .cd-solution137 article h3,
body.cd-public131 .ps-theme-card h2 {
  color: var(--c15-bordo);
  font-family: var(--c15-font-body);
  font-weight: 600;
}

body.cd-public131 .ps-theme-card {
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease,
    transform 160ms ease;
}

body.cd-public131 .ps-theme-card:hover {
  border-color: var(--c15-linha-forte);
  box-shadow: var(--c15-shadow-lift);
  transform: translateY(-2px);
}

body.cd-public131 .ps-theme-card__cover {
  background: var(--c15-marfim);
}

body.cd-public131 .ps-theme-card__body {
  padding: 14px;
}

body.cd-public131 .cd-blog-preview small,
body.cd-public131 .ps-blog-card small {
  color: var(--c15-ouro);
}

body.cd-public131 .cd-blog-preview h3,
body.cd-public131 .ps-blog-card h2 {
  color: var(--c15-bordo);
  font-family: var(--c15-font-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-weight: 500;
}

body.cd-public131 .cd-faq summary {
  min-height: 52px;
  color: var(--c15-bordo);
  font-weight: 600;
}

body.cd-public131 .cd-faq summary::after {
  color: var(--c15-ouro);
}

body.cd-public131 .cd-faq details[open] {
  border-color: var(--c15-linha-forte);
}

/* Bloco de preço e chamadas escuras */
body.cd-public131 .cd-price153,
body.cd-public131 .cd-price152 {
  background: var(--c15-marfim);
}

body.cd-public131 .cd-price153 .ps-single-6178__copy,
body.cd-public131 .cd-price__intro,
body.cd-public131 .cd-final,
body.cd-public131 .ps-cta-band {
  background: var(--c15-bordo);
  color: var(--c15-marfim);
}

body.cd-public131 .cd-price153 .ps-single-6178__copy {
  border: 1px solid rgb(222 195 148 / 42%);
  border-radius: var(--c15-radius-content);
  box-shadow: var(--c15-shadow-lift);
}

body.cd-public131 .cd-price153 :is(h2, h2 em, p, small, strong),
body.cd-public131 .cd-price__intro :is(h2, p),
body.cd-public131 .cd-final :is(h2, p),
body.cd-public131 .ps-cta-band :is(h2, p) {
  color: var(--c15-marfim);
}

body.cd-public131 .cd-price153 .cd-eyebrow,
body.cd-public131 .cd-price__intro .cd-eyebrow,
body.cd-public131 .cd-final .cd-eyebrow {
  color: var(--c15-ouro-claro);
}

body.cd-public131 .cd-price153 .ps-single-6178__cta,
body.cd-public131 .cd-final .s4-button,
body.cd-public131 .ps-cta-band .s4-button {
  border-color: var(--c15-marfim) !important;
  background: var(--c15-marfim) !important;
  color: var(--c15-bordo) !important;
}

body.cd-public131 .cd-price153 .ps-single-6178__cta:hover,
body.cd-public131 .cd-final .s4-button:hover,
body.cd-public131 .ps-cta-band .s4-button:hover {
  border-color: var(--c15-ouro-claro) !important;
  background: var(--c15-ouro-claro) !important;
  color: var(--c15-bordo-escuro) !important;
}

/* Formulários e estados */
body.cd-public131 :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    input[type="datetime-local"],
    input[type="time"],
    input[type="month"],
    input[type="week"],
    select,
    textarea
  ) {
  min-height: 48px;
  border: 1px solid var(--c15-linha-forte);
  border-radius: 10px;
  background: var(--c15-papel);
  color: var(--c15-bordo);
}

body.cd-public131 textarea {
  min-height: 120px;
}

body.cd-public131 :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="password"],
    input[type="number"],
    textarea
  )::placeholder {
  color: var(--c15-texto-suave);
  opacity: 1;
}

body.cd-public131 .checkout612-optional,
body.cd-public131 .checkout-cep-status-615 {
  color: var(--c15-texto-suave);
}

body.cd-public131.cd-blog131 [data-blog-filter].is-active,
body.cd-public131.cd-blog131 [data-blog-filter][aria-pressed="true"] {
  border-color: var(--c15-bordo) !important;
  background: var(--c15-bordo) !important;
  color: var(--c15-marfim) !important;
}

body.cd-public131 :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    input[type="datetime-local"],
    input[type="time"],
    input[type="month"],
    input[type="week"],
    select,
    textarea
  ):focus {
  border-color: var(--c15-bordo);
}

body.cd-public131 .signup-role-610__choices input:focus-visible + span {
  outline: 3px solid var(--c15-bordo);
  outline-offset: 3px;
}

body.cd-public131 .signup-role-610__choices input:checked + span {
  border-color: var(--c15-bordo);
  background: var(--c15-blush-claro);
  color: var(--c15-bordo);
  box-shadow: 0 0 0 2px rgb(74 34 48 / 8%);
}

body.cd-public131 :is(
    .c15-state--success,
    .message.success,
    .ps-success,
    [data-state="success"]
  ) {
  border-color: #b8cdba;
  background: var(--c15-sucesso-fundo);
  color: var(--c15-sucesso);
}

body.cd-public131 :is(
    .c15-state--error,
    .message.error,
    .ps-error,
    [data-state="error"]
  ) {
  border-color: #d9a9b1;
  background: var(--c15-erro-fundo);
  color: var(--c15-erro);
}

body.cd-public131 :is(
    .c15-state--success,
    .c15-state--error,
    .message,
    .ps-success,
    .ps-error,
    [data-state="success"],
    [data-state="error"]
  ) {
  border-width: 1px;
  border-style: solid;
  border-radius: 10px;
  padding: 12px 14px;
  font-weight: 500;
}

body.cd-public131 :is(.cd-theme-empty, .ps-commercial-syncing) {
  border: 1px dashed var(--c15-linha-forte);
  border-radius: var(--c15-radius-content);
  background: var(--c15-papel);
  color: var(--c15-texto-suave);
}

/* Rodapé */
body.cd-public131 .s4-footer {
  display: grid;
  grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
  padding: 42px max(22px, calc((100vw - 1180px) / 2));
  border-top: 1px solid rgb(222 195 148 / 34%);
  background: var(--c15-bordo);
  color: var(--c15-marfim);
}

body.cd-public131 .s4-footer__brand {
  gap: 0;
  color: var(--c15-marfim);
  font-size: 0;
}

body.cd-public131 .s4-footer__brand img {
  content: url("../img/brand/presenca-154/logo-capitulo15-presenca-escuro-154.svg");
  display: block;
  width: 224px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: none;
}

body.cd-public131 .s4-footer__slogan {
  flex-basis: 100%;
  margin-top: 16px;
  color: var(--c15-ouro-claro);
  font-family: var(--c15-font-display);
  font-size: 18px;
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-weight: 500;
  line-height: 1.3;
}

body.cd-public131 .s4-footer__brand small {
  flex-basis: 100%;
  margin-top: 6px;
  color: var(--c15-marfim);
  font-family: var(--c15-font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  opacity: 0.82;
}

body.cd-public131 .ps-footer-extra a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--c15-marfim);
  font-size: 13px;
  font-weight: 500;
  text-decoration-color: transparent;
}

body.cd-public131 .ps-footer-extra a:hover {
  color: var(--c15-ouro-claro);
  text-decoration-color: currentColor;
}

body.cd-public131 .ps-public-identity {
  border-top-color: rgb(251 245 238 / 18%);
  color: rgb(251 245 238 / 76%);
}

/* Páginas editoriais, legais e detalhes de tema */
body.cd-public131 .ps-breadcrumb,
body.cd-public131 .ps-theme-note,
body.cd-public131 .muted {
  color: var(--c15-texto-suave);
}

body.cd-public131 .cd-catalog131__note,
body.cd-public131.cd-blog131 .ps-breadcrumb,
body.cd-public131.cd-blog131 .ps-article__meta,
body.cd-public131.cd-blog131 .ps-blog-card small {
  color: var(--c15-texto-suave);
}

body.cd-public131 .ps-prose,
body.cd-public131 .ps-article__content,
body.cd-public131 .ps-legal {
  color: #5f4650;
}

body.cd-public131 .ps-prose h3,
body.cd-public131 .ps-article__content h3,
body.cd-public131 .ps-side-card h2,
body.cd-public131 .ps-summary h2,
body.cd-public131 .ps-theme-detail h1 {
  color: var(--c15-bordo);
}

body.cd-public131 .ps-article__content blockquote {
  border-left-color: var(--c15-ouro);
  background: var(--c15-blush-claro);
}

body.cd-public131 .ps-theme-detail__cover {
  border-color: var(--c15-linha);
  background: var(--c15-papel);
  box-shadow: var(--c15-shadow-soft);
}

body.cd-public131.cd-blog131 :is(
    .ps-blog-hero h1,
    .ps-blog-card h2,
    .ps-blog-card h3,
    .ps-article__hero h1,
    .ps-article__content h2,
    .ps-article__content h3,
    .ps-related > h2,
    .ps-cta-band h2
  ) {
  font-family: var(--c15-font-display) !important;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
}

body.cd-public131.cd-blog131 :is(
    .ps-blog-hero p,
    .ps-blog-card p,
    .ps-article__hero p,
    .ps-article__content,
    .ps-article__content blockquote,
    .ps-article__content details,
    .ps-article__content summary,
    .cd-toc131 ol
  ) {
  font-family: var(--c15-font-body) !important;
}

/* Responsividade */
@media (max-width: 1040px) {
  body.cd-public131 .s4-header {
    grid-template-columns: auto 1fr auto;
    gap: 18px;
  }

  body.cd-public131 .s4-brand {
    min-width: 180px;
  }

  body.cd-public131 .s4-brand__mark {
    width: 240px;
  }

  body.cd-public131 .s4-nav {
    gap: 16px;
  }
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 82px;
  }

  body.cd-public131 .s4-header {
    min-height: 74px;
    padding-block: 10px;
  }

  body.cd-public131 .s4-brand {
    min-width: 0;
  }

  body.cd-public131 .s4-brand__mark {
    width: 240px;
  }

  body.cd-public131 .s4-mobile-nav {
    top: 70px;
  }

  body.cd-public131 .cd-showcase137 .cd-showcase136__inner {
    min-height: 0;
  }

  body.cd-public131 .cd-benefits153__grid,
  body.cd-public131 .ps-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cd-public131 .s4-footer {
    grid-template-columns: 1fr;
  }

  body.cd-public131 .ps-footer-extra {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  body.cd-public131 .cd-shell,
  body.cd-public131 .s4-section,
  body.cd-public131 .ps-seo-intro,
  body.cd-public131 .ps-page-hero,
  body.cd-public131 .ps-page-layout,
  body.cd-public131 .ps-blog-hero,
  body.cd-public131 .ps-blog-grid,
  body.cd-public131 .ps-article,
  body.cd-public131 .ps-related,
  body.cd-public131 .ps-theme-grid,
  body.cd-public131 .ps-theme-detail,
  body.cd-public131 .ps-legal,
  body.cd-public131 .ps-cta-band {
    width: min(1180px, calc(100% - 36px));
  }

  body.cd-public131 .s4-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    padding-inline: 18px;
  }

  body.cd-public131 .s4-brand__mark {
    content: url("../img/brand/presenca-154/simbolo-capitulo15-presenca-claro-154.svg");
    width: 48px;
    height: 48px;
  }

  body.cd-public131 .s4-header__actions {
    gap: 8px;
  }

  body.cd-public131 .s4-header__login {
    display: none;
  }

  body.cd-public131 .s4-button--compact {
    min-height: 44px;
    padding-inline: 14px;
    font-size: 13px;
  }

  body.cd-public131 .cd-showcase137 .cd-showcase136__inner {
    padding: 38px 20px 48px;
  }

  body.cd-public131 .cd-showcase137 h1 {
    font-size: clamp(36px, 10vw, 48px);
  }

  body.cd-public131 .cd-showcase137 .cd-showcase136__actions > .s4-button {
    width: 100%;
    max-width: 380px;
  }

  body.cd-public131 .cd-benefits153__grid,
  body.cd-public131 .ps-blog-grid,
  body.cd-public131 .cd-blog-preview {
    grid-template-columns: 1fr;
  }

  body.cd-public131 .cd-benefits153__intro {
    text-align: left;
  }

  body.cd-public131 .cd-price153 .ps-single-6178__copy {
    padding: 34px 22px;
  }

  body.cd-public131 .cd-final__inner,
  body.cd-public131 .ps-cta-band {
    align-items: flex-start;
    flex-direction: column;
  }

  body.cd-public131 .cd-final .s4-button,
  body.cd-public131 .ps-cta-band .s4-button {
    width: 100%;
  }

  body.cd-public131 .s4-footer {
    padding: 36px 22px;
  }

  body.cd-public131 .s4-footer__brand img {
    width: 240px;
  }
}

@media (max-width: 430px) {
  body.cd-public131 .s4-header {
    padding-inline: 14px;
  }

  body.cd-public131 .s4-brand__mark {
    width: 48px;
    height: 48px;
  }

  body.cd-public131 .s4-header__actions .s4-button--compact {
    min-height: 42px;
    padding-inline: 11px;
    font-size: 12px;
  }

  body.cd-public131 .s4-menu-toggle {
    width: 44px;
    height: 44px;
  }

  body.cd-public131 .cd-phone137 {
    width: min(250px, calc(100% - 40px));
  }

  body.cd-public131 .ps-theme-grid {
    gap: 10px;
  }

  body.cd-public131 .ps-theme-card__body {
    padding: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cd-public131 *,
  body.cd-public131 *::before,
  body.cd-public131 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
