/* Complementos à folha compilada (styles-DTIAY5x_.css). Mantém os mesmos tokens de cor. */

/* Benefício principal no card de bônus */
.family-bonus p.family-bonus-benefit { color: var(--foreground); background: var(--success-surface); border-radius: 6px; padding: 10px 12px; margin-bottom: 16px; font-size: 13px; line-height: 1.55; }
.family-bonus p.family-bonus-benefit strong { color: var(--success); }

/* Pop-up de upgrade: oculto até ser aberto */
.family-upsell-overlay[hidden] { display: none !important; }
.family-upsell:focus { outline: none; }
/* Celular: compacta para o botão "SIM" aparecer sem rolar */
@media (max-width: 480px) {
  .family-upsell-header { padding: .6rem .85rem; font-size: .75rem; }
  .family-upsell-body { padding: 1rem 1rem 1.25rem; }
  .family-upsell-tag { margin-bottom: .6rem; font-size: .72rem; }
  .family-upsell-body h3 { margin-bottom: .6rem; font-size: 1.05rem; }
  .family-upsell-price { margin-bottom: .75rem; font-size: 2.3rem; }
  .family-upsell-list { gap: .35rem; margin-bottom: .75rem; }
  .family-upsell-list li { padding: .45rem .7rem; font-size: .8rem; border-radius: .6rem; }
  .family-upsell-warning { margin-bottom: .75rem; padding: .5rem .7rem; font-size: .75rem; }
  .family-upsell-accept { padding: .85rem 1rem; font-size: .95rem; }
  .family-upsell-decline { margin-top: .75rem; }
}

/* FAQ — seta gira quando aberto */
.faq-chevron { transition: transform .2s; }
.family-faq-toggle[aria-expanded="true"] .faq-chevron { transform: rotate(180deg); }
.family-faq-toggle[aria-expanded="true"] { color: var(--success); }

/* Foco visível para teclado (acessibilidade) */
.family-page a:focus-visible,
.family-page button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }

/* Campos pendentes (visíveis de propósito, para não serem publicados por engano) */
.pending-tag { display: inline-block; vertical-align: middle; background: var(--gold-soft); color: var(--gold-ink); border: 1px dashed var(--gold-ink); border-radius: 6px; padding: 2px 8px; font-size: 11px; font-weight: 900; letter-spacing: .03em; }
.pending-text { color: var(--gold-ink) !important; font-weight: 700; }
/* Foto da autora é vertical: enquadra o rosto no círculo */
img.family-author-photo { object-position: 50% 10%; }
.author-photo-pending { display: grid; place-items: center; text-align: center; background: var(--gold-surface); color: var(--gold-ink); font-size: 13px; font-weight: 800; line-height: 1.4; }
