/*
Theme Name: Strategix FSE
Theme URI: https://www.strategix.com.br
Author: Strategix Tecnologia e Sistemas
Author URI: https://www.strategix.com.br
Description: Block Theme da Strategix. Vermelho institucional racionado sobre neutros quentes, Sora + IBM Plex Sans self-hosted, telas reais do ERP em moldura.
Version: 2.6.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: strategix-fse
Tags: full-site-editing, block-patterns, wide-blocks, custom-colors, featured-images, sticky-post
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
*/

/*
  Enfileirado por functions.php e usado como editor style.
  Tokens: --wp--preset--color--{primary,primary-dark,primary-tint,ink,graphite,line,paper,white}
          --wp--preset--spacing--0..9, --wp--preset--font-size--*, --wp--preset--shadow--{sm,xl}
          --wp--custom--radius--{sm,md,lg}, --wp--custom--line-height--*, --wp--custom--font-weight--*
  Prefixo de classe do tema: sx-
*/

/* ---------- Base ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

:focus:not(:focus-visible) { outline: none; }
:focus-visible {
  outline: 3px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--wp--preset--color--white);
}
.sx-section--ink :focus-visible { outline-color: var(--wp--preset--color--white); box-shadow: 0 0 0 6px var(--wp--preset--color--ink); }

.skip-link.screen-reader-text:focus {
  position: fixed; top: 1rem; left: 50%; transform: translateX(-50%);
  width: auto; height: auto; clip: auto; clip-path: none;
  padding: 0.75rem 1.5rem; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white);
  font-weight: 600; border-radius: var(--wp--custom--radius--sm); z-index: 100000; text-decoration: none;
}

:target, [id] { scroll-margin-top: 6rem; }
::selection { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); }
h1, h2, h3, h4 { text-wrap: balance; }
h1 { letter-spacing: -0.025em; line-height: 1.05; }
h2 { font-weight: 600; letter-spacing: -0.02em; }
p, li { text-wrap: pretty; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], textarea, select {
  font-family: inherit; font-size: inherit;
}

.wp-block-post-content img, .wp-block-post-content iframe, .wp-block-post-content video, .wp-block-post-content table { max-width: 100%; }
.wp-block-post-content img { height: auto; }
.wp-block-post-content { overflow-wrap: anywhere; }

/* ---------- Seções ---------- */
.sx-section { position: relative; }
.sx-section .sx-cards + .sx-cards { margin-top: 2rem; }
.sx-section--white { background: var(--wp--preset--color--white); }
.sx-section--paper { background: var(--wp--preset--color--paper); }
.sx-section--ink { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.sx-section--ink h1, .sx-section--ink h2, .sx-section--ink h3, .sx-section--ink h4, .sx-section--ink p, .sx-section--ink li { color: var(--wp--preset--color--white); }
.sx-section--ink a:not(.wp-block-button__link) { color: var(--wp--preset--color--white); }
.sx-eyebrow {
  font-size: var(--wp--preset--font-size--xs); font-weight: 500; letter-spacing: 0; text-transform: none;
  color: var(--wp--preset--color--graphite); display: flex; align-items: center; gap: 0.6rem;
  margin-bottom: 0.75rem !important;
}
.sx-section--ink .sx-eyebrow { color: #C9CBD2; }
.sx-eyebrow::before { content: ""; width: 1.5rem; height: 2px; background: var(--wp--preset--color--primary); flex: none; }
.sx-eyebrow.has-text-align-center { justify-content: flex-start; }

/* Régua vermelha: assinatura das seções */
.sx-title { position: relative; padding-top: 0; letter-spacing: -0.02em; --sx-measure: 24ch; }
.sx-title::before { display: none; }
.sx-title.has-text-align-center { text-align: left; }
.sx-section--ink .sx-title { color: var(--wp--preset--color--white); }

.sx-lead { font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--graphite); --sx-measure: 58ch; }
.sx-lead.has-text-align-center { text-align: left; }

.sx-section--ink .sx-lead { color: #C9CBD2; }

/* ---------- Botões ---------- */
.wp-block-button__link {
  text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  min-height: 48px; padding: 0.75rem 1.5rem;
  font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: var(--wp--preset--font-size--sm);
  border-radius: var(--wp--custom--radius--sm);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.wp-block-button__link:hover { box-shadow: var(--wp--preset--shadow--sm); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background) { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):focus-visible { background: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--white); }
.is-style-outline .wp-block-button__link {
  background: transparent; border: 2px solid var(--wp--preset--color--ink); color: var(--wp--preset--color--ink);
}
.is-style-outline .wp-block-button__link:hover, .is-style-outline .wp-block-button__link:focus-visible { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.sx-section--ink .is-style-outline .wp-block-button__link, .sx-hero .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--white); color: var(--wp--preset--color--white); }
.sx-section--ink .is-style-outline .wp-block-button__link:hover, .sx-hero .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); }
.sx-ghost .wp-block-button__link, .wp-block-button.sx-ghost .wp-block-button__link {
  background: transparent !important; color: var(--wp--preset--color--primary-dark) !important;
  padding-left: 0; padding-right: 0; min-height: 44px; box-shadow: none;
  text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px; text-decoration-color: var(--wp--preset--color--line);
}
.sx-ghost .wp-block-button__link:hover { text-decoration-color: currentColor; }
.wp-block-button__link:active { transform: translateY(1px); }
@media (max-width: 600px) {
  .wp-block-buttons:not(.sx-inline) .wp-block-button { width: 100%; }
  .wp-block-buttons:not(.sx-inline) .wp-block-button__link { width: 100%; }
}

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 997;
  background: var(--wp--preset--color--white);
  border-bottom: 1px solid var(--wp--preset--color--line);
  transition: box-shadow 0.2s ease;
}
.site-header.is-scrolled { box-shadow: var(--wp--preset--shadow--sm); }
body.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
.site-header .wp-block-site-logo img { width: 152px; height: auto; display: block; }
.site-header .header-cta .wp-block-button__link { white-space: nowrap; min-height: 44px; padding: 0.6rem 1.25rem; }

