/* Seções da Home (Figma: izatacore/secoes). Só tokens de variaveis.css; nada de hex solto. */
.ic-sec { padding-block: var(--section-padding-y); background: var(--bg-page); color: var(--text-primary); }
.ic-sec--compacta { padding-block: var(--space-12); }
.ic-sec--alt { background: var(--bg-section-alt); }
.ic-sec--escura { background: var(--bg-dark); color: var(--text-on-dark); }
.ic-sec--escura h2, .ic-sec--escura h3 { color: var(--text-on-dark); }
.ic-sec--centro { text-align: center; }
.ic-wrap { width: min(100% - 2 * var(--layout-margin), var(--layout-content-width)); margin-inline: auto; }
.ic-wrap--estreito { width: min(100% - 2 * var(--layout-margin), 880px); }
.ic-sec h2 { font-size: var(--size-h2); margin: 0 0 var(--space-12); }
.ic-sec h3 { font-size: var(--size-h3); }
.ic-sec p { margin: 0; }

/* rótulos mono */
.ic-rotulo { margin: 0 0 var(--space-4); font-weight: 500; }
.ic-rotulo--azul { color: var(--action-primary); }
.ic-rotulo--claro { color: var(--text-highlight-on-dark); }
.ic-rotulo--cinza { color: var(--text-secondary); }
.ic-destaque { color: var(--text-highlight-on-dark); }

/* botões */
.ic-btn .wp-block-button__link { font-family: var(--font-body), sans-serif; font-weight: 600; font-size: 16px; padding: 14px 28px; border-radius: var(--radius-pill); text-decoration: none; transition: background .15s, color .15s; }
.ic-btn--primario .wp-block-button__link { background: var(--action-primary); color: var(--action-primary-text); border: 2px solid var(--action-primary); }
.ic-btn--primario .wp-block-button__link:hover { background: var(--action-primary-hover); border-color: var(--action-primary-hover); }
.ic-btn--contorno-escuro .wp-block-button__link { background: transparent; color: var(--white); border: 2px solid var(--white); }
.ic-btn--contorno-escuro .wp-block-button__link:hover { background: var(--white); color: var(--navy-800); }
.ic-sec .wp-block-buttons { gap: var(--space-4); margin: 0; }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.ic-sec--escura :focus-visible, .ic-sec--hero :focus-visible, .ic-sec--faixa :focus-visible { outline-color: var(--white); }

/* checks e links */
.ic-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-12); justify-content: center; font-size: var(--size-body); }
.ic-checks li { display: flex; gap: var(--space-2); align-items: center; }
.ic-checks--coluna { flex-direction: column; align-items: flex-start; gap: var(--space-3); justify-content: flex-start; }
.ic-checks--claro { color: var(--text-on-dark); }
.ic-check { flex: none; }
.ic-link, .ic-cartao-desafio__link { color: var(--action-link); font-weight: 600; font-size: var(--size-small); text-decoration: none; display: inline-flex; gap: var(--space-2); align-items: center; }
.ic-nota { font-size: var(--size-small); color: var(--text-on-dark-muted); }

/* 01 hero */
.ic-sec--hero { background: var(--bg-hero); color: var(--text-on-dark); padding-block: 176px 96px; min-height: 849px; display: flex; align-items: center; }
.ic-sec--hero > .ic-wrap { width: min(100% - 2 * var(--layout-margin), var(--layout-content-width)); }
.ic-hero__grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: var(--space-12); align-items: center; }
.ic-hero__texto { display: grid; gap: var(--space-6); justify-items: start; }
.ic-hero__texto > * { margin: 0; }
.ic-display { font-size: var(--size-display); line-height: 1.12; color: var(--white); }
.ic-lead { font-size: var(--size-body-lg); line-height: 1.6; color: var(--text-on-dark-muted); }
.ic-card-form { background: var(--bg-card); color: var(--text-primary); border-radius: var(--radius-lg); padding: var(--space-8); box-shadow: 0 16px 40px rgba(0,18,45,.25); }
.ic-card-form__titulo { font-size: 22px !important; line-height: 1.3; margin: 0 0 var(--space-4) !important; color: var(--text-primary) !important; }
.ic-card-form .ic-nota { color: var(--text-secondary); font-size: 12px; margin-top: var(--space-4); }
.ic-card-form .ic-nota a { color: inherit; text-decoration: underline; }
.ic-card-form .ff-el-input--label label { font-size: var(--size-small); font-weight: 500; color: var(--text-primary); }
.ic-card-form .ff-el-form-control { height: 48px; border: 1px solid var(--border-input); border-radius: var(--radius-md); padding-inline: var(--space-4); font: inherit; color: var(--text-primary); }
.ic-card-form .ff-el-form-control:focus { border-color: var(--focus-ring); box-shadow: 0 0 0 2px var(--focus-ring); }
.ic-card-form .ff-el-help-message { font-size: 13px; color: var(--text-secondary); margin-top: var(--space-1); }
.ic-card-form .ff-btn-submit { width: 100%; height: 48px; border-radius: var(--radius-pill); background: var(--action-primary); color: var(--white); font-weight: 600; font-size: 16px; border: 0; }
.ic-card-form .ff-btn-submit:hover { background: var(--action-primary-hover); }
.ic-card-form .ff-el-group { margin-bottom: var(--space-3); }

/* 03 logos */
.ic-logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.ic-logo-ph { height: 80px; border: 1px dashed var(--border); border-radius: var(--radius-md); display: grid; place-items: center; font-family: var(--font-mono), monospace; font-size: var(--size-small); color: var(--text-secondary); }

