/* terapia.com.pt — páginas de PARCERIAS (17/10/2026). Só as classes pa-*; tudo o resto vem do site.css (tokens, botões, cabeçalho, rodapé).
   Ordem de tons (a mesma do site): herói sálvia → o que ouve areia → ofertas espuma → indicação água → específico rosa → pedido trigo. */
.parcerias main section { scroll-margin-top: 96px; }
.pa-secao { padding: clamp(2.6rem, 6vw, 4.6rem) 0; }
.pa-secao h2 { max-width: 20ch; margin-bottom: 1rem; }
.pa-secao h2 em { color: var(--ameixa); }
.pa-secao .pa-intro { color: var(--nevoa); max-width: 62ch; margin: 0 0 2rem; font-size: 1.05rem; }

/* herói */
.pa-heroi { background: var(--pastel-salvia); padding: clamp(2.2rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.5rem); }
.pa-heroi .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 410px); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.pa-heroi h1 { font-family: var(--f-titulo); font-weight: 400; font-size: clamp(2.1rem, 4.8vw, 3.5rem); line-height: 1.07; margin: .5rem 0 1.1rem; color: var(--mar); max-width: 19ch; }
.pa-heroi h1 em { color: var(--ameixa); }
.pa-heroi .lede { font-size: clamp(1.05rem, 2vw, 1.22rem); color: var(--nevoa); max-width: 60ch; margin: 0 0 1.6rem; }
.pa-heroi .rotulo { margin: .9rem 0 0; }
.pa-botoes { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; }
.pa-assinatura { display: flex; gap: .8rem; align-items: center; margin-top: 1.6rem; color: var(--nevoa); font-size: .93rem; }
.pa-assinatura img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
.pa-assinatura b { color: var(--mar); font-weight: 600; }

/* o cartão para entregar (maqueta: frente e verso; o QR verdadeiro sai com o código de cada parceiro) */
.pa-cartoes { position: relative; padding: 0 0 5.6rem 2.4rem; margin: 0; }
.pa-cartao { position: relative; aspect-ratio: 85 / 55; border-radius: 14px; background: var(--papel); border: 1px solid var(--linha);
  box-shadow: 0 2px 4px rgba(18,59,57,.06), 0 24px 48px -22px rgba(18,59,57,.38); padding: 1.1rem 1.2rem; display: grid;
  grid-template-columns: minmax(0, 1fr) auto; gap: .4rem 1rem; align-content: space-between; }
.pa-cartao-verso { position: absolute; left: 0; right: 2.4rem; top: 3.9rem; background: var(--mar); border-color: var(--mar); color: var(--espuma);
  display: flex; flex-direction: column; justify-content: flex-end; gap: .1rem; padding: .75rem 1.2rem; z-index: 0; }
.pa-cartao-frente { z-index: 1; margin-left: 0; }
.pa-cartao-verso small { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.pa-cartao-verso span { font-family: var(--f-titulo); font-size: 1.05rem; }
.pa-cartao .pa-c-logo { grid-column: 1 / -1; display: flex; align-items: center; gap: .55rem; font-family: var(--f-titulo); color: var(--mar); font-size: 1rem; }
.pa-cartao .pa-c-logo img { height: 34px; width: auto; }
.pa-cartao .pa-c-texto { font-family: var(--f-titulo); font-size: clamp(1.02rem, 1.6vw, 1.18rem); line-height: 1.2; color: var(--mar); align-self: end; }
.pa-cartao .pa-c-texto em { color: var(--ameixa); }
.pa-cartao .pa-c-link { grid-column: 1; font-size: .78rem; color: var(--onda); font-weight: 600; letter-spacing: .01em; }
.pa-qr { grid-column: 2; grid-row: 2 / span 2; align-self: end; width: 74px; height: 74px; border: 1.5px dashed color-mix(in srgb, var(--onda) 55%, transparent);
  border-radius: 10px; display: grid; place-items: center; text-align: center; font-size: .62rem; line-height: 1.15; color: var(--nevoa); padding: .3rem; }
.pa-cartoes figcaption { position: absolute; left: 0; bottom: 0; font-size: .8rem; color: var(--nevoa); }

/* o número */
.pa-dado { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem 1.4rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--linha); }
.pa-dado b { font-family: var(--f-titulo); font-weight: 400; font-size: clamp(2.6rem, 6.5vw, 4.2rem); line-height: 1; color: var(--ameixa); letter-spacing: -.01em; }
.pa-dado span { color: var(--nevoa); max-width: 60ch; }
.pa-dado a { color: var(--nevoa); }