.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-submenu__toggle {
  box-sizing: border-box; display: inline-flex; align-items: center; gap: 0.25rem;
  min-height: 44px; padding: 0 0.75rem; margin: 0;
  color: var(--wp--preset--color--ink); text-decoration: none; background: transparent; border: 0;
  font: inherit; cursor: pointer; border-radius: 0;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.wp-block-navigation .wp-block-navigation-item { display: flex; align-items: center; }
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation .wp-block-navigation-submenu__toggle:hover { color: var(--wp--preset--color--primary-dark); border-bottom-color: var(--wp--preset--color--primary); }
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content { font-weight: 600; border-bottom-color: var(--wp--preset--color--primary); }
.wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 0; width: 0.75em; height: 0.75em; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
.wp-block-navigation .wp-block-navigation__submenu-container {
  border: 1px solid var(--wp--preset--color--line) !important; border-radius: 0 0 var(--wp--custom--radius--sm) var(--wp--custom--radius--sm);
  box-shadow: var(--wp--preset--shadow--xl); padding: 0.5rem 0; background: var(--wp--preset--color--white) !important; min-width: 280px;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 40px; border-bottom: 0; padding: 0 1rem; width: 100%; }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--paper); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle { font-size: var(--wp--preset--font-size--xl); min-height: 48px; padding: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding-left: 1rem; }
@media (max-width: 1279px) { .site-header .header-cta { display: none; } }

/* ---------- Hero ---------- */
.sx-hero { background: var(--wp--preset--color--paper); padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); overflow: visible; }
.sx-hero__title { color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--hero); letter-spacing: -0.03em; line-height: 1.05; max-width: 14ch; }
.sx-hero .sx-lead { color: var(--wp--preset--color--graphite); max-width: 46ch; }
.sx-hero .sx-eyebrow { color: var(--wp--preset--color--graphite); }
.sx-hero .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); }
.sx-hero .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.sx-hero .sx-frame { transform: translateY(clamp(1rem, 4vw, 3.5rem)); }
@media (min-width: 1025px) { .sx-hero .sx-frame { margin-right: -6vw; } }
@media (max-width: 600px) { .sx-hero .sx-frame { display: none; } }
.sx-hero + .sx-section { padding-top: calc(var(--wp--preset--spacing--8) + 2rem) !important; }

/* ---------- Grade de itens (sem caixas) ---------- */
.sx-cards { gap: 2rem 2.5rem; }
.sx-card {
  height: 100%; background: transparent; border: 0; border-top: 1px solid var(--wp--preset--color--line);
  border-radius: 0; padding: 1.25rem 0 0; box-shadow: none; display: flex; flex-direction: column; gap: 0.5rem;
  transition: border-color 0.2s ease;
}
.sx-card:hover, .sx-card:focus-within { border-top-color: var(--wp--preset--color--primary); }
.sx-card__title { font-size: var(--wp--preset--font-size--xl); margin: 0 !important; }
.sx-card p { color: var(--wp--preset--color--graphite); margin: 0; }
.sx-card .wp-block-buttons { margin-top: auto; padding-top: 0.5rem; }
.sx-section--ink .sx-card { border-top-color: #33363E; }
.sx-section--ink .sx-card p { color: #C9CBD2; }

/* ---------- Números ---------- */
.sx-trust { display: flex; flex-wrap: wrap; gap: 2rem 0; justify-content: flex-start; }
.sx-stat { text-align: left; min-width: 140px; flex: 1 1 160px; max-width: 280px; padding-right: 2rem; border-right: 1px solid var(--wp--preset--color--line); }
.sx-stat:last-child { border-right: 0; }
.sx-stat + .sx-stat { padding-left: 2rem; }
.sx-stat__num {
  font-family: var(--wp--preset--font-family--display); font-weight: 600; letter-spacing: -0.03em;
  font-size: var(--wp--preset--font-size--numeral); line-height: 1; color: var(--wp--preset--color--ink);
  font-variant-numeric: tabular-nums; margin: 0 !important;
}
.sx-section--ink .sx-stat__num { color: var(--wp--preset--color--white); }
.sx-stat__label { font-size: var(--wp--preset--font-size--sm); text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--graphite); margin: 0.35rem 0 0 !important; }
@media (max-width: 600px) { .sx-stat { border-right: 0; padding: 0; } .sx-stat + .sx-stat { padding-left: 0; } }

/* ---------- Moldura de tela ---------- */
.sx-frame {
  position: relative; border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--white);
  box-shadow: 0 30px 60px -30px rgba(20, 21, 24, 0.25); overflow: hidden; padding: 0;
}
.sx-frame::before, .sx-frame::after { display: none; }
.sx-frame .wp-block-image, .sx-frame figure { margin: 0 !important; }
.sx-frame img { display: block; width: 100%; height: auto; border-radius: 0 !important; }
.sx-frame--device { border: 8px solid var(--wp--preset--color--ink); border-radius: 28px; max-width: 360px; margin-inline: auto; box-shadow: none; }
.sx-frame--device img { border-radius: 20px !important; }

/* ---------- Duas colunas ---------- */
.sx-split { align-items: center; gap: 3rem; }
@media (max-width: 782px) { .sx-split { gap: 1.5rem; } .sx-split .sx-frame { margin-top: 1rem; } }

/* ---------- Listas de recursos ---------- */
.sx-checklist { list-style: none; padding-left: 0 !important; display: grid; gap: 0.6rem; }
.sx-checklist li { position: relative; padding-left: 2rem; }
.sx-checklist li::before {
  content: ""; position: absolute; left: 0; top: 0.35em; width: 1.1rem; height: 1.1rem; border-radius: 50%;
  background: var(--wp--preset--color--primary-tint);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}
.sx-checklist li::after {
  content: ""; position: absolute; left: 0.3rem; top: calc(0.35em + 0.3rem); width: 0.5rem; height: 0.3rem;
  border-left: 2px solid var(--wp--preset--color--primary-dark); border-bottom: 2px solid var(--wp--preset--color--primary-dark); transform: rotate(-45deg);
}

/* ---------- Mural de logos ---------- */
.sx-logo-wall.wp-block-gallery { gap: 1rem !important; }
.sx-logo-wall .wp-block-image {
  background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm);
  padding: 0.75rem; aspect-ratio: 2 / 1; display: flex; align-items: center; justify-content: center;
}
.sx-logo-wall .wp-block-image img {
  max-width: 128px !important; max-height: 64px; width: auto !important; height: auto !important; object-fit: contain;
  transition: opacity 0.2s ease;
}