/* 04 números */
.ic-numeros { background: var(--bg-dark); color: var(--text-on-dark); border-radius: var(--radius-lg); padding: var(--space-12); display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-8); }
.ic-numero__valor { font-family: var(--font-heading), sans-serif; font-weight: 700; font-size: 36px; line-height: 1.2; color: var(--white); }
.ic-numero__rotulo { font-size: var(--size-small); color: var(--text-on-dark-muted); margin-top: var(--space-2) !important; max-width: 22ch; }
.ic-numeros .ic-preencher { background: transparent; color: var(--white); padding: 0; }

/* 05 e 11 colunas numeradas */
.ic-dor, .ic-passos { display: grid; gap: var(--space-8); }
.ic-dor { grid-template-columns: repeat(3, 1fr); }
.ic-passos { grid-template-columns: repeat(4, 1fr); }
.ic-dor__num { font-family: var(--font-mono), monospace; font-weight: 700; font-size: var(--size-h1); line-height: 1; color: var(--action-primary); margin-bottom: var(--space-6) !important; }
.ic-dor__item h3 { font-size: var(--size-h3); font-weight: 600; margin: 0 0 var(--space-3); }
.ic-dor__item p:last-child { color: var(--text-secondary); line-height: 1.7; max-width: 32ch; }
.ic-diagrama { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-12); }
.ic-diagrama span { font-family: var(--font-mono), monospace; font-size: 13px; padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-card); }
.ic-diagrama i { color: var(--action-primary); font-style: normal; }

/* 06 desafios */
.ic-desafios { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); align-items: start; }
.ic-cartao-desafio { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 4px 12px rgba(0,18,45,.06); text-decoration: none; color: var(--text-primary); transition: transform .15s, box-shadow .15s; }
.ic-cartao-desafio:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,18,45,.12); }
.ic-cartao-desafio__icone { width: 44px; height: 44px; border-radius: var(--radius-sm); background: var(--bg-section-alt); }
.ic-cartao-desafio__frase { font-family: var(--font-heading), sans-serif; font-weight: 500; font-size: 20px; line-height: 1.3; }

/* 07 faixa parceiros */
.ic-sec--faixa { background: var(--action-primary); color: var(--white); padding-block: var(--space-12); }
.ic-faixa { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.ic-faixa h3 { color: var(--white); font-size: 28px; margin: 0 0 var(--space-2); }
.ic-faixa p { max-width: 62ch; color: var(--white); }

/* 08 serviços */
.ic-servicos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 520px)); column-gap: 80px; align-items: start; }
.ic-servicos li { border-bottom: 1px solid var(--border); }
.ic-servicos a { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-4) 0; color: var(--text-primary); text-decoration: none; }
.ic-servicos strong { display: block; font-family: var(--font-heading), sans-serif; font-weight: 500; font-size: 18px; }
.ic-servicos small { display: block; font-size: var(--size-small); color: var(--text-secondary); margin-top: 2px; }
.ic-servicos .ic-seta { color: var(--action-primary); }
.ic-servicos a:hover strong { color: var(--action-primary); }

/* 09 abas */
.ic-abas { display: grid; grid-template-columns: 320px 1fr; gap: var(--space-6); align-items: start; }
.ic-abas__lista { display: grid; gap: var(--space-2); }
.ic-abas__lista button { text-align: left; padding: var(--space-4) var(--space-5, 20px); border: 0; border-radius: var(--radius-md); background: var(--bg-section-alt); color: var(--text-primary); font: 500 18px/1.2 var(--font-heading), sans-serif; cursor: pointer; }
.ic-abas__lista button[aria-selected="true"] { background: var(--action-primary); color: var(--white); }
.ic-abas__lista button:hover[aria-selected="false"] { background: var(--blue-200); }
.ic-painel { background: var(--bg-card); color: var(--text-primary); border-radius: var(--radius-lg); padding: var(--space-8); display: grid; gap: var(--space-4); justify-items: start; }
.ic-painel h3 { color: var(--text-primary) !important; margin: 0; }
.ic-painel > p { color: var(--text-secondary); max-width: 70ch; line-height: 1.6; }
.ic-painel[hidden] { display: none; }

/* 10 prova */
.ic-prova { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: start; }
.ic-case { background: var(--bg-dark); color: var(--text-on-dark); border-radius: var(--radius-lg); padding: var(--space-8); display: grid; gap: var(--space-3); }
.ic-case h3 { font-size: 32px; line-height: 1.2; margin: 0; }
.ic-case > p:not(.ic-rotulo) { color: var(--text-on-dark-muted); }
.ic-case .ic-preencher, .ic-case .ic-rotulo .ic-preencher { background: transparent; color: inherit; padding: 0; }
.ic-depoimento { margin: 0; background: var(--bg-section-alt); border-radius: var(--radius-lg); padding: var(--space-12); display: grid; gap: var(--space-4); }
.ic-depoimento blockquote { margin: 0; padding: 0; border: 0; font-family: var(--font-heading), sans-serif; font-weight: 500; font-size: 28px; line-height: 1.35; color: var(--text-primary); }
.ic-depoimento .ic-preencher { background: transparent; padding: 0; }

/* 12 banner material */
.ic-banner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); background: var(--bg-section-alt); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--space-8) var(--space-10, 40px); }
.ic-banner h3 { font-size: var(--size-h3); margin: 0 0 var(--space-1); }
.ic-banner p:last-child { color: var(--text-secondary); }
.ic-banner .ic-rotulo { margin-bottom: var(--space-1); }
.ic-banner .ic-preencher { background: transparent; padding: 0; }