/* o que ouve (as frases na voz de quem sofre) */
.pa-ouve { background: var(--pastel-areia); }
.pa-ouve .wrap { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pa-frases { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.pa-frases li { font-family: var(--f-titulo); font-style: italic; font-size: clamp(1.2rem, 2.3vw, 1.5rem); line-height: 1.25; color: var(--mar);
  background: var(--papel); border-radius: 18px 18px 18px 4px; padding: .9rem 1.2rem; border: 1px solid #E5DCCD; width: fit-content; max-width: 100%; }
.pa-frases li:nth-child(even) { justify-self: end; border-radius: 18px 18px 4px 18px; }
.pa-ouve-texto p { color: var(--tinta); margin: 0 0 1rem; font-size: 1.06rem; }

/* ofertas */
.pa-ofertas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.pa-oferta { background: var(--papel); border: 1px solid var(--linha); border-radius: 18px; padding: 1.5rem 1.4rem 1.6rem; display: flex; flex-direction: column; gap: .7rem; }
.pa-oferta .pa-icone { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: var(--onda); background: var(--pastel-agua); }
.pa-oferta .pa-icone svg { width: 30px; height: 30px; }
.pa-oferta h3 { font-family: var(--f-titulo); font-weight: 400; font-size: 1.45rem; line-height: 1.15; }
.pa-oferta p { margin: 0; color: var(--nevoa); }
.pa-oferta .pa-gratis { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--onda); }
.pa-temas { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.pa-temas li { background: var(--papel); border: 1px solid var(--linha); border-radius: 99px; padding: .5rem 1rem; font-size: .94rem; }
.pa-temas li b { color: var(--mar); font-weight: 600; }
.pa-temas li span { color: var(--nevoa); }
.pa-temas-rotulo { margin: 2rem 0 0; color: var(--nevoa); font-size: .95rem; }
.pa-temas-rotulo + .pa-temas { margin-top: .7rem; }
.pa-ajuda { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: .8rem 0 0; padding: 0; list-style: none; font-size: .93rem; }
.pa-ajuda a { color: var(--onda); text-underline-offset: 3px; }

/* indicação e privacidade */
.pa-indicacao { background: var(--pastel-agua); }
.pa-passos { list-style: none; counter-reset: passo; margin: 0 0 2.2rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.pa-passos li { counter-increment: passo; position: relative; padding-top: 3.2rem; color: var(--tinta); }
.pa-passos li::before { content: counter(passo); position: absolute; top: 0; left: 0; font-family: var(--f-titulo); font-size: 2.6rem; line-height: 1; color: var(--ameixa); }
.pa-passos b { display: block; font-family: var(--f-titulo); font-weight: 400; font-size: 1.25rem; color: var(--mar); margin-bottom: .3rem; }
.pa-passos span { color: var(--nevoa); font-size: .97rem; }
.pa-links { display: grid; gap: .5rem; margin: 0 0 2.2rem; }
.pa-links code { display: block; width: fit-content; max-width: 100%; overflow-wrap: anywhere; font: 500 clamp(.86rem, 2.2vw, 1rem)/1.4 ui-monospace, "Cascadia Mono", Consolas, monospace;
  background: var(--papel); border: 1px solid var(--linha); border-radius: 10px; padding: .6rem .9rem; color: var(--mar); }
.pa-links code i { font-style: normal; color: var(--ameixa); }
.pa-privacidade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.pa-priv { background: var(--papel); border-radius: 18px; padding: 1.4rem 1.4rem 1.5rem; border: 1px solid var(--linha); }
.pa-priv h3 { font-family: var(--f-titulo); font-weight: 400; font-size: 1.35rem; margin-bottom: .6rem; display: flex; gap: .6rem; align-items: center; }
.pa-priv h3::before { content: ""; width: 12px; height: 12px; border-radius: 50%; flex: none; background: var(--onda); }
.pa-priv-nunca h3::before { background: var(--ameixa); }
.pa-priv p { margin: 0; color: var(--nevoa); }
.pa-priv-nunca { border-color: #E8D6DE; }

/* específico de cada parceiro */
.pa-especifico .pa-painel { background: var(--pastel-rosa); border-radius: 24px; padding: clamp(1.8rem, 5vw, 3.2rem); display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.pa-especifico .pa-painel h2 { margin: 0; }
.pa-especifico .pa-painel p { margin: 0 0 1rem; font-size: 1.04rem; }
.pa-especifico .pa-painel p:last-child { margin-bottom: 0; }
.pa-nao { margin-top: 1.4rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem 1.4rem; padding: 0; list-style: none; }
.pa-nao li { position: relative; padding-left: 1.5rem; color: var(--nevoa); font-size: .97rem; }
.pa-nao li::before { content: "—"; position: absolute; left: 0; color: var(--ameixa); }

/* tipos de parceiro (hub) */
.pa-tipos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.pa-tipo { display: flex; flex-direction: column; gap: .55rem; text-decoration: none; color: var(--tinta); background: var(--papel); border: 1px solid var(--linha);
  border-radius: 18px; padding: 1.4rem 1.3rem; transition: transform .2s, border-color .2s; }
.pa-tipo:hover { transform: translateY(-3px); border-color: var(--onda); }
.pa-tipo small { color: var(--onda); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; }
.pa-tipo b { font-family: var(--f-titulo); font-weight: 400; font-size: 1.45rem; line-height: 1.15; color: var(--mar); }
.pa-tipo span { color: var(--nevoa); font-size: .95rem; }
.pa-tipo em { margin-top: auto; padding-top: .5rem; font-style: normal; color: var(--onda); font-weight: 600; font-size: .95rem; }
.pa-tipo[aria-current="page"] { border-color: var(--onda); background: var(--pastel-agua); }

/* pedido */
.pa-pedido { background: var(--pastel-trigo); }
.pa-pedido .wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pa-pedido-lado p { color: var(--nevoa); }
.pa-pedido-lado .autora { margin-top: 1.6rem; background: var(--papel); }
.pa-pedido-lado .botao-zap { margin-top: .6rem; }
.pa-form { background: var(--papel); border: 1px solid var(--linha); border-radius: 20px; padding: clamp(1.3rem, 4vw, 2.2rem); box-shadow: var(--sombra); }
.pa-form .formulario { gap: 1rem; }
.pa-form .duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pa-form label > span.opcional { color: var(--nevoa); font-weight: 400; font-size: .82rem; }
.pa-form select, .pa-form textarea, .pa-form input[type=tel] { background: var(--espuma); border: 1px solid var(--linha); border-radius: 10px; padding: .8rem .9rem;
  color: var(--tinta); font: inherit; width: 100%; }
.pa-form input[type=text], .pa-form input[type=email] { width: 100%; }
.pa-form textarea { resize: vertical; min-height: 7.5rem; }
.pa-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: .5rem; }
.pa-form legend { font-size: .9rem; color: var(--nevoa); margin-bottom: .4rem; padding: 0; }
.pa-form .marca-caixa { color: var(--tinta); }
.pa-form [aria-invalid="true"] { border-color: var(--ameixa) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ameixa) 18%, transparent); }
.pa-form .marca-caixa:has([aria-invalid="true"]) span { color: var(--ameixa); }
.pa-form .aviso-form { scroll-margin-top: 120px; background: var(--pastel-rosa); border-color: #E3C9D6; color: var(--tinta); }
.pa-form .aviso-form ul { margin: .4rem 0 0; padding-left: 1.1rem; }
.pa-nota { font-size: .85rem; color: var(--nevoa); margin: 0; }
.pa-form :focus-visible { outline: 2px solid var(--onda); outline-offset: 2px; }

/* outras parcerias + recursos */
.pa-outras .pa-tipos { margin-bottom: 2rem; }
.pa-recursos { display: flex; flex-wrap: wrap; gap: .7rem; }
.parcerias .perguntas-pagina { max-width: 760px; }
.parcerias .perguntas-pagina h2 { margin-bottom: .6rem; }

/* obrigado */
.pa-obrigado { padding: clamp(3rem, 8vw, 6rem) 0; background: var(--pastel-salvia); }
.pa-obrigado h1 { font-family: var(--f-titulo); font-weight: 400; font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1.08; color: var(--mar); max-width: 18ch; margin: 0 0 1rem; }
.pa-obrigado h1 em { color: var(--ameixa); }
.pa-obrigado p { color: var(--nevoa); max-width: 60ch; }

@media (max-width: 1100px) {
  .pa-tipos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pa-heroi .wrap, .pa-ouve .wrap, .pa-pedido .wrap, .pa-especifico .pa-painel { grid-template-columns: minmax(0, 1fr); }
  .pa-cartoes { max-width: 380px; }
  .pa-ofertas, .pa-privacidade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .pa-tipos, .pa-passos, .pa-form .duas { grid-template-columns: minmax(0, 1fr); }
  .pa-dado { grid-template-columns: minmax(0, 1fr); }
  .pa-cartoes { padding-left: 1.2rem; }
  .pa-cartao-verso { right: 1.2rem; }
  .pa-qr { width: 62px; height: 62px; font-size: .56rem; }
  .pa-frases li:nth-child(even) { justify-self: start; }
  .pa-botoes .botao { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .pa-tipo { transition: none; } }

/* ------------------------------------------------ v2 (18/10/2026): cartão real, ganha-ganha, rede, pacote, logo, página do cartão */
.visualmente-escondido { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pa-exemplo { position: relative; margin: 0; padding: 0 0 0 2.6rem; }
.pa-exemplo img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 2px 4px rgba(18,59,57,.08), 0 26px 50px -24px rgba(18,59,57,.42); }
.pa-exemplo .pa-ex-frente { position: relative; z-index: 1; margin-bottom: 3.8rem; }
.pa-exemplo .pa-ex-verso { position: absolute; left: 0; top: 3.2rem; width: calc(100% - 2.6rem); }
.pa-exemplo figcaption { position: relative; margin-left: -2.6rem; font-size: .82rem; color: var(--nevoa); }
.pa-lados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
.pa-lado .pa-ofertas { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
.pa-lado-titulo { font: 700 .78rem/1.2 var(--f-texto) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--onda) !important; margin: 0 0 .8rem !important;
  display: flex; align-items: center; gap: .7rem; }
.pa-lado-titulo::after { content: ""; flex: 1; height: 1px; background: var(--linha); }
.pa-lado .pa-oferta { display: grid; grid-template-columns: 54px minmax(0, 1fr); column-gap: 1rem; row-gap: .3rem; align-items: start; padding: 1.2rem; }
.pa-lado .pa-oferta .pa-icone { grid-row: span 2; }
.pa-lado .pa-oferta h3 { font-size: 1.25rem; }
.pa-sem-comissao { margin: 1.6rem 0 0; padding: 1rem 1.2rem; border-radius: 14px; background: var(--pastel-rosa); border: 1px solid #E8D6DE; color: var(--tinta); }
.pa-sem-comissao b { color: var(--ameixa); }
.pa-regras ul { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pa-regras li { background: var(--papel); border: 1px solid var(--linha); border-radius: 99px; padding: .45rem .95rem; font-size: .93rem; }
/* rede de parceiros */
.pa-rede { background: var(--pastel-lilas, #F1EFF4); }
.pa-rede-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.pa-rede-item { background: var(--papel); border: 1px solid var(--linha); border-radius: 18px; padding: 1.2rem; display: flex; flex-direction: column; gap: .4rem; }
.pa-rede-logo { display: grid; place-items: center; height: 92px; border-radius: 12px; background: #fff; border: 1px solid var(--linha); padding: .8rem; margin-bottom: .4rem; }
.pa-rede-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pa-rede-tipo { color: var(--onda); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; }
.pa-rede-item b { font-family: var(--f-titulo); font-weight: 400; font-size: 1.35rem; color: var(--mar); line-height: 1.15; }
.pa-rede-servicos { color: var(--nevoa); font-size: .95rem; }
.pa-rede-site { margin-top: auto; padding-top: .5rem; color: var(--onda); font-weight: 600; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }
/* pacote das empresas */
.pa-pacote { background: var(--pastel-agua); }
.pa-pacote-grelha { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 1.6rem; align-items: start; }
.pa-tabela { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--papel); border-radius: 16px; border: 1px solid var(--linha); margin-bottom: 1rem; }
.pa-tabela caption { text-align: left; font: 700 .78rem/1.2 var(--f-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--onda); padding: 0 0 .6rem; }
.pa-tabela th, .pa-tabela td { text-align: left; vertical-align: top; padding: .85rem 1rem; border-top: 1px solid var(--linha); font-size: .98rem; }
.pa-tabela tr:first-child th, .pa-tabela tr:first-child td { border-top: 0; }
.pa-tabela th { font-weight: 500; color: var(--nevoa); width: 38%; }
.pa-tabela td b { color: var(--mar); font-size: 1.08rem; }
.pa-pacote-notas { display: grid; gap: .8rem; }
.pa-nota-caixa { background: var(--papel); border: 1px solid var(--linha); border-radius: 16px; padding: 1rem 1.1rem; }
.pa-nota-caixa h3 { font-family: var(--f-titulo); font-weight: 400; font-size: 1.2rem; margin: 0 0 .35rem; }
.pa-nota-caixa p, .pa-nota-caixa ul { margin: 0; color: var(--nevoa); font-size: .95rem; }
.pa-nota-caixa ul { padding-left: 1.1rem; }
/* envio do logo */
.pa-ficheiro input[type=file] { background: var(--espuma); border: 1px dashed color-mix(in srgb, var(--onda) 45%, transparent); border-radius: 10px; padding: .75rem; font: inherit; width: 100%; }
/* página privada do cartão */
.pa-cartao-grelha { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 5vw, 3.5rem); align-items: start; }
.pa-cartao-imagens { display: grid; gap: 1rem; }
.pa-cartao-imagens figure { margin: 0; }
.pa-cartao-imagens img { width: 100%; height: auto; border-radius: 12px; box-shadow: var(--sombra); }
.pa-cartao-imagens figcaption { font-size: .82rem; color: var(--nevoa); margin-top: .3rem; }
.pa-como-imprimir { padding-left: 1.2rem; display: grid; gap: .45rem; margin: .5rem 0 1.6rem; }
.pa-codigo-linha { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin: .6rem 0; }
.pa-codigo { font: 700 1.4rem/1 var(--f-texto); letter-spacing: .08em; color: var(--mar); background: var(--papel); border: 1px solid var(--linha); border-radius: 10px; padding: .6rem .9rem; }
@media (max-width: 900px) {
  .pa-lados, .pa-pacote-grelha, .pa-cartao-grelha { grid-template-columns: minmax(0, 1fr); }
  .pa-exemplo { max-width: 420px; }
}
@media (max-width: 560px) {
  .pa-exemplo { padding-left: 1.4rem; }
  .pa-exemplo .pa-ex-verso { width: calc(100% - 1.4rem); top: 2.2rem; }
  .pa-exemplo .pa-ex-frente { margin-bottom: 2.8rem; }
  .pa-exemplo figcaption { margin-left: -1.4rem; }
  .pa-lado .pa-oferta { grid-template-columns: minmax(0, 1fr); }
  .pa-lado .pa-oferta .pa-icone { grid-row: auto; }
  .pa-tabela th, .pa-tabela td { display: block; width: auto; }
  .pa-tabela th { padding-bottom: 0; border-top: 1px solid var(--linha); }
  .pa-tabela td { border-top: 0; padding-top: .25rem; }
  .pa-tabela tr:first-child th { border-top: 0; }
}