/* ---------- Depoimentos ---------- */
.sx-quote { position: relative; padding: 0 0 0 1.75rem; margin: 0; background: transparent; border: 0; border-left: 3px solid var(--wp--preset--color--primary); border-radius: 0; font-style: normal; }
.sx-quote::before { display: none; }
.sx-quote p { font-size: var(--wp--preset--font-size--lg); line-height: 1.55; color: var(--wp--preset--color--ink); }
.sx-quote cite { display: block; margin-top: 1rem; font-style: normal; font-weight: 600; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--sm); }
.sx-quote cite span { display: block; font-weight: 400; color: var(--wp--preset--color--graphite); }

/* ---------- Tabela comparativa de versões ---------- */
.sx-compare table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--sm); }
.sx-compare th, .sx-compare td { padding: 0.75rem 1rem; border: 1px solid var(--wp--preset--color--line); text-align: center; }
.sx-compare th:first-child, .sx-compare td:first-child { text-align: left; }
.sx-compare thead th { background: var(--wp--preset--color--paper); font-family: var(--wp--preset--font-family--display); font-weight: 600; }
.sx-compare tbody tr:nth-child(even) { background: var(--wp--preset--color--paper); }
.sx-compare td:not(:first-child) { color: var(--wp--preset--color--ink); font-weight: 500; }

/* ---------- Galeria de telas (STX Mobile) ---------- */
.sx-screens.wp-block-gallery { gap: 1rem !important; }
.sx-screens .wp-block-image { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--md); overflow: hidden; background: var(--wp--preset--color--white); }
.sx-screens .wp-block-image img { border-radius: 0 !important; }

/* ---------- Passos (Suporte) ---------- */
.sx-steps { counter-reset: passo; display: grid; gap: 2rem; }
.sx-step { counter-increment: passo; position: relative; padding-left: 4rem; }
.sx-step::before {
  content: counter(passo); position: absolute; left: 0; top: 0; width: 3rem; height: 3rem; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.25rem;
  color: var(--wp--preset--color--white); background: var(--wp--preset--color--primary);
}

/* ---------- CTA final ---------- */
.sx-cta { overflow: hidden; }
/* A marca-d'água saiu na v4 (ver o bloco no fim do arquivo). As declarações de
   background/mask que apontavam para strategix_icon.png foram removidas na v8:
   `content: none` esconde o pseudo-elemento, mas o navegador baixava os 77 KB
   do PNG assim mesmo, em toda página com CTA, para não desenhar nada. */
.sx-cta .wp-block-buttons { justify-content: flex-start; }

/* ---------- Formulários (CF7) ---------- */
.wpcf7-form { max-width: 100%; }
.sx-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.25rem; }
.wpcf7-form p { margin: 0 0 1rem; }
.sx-form-consent { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--graphite); }
.sx-form-consent .wpcf7-list-item { margin: 0; }
.sx-form-consent input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin-right: 0.5rem; vertical-align: -0.15rem; accent-color: var(--wp--preset--color--primary); }
.wpcf7-form label { display: block; font-weight: 600; font-size: var(--wp--preset--font-size--sm); margin-bottom: 0.35rem; }
.wpcf7-form-control-wrap { display: block; margin-bottom: 1rem; }
.wpcf7-form-control { box-sizing: border-box; }
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):not(.wpcf7-radio):not(.wpcf7-checkbox) {
  width: 100%; min-height: 48px; padding: 0.75rem 1rem;
  border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm);
  background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--base);
  transition: border-color 0.2s ease;
}
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus-visible { border-color: var(--wp--preset--color--ink); outline-offset: 0; box-shadow: none; outline-width: 2px; }
.wpcf7-textarea { min-height: 140px; resize: vertical; }
.wpcf7-submit {
  min-height: 48px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); border: none;
  border-radius: var(--wp--custom--radius--sm); padding: 0.75rem 2rem; font-weight: 600; font-size: var(--wp--preset--font-size--sm); cursor: pointer;
  transition: background-color 0.2s ease;
}
.wpcf7-submit:hover, .wpcf7-submit:focus-visible { background: var(--wp--preset--color--primary-dark); }
.wpcf7-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.wpcf7-not-valid-tip { color: var(--wp--preset--color--primary-dark); font-size: var(--wp--preset--font-size--sm); margin-top: 0.25rem; }
.wpcf7-response-output { margin: 1rem 0 0 !important; padding: 1rem !important; border-radius: var(--wp--custom--radius--sm); border-width: 1px !important; }
.wpcf7 form.sent .wpcf7-response-output { background: #ECFDF3; border-color: #067647 !important; color: #067647; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { background: var(--wp--preset--color--primary-tint); border-color: var(--wp--preset--color--primary-dark) !important; color: var(--wp--preset--color--primary-dark); }
.wp-block-search__input { border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm); padding: 0.75rem 1rem; min-height: 48px; }
.wp-block-search__button { border-radius: var(--wp--custom--radius--sm); min-height: 48px; }

/* ---------- Blog ---------- */
.wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.wp-block-post-title a:hover, .wp-block-post-title a:focus-visible { color: var(--wp--preset--color--primary-dark); text-decoration: underline; }
.site-header .wp-block-navigation .wp-block-navigation__container { align-items: center; }
.site-header .wp-block-navigation-submenu > .wp-block-navigation-item__content { min-height: 44px; }
.site-header .wp-block-navigation__submenu-icon { margin-left: 0.15rem; }
.sx-post-card { height: 100%; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--md); overflow: hidden; background: var(--wp--preset--color--white); transition: box-shadow 0.2s ease; }
.sx-post-card:hover { box-shadow: var(--wp--preset--shadow--sm); }
.sx-post-card .wp-block-post-featured-image img { border-radius: 0 !important; }
.sx-post-card > .wp-block-group { padding: 1.25rem; }
.wp-block-post-terms a { color: var(--wp--preset--color--primary-dark); text-decoration: none; font-weight: 600; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.75rem;
  border-radius: var(--wp--custom--radius--sm); text-decoration: none; border: 1px solid var(--wp--preset--color--line);
}
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--ink); }