/* 13 faq */
.ic-faq { max-width: 720px; }
.ic-faq__item { border-bottom: 1px solid var(--border); padding: 0; }
.ic-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5, 20px) 0; font-family: var(--font-heading), sans-serif; font-weight: 500; font-size: 18px; color: var(--text-primary); }
.ic-faq__item summary::-webkit-details-marker { display: none; }
.ic-faq__item summary::after { content: "+"; font-size: 24px; line-height: 1; color: var(--action-primary); }
.ic-faq__item[open] summary::after { content: "\2212"; }
.ic-faq__item p { color: var(--text-secondary); line-height: 1.7; padding-bottom: var(--space-5, 20px); }

/* 14 fechamento */
.ic-sec--centro .ic-lead { margin: var(--space-4) auto var(--space-6) !important; max-width: 56ch; }
.ic-sec--centro .wp-block-buttons { justify-content: center; }
.ic-sec--centro h2 { margin-bottom: var(--space-4); }

/* Tablet */
@media (max-width: 999px) {
  .ic-hero__grid, .ic-prova, .ic-abas { grid-template-columns: 1fr; }
  .ic-sec--hero { min-height: 0; padding-block: 132px 64px; }
  .ic-display { font-size: 44px; }
  .ic-numeros, .ic-passos { grid-template-columns: repeat(2, 1fr); }
  .ic-desafios { grid-template-columns: repeat(2, 1fr); }
  .ic-dor { grid-template-columns: 1fr; }
  .ic-logos { grid-template-columns: repeat(2, 1fr); }
  .ic-servicos { grid-template-columns: 1fr; }
  .ic-faixa, .ic-banner { flex-direction: column; align-items: flex-start; }
  .ic-checks { justify-content: flex-start; }
}
/* Celular */
@media (max-width: 689px) {
  .ic-display { font-size: var(--size-display); }
  .ic-numeros, .ic-passos, .ic-desafios, .ic-logos { grid-template-columns: 1fr; }
  .ic-sec h2 { margin-bottom: var(--space-8); }
  .ic-card-form { padding: var(--space-6); }
  .ic-depoimento { padding: var(--space-8); }
  .ic-sec .wp-block-buttons .wp-block-button, .ic-sec .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .ic-cartao-desafio { transition: none; } .ic-cartao-desafio:hover { transform: none; } }

/* acertos finos conferidos contra o Figma */
.ic-wrap > .ic-rotulo + h2 { margin-top: var(--space-8); }
.ic-case h3 { color: var(--white) !important; }
.ic-case .ic-rotulo { line-height: 1.5; }
.ic-depoimento figcaption { text-align: left; }
.ic-servicos { grid-template-rows: repeat(4, auto); grid-auto-flow: column; }
.ic-faq .wp-block-details, .ic-faq .ic-faq__item { margin: 0 !important; padding: 0 !important; }
.ic-faq__item summary { margin: 0 !important; padding: 20px 0 !important; }
.ic-faq__item[open] summary { padding-bottom: 12px !important; }
.ic-faq__item > p { margin: 0 !important; padding: 0 0 20px !important; }
#main-container, .site-main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.ic-sec--hero .ic-nota, .ic-sec--hero .ic-checks { margin: 0; }
.ic-card-form .ff-el-input--label .ff-el-tooltip, .ic-card-form .ff-el-is-required.asterisk-right label::after { display: none !important; }
@media (max-width: 999px) { .ic-servicos { grid-template-rows: none; grid-auto-flow: row; } }
body.home .ct-container-full, .ct-container-full[data-content="normal"] { padding-block: 0 !important; }
.ic-card-form .ff-el-help-message { font-style: normal; }

/* ===== Páginas internas (Figma: izatacore/paginas) ===== */
.ic-sec--hero.ic-sec--pagina { display: block; min-height: 0; padding-block: 168px 80px; }
.ic-sec--pagina .ic-migalhas { font-family: var(--font-mono), monospace; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-on-dark-muted); margin: 0 0 var(--space-6); }
.ic-sec--pagina .ic-migalhas a { color: inherit; text-decoration: none; }
.ic-sec--pagina .ic-migalhas a:hover { text-decoration: underline; }
.ic-sec--pagina .ic-display { font-size: var(--size-h1); max-width: 760px; margin: 0 0 var(--space-4); }
.ic-sec--pagina .ic-lead { max-width: 60ch; font-size: var(--size-body-lg); }
.ic-sec--pagina.ic-sec--pulse .ic-display { max-width: 24ch; }
.ic-sec--pulse { padding-bottom: 96px !important; }
.ic-sec--pulse .ic-rotulo--secao { margin-top: var(--space-24, 96px); }
.ic-sec--pulse h2.ic-h2-claro { color: var(--text-on-dark); max-width: 24ch; margin: var(--space-4) 0 var(--space-8); }
.ic-h2-medio { font-size: var(--size-h2); line-height: 1.2; margin: 0 0 var(--space-6) !important; max-width: 22ch; }
.ic-h2-fecho { max-width: 40ch; font-size: 28px; margin: 0 !important; }
.ic-h3-medio { font-size: var(--size-h3); margin: 0 0 var(--space-6) !important; }
.ic-texto-medio { color: var(--text-secondary); line-height: 1.7; max-width: 62ch; margin: 0 0 var(--space-4) !important; }
.ic-texto-medio--mb { margin-bottom: var(--space-8) !important; max-width: 70ch; }
.ic-texto-medio a { color: var(--action-link); }
.ic-wrap > .ic-rotulo + h2.ic-h2-medio { margin-top: var(--space-6); }

