/* Contas dos leitores (/login/, /criar-conta/, /minha-conta/) e comentários das matérias. */
.conta-page { padding:32px 16px 64px; background:#f5f7fb; min-height:60vh; }
.conta-box { max-width:440px; margin:0 auto; background:#fff; border-radius:14px; padding:28px 28px 24px; box-shadow:0 2px 14px rgba(0,36,82,.08); }
.conta-box-wide { max-width:640px; }
.conta-box h1 { font-size:26px; line-height:1.2; margin:0 0 6px; color:#0b1b33; }
.conta-box h2 { font-size:18px; margin:0 0 12px; color:#0b1b33; }
.conta-sub { color:#55657a; margin:0 0 18px; font-size:15px; }
.conta-form { display:grid; gap:14px; }
.conta-form label, .conta-cidade label { display:grid; gap:6px; font-weight:600; font-size:14px; color:#1d2733; }
.conta-form label small { font-weight:400; color:#6b7889; }
.conta-form input:not([type=radio]):not([type=checkbox]):not([type=file]), .conta-form select {
    width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid #cfd6e2; border-radius:8px; font:inherit; font-weight:400; background:#fff; color:#111; }
.conta-form input:focus, .conta-form select:focus { outline:2px solid #002452; outline-offset:1px; }
.conta-form [aria-invalid="true"] { border-color:#c00000 !important; }
.conta-erro { color:#c00000; font-size:13px; margin-top:-8px; }
.conta-btn { display:inline-flex; align-items:center; justify-content:center; width:100%; padding:12px 16px; border:0; border-radius:8px; background:#002452; color:#fff; font:inherit; font-weight:700; font-size:16px; cursor:pointer; text-decoration:none; box-sizing:border-box; }
.conta-btn:hover { background:#00367a; }
.conta-btn.ghost { background:#fff; color:#002452; border:1px solid #c7d1e0; }
.conta-btn.ghost:hover { background:#f2f5fa; }
.conta-btn.perigo { background:#b00020; }
.conta-duplo { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.conta-link-btn { background:none; border:0; padding:0; color:#002452; font:inherit; font-size:14px; text-decoration:underline; cursor:pointer; }
.conta-links { margin:14px 0 0; font-size:14px; }
.conta-links a { color:#002452; }
.conta-alt { margin:20px 0 0; padding-top:16px; border-top:1px solid #edf0f5; text-align:center; font-size:15px; }
.conta-alt a { color:#002452; font-weight:700; }
.conta-legal { font-size:13px; color:#6b7889; margin:0; }
.conta-legal a { color:#002452; }
.conta-aviso { padding:10px 12px; border-radius:8px; font-size:14px; margin:0 0 16px; }
.conta-aviso.ok { background:#e7f6ec; color:#14532d; }
.conta-aviso.erro { background:#fde8e8; color:#8a1010; }
.conta-aviso.alerta { background:#fff4ce; color:#5a4300; border:1px solid #f0d77a; }
.conta-aviso.alerta a { color:#5a4300; font-weight:700; margin-left:4px; }
.conta-form [hidden], .conta-cidade[hidden], .conta-sugestoes[hidden] { display:none !important; }
.conta-isca { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.conta-pw { position:relative; display:block; }
.conta-pw input { padding-right:44px !important; }
.conta-eye { position:absolute; right:6px; top:50%; transform:translateY(-50%); background:none; border:0; color:#6b7889; cursor:pointer; padding:6px; display:flex; }
.conta-eye.on { color:#002452; }
.conta-etapa { font-size:13px; color:#6b7889; margin:0 0 6px; font-weight:600; }
.conta-progresso { height:6px; background:#e8edf5; border-radius:3px; overflow:hidden; margin:0 0 20px; }
.conta-progresso span { display:block; height:100%; background:#e00000; }
.conta-opcoes { display:grid; gap:10px; }
.conta-opcao { display:flex !important; grid-template-columns:none !important; align-items:center; gap:10px !important; padding:12px 14px; border:1px solid #cfd6e2; border-radius:8px; cursor:pointer; font-weight:500 !important; }
.conta-opcao:has(input:checked) { border-color:#002452; background:#f0f4fb; }
.conta-opcao input { width:18px; height:18px; accent-color:#002452; }
.conta-codigo { font-size:24px !important; letter-spacing:8px; text-align:center; font-variant-numeric:tabular-nums; }
.conta-cidade { position:relative; display:grid; gap:6px; }
.conta-sugestoes { position:absolute; z-index:20; top:100%; left:0; right:0; margin:4px 0 0; padding:4px 0; list-style:none; background:#fff; border:1px solid #cfd6e2; border-radius:8px; box-shadow:0 8px 20px rgba(0,0,0,.12); max-height:260px; overflow-y:auto; }
.conta-sugestoes li { padding:9px 12px; cursor:pointer; font-size:15px; }
.conta-sugestoes li[aria-selected="true"], .conta-sugestoes li:hover { background:#eef3fb; }
.conta-sugestoes li small { color:#6b7889; margin-left:4px; }
.conta-perfil { display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.conta-perfil h1 { margin:0; }
.conta-perfil .conta-sub { margin:2px 0 0; word-break:break-all; }
.conta-secao { border-top:1px solid #edf0f5; padding:20px 0 4px; }
.conta-secao form + form { margin-top:10px; }
.conta-foto { display:flex; align-items:center; gap:18px; }
.conta-foto .conta-file { width:auto; padding:9px 16px; font-size:15px; margin-bottom:6px; }
.conta-foto .conta-link-btn { display:block; margin:4px 0 8px; }
.conta-sair { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.conta-sair .conta-btn { width:auto; padding:10px 24px; }
.conta-excluir summary { cursor:pointer; color:#b00020; font-weight:700; padding-bottom:12px; }
.conta-excluir p { color:#55657a; font-size:14px; }
@media (max-width: 520px) { .conta-box { padding:22px 18px; } .conta-duplo { grid-template-columns:1fr; } .conta-foto { align-items:flex-start; } }

/* Comentários das matérias */
.gnews-comments { margin:36px 0 28px; padding-top:22px; border-top:2px solid #0b1b33; }
.gnews-comments-title { font-size:22px; margin:0 0 16px; color:#0b1b33; }
.gnews-comments-locked { background:#f5f7fb; border-radius:12px; padding:22px; text-align:center; }
.gnews-comments-locked p { margin:0 0 14px; color:#33425a; font-size:16px; }
.gnews-comments-locked .gc-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.gc-btn, .gnews-comments-locked a { display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; border-radius:8px; border:0; background:#002452; color:#fff !important; font:inherit; font-weight:700; font-size:15px; text-decoration:none !important; cursor:pointer; }
.gnews-comments-locked a.ghost { background:#fff; color:#002452 !important; border:1px solid #c7d1e0; }
.gc-btn:disabled { opacity:.6; cursor:default; }
.gc-msg { background:#fde8e8; color:#8a1010; border-radius:8px; padding:8px 12px; font-size:14px; }
.gc-form { display:flex; gap:12px; align-items:flex-start; margin:0 0 22px; }
.gc-form-box { flex:1; display:grid; gap:8px; justify-items:end; }
.gc-form textarea { width:100%; box-sizing:border-box; border:1px solid #cfd6e2; border-radius:10px; padding:10px 12px; font:inherit; font-size:15px; resize:vertical; min-height:70px; }
.gc-form textarea:focus { outline:2px solid #002452; outline-offset:1px; }
.gc-empty { color:#6b7889; }
.gc-list, .gc-replies { list-style:none; margin:0; padding:0; }
.gc-item { margin:0 0 18px; }
.gc-replies { margin:12px 0 0 52px; }
.gc-replies .gc-item { margin-bottom:12px; }
.gc-c { display:flex; gap:12px; }
.gc-main { flex:1; min-width:0; }
.gc-head b { color:#0b1b33; font-size:15px; }
.gc-when { color:#8592a3; font-size:13px; margin-left:6px; }
.gc-body { margin:4px 0 6px; font-size:15.5px; line-height:1.5; color:#1d2733; overflow-wrap:anywhere; }
.gc-actions { display:flex; gap:16px; align-items:center; }
.gc-actions button { background:none; border:0; padding:2px 0; color:#55657a; font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:5px; }
.gc-actions button:hover { color:#002452; }
.gc-like.on { color:#e00000; }
.gc-like.on svg path { fill:currentColor; }
.gc-del { color:#a33 !important; }
.gc-replybox { margin:10px 0 0; }
.gc-replybox .gc-form { margin:0; }
@media (max-width: 520px) { .gc-replies { margin-left:22px; } }

/* Minha conta (perfil ao lado, abas, cartões) */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.conta-box-mc { max-width:1040px; background:none; box-shadow:none; padding:0; }
.mc { display:grid; grid-template-columns:280px 1fr; gap:24px; align-items:start; }
.mc-side { background:#fff; border-radius:14px; box-shadow:0 2px 14px rgba(0,36,82,.08); padding:24px 20px 18px; position:sticky; top:16px; }
.mc-perfil { text-align:center; }
.mc-perfil h1 { font-size:21px; margin:12px 0 2px; }
.mc-email { color:#55657a; font-size:14px; margin:0; word-break:break-all; }
.mc-status { display:inline-block; margin:10px 0 0; padding:3px 10px; border-radius:20px; font-size:12.5px; font-weight:700; }
.mc-status.ok { background:#e7f6ec; color:#14532d; }
.mc-status.alerta { background:#fff4ce; color:#5a4300; }
.mc-desde { color:#8592a3; font-size:13px; margin:8px 0 0; }
.mc-foto { position:relative; display:inline-block; cursor:pointer; }
.mc-foto .conta-avatar { box-shadow:0 0 0 4px #fff, 0 0 0 6px #dfe6f1; }
.mc-foto-btn { position:absolute; right:-2px; bottom:-2px; width:32px; height:32px; border-radius:50%; background:#002452; color:#fff; display:flex; align-items:center; justify-content:center; border:3px solid #fff; }
.mc-foto:hover .mc-foto-btn { background:#00367a; }
.mc-tabs { display:grid; gap:4px; margin:20px 0 14px; padding-top:16px; border-top:1px solid #edf0f5; }
.mc-tabs a { display:block; padding:10px 12px; border-radius:8px; color:#33425a; font-weight:600; font-size:15px; text-decoration:none; }
.mc-tabs a:hover { background:#f2f5fa; }
.mc-tabs a.on { background:#002452; color:#fff; }
.mc-painel { margin-bottom:12px; font-size:15px; }
.mc-sair { text-align:center; }
.mc-main { display:grid; gap:18px; min-width:0; }
.mc-main section { display:grid; gap:18px; }
.mc-main section[hidden] { display:none; }
.mc-main .conta-aviso { margin:0; }
.mc-card { background:#fff; border-radius:14px; box-shadow:0 2px 14px rgba(0,36,82,.08); padding:22px 24px; }
.mc-card h2 { font-size:18px; margin:0 0 12px; }
.mc-card h2 small { color:#8592a3; font-weight:600; }
.mc-card-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.mc-card-head a { color:#002452; font-weight:700; font-size:14px; }
.mc-dados { margin:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 24px; }
.mc-dado dt { font-size:12.5px; color:#8592a3; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.mc-dado dd { margin:3px 0 0; font-size:15.5px; color:#0b1b33; word-break:break-word; }
.mc-vazio { color:#8592a3; font-style:italic; }
.mc-foto-linha { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.mc-foto-linha .conta-legal { flex:1; min-width:180px; }
.mc-mini { width:auto !important; padding:9px 16px !important; font-size:14.5px !important; }
.mc-coments { list-style:none; margin:0; padding:0; }
.mc-coments li + li { border-top:1px solid #edf0f5; }
.mc-coments a { display:block; padding:12px 0; text-decoration:none; color:inherit; }
.mc-coments a:hover .mc-coment-txt { text-decoration:underline; }
.mc-coment-txt { display:block; color:#1d2733; font-size:15px; }
.mc-coment-meta { display:block; color:#8592a3; font-size:13px; margin-top:3px; }
.mc-confirmar { background:#fffbea; border:1px solid #f0d77a; box-shadow:none; }
.mc-confirmar h2 { color:#5a4300; }
.mc-confirmar p { color:#5a4300; margin:0 0 12px; font-size:15px; }
.mc-confirmar .conta-btn { width:auto; padding:10px 20px; }
.mc-codigo { display:flex; gap:10px; margin-bottom:6px; }
.mc-codigo .conta-codigo { width:170px; padding:8px 10px; border:1px solid #cfd6e2; border-radius:8px; }
.mc-form { max-width:640px; }
.mc-2col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mc-salvar { width:auto !important; padding:11px 26px !important; }
.mc-perigo h2 { color:#b00020; }
.mc-perigo summary { cursor:pointer; color:#b00020; font-weight:700; margin-top:6px; }
.mc-perigo form { margin-top:14px; }
@media (max-width: 860px) {
    .mc { grid-template-columns:1fr; }
    .mc-side { position:static; }
    .mc-tabs { grid-auto-flow:column; grid-auto-columns:max-content; overflow-x:auto; margin:16px -20px 10px; padding:14px 20px 4px; }
}
@media (max-width: 560px) { .mc-dados, .mc-2col { grid-template-columns:1fr; } .mc-card { padding:18px 16px; } .mc-codigo { flex-wrap:wrap; } }
.mc > * { min-width:0; } /* as abas roláveis do celular não alargam a coluna */
.mc-card > .conta-legal { margin:0 0 14px; }