/* ---------- Conteúdo geral ---------- */
.wp-block-quote { border-inline-start: 4px solid var(--wp--preset--color--primary); padding-inline-start: 1.5rem; font-style: italic; }
.wp-block-quote cite { display: block; margin-top: 0.75rem; font-style: normal; font-weight: 600; color: var(--wp--preset--color--primary-dark); }
.wp-block-separator { border: none; border-top: 1px solid var(--wp--preset--color--line); max-width: none; }
.wp-block-table { overflow-x: auto; display: block; max-width: 100%; }
.wp-block-table table { min-width: 100%; }
.wp-block-image figcaption, .wp-caption-text { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--graphite); text-align: center; margin-top: 0.5rem; }
.wp-block-code, .wp-block-preformatted { font-family: var(--wp--preset--font-family--mono); background: var(--wp--preset--color--paper); padding: 1rem; border-radius: var(--wp--custom--radius--md); border: 1px solid var(--wp--preset--color--line); overflow-x: auto; }
.wp-block-embed iframe { max-width: 100%; aspect-ratio: 16 / 9; }
.wp-block-file__button { display: inline-flex; align-items: center; min-height: 44px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); padding: 0.5rem 1rem; font-weight: 600; }
.wp-block-tag-cloud a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.5rem 0.75rem; margin: 0.25rem; border-radius: var(--wp--custom--radius--sm); text-decoration: none; font-size: var(--wp--preset--font-size--sm) !important; background: var(--wp--preset--color--paper); }
.yoast-breadcrumb, .sx-breadcrumb { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--graphite); }
.yoast-breadcrumb a, .sx-breadcrumb a { color: var(--wp--preset--color--graphite); text-decoration: underline; text-underline-offset: 0.15em; }
.yoast-breadcrumb a:hover, .sx-breadcrumb a:hover { color: var(--wp--preset--color--primary-dark); }

