/* Estilos globais. O layout de cada seção está inline no HTML, como no canvas. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 3px solid #9B1F9B; outline-offset: 3px; border-radius: 6px; }
/* iPhone dá zoom ao focar campos com letra menor que 16px */
input, textarea, select { font-size: max(16px, 1rem) !important; }
input:focus, textarea:focus { outline: 2px solid #9B1F9B; outline-offset: 1px; }
[data-pilar][hidden] { display: none !important; }

/* Seletor de idioma no menu: herda a cor do cabeçalho (claro ou escuro) */
.lang-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; border: 1.5px solid currentColor; color: inherit; opacity: .85; }
.lang-switch a { color: inherit; text-decoration: none; font-size: 13px; font-weight: 600; line-height: 1; padding: 6px 9px; border-radius: 999px; }
.lang-switch a[aria-current] { background: #9B1F9B; color: #FFFFFF; }
.lang-switch a:not([aria-current]):hover { background: rgba(155, 31, 155, .12); }

summary .pm { flex: none; display: inline-block; width: 1em; text-align: center; }
#faq { overflow-x: clip; }

/* Tablet: menos respiro vertical entre as seções */
@media (max-width: 1024px) {
  section[style*="padding: 120px 32px"] { padding-top: 96px !important; padding-bottom: 96px !important; }
  section[style*="32px 120px"] { padding-bottom: 96px !important; }
}

/* Tablet: topo numa linha só (o botão "Fale com a gente" já leva ao contato) */
@media (min-width: 721px) and (max-width: 1024px) {
  .valores-grade { grid-template-columns: repeat(2, 1fr) !important; }
  header { padding-left: 24px !important; padding-right: 24px !important; }
  header nav { gap: 14px !important; font-size: 14px !important; }
  header nav a[href="#contato"] { display: none; }
  header > a:last-child { height: 42px !important; padding: 0 18px !important; font-size: 14px !important; }
  header img[alt="Etalk Creative"] { height: 32px !important; }
  section > header { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Quando as perguntas frequentes viram uma coluna só, a foto sai para não empurrar as perguntas */
@media (max-width: 860px) { #faq figure { display: none; } }

/* Celulares bem estreitos (iPhone SE antigo): títulos menores para palavras longas caberem */
@media (max-width: 380px) {
  h1 { font-size: 40px !important; }
  h2 { font-size: 34px !important; }
}
h1, h2, h3 { overflow-wrap: break-word; }

/* Celular */
@media (max-width: 720px) {
  section { padding-left: 16px !important; padding-right: 16px !important; }
  header { padding: 16px !important; row-gap: 14px !important; }
  header img[alt="Etalk Creative"] { height: 28px !important; }
  header > a:last-child { height: 40px !important; padding: 0 16px !important; font-size: 14px !important; }
  header nav { order: 3; width: 100%; flex-wrap: wrap !important; white-space: nowrap; align-items: center; }
  header nav::-webkit-scrollbar { display: none; }
  header nav { font-size: 13.5px !important; gap: 8px 10px !important; }
  header nav .lang-switch a { padding: 4px 7px; }
  header nav .lang-switch { order: 99; margin-left: auto; }
  header nav a[href="#contato"] { display: none; }
  header + section { padding-top: 32px !important; padding-bottom: 64px !important; }
  section > header + div[style*="padding-top: 88px"] { padding-top: 32px !important; }
  section[style*="padding: 120px 32px"], section[style*="padding: 120px 0"] { padding-top: 64px !important; padding-bottom: 64px !important; }
  section[style*="32px 120px"] { padding-bottom: 64px !important; }
  section[style*="margin-bottom: 120px"] { margin-bottom: 64px !important; }
  #equipe > div:first-child, [style*="height: 560px"], [style*="height: 520px"] { height: 340px !important; }
  #faq figure { display: none; }
  .dep-janela { padding: 0 16px !important; }
  .dep-slide { padding: 28px 24px !important; gap: 28px !important; }
  .dep-slide p { font-size: 22px !important; }
  .sv-img { display: none; }
  [style*="calc((100% - 1176px) / 2)"] { padding-left: 24px !important; padding-right: 24px !important; }
  .trab-grade { columns: 3 !important; column-gap: 8px !important; }
  .trab { border-radius: 14px 14px 14px 4px !important; }
  .trab-leg { display: none; }
  #premios figure { flex-basis: 140px !important; }
  #premios figcaption { padding: 12px 12px 14px !important; }
  #premios figcaption b { font-size: 15px !important; }
  #premios figcaption span:last-child { font-size: 13px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Portfólio político montado em colunas pelo site.js */
.trab-grade.montada { columns: auto !important; display: flex; gap: 12px; align-items: flex-start; }
.trab-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 720px) { .trab-grade.montada, .trab-col { gap: 8px; } }

/* Aviso de cookies */
.cookies-aviso { font-family: 'Figtree', system-ui, sans-serif; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; max-width: 760px; margin: 0 auto; background: #1A1220; color: #FFFFFF; border-radius: 24px 24px 24px 6px; padding: 20px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; box-shadow: 0 12px 40px rgba(26, 18, 32, .3); font-size: 14px; line-height: 1.5; }
.cookies-aviso p { margin: 0; flex: 1 1 320px; color: #E2DAE3; }
.cookies-aviso a { color: #FFFFFF; text-decoration: underline; }
.cookies-aviso div { display: flex; gap: 10px; flex-wrap: wrap; }
.cookies-aviso button { font: inherit; font-weight: 600; height: 44px; padding: 0 20px; border-radius: 999px; cursor: pointer; border: 1.5px solid #4A3F50; background: transparent; color: #FFFFFF; }
.cookies-aviso button[data-escolha="todos"] { background: #9B1F9B; border-color: #9B1F9B; }
@media (max-width: 720px) { .cookies-aviso { left: 8px; right: 8px; bottom: 8px; padding: 18px; } .cookies-aviso div, .cookies-aviso button { flex: 1; } }

/* Aviso de privacidade abaixo dos formulários */
.form-aviso { margin: 4px 0 0; font-size: 13px; line-height: 1.45; opacity: .75; }
.form-aviso a { color: inherit; }

/* Política de privacidade */
.politica { color: #1A1220; font-size: 17px; line-height: 1.6; }
.politica h2 { margin: 48px 0 12px; font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.02em; line-height: 1.2; }
.politica p, .politica li { color: #4D4452; }
.politica ul { padding-left: 20px; margin: 0; display: grid; gap: 10px; }
.politica table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: 15px; }
.politica th, .politica td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid #E2DAE3; }
.politica th { color: #1A1220; font-weight: 600; }
.politica td:first-child { font-family: ui-monospace, Menlo, monospace; font-size: 14px; white-space: nowrap; color: #1A1220; }
.politica-botao { font: inherit; font-weight: 600; height: 48px; padding: 0 22px; border-radius: 999px; border: 1.5px solid #1A1220; background: #FFFFFF; color: #1A1220; cursor: pointer; }
@media (max-width: 720px) { .politica { padding: 40px 16px 80px !important; font-size: 16px; } }