/* cartões */
.ic-cartoes { display: grid; gap: var(--space-6); align-items: start; }
.ic-cartoes--3 { grid-template-columns: repeat(3, 1fr); }
.ic-cartoes--4 { grid-template-columns: repeat(4, 1fr); }
.ic-cartao { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 4px 12px rgba(0,18,45,.06); }
.ic-cartao .ic-rotulo { margin: 0; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.ic-sec .ic-cartao h3 { font-size: 22px; line-height: 1.3; font-weight: 500; color: var(--text-primary); margin: 0; }
.ic-cartao__texto { color: var(--text-secondary); line-height: 1.55; }
.ic-cartao__extra { font-size: var(--size-small); color: var(--text-secondary); line-height: 1.5; }
.ic-cartao .ic-link { margin-top: var(--space-1); }
.ic-cartoes--claros .ic-cartao { border: 0; box-shadow: none; }

/* numerados em grade */
.ic-passos--3 { grid-template-columns: repeat(3, 1fr); row-gap: var(--space-12); }
.ic-passos--3 .ic-dor__item p:last-child, .ic-passos--4 .ic-dor__item p:last-child { max-width: 30ch; }
.ic-passos .ic-dor__item h3 { font-weight: 500; }

/* abas dentro do hero do Pulse */
.ic-abas--pagina { margin-top: var(--space-8); }

/* duas colunas */
.ic-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.ic-duas__esq, .ic-duas__dir { min-width: 0; }
.ic-duas .ic-checks--lista { margin-top: var(--space-6); gap: var(--space-4); }
.ic-card-form--pagina { box-shadow: none; border: 1px solid var(--border); }
.ic-card-form--pagina .ic-card-form__titulo { font-size: 24px !important; }
.ic-card-form--pagina select.ff-el-form-control { appearance: auto; }
.ic-card-form--pagina textarea.ff-el-form-control { height: auto; min-height: 96px; padding-block: var(--space-3); }

/* contato */
.ic-contatos { margin: var(--space-8) 0 0; display: grid; gap: var(--space-1); font-family: var(--font-mono), monospace; font-size: 14px; }
.ic-contatos dt { text-transform: uppercase; color: var(--text-primary); margin-top: var(--space-5, 20px); }
.ic-contatos dd { margin: 0; color: var(--text-primary); }
.ic-contatos a { color: inherit; }

/* política */
.ic-sec--aviso { background: var(--bg-preencher); }
.ic-aviso-legal { max-width: 820px; line-height: 1.7; color: var(--navy-800); font-size: 18px; }

@media (max-width: 999px) {
  .ic-cartoes--3, .ic-cartoes--4 { grid-template-columns: repeat(2, 1fr); }
  .ic-passos--3 { grid-template-columns: repeat(2, 1fr); }
  .ic-duas { grid-template-columns: 1fr; gap: var(--space-8); }
  .ic-sec--hero.ic-sec--pagina { padding-block: 132px 56px; }
}
@media (max-width: 689px) {
  .ic-cartoes--3, .ic-cartoes--4, .ic-passos--3 { grid-template-columns: 1fr; }
  .ic-sec--pagina .ic-display { font-size: var(--size-display); }
}
.ic-duas__esq .ic-rotulo + h2 { margin-top: var(--space-6); }
.ic-sec--pulse h2.ic-h2-claro { max-width: 820px; }
.ic-card-form .ff-el-form-control { background-color: var(--bg-card) !important; }
.page-id-2176 .ic-sec--pagina .ic-display { max-width: 880px; }
.ic-duas__esq .ic-rotulo + h2 { margin-top: var(--space-6) !important; }
.entry-content > .ic-sec, .ic-sec.alignfull { margin-block: 0 !important; }

/* ===================== IZATAHUB (Figma: izatahub/secoes e paginas) ===================== */
/* herda a base do izatacore acima; aqui só o que muda na marca Hub: hero claro, selo âmbar, cartões de produto, tabela, filtros */
.ic-sec--hero:not(.ic-sec--pagina) { background: var(--bg-hero); color: var(--text-primary); min-height: 0; display: block; padding-block: 176px 96px; }
.ic-sec--hero:not(.ic-sec--pagina) .ic-display { color: var(--text-primary); }
.ic-sec--hero:not(.ic-sec--pagina) .ic-lead { color: var(--text-secondary); }
.ic-sec--hero:not(.ic-sec--pagina) .ic-nota { color: var(--text-secondary); }
.ic-sec--hero:not(.ic-sec--pagina) :focus-visible { outline-color: var(--focus-ring); }
.ic-hero__grid--hub { grid-template-columns: 1.15fr 0.85fr; align-items: center; }
.ic-sec--hero:not(.ic-sec--pagina) .ic-hero__texto .ic-rotulo { margin: 0; }
.ic-sec--pagina { background: var(--bg-dark); color: var(--text-on-dark); }
.ic-sec--pagina .ic-migalhas { color: var(--text-highlight-on-dark); }
.ic-sec--pagina .ic-display { color: var(--white); }
.ic-sec--pagina .ic-lead { color: var(--text-on-dark-muted); }

/* botão de contorno em fundo claro */
.ic-btn--contorno .wp-block-button__link, .ic-btn--contorno > .wp-block-button__link { background: transparent; color: var(--action-primary); border: 2px solid var(--action-primary); }
.ic-btn--contorno .wp-block-button__link:hover { background: var(--action-primary); color: var(--white); }
.ic-produto .ic-btn { display: inline-block; }
.ic-produto .ic-btn .wp-block-button__link { display: inline-block; font-family: var(--font-body), sans-serif; font-weight: 600; font-size: 16px; padding: 14px 28px; border-radius: var(--radius-pill); text-decoration: none; }
.ic-produto .ic-btn--primario .wp-block-button__link { background: var(--action-primary); color: var(--white); border: 2px solid var(--action-primary); }
.ic-produto .ic-btn--contorno-escuro .wp-block-button__link { background: transparent; color: var(--white); border: 2px solid var(--white); }
.ic-btn--desativado .wp-block-button__link { background: rgba(255,255,255,.16); color: var(--text-on-dark-muted); border: 2px solid transparent; cursor: not-allowed; }

/* selo Grátis (âmbar) e cartões de produto */
.ic-selo { align-self: flex-start; display: inline-block; background: var(--badge-free); color: var(--badge-free-text); font: 600 13px/1 var(--font-body), sans-serif; padding: 6px 12px; border-radius: var(--radius-pill); }
.ic-cartoes--1 { grid-template-columns: 1fr; }
.ic-cartoes--2 { grid-template-columns: repeat(2, 1fr); }
.ic-cartao--produto { gap: var(--space-2); }
.ic-cartao--produto .ic-rotulo { font-size: 12px; margin: 0; }
.ic-cartao--produto h3 { font-size: 24px !important; font-weight: 500 !important; margin-top: var(--space-1) !important; }
.ic-cartao--produto .ic-cartao__texto { font-size: 17px; margin-top: var(--space-1); }
.ic-cartao--produto .ic-cartao__extra { margin-top: var(--space-2); font-size: 14px; line-height: 1.5; }
.ic-cartao--produto .ic-link { margin-top: var(--space-3); }
.ic-cartao--desativado { opacity: .65; }
.ic-link--off { color: var(--text-secondary); font-weight: 600; font-size: var(--size-small); }
.ic-hero__vitrine { display: grid; gap: var(--space-4); align-content: center; }
.ic-hero__vitrine .ic-cartoes { gap: var(--space-4); }
.ic-hero__vitrine .ic-cartao--produto { background: var(--bg-card); }

/* faixa de confiança */
.ic-sec--faixa-confianca { padding-block: var(--space-6); }
.ic-sec--faixa-confianca .ic-checks { justify-content: center; gap: var(--space-8) var(--space-12); }

/* caixa "Tecnologia que ajuda de graça" */
.ic-caixa-gratis { margin-top: var(--space-12); background: var(--bg-card); border: 1px solid var(--border); padding: var(--space-12) var(--space-12); display: grid; gap: var(--space-4); }
.ic-caixa-gratis h3 { font-size: 28px; margin: 0; }
.ic-caixa-gratis p { margin: 0; color: var(--text-secondary); line-height: 1.7; }
.ic-caixa-gratis p.ic-caixa-gratis__linhas { color: var(--text-primary); line-height: 1.7; font-size: var(--size-small); }
.ic-sec .ic-lead--escuro { color: var(--text-secondary); max-width: 60ch; margin: 0 0 var(--space-8); }

/* tabela Izatahub × Izatacore */
.ic-comparar { border: 1px solid var(--border); display: grid; grid-template-columns: 180px 1fr 1fr; background: var(--bg-section-alt); }
.ic-comparar > div { padding: var(--space-8) var(--space-6); font-size: 15px; color: var(--text-primary); display: flex; align-items: center; }
.ic-comparar .ic-comparar__rot { font-family: var(--font-mono), monospace; font-size: 13px; color: var(--text-secondary); }
.ic-comparar .ic-comparar__hub { background: var(--bg-card); }
.ic-comparar .ic-comparar__cab { font: 700 20px var(--font-heading), sans-serif; padding-block: var(--space-6) var(--space-4); align-items: flex-start; }
.ic-comparar .ic-comparar__cab.ic-comparar__hub { color: var(--action-primary); }

/* filtros da listagem */
.ic-filtros { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-8); }
.ic-filtros button { font: 500 15px var(--font-body), sans-serif; padding: 8px 20px; border-radius: var(--radius-pill); border: 1px solid var(--border); background: var(--bg-card); color: var(--text-primary); cursor: pointer; }
.ic-filtros button.is-ativo { background: var(--action-primary); border-color: var(--action-primary); color: var(--white); }
.ic-filtros button:hover:not(.is-ativo) { border-color: var(--action-primary); }