/* ---------- Rodapé ---------- */
.site-footer { background: var(--wp--preset--color--paper); border-top: 1px solid var(--wp--preset--color--line); }
.site-footer .wp-block-navigation a { padding: 0.35rem 0; min-height: 44px; border-radius: 0; background: transparent; }
.site-footer .wp-block-navigation a:hover { color: var(--wp--preset--color--primary-dark); background: transparent; text-decoration: underline; }
.site-footer h2 { font-size: var(--wp--preset--font-size--base); text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--ink); font-weight: 600; }
.site-footer .wp-block-site-logo img { width: 140px; height: auto; }
.sx-footer-legal { background: var(--wp--preset--color--ink); color: #C9CBD2; font-size: var(--wp--preset--font-size--sm); }
.sx-footer-legal a { color: var(--wp--preset--color--white); }
.wp-block-social-links .wp-social-link a { min-width: 44px; min-height: 44px; }

/* ---------- WhatsApp flutuante ---------- */
.sx-whatsapp {
  position: fixed; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 998;
  display: inline-flex; align-items: center; gap: 0.5rem; min-width: 56px; min-height: 56px; padding: 0 1rem 0 0.9rem;
  border-radius: 999px; background: #0E7266; color: #fff; text-decoration: none; font-weight: 600; font-size: 0.9rem;
  box-shadow: 0 8px 24px -8px rgba(20, 21, 24, 0.4); transition: transform 0.2s ease, background-color 0.2s ease;
}
.sx-whatsapp:hover, .sx-whatsapp:focus-visible { background: #0A5A50; transform: translateY(-2px); color: #fff; }
.sx-whatsapp__label { display: none; }
@media (min-width: 782px) { .sx-whatsapp__label { display: inline; } }
@media (max-width: 781px) { .sx-whatsapp { padding: 0; width: 56px; justify-content: center; } }
body.wp-admin .sx-whatsapp { display: none; }

/* ---------- Impressão ---------- */
@media print {
  .site-header, .site-footer, .sx-whatsapp, .wp-block-button, .wp-block-search, .wp-block-social-links, .sx-cta { display: none !important; }
  .wp-block-post-content { max-width: none !important; }
  a { text-decoration: none; color: #000 !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #444; }
}


/* Formulários: select e upload no mesmo padrão dos inputs */
.wpcf7-form select.wpcf7-form-control { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141518' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
.wpcf7-form input[type="file"].wpcf7-form-control { padding: 0.6rem 1rem; min-height: 48px; background: var(--wp--preset--color--paper); border-style: dashed; cursor: pointer; }
.wpcf7-form input[type="file"]::file-selector-button { font: inherit; font-weight: 600; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm); padding: 0.35rem 0.85rem; margin-right: 0.75rem; cursor: pointer; }
@media (max-width: 1279px) { .site-header .wp-block-navigation { font-size: 0.8125rem; } }

/* Cabeçalho: itens numa linha; consentimento sem caixa */
.site-header .wp-block-navigation-item__content, .site-header .wp-block-navigation-submenu__toggle { white-space: nowrap; padding-left: 0.6rem; padding-right: 0.6rem; }
.sx-form-consent .wpcf7-acceptance, .sx-form-consent .wpcf7-list-item, .sx-form-consent .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 0.6rem; }
.sx-form-consent input[type="checkbox"] { margin: 0.2rem 0 0; flex: none; }
.wpcf7-submit:disabled { opacity: 1; background: var(--wp--preset--color--line); color: var(--wp--preset--color--graphite); cursor: not-allowed; }

/* ---------- Grade v4: uma única margem esquerda ---------- */
:root { --sx-measure: 66ch; }
.sx-section.is-layout-constrained > :where(:not(.alignfull):not(.alignleft):not(.alignright)) { max-width: var(--wp--style--global--wide-size); }
.sx-section > :is(h1, h2, h3, p, ul, ol) { padding-inline-end: max(0px, min(100%, var(--wp--style--global--wide-size)) - var(--sx-measure)); box-sizing: border-box; }
.sx-section > :is(ul, ol) { --sx-measure: 60ch; }
.sx-section > .sx-eyebrow { padding-inline-end: 0; }
.sx-section > .wp-block-buttons { justify-content: flex-start; }
.sx-frame.is-layout-constrained > *, .sx-frame > figure { max-width: none; width: 100%; }
.sx-frame figcaption, .wp-block-image figcaption { text-align: left; color: var(--wp--preset--color--graphite); font-size: var(--wp--preset--font-size--sm); margin-top: 0.5rem; }
.sx-page-title { padding-top: var(--wp--preset--spacing--6); padding-bottom: var(--wp--preset--spacing--6); }
.sx-page-title .wp-block-post-title, .sx-page-title h1 { --sx-measure: 16ch; max-width: 16ch; margin: 0; }
.sx-page-title .sx-lead { margin-top: 0.75rem; }
.sx-breadcrumb { display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; align-items: center; margin-bottom: 0.5rem; }
.sx-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.sx-cta > .sx-title, .sx-cta > .sx-lead { padding-inline-end: 0; }
@media (max-width: 782px) {
  .sx-section > :is(h1, h2, h3, p, ul, ol) { padding-inline-end: 0; }
  .sx-page-title { padding-top: var(--wp--preset--spacing--5); padding-bottom: var(--wp--preset--spacing--5); }
  .sx-page-title .wp-block-post-title, .sx-page-title h1 { font-size: clamp(1.9rem, 8vw, 2.5rem); max-width: none; }
}

/* ---------- Menu overlay mobile: itens à esquerda (o core usa :not(.disable-default-overlay)) ---------- */
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) { padding: 4.5rem 1.5rem 2rem; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content { padding-top: 0; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container { align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container { gap: 0; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation-item { width: 100%; flex-direction: column; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation-submenu__toggle {
  width: 100%; justify-content: space-between; border-bottom: 1px solid var(--wp--preset--color--line); padding: 0;
  min-height: 52px; font-size: var(--wp--preset--font-size--xl); font-weight: 600;
}
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container {
  width: 100%; min-width: 0 !important; border: 0 !important; box-shadow: none; background: transparent !important; padding: 0.25rem 0 0.75rem 1rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-size: var(--wp--preset--font-size--base); font-weight: 400; color: var(--wp--preset--color--graphite); border-bottom: 0; min-height: 44px;
}
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close { top: 1rem; right: 1rem; }

/* ---------- v4 Editorial: cabeçalho ---------- */
.site-header { transition: box-shadow 0.2s ease, padding 0.2s ease; }
.site-header.is-scrolled { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.header-cta__short { display: none; }
@media (max-width: 1279px) {
  .site-header .header-cta { display: flex; }
  .header-cta__long { display: none; }
  .header-cta__short { display: inline; }
  .site-header .header-cta .wp-block-button__link { padding: 0.5rem 0.9rem; min-height: 44px; font-size: var(--wp--preset--font-size--xs); }
}
@media (max-width: 600px) { .site-header .wp-block-site-logo img { width: 124px; } }

/* ---------- v4 Editorial: colunas assimétricas e moldura ---------- */
.sx-split--top { align-items: stretch; }
.sx-sticky { position: sticky; top: 6rem; }
.sx-frame--lead { border-top: 3px solid var(--wp--preset--color--primary); }
.sx-frame--photo, .sx-frame--screen { box-shadow: none; background: var(--wp--preset--color--paper); }
.sx-frame--photo img { aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.85); }
.sx-frame--screen img { aspect-ratio: 2 / 1; object-fit: cover; object-position: top left; }
.sx-frame--screen figcaption, .sx-screens figcaption { text-align: left; margin: 0; padding: 0.6rem 1rem 0.75rem; border-top: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--white); color: var(--wp--preset--color--graphite); font-size: var(--wp--preset--font-size--sm); }
.sx-zoom { all: unset; display: block; width: 100%; cursor: zoom-in; }
.sx-zoom:focus-visible { outline: 3px solid var(--wp--preset--color--ink); outline-offset: -3px; }
.sx-zoom img { display: block; width: 100%; height: auto; }
@media (max-width: 782px) { .sx-sticky { position: static; } .sx-split--top .sx-frame { margin-top: 0.5rem; } }

/* ---------- v4 Editorial: índice de módulos (5/7) ---------- */
.sx-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
.sx-index__item { position: relative; padding: 1.1rem 0 1.35rem; margin: 0 !important; }
.sx-index__item::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: var(--wp--preset--color--line); transform: scaleX(var(--sx-line, 1)); transform-origin: left center; }
.sx-index__item:hover::before, .sx-index__item:focus-within::before { background: var(--wp--preset--color--primary); }
.sx-index__title { font-size: var(--wp--preset--font-size--xl); font-weight: 600; margin: 0 !important; }
.sx-index__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.sx-index__title a:hover, .sx-index__title a:focus-visible { color: var(--wp--preset--color--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; text-decoration-color: var(--wp--preset--color--primary); }
.sx-index__item p { margin: 0.35rem 0 0 !important; color: var(--wp--preset--color--graphite); font-size: var(--wp--preset--font-size--base); }
@media (max-width: 600px) { .sx-index { grid-template-columns: 1fr; } }

/* ---------- v4 Editorial: ledger (4/8 por linha) ---------- */
.sx-ledger { border-bottom: 1px solid var(--wp--preset--color--line); }
.sx-ledger__row { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 0.5rem 2.5rem; padding: 1.5rem 0; margin: 0 !important; }
.sx-ledger__row::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: var(--wp--preset--color--line); transform: scaleX(var(--sx-line, 1)); transform-origin: left center; }
.sx-ledger__row > h3 { font-size: var(--wp--preset--font-size--xl); font-weight: 600; margin: 0 !important; }
.sx-ledger__row > h3 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.sx-ledger__row > h3 a:hover, .sx-ledger__row > h3 a:focus-visible { color: var(--wp--preset--color--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; text-decoration-color: var(--wp--preset--color--primary); }
.sx-ledger__body { margin: 0 !important; max-width: 62ch; }
.sx-ledger__body > * { margin: 0 !important; color: var(--wp--preset--color--graphite); }
.sx-ledger__body > * + * { margin-top: 0.75rem !important; }
.sx-ledger__body .sx-checklist li { color: var(--wp--preset--color--ink); }
@media (max-width: 782px) { .sx-ledger__row { grid-template-columns: 1fr; padding: 1.25rem 0; } }

/* ---------- v4 Editorial: listas de recursos ---------- */
.sx-checklist--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 2rem; }
@media (max-width: 600px) { .sx-checklist--cols { grid-template-columns: 1fr; } }
.sx-detail { list-style: none; padding-left: 0 !important; display: grid; gap: 0; }
.sx-detail li { padding: 1rem 0; border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--graphite); }
.sx-detail li:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.sx-more { border: 0; padding: 0; margin-top: 1rem !important; }
.sx-more > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--wp--preset--color--primary-dark); text-decoration: underline; text-underline-offset: 0.2em; text-decoration-color: var(--wp--preset--color--line); }
.sx-more > summary::-webkit-details-marker { display: none; }
.sx-more > summary:hover { text-decoration-color: currentColor; }
.sx-more[open] > summary { color: var(--wp--preset--color--graphite); }
.sx-more > .sx-checklist, .sx-more > .sx-detail { margin-top: 1rem !important; }
.sx-subtitle { font-size: var(--wp--preset--font-size--xl); font-weight: 600; margin-top: 2.5rem !important; }

/* ---------- v4 Editorial: depoimentos (8/4) ---------- */
.sx-testimonials > * { margin: 0 !important; }
.sx-testimonial { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 2rem 3rem; padding: 2.5rem 0; border-top: 1px solid var(--wp--preset--color--line); align-items: start; }
.sx-testimonial--solo { grid-template-columns: minmax(0, 1fr); }
.sx-testimonial .sx-quote { margin: 0; }
.sx-testimonial .sx-quote p { max-width: 58ch; }
.sx-testimonial__logo { display: flex; align-items: flex-start; justify-content: flex-start; margin: 0 !important; }
.sx-testimonial__logo img { max-height: 56px; max-width: 180px; width: auto; height: auto; object-fit: contain; }
.sx-testimonials > .sx-testimonial:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
@media (max-width: 782px) { .sx-testimonial { grid-template-columns: 1fr; padding: 1.75rem 0; } .sx-testimonial__logo { order: -1; } }

/* ---------- v4 Editorial: números ---------- */
.sx-trust { gap: 2rem 0; }
.sx-section > .sx-trust { margin-top: 0; }

/* ---------- v4 Editorial: mural de logos como grade com filetes ---------- */
.sx-logo-wall.wp-block-gallery { --wp--style--unstable-gallery-gap: 0 !important; gap: 0 !important; border-right: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.sx-logo-wall .wp-block-image { box-sizing: border-box; border: 0; border-top: 1px solid var(--wp--preset--color--line); border-left: 1px solid var(--wp--preset--color--line); border-radius: 0; padding: 1rem 1.25rem; aspect-ratio: 5 / 3; background: var(--wp--preset--color--white); margin: 0 !important; }
.sx-logo-wall .wp-block-image img { max-width: 70% !important; max-height: 44px; }
.sx-logo-loop { position: relative; }
.sx-logo-loop.is-active { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sx-logo-loop.is-active .sx-logo-wall.wp-block-gallery { display: flex; flex-wrap: nowrap; width: max-content; border: 0; will-change: transform; }
.sx-logo-loop.is-active .sx-logo-wall .wp-block-image { width: 200px !important; height: 96px; aspect-ratio: auto; flex: none; border: 0 !important; }

/* ---------- v4 Editorial: CTA (7/5, cavalo fixo) ---------- */
.sx-cta::after { right: 4rem; bottom: -3rem; width: 320px; height: 320px; aspect-ratio: auto; opacity: 0.06; background-size: contain; }
.sx-cta--contextual::after { display: none; }
.sx-cta__grid { align-items: flex-end !important; gap: 2rem 3rem; }
.sx-cta .sx-title { --sx-measure: 22ch; }
.sx-cta--contextual .sx-title { font-size: var(--wp--preset--font-size--xxl); }
.sx-cta .wp-block-buttons { justify-content: flex-start; }
@media (min-width: 782px) { .sx-cta__grid .wp-block-buttons { justify-content: flex-end; } }

/* ---------- v4 Editorial: tabela comparativa rolável com 1ª coluna fixa ---------- */
.sx-compare th:first-child, .sx-compare td:first-child { position: sticky; left: 0; z-index: 1; background: var(--wp--preset--color--white); box-shadow: 1px 0 0 var(--wp--preset--color--line); min-width: 14rem; }
.sx-compare thead th:first-child, .sx-compare tbody tr:nth-child(even) td:first-child { background: var(--wp--preset--color--paper); }
@media (max-width: 600px) {
  .sx-compare th:first-child, .sx-compare td:first-child { min-width: 10rem; font-size: var(--wp--preset--font-size--xs); }
  .sx-compare th, .sx-compare td { padding: 0.6rem 0.75rem; }
}

/* ---------- v4 Editorial: blog ---------- */
.sx-post-card { border: 0; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0; background: transparent; padding-top: 1rem; }
.sx-post-card:hover { box-shadow: none; border-top-color: var(--wp--preset--color--primary); }
.sx-post-card > .wp-block-group { padding: 1rem 0 0; }
.sx-post-card .wp-block-post-featured-image img { border-radius: 4px !important; }
.sx-post-card:not(:has(.wp-block-post-featured-image))::before { content: ""; display: block; aspect-ratio: 16 / 9; background: var(--wp--preset--color--paper); border-radius: 4px; }
.wp-block-post-terms a { text-transform: none; letter-spacing: 0; }

/* ---------- v4 Editorial: rodapé em grade, acordeões no mobile ---------- */
.sx-footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 3rem; }
.sx-footer-grid > * { margin: 0 !important; }
.sx-footer-col { border: 0; padding: 0; background: transparent; }
.sx-footer-col > summary { list-style: none; cursor: default; pointer-events: none; display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin-bottom: 0.25rem; font-weight: 600; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--ink); }
.sx-footer-col > summary::-webkit-details-marker { display: none; }
@media (max-width: 782px) {
  .site-footer { padding-top: var(--wp--preset--spacing--6) !important; }
  .sx-footer-grid { grid-template-columns: 1fr; gap: 1rem; }
  .sx-footer-col { border-top: 1px solid var(--wp--preset--color--line); }
  .sx-footer-col > summary { pointer-events: auto; cursor: pointer; margin-bottom: 0; }
  .sx-footer-col > summary::after { content: ""; width: 0.55rem; height: 0.55rem; margin-right: 0.35rem; border-right: 2px solid var(--wp--preset--color--ink); border-bottom: 2px solid var(--wp--preset--color--ink); transform: rotate(45deg); transition: transform 0.2s ease; }
  .sx-footer-col[open] > summary::after { transform: rotate(-135deg); }
  .sx-footer-col > .wp-block-navigation { padding-bottom: 0.75rem; }
  .sx-footer-contact { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; }
}

/* ---------- v4 Mobile: barra inferior no lugar do botão flutuante ---------- */
.sx-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; display: none; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  padding: 0.6rem max(1rem, env(safe-area-inset-right)) max(0.6rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  background: var(--wp--preset--color--white); border-top: 1px solid var(--wp--preset--color--line);
  box-shadow: 0 -8px 24px -16px rgba(20, 21, 24, 0.4); transform: translateY(110%); transition: transform 0.3s ease;
}
.sx-bar a { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; padding: 0 1rem; border-radius: var(--wp--custom--radius--sm); font-weight: 600; font-size: var(--wp--preset--font-size--sm); text-decoration: none; }
.sx-bar__demo { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); }
.sx-bar__demo:hover, .sx-bar__demo:focus-visible { background: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--white); }
.sx-bar__wa { border: 2px solid var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white); }
.sx-bar__wa svg { width: 20px; height: 20px; flex: none; }
@media (max-width: 781px) {
  .sx-bar { display: grid; }
  .sx-bar.is-visible { transform: none; }
  body.sx-bar-on { padding-bottom: 5rem; }
  .sx-whatsapp { display: none; }
}

