/* Perguntas frequentes das ferramentas, que vivem FORA do #calcmed-qtc-pilot, porque o React
   troca todo o conteúdo desse contêiner ao montar (createRoot substitui, não hidrata). Por ficar
   fora, este arquivo não passa pelo prefixador do Tailwind (ver build.mjs) e não herda os tokens
   de src/theme.css: lê os tokens --cm-* do :root do site direto, com o valor atual do DS de reserva. Nenhuma classe
   daqui existe dentro do widget, então não há colisão. */
.cm-seo { max-width: 48rem; margin: 2.5rem auto 0; padding: 0 1rem; color: var(--cm-color-ink, #0a0f1c); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.cm-seo h2 { font-size: 1.125rem; font-weight: 600; margin: 2rem 0 0.75rem; }
.cm-seo > section:first-child h2 { margin-top: 0; }
.cm-seo p { font-size: 0.9375rem; line-height: 1.6; margin: 0 0 0.75rem; }
.cm-seo details { border-bottom: 1px solid var(--cm-color-rule, #e5e7eb); padding: 0.875rem 0; }
.cm-seo summary { cursor: pointer; font-size: 0.9375rem; font-weight: 500; min-height: 44px; display: flex; align-items: center; }
.cm-seo details p { margin-top: 0.5rem; }

/* Perguntas frequentes da página enxuta (22/09): mesma moldura, borda e fonte da ferramenta, para
   a página não "terminar e recomeçar" (doc 25). Acordeão só com réguas e chevron à direita. */
.cm-seo.cm-seo--faq { box-sizing: border-box; max-width: 72rem; margin: 3rem auto 0; padding: 0 1.25rem 4rem; color: var(--cm-color-ink, #0a0f1c); font-family: var(--cm-font-body, "Geist", system-ui, sans-serif); }
@media (min-width: 40rem) { .cm-seo.cm-seo--faq { padding-inline: 2rem; } }
@media (min-width: 64rem) { .cm-seo.cm-seo--faq { margin-top: 4rem; padding-inline: 2.5rem; } }
.cm-seo--faq > section { max-width: 44rem; }
.cm-seo--faq h2 { margin: 0 0 .75rem; font-family: inherit; font-size: 1.25rem !important; line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; color: var(--cm-color-ink, #0a0f1c); }
.cm-seo--faq details { padding: 0; border-bottom: 1px solid var(--cm-color-rule, #e5e7eb); }
.cm-seo--faq h2 + details { border-top: 1px solid var(--cm-color-rule, #e5e7eb); }
.cm-seo--faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; margin-inline: -12px; padding-block: .75rem; padding-inline: 12px; border-radius: 12px; list-style: none; cursor: pointer; transition: background-color var(--cm-motion-duration-quick, 120ms) var(--cm-motion-ease-out, cubic-bezier(.22,1,.36,1)); font-size: 1rem; line-height: 1.5; font-weight: 500; color: var(--cm-color-ink, #0a0f1c); }
.cm-seo--faq summary::-webkit-details-marker { display: none; }
.cm-seo--faq summary::after {
  content: ""; flex: none; width: 1rem; height: 1rem; margin-inline-end: -2px; rotate: 90deg;
  background: var(--cm-color-muted, #5c6577);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%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 256 256'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cm-seo--faq details[open] > summary::after { rotate: -90deg; }
.cm-seo--faq summary:focus-visible { outline: 2px solid var(--cm-color-action-focus, #0f2b4f); outline-offset: 2px; }
.cm-seo--faq details > p { margin: 0; padding-bottom: 1rem; font-size: .9375rem; line-height: 1.6; color: var(--cm-color-text-secondary, #334155); text-wrap: pretty; }
/* Mesmo toque das linhas do cartão: fundo no hover (só mouse) e no toque. */
@media (hover: hover) and (pointer: fine) { .cm-seo--faq summary:hover { background: color-mix(in oklab, var(--cm-color-action-solid, #0f2b4f) 7%, var(--cm-color-canvas, #fff)); } }
.cm-seo--faq summary:active { background: color-mix(in oklab, var(--cm-color-action-solid, #0f2b4f) 11%, var(--cm-color-canvas, #fff)); }
@media (prefers-reduced-motion: no-preference) {
  .cm-seo--faq summary::after { transition: rotate var(--cm-motion-duration-fast, 160ms) var(--cm-motion-ease-out, cubic-bezier(.22,1,.36,1)); }
  .cm-seo--faq details[open] > p { animation: cm-faq-enter var(--cm-motion-duration-fast, 160ms) var(--cm-motion-ease-out, cubic-bezier(.22,1,.36,1)) backwards; }
}
/* Aberto por teclado, a resposta aparece sem animação. */
.cm-seo--faq details:has(> summary:focus-visible) > p { animation: none; }
@keyframes cm-faq-enter { from { opacity: 0; translate: 0 4px; } to { opacity: 1; translate: 0 0; } }
@media (forced-colors: active) { .cm-seo--faq summary::after { background: CanvasText; } }