/* página do produto */
.ic-produto__meta { display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-4); }
.ic-produto__meta .ic-cat { font-family: var(--font-mono), monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-on-dark-muted); }
.ic-produto__botoes { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-6); }
.ic-produto .ic-sec { margin: 0; }
.ic-duas--oque { grid-template-columns: 1.4fr 1fr; gap: var(--space-12); }
.ic-painel-claro { background: var(--bg-section-alt); padding: var(--space-8); }
.ic-painel-claro h3 { font-size: 20px; margin: 0 0 var(--space-3); }
.ic-painel-claro p { color: var(--text-secondary); line-height: 1.7; margin: 0; font-size: 15px; }
.ic-duas--ganhos { gap: var(--space-6); align-items: stretch; }
.ic-caixa { background: var(--bg-card); border: 1px solid var(--border); padding: var(--space-8); }
.ic-caixa h3 { font-size: 20px; margin: 0 0 var(--space-4); }
.ic-caixa--aviso { background: var(--bg-preencher); border-color: transparent; }
.ic-caixa--aviso p { margin: 0; line-height: 1.6; font-size: 15px; }
.ic-caixa .ic-checks { gap: var(--space-2); font-size: 15px; }
.ic-passos--3 { grid-template-columns: repeat(3, 1fr); }
.ic-produto .ic-texto-medio p { margin: 0 0 var(--space-4); }