/* ---------- v4: lightbox nativo para telas do sistema ---------- */
.sx-dialog { border: 0; padding: 0; margin: 0; background: transparent; width: 100vw; height: 100vh; max-width: 100vw; max-height: 100vh; display: none; place-items: center; }
.sx-dialog[open] { display: grid; }
.sx-dialog::backdrop { background: rgba(20, 21, 24, 0.9); }
.sx-dialog__fig { margin: 0; display: grid; gap: 0.75rem; justify-items: start; max-width: min(96vw, 1400px); }
.sx-dialog__fig img { max-width: 96vw; max-height: 84vh; width: auto; height: auto; display: block; background: var(--wp--preset--color--white); }
.sx-dialog__cap { color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--sm); margin: 0; }
.sx-dialog__close { position: fixed; top: 1rem; right: 1rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); display: grid; place-items: center; cursor: pointer; font-size: 1.5rem; line-height: 1; }
.sx-dialog__close:hover { background: var(--wp--preset--color--paper); }

/* ---------- v4: estados iniciais do movimento (só quando o JS marcou <html class="sx-motion">) ---------- */
@keyframes sx-reveal { to { opacity: 1; } }
.sx-motion .sx-hero :is(.sx-eyebrow, .sx-hero__title, .sx-lead, .wp-block-buttons, .sx-frame) { opacity: 0; animation: sx-reveal 0s 3s forwards; }
.sx-motion .sx-hero__title { text-wrap: initial; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* ---------- v4 ajustes após QA mobile ---------- */
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-close { top: 0; right: 0; }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .sx-bar { transform: translateY(110%); }
@media (max-width: 782px) {
  .wp-block-post-content > .sx-section:not(.sx-hero) { padding-top: var(--wp--preset--spacing--6) !important; padding-bottom: var(--wp--preset--spacing--6) !important; }
  .sx-page-title + .wp-block-post-content { margin-block-start: 0 !important; }
}
.sx-quote, .sx-quote p { font-style: normal; }
.sx-quote cite { color: var(--wp--preset--color--ink); }
@media (min-width: 1280px) { .site-header .header-cta { order: 2; margin-left: var(--wp--preset--spacing--2); } }
@media (min-width: 1025px) { .sx-hero .sx-frame { margin-right: -4vw; } }



/* ---------- v4: mural de logos em grade explícita (a galeria do core é flex) ---------- */
.sx-logo-wall.wp-block-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sx-logo-wall .wp-block-image { width: auto !important; flex-basis: auto !important; }
@media (max-width: 1024px) { .sx-logo-wall.wp-block-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sx-logo-wall.wp-block-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- v4: sem marca-d'água no CTA ----------
   O único arquivo do cavalo (uploads/2023/10/strategix_icon.png) tem fundo branco opaco:
   como background aparece um retângulo claro, e como mask o alfa é todo opaco (o recorte
   pegaria o quadrado inteiro). Sem SVG do símbolo, a faixa fica sem ornamento. */
.sx-cta::after { content: none; }

/* ---------- v4: tabela comparativa rola de verdade no mobile ---------- */
@media (max-width: 782px) {
  .sx-compare { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .sx-compare table { min-width: 34rem; table-layout: auto !important; }
  .sx-compare th:first-child, .sx-compare td:first-child { min-width: 9.5rem; max-width: 9.5rem; white-space: normal; }
  .sx-compare th:not(:first-child), .sx-compare td:not(:first-child) { min-width: 5.5rem; }
}

/* ---------- v7: cards de módulo, vermelho no cartão e não na faixa ----------
   A v5 pintou a seção inteira de vermelho, espelhando o site anterior. O Erik
   achou que a faixa ficou estranha; agora a seção é clara e o vermelho vive
   dentro do cartão. Isso devolve a régua original do tema à página. */
.sx-modcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: var(--wp--preset--spacing--6) !important; }
.sx-modcards > * { margin: 0 !important; }
.sx-modcard {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
  padding: 2rem 1.5rem; text-align: center;
  border: 0; border-radius: var(--wp--custom--radius--md);
  background: var(--wp--preset--color--primary);
  transition: background-color 0.2s ease;
}
.sx-modcard:hover, .sx-modcard:focus-within { background: var(--wp--preset--color--primary-dark); }
.sx-modcard__icon { display: block; width: 40px; height: 40px; color: var(--wp--preset--color--white); }
.sx-modcard__icon svg { width: 100%; height: 100%; display: block; }
.sx-modcard__title { font-size: var(--wp--preset--font-size--xl); font-weight: 700; margin: 0 !important; }
.sx-modcard__title, .sx-modcard__title a { color: var(--wp--preset--color--white); }
.sx-modcard__title a { text-decoration: none; }
/* o cartão inteiro é o alvo do clique; o link mantém o nome acessível */
.sx-modcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sx-modcard:hover .sx-modcard__title a { text-decoration: underline; text-underline-offset: 0.2em; }
/* branco puro, não #FFEAE9: sem a camada escura que o cartão tinha na v5,
   #FFEAE9 sobre #EA0602 cai para 4,02:1 e reprova no WCAG AA. Branco dá 4,64:1. */
.sx-modcard p { margin: 0 !important; font-size: var(--wp--preset--font-size--sm); line-height: var(--wp--custom--line-height--relaxed); color: var(--wp--preset--color--white); max-width: 30ch; }
/* o anel de foco era branco sobre vermelho; sobre fundo papel precisa inverter */
.sx-modcard :focus-visible, .sx-modcard__title a:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 3px; box-shadow: 0 0 0 6px var(--wp--preset--color--paper); }
@media (max-width: 1024px) { .sx-modcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .sx-modcards { grid-template-columns: 1fr; gap: 1rem; }
  .sx-modcard { padding: 1.5rem 1.25rem; }
}

/* ==========================================================================
   v6 (05/09/2026) — fechar os vazios que a v5 abriu
   Contexto: ao remover dois números da barra e encurtar textos, sobraram
   faixas com muito branco. As correções abaixo são de ritmo, não de conteúdo.
   ========================================================================== */

/* 1. A barra de números virou faixa-filete.
   Com só dois números, a grade antiga (flex 1 1 160px, filete vertical entre
   eles) deixava ~65% da largura vazia. Agora o filete é horizontal e ocupa a
   largura inteira: o espaço à direita lê como régua, não como buraco. */
.sx-trust {
  display: flex; align-items: baseline; flex-wrap: wrap;
  gap: 0.75rem 3rem; justify-content: flex-start;
  border-top: 1px solid var(--wp--preset--color--line);
  padding-top: 1.25rem;
}
.sx-section--ink .sx-trust { border-top-color: #33363E; }
.sx-stat {
  display: flex; align-items: baseline; gap: 0.6rem;
  flex: 0 0 auto; min-width: 0; max-width: none;
  padding: 0; border-right: 0;
}
.sx-stat + .sx-stat { padding-left: 0; }
.sx-stat__num { font-size: clamp(2rem, 3.2vw, 2.75rem); }
.sx-stat__label { margin: 0 !important; }

/* A faixa que só carrega números não é uma seção inteira: respira menos. */
.sx-section:has(> .sx-trust) {
  padding-top: var(--wp--preset--spacing--6) !important;
  padding-bottom: var(--wp--preset--spacing--6) !important;
}
@media (max-width: 600px) { .sx-trust { gap: 0.75rem 2rem; } }

/* 2. O respiro extra depois do hero somava 2rem à seção seguinte. */
.sx-hero + .sx-section { padding-top: var(--wp--preset--spacing--8) !important; }

/* 3. Mural de logos: célula era 5/3 com logo a 70%, quase metade vazia. */
.sx-logo-wall .wp-block-image { padding: 0.85rem 1rem; aspect-ratio: 16 / 7; }
.sx-logo-wall .wp-block-image img { max-width: 82% !important; max-height: 52px; }

/* 4. Ledger: linha mais curta e coluna de texto mais próxima do título.
   Só acima de 782px — abaixo disso a linha continua empilhada. */
@media (min-width: 783px) {
  .sx-ledger__row { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 0.5rem 2rem; padding: 1.15rem 0; }
}
@media (max-width: 782px) { .sx-ledger__row { grid-template-columns: 1fr; padding: 1rem 0; } }

/* 5. Coluna curta ao lado de coluna longa: acompanha a leitura em vez de
   deixar um poço de branco. Só onde o conteúdo marca `sx-sticky`. */
.sx-sticky { align-self: start; }

/* v6, segundo passe: o hero reservava espaço para a moldura deslocada mesmo
   quando ela já cabia, e a faixa de números fechava com respiro de seção. */
.sx-hero { padding-bottom: clamp(2rem, 4vw, 3.25rem); }
.sx-section:has(> .sx-trust) { padding-bottom: var(--wp--preset--spacing--5) !important; }

/* ---------- v7 (06/09/2026) ---------- */

/* O `gap` do layout flex do core (.wp-container-core-group-is-layout-*) tem a
   mesma especificidade de `.sx-trust` e é impresso DEPOIS da folha do tema,
   então zerava o respiro entre os números. Um seletor descendente basta. */
.sx-section > .sx-trust { column-gap: 3rem; row-gap: 0.75rem; }
@media (max-width: 600px) { .sx-section > .sx-trust { column-gap: 2rem; } }

/* O bloco Navigation do core só vira hambúrguer abaixo de 600px. Entre 600 e
   1279px o menu inteiro renderizava ao lado do logo e do CTA compacto e
   empurrava a página: 348px de transbordo a 600px, 48px a 900px — ou seja,
   scroll horizontal em qualquer tablet. O hambúrguer passa a valer até 1279px,
   o mesmo ponto em que o CTA do cabeçalho já encolhe. */
@media (max-width: 1279px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}

/* A moldura do hero sangra para fora da coluna, mas `-4vw` é um valor cego:
   em 1200px são 48px de sangria para 24px de espaço disponível, e a página
   ganha 24px de scroll horizontal. A sangria passa a ser limitada ao vão que
   de fato existe entre o conteúdo e a borda da janela. */
@media (min-width: 1025px) {
  .sx-hero .sx-frame {
    --sx-sangria: calc((100vw - min(var(--wp--style--global--wide-size), 100vw - 2 * var(--wp--style--root--padding-right))) / 2);
    margin-right: calc(-1 * min(4vw, var(--sx-sangria)));
  }
}

/* ---------- v7: perguntas frequentes ----------
   Ledger de pergunta e resposta, não acordeão: a resposta precisa estar
   visível no HTML sem clique para ser extraível por buscador e por LLM. */
.sx-faq { border-bottom: 1px solid var(--wp--preset--color--line); }
.sx-faq__item { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 0.5rem 2rem; padding: 1.35rem 0; margin: 0 !important; }
.sx-faq__item::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: var(--wp--preset--color--line); }
.sx-faq__q { font-size: var(--wp--preset--font-size--lg); font-weight: 600; margin: 0 !important; color: var(--wp--preset--color--ink); }
.sx-faq__a { margin: 0 !important; color: var(--wp--preset--color--graphite); max-width: 62ch; }
@media (max-width: 782px) {
  .sx-faq__item { grid-template-columns: 1fr; padding: 1.1rem 0; gap: 0.35rem; }
}

/* ---------- v7: ligação entre blog e páginas de módulo ----------
   O blog era um silo: nenhum post apontava para a página do módulo do assunto
   e nenhuma página comercial apontava de volta. São links editoriais, não
   widget de "posts relacionados". */
.sx-leia-tambem { margin-top: var(--wp--preset--spacing--6) !important; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--line); }
.sx-leia-tambem h3 { font-size: var(--wp--preset--font-size--base); font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--graphite); margin: 0 0 0.6rem !important; }
.sx-leia-tambem ul { list-style: none; padding: 0; margin: 0 !important; display: grid; gap: 0.4rem; }
.sx-leia-tambem li { margin: 0; }
.sx-leia-tambem a { color: var(--wp--preset--color--ink); text-decoration: underline; text-underline-offset: 0.2em; text-decoration-color: var(--wp--preset--color--line); }
.sx-leia-tambem a:hover, .sx-leia-tambem a:focus-visible { text-decoration-color: var(--wp--preset--color--primary); }

.sx-leia-mais { margin-top: var(--wp--preset--spacing--5) !important; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--graphite); }