@media (max-width: 999px) {
  .ic-hero__grid--hub, .ic-duas--oque { grid-template-columns: 1fr; }
  .ic-sec--hero:not(.ic-sec--pagina) { padding-block: 132px 56px; }
  .ic-comparar { grid-template-columns: 120px 1fr 1fr; }
  .ic-comparar > div { padding: var(--space-4); }
  .ic-caixa-gratis { padding: var(--space-8) var(--space-6); }
}
@media (max-width: 689px) {
  .ic-comparar { grid-template-columns: 1fr; }
  .ic-comparar .ic-comparar__cab:first-child { display: none; }
  .ic-comparar .ic-comparar__rot { padding-bottom: 0; font-weight: 600; }
  .ic-comparar .ic-comparar__hub, .ic-comparar > div { padding-block: var(--space-3); }
  .ic-passos--3 { grid-template-columns: 1fr; }
}
/* página do produto: faixas de ponta a ponta (o tipo de conteúdo não herda o "alinhamento total" das páginas) */
.single-produto { overflow-x: clip; }
.single-produto .ic-produto { width: 100vw; margin-left: calc(50% - 50vw); }
.single-produto #main-container, .single-produto .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
.ic-h2-largo { max-width: 860px !important; }
.single-produto .entry-content > .ic-produto, .single-produto .ic-produto { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
.ic-rotulo + .ic-cartoes, .ic-rotulo + .ic-filtros { margin-top: var(--space-8); }

/* ===== Calibragem contra o Figma (medida em pixels) ===== */
/* páginas internas e fechamento usam 96px de respiro vertical; a Home usa o token de 112px */
@media (min-width: 1000px) {
  body:not(.home) .ic-sec:not(.ic-sec--hero):not(.ic-sec--compacta):not(.ic-sec--faixa):not(.ic-sec--faixa-confianca) { padding-block: var(--space-24); }
  .ic-sec--centro { padding-block: var(--space-24); }
  .ic-sec--hero.ic-sec--pagina { padding-block: 176px 78px; }
}
.ic-sec--centro .ic-wrap > .ic-rotulo + h2 { margin-top: 17px; }
.ic-sec--centro .ic-lead { margin: var(--space-4) auto var(--space-4) !important; }
/* cartões de serviço/módulo: tipografia e ritmo medidos no Figma */
.ic-cartao { gap: 0; }
.ic-sec .ic-cartao h3 { font-size: 24px; line-height: 34px; margin: 10px 0 0; }
.ic-cartao .ic-rotulo { margin: 0; }
.ic-cartao__texto { font-size: 18px; line-height: 27px; margin: 14px 0 0; }
.ic-cartao__extra { font-size: 14px; line-height: 21px; margin: 18px 0 0; }
.ic-cartao__extra + .ic-cartao__extra { margin-top: 0; }
.ic-cartao .ic-link { margin-top: 16px; }
/* migalhas e título das páginas internas */
.ic-sec--pagina .ic-migalhas { margin-bottom: 18px; }
.ic-sec--pagina .ic-display { line-height: 1.2; }
.ic-cartao__texto { font-size: 16px; line-height: 27px; margin-top: 25px; }
@media (min-width: 1000px) {
  body:not(.home) .ic-wrap > .ic-rotulo + h2 { margin-top: 38px; }
  body:not(.home) .ic-sec h2 { margin-bottom: 43px; }
}
.ic-sec .ic-cartao__texto { font-size: 16px; line-height: 27px; margin: 25px 0 0; }
.ic-sec .ic-cartao__extra { font-size: 14px; line-height: 21px; margin: 18px 0 0; }
.ic-sec .ic-cartao__extra + .ic-cartao__extra { margin-top: 0; }
.ic-sec .ic-cartao .ic-link { margin-top: 16px; }
.ic-sec .ic-cartao .ic-rotulo { margin: 0; }
.ic-sec--centro h2 { margin-bottom: 16px !important; }
.ic-sec .ic-cartao__texto { margin-top: 11px; }
.ic-sec .ic-cartao__extra { margin-top: 9px; }
.ic-sec .ic-cartao .ic-link { margin-top: 11px; }
.ic-sec .ic-cartao__texto { line-height: 23px; margin-top: 12px; }
.ic-sec .ic-cartao__extra { margin-top: 15px; }
.ic-sec .ic-cartao { padding-bottom: 18px; }
.ic-sec--centro .ic-wrap > .ic-rotulo + h2 { margin-top: 17px !important; }
/* colunas numeradas (Dor / Como trabalhamos / Diferenciais) */
.ic-sec .ic-dor__num { font-size: 60px; line-height: 1; margin-bottom: 20px !important; }
.ic-sec .ic-dor__item p:last-child { line-height: 26px; }
.ic-sec .ic-dor__num { font-size: 56px; margin-top: 8px; margin-bottom: 21px !important; }
@media (min-width: 1000px) {
  body:not(.home) .ic-sec--faq .ic-wrap > .ic-rotulo + h2 { margin-top: 30px; }
  body:not(.home) .ic-sec--faq h2 { margin-bottom: 35px; }
}
.ic-faq__item > p { line-height: 26px; }
/* colunas de texto + formulário (Contato, SALUS, Parceiros, Sobre) */
.ic-sec .ic-h2-medio { font-size: 32px; line-height: 40px; }
.ic-sec .ic-texto-medio { font-size: 16px; line-height: 26px; }
.ic-aviso-legal { line-height: 27px; }
.ic-card-form--pagina textarea.ff-el-form-control { height: 48px; min-height: 48px; padding-block: 12px; resize: vertical; }
.ic-card-form .ff-el-input--label { margin-bottom: 0; }
.ic-card-form .ff-el-input--label label { display: block; line-height: 20px; margin: 0 0 5px; }
.ic-card-form .ff-el-help-message { margin-top: 5px; line-height: 18px; }
.ic-card-form .ff-el-group { margin-bottom: 12px; }
.ic-card-form .ff-el-form-control::placeholder { color: var(--text-secondary); opacity: 1; }
.ic-card-form .ff-el-form-control { color: var(--text-secondary); }
.ic-card-form .ff-el-group { margin-bottom: 10px; }
.ic-card-form--pagina .ic-card-form__titulo { margin-bottom: 12px !important; }
.ic-card-form .ff_submit_btn_wrapper { margin-top: 6px; }
.ic-card-form .ic-nota--form, .ic-card-form .ic-nota { margin-top: 20px !important; line-height: 18px; font-size: 12px; }
.ic-card-form .ff_submit_btn_wrapper { margin-top: 6px !important; margin-bottom: 0 !important; }
.ic-card-form .frm-fluent-form, .ic-card-form .fluentform { margin-bottom: 0 !important; }
.ic-card-form .ff-el-group:last-of-type { margin-bottom: 0; }
.ic-card-form .ff_submit_btn_wrapper { margin-top: 16px !important; }
@media (min-width: 1000px) { body:not(.home) .ic-sec h2 { max-width: 960px; } }
@media (min-width: 1000px) {
  body:not(.home) .ic-sec--dif .ic-wrap > .ic-rotulo + h2 { margin-top: 30px; }
  body:not(.home) .ic-sec--dif h2 { margin-bottom: 34px; }
  .ic-sec--dif .ic-passos--3 .ic-dor__item p:last-child { max-width: 340px; }
  body:not(.home) .ic-sec.ic-sec--fecho { padding-block: 72px; }
  .ic-sec--fecho .ic-h2-fecho { font-size: 28px !important; line-height: 38px !important; max-width: 940px !important; }
}
.ic-duas__esq .ic-rotulo + h2 { margin-top: 14px !important; }
.ic-sec .ic-h2-medio { margin-bottom: 19px !important; }
@media (min-width: 1000px) { .ic-sec.ic-sec--fecho { padding-block: 72px !important; } }
.ic-sec--fecho .ic-h2-fecho { margin-bottom: 0 !important; }
@media (min-width: 1000px) { .ic-sec--dif .ic-passos--3 .ic-dor__item { max-width: 320px; } .ic-sec--dif .ic-passos--3 .ic-dor__item p:last-child { max-width: none; } }
.ic-duas > .ic-duas__esq, .ic-duas > .ic-duas__dir { margin: 0 !important; }
.ic-duas__esq > :last-child, .ic-duas__dir > :last-child { margin-bottom: 0 !important; }
@media (min-width: 1000px) { .ic-sec--pulse .ic-rotulo--secao { margin-top: 173px; } }
.ic-abas__lista button { padding: 17.5px 20px; }
.ic-sec--pagina .ic-display { max-width: 800px; }
.ic-sec--pagina .ic-lead { max-width: 720px; }
/* hero da página do produto */
.ic-produto .ic-sec--pagina .ic-display { font-size: 56px; line-height: 1.2; margin: 0 0 18px; max-width: none; }
.ic-produto__meta { margin: 0 0 24px; }
.ic-produto__botoes { margin-top: 20px; }
.ic-produto__meta { margin-bottom: 46px; }
.ic-produto .ic-sec--pagina .ic-display { margin-bottom: 26px; }
.ic-sec .ic-produto__meta { margin: 0 0 22px; }
/* Home do Hub: todas as seções usam 96px de respiro vertical (medido no Figma) */
@media (min-width: 1000px) { body.home .ic-sec:not(.ic-sec--hero):not(.ic-sec--faixa-confianca) { padding-block: var(--space-24); } }
/* cartões de produto (medido no Figma) */
.ic-sec .ic-cartao--produto .ic-selo { margin-bottom: 15px; }
.ic-sec .ic-cartao--produto h3 { margin-top: 9px; }
.ic-sec .ic-cartao--produto .ic-cartao__extra { margin-top: 6px; }
.ic-sec .ic-cartao--produto .ic-cartao__texto { margin-top: 12px; }
.ic-sec .ic-cartao--produto .ic-selo { margin-bottom: 11px; }
.ic-sec .ic-cartao--produto h3 { margin-top: 13px; }
.ic-sec .ic-cartao--produto .ic-cartao__texto { margin-top: 14px; }
.ic-sec .ic-cartao--produto .ic-cartao__extra { margin-top: 13px; }
.ic-sec .ic-cartao--produto h3 { margin-top: 17px; }
.ic-sec .ic-cartao--produto .ic-cartao__extra { margin-top: 12px; }
.ic-sec .ic-cartao--produto { padding-bottom: 24px; }
.ic-sec--faixa-confianca { padding-block: 31px; }
/* Home do Hub: problema do dia */
@media (min-width: 1000px) {
  .ic-desafios { grid-template-columns: repeat(4, 280px); }
  body.home .ic-sec--alt .ic-wrap > .ic-rotulo + h2 { margin-top: 46px; }
  body.home .ic-sec--alt h2 { margin-bottom: 46px; }
}
.ic-cartao-desafio__frase { line-height: 26px; }
.ic-cartao-desafio { gap: 20px; }
.ic-cartao-desafio__frase { font-size: 22px; line-height: 26px; }
@media (min-width: 1000px) { body.home .ic-sec--alt h2 { margin-bottom: 51px; } }
.ic-cartao-desafio { gap: 0; padding-bottom: 20px; }
.ic-cartao-desafio__icone { margin-bottom: 17px; }
.ic-cartao-desafio .ic-cartao-desafio__link { margin-top: 11px; }
@media (min-width: 1000px) {
  body.home .ic-sec:not(.ic-sec--hero):not(.ic-sec--escura) .ic-wrap > .ic-rotulo + h2 { margin-top: 46px; }
  body.home .ic-sec:not(.ic-sec--alt):not(.ic-sec--hero) h2 { margin-bottom: 46px; }
}
/* Home do Hub: seção Produtos (título + frase de apoio + cartões) */
@media (min-width: 1000px) {
  body.home .ic-sec--prod .ic-wrap > .ic-rotulo + h2 { margin-top: 34px; }
  body.home .ic-sec--prod h2 { margin-bottom: 28px; }
  body.home .ic-sec--prod .ic-lead--escuro { margin-bottom: 24px; }
}
.ic-sec .ic-cartao--produto h3 { margin-top: 22px; }
.ic-sec .ic-cartao--produto .ic-selo + .ic-rotulo { margin-top: 0; }
@media (min-width: 1000px) {
  body.home .ic-sec--prod .ic-wrap > .ic-rotulo + h2 { margin-top: 34px !important; }
  body.home .ic-sec--prod h2 { margin-bottom: 28px !important; }
  body.home .ic-sec--prod .ic-lead--escuro { margin-bottom: 24px !important; }
  .ic-comparar > div { min-height: 88px; padding: 16px 24px; }
  .ic-comparar > .ic-comparar__cab { min-height: 66px; padding: 20px 24px 0; }
}
@media (min-width: 1000px) {
  body.home .ic-sec--prod .ic-wrap > .ic-rotulo + h2 { margin-top: 22px !important; }
  body.home .ic-sec--prod .ic-lead--escuro { max-width: 800px; margin-bottom: 24px !important; }
}
@media (min-width: 1000px) {
  body.home .ic-sec--comparar .ic-wrap > .ic-rotulo + h2 { margin-top: 31px !important; }
  body.home .ic-sec--comparar h2 { margin-bottom: 34px !important; }
  body.home .ic-sec--faq .ic-wrap > .ic-rotulo + h2 { margin-top: 30px !important; }
  body.home .ic-sec--faq h2 { margin-bottom: 35px !important; }
  body.home .ic-sec--alt:has(.ic-numeros) .ic-wrap > .ic-rotulo + h2 { margin-top: 39px; }
  body.home .ic-sec--alt:has(.ic-numeros) h2 { margin-bottom: 37px; }
}
.ic-numeros { padding: 43px 48px 40px; }
.ic-numero__valor { font-size: 34px; }
.ic-numero__rotulo { max-width: none; font-size: 14px; }
.ic-sec .ic-cartao--produto h3 { margin-top: 27px; }
.ic-sec .ic-cartao--produto .ic-cartao__extra + .ic-cartao__extra { margin-top: 0 !important; }
@media (min-width: 1000px) { .ic-sec--pagina .ic-display { max-width: 840px; } }
/* celular: botões do tamanho do conteúdo (como no desenho) e logos em 2 colunas */
@media (max-width: 689px) {
  .ic-sec .wp-block-buttons .wp-block-button, .ic-sec .wp-block-buttons .wp-block-button__link { width: auto; }
  .ic-sec .wp-block-buttons { flex-direction: column; align-items: flex-start; }
  .ic-sec--centro .wp-block-buttons { align-items: center; }
  .ic-logos { grid-template-columns: repeat(2, 1fr); }
}
/* tablet: escala tipográfica mais enxuta (como no desenho de 768px) */
@media (min-width: 690px) and (max-width: 999px) {
  .ic-sec h2 { font-size: 28px; line-height: 1.25; margin-bottom: 32px; }
  .ic-sec .ic-dor__num { font-size: 44px; margin-bottom: 14px !important; }
  .ic-sec .ic-dor__item h3 { font-size: 22px; }
  .ic-logos { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .ic-logo-ph { height: 64px; font-size: 10px; }
  .ic-numeros { padding: 32px; gap: 24px 32px; grid-template-columns: repeat(2, 1fr); }
  .ic-numero__valor { font-size: 28px; }
  .ic-numero__rotulo { font-size: 13px; max-width: none; }
  .ic-sec .ic-cartao h3 { font-size: 22px; line-height: 30px; }
  .ic-cartao-desafio__frase { font-size: 18px; line-height: 24px; }
  .ic-sec .ic-lead { font-size: 17px; }
}
@media (max-width: 999px) { .ic-passos--3 { grid-template-columns: 1fr; row-gap: 32px; } }
/* Izatahub × Izatacore no celular: dois blocos empilhados (como no desenho) */
.ic-comparar-m { display: none; }
@media (max-width: 689px) {
  .ic-comparar { display: none; }
  .ic-comparar-m { display: block; border: 1px solid var(--border); }
  .ic-comparar-m > div { padding: 12px 24px 20px; }
  .ic-comparar-m__core { background: var(--bg-section-alt); }
  .ic-comparar-m h3 { font-size: 24px; margin: 0 0 8px; color: var(--text-primary); }
  .ic-comparar-m__hub h3 { color: var(--action-primary); }
  .ic-comparar-m p { margin: 0; font-size: 16px; line-height: 24px; color: var(--text-primary); }
}
