/* ═══════════════════════════════════════════════════════════════════════════
   Paniagua & Cohen Abogados · Páginas públicas v2.0 (Línea Ética, seguimiento, verificación de certificados)
   Se enlaza después de pc-acceso-v2.css. Marco: layouts/pc-publico-marco.php. Paleta: assets/marca/tokens-v2.css.
   ═══════════════════════════════════════════════════════════════════════════ */
body.pc-publico { background: var(--pc-crema) !important; color: var(--pc-grafito); padding: 0 !important; display: flex; flex-direction: column; min-height: 100vh; font-family: var(--f-sans); }
.pc-publico main { flex: 1; width: 100%; }
/* Cabecera */
.pc-cab { background: var(--pc-grafito-tinta); border-bottom: 3px solid var(--pc-rojo); }
.pc-cab-in { max-width: 1100px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.pc-cab-marca img { height: 36px; width: auto; display: block; }
.pc-cab-nav { margin-left: auto; display: flex; gap: 18px; flex-wrap: wrap; font-size: 14px; }
.pc-cab-nav a { color: var(--pc-crema); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.pc-cab-nav a:hover, .pc-cab-nav a[aria-current="page"] { border-bottom-color: var(--pc-rojo-suave); }
/* Pie */
.pc-pie { background: var(--pc-grafito-tinta); color: var(--pc-grafito-palido); font-size: 13px; }
.pc-pie-in { max-width: 1100px; margin: 0 auto; padding: 26px 20px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.pc-pie img { height: 28px; width: auto; }
.pc-pie p { margin: 0; }

/* Línea Ética (linea-etica.php) */
.pc-publico .container { max-width: 780px; margin: 0 auto; padding: 40px 16px 56px; }
.pc-publico .card { border-radius: 14px; border: 1px solid var(--pc-crema-profunda); border-top: 4px solid var(--pc-rojo); box-shadow: 0 1.2rem 2.8rem rgba(15, 15, 18, .08); padding: 34px; }
.pc-publico h1 { font-family: var(--f-display); font-weight: 600; font-size: 2.4rem; line-height: 1.05; color: var(--pc-grafito) !important; }
.pc-publico .lead { color: var(--pc-grafito-suave); font-size: 1rem; }
.pc-publico .nota { background: var(--pc-rosa-niebla); border-left: 4px solid var(--pc-rojo); color: var(--pc-grafito); }
.pc-publico .ayuda { background: var(--pc-crema-calida); border-left: 4px solid var(--pc-grafito-suave); color: var(--pc-grafito-suave); }
.pc-publico label { color: var(--pc-grafito); }
.pc-publico input, .pc-publico select, .pc-publico textarea { border-color: var(--pc-grafito-palido); font-family: var(--f-sans); font-size: 15px; min-height: 44px; }
.pc-publico .btn { min-height: 46px; border-radius: 8px; }
.pc-publico .alert-success { background: #EEF2EB; border: 1px solid var(--pc-verde-ok); color: var(--pc-grafito); }
.pc-publico .alert-success a { color: var(--pc-verde-ok) !important; }
.pc-publico .alert-danger { background: var(--pc-rosa-niebla); border: 1px solid var(--pc-vino-alerta); color: var(--pc-vino-alerta); }
.pc-publico .codigo-box { background: #FFFFFF; border: 2px dashed var(--pc-rojo); }
.pc-publico .codigo-box strong { font-family: var(--f-mono); color: var(--pc-grafito); }
.pc-publico .footer-links a { color: var(--pc-rojo-profundo); }

/* Seguimiento (seguimiento-denuncia.php) */
.pc-publico .seg-main { padding-top: 40px; }
.pc-publico .seg-titulo h1 { font-size: 2.2rem; margin: 0 0 4px; }
.pc-publico .seg-titulo p { margin: 0; color: var(--pc-grafito-suave); font-size: 14px; }
.pc-publico .card h2 { color: var(--pc-grafito); font-family: var(--f-display); font-weight: 600; }
.pc-publico .nav-back { color: var(--pc-rojo-profundo); }
.pc-publico input[type="text"] { font-family: var(--f-mono); }
.pc-publico .alert-warn { background: var(--pc-crema-calida); border-color: var(--pc-vino-alerta); color: var(--pc-vino-alerta); }
.pc-publico .timeline, .pc-publico .timeline-item::before { border-color: var(--pc-rojo); }
.pc-publico .timeline-content { background: var(--pc-crema-calida); }
.pc-publico .timeline-fecha { color: var(--pc-grafito-suave); }
/* Estados: color + palabra (la palabra ya va en la insignia) */
.pc-publico .estado-recibida { background: var(--pc-grafito-palido); color: var(--pc-grafito); }
.pc-publico .estado-en_revision { background: var(--pc-crema-profunda); color: var(--pc-grafito); }
.pc-publico .estado-en_tratamiento { background: var(--pc-rosa-palido); color: var(--pc-rojo-profundo); }
.pc-publico .estado-cerrada_fundada { background: var(--pc-verde-ok); color: #FFFFFF; }
.pc-publico .estado-cerrada_infundada { background: var(--pc-grafito-suave); color: #FFFFFF; }
.pc-publico .estado-cerrada_remitida { background: var(--pc-vino-alerta); color: #FFFFFF; }

/* Verificación de certificados (certificado-ver.php): solo el marco; el lienzo del certificado no se toca */
body.pc-publico.pc-cert { background: radial-gradient(100% 80% at 80% 0%, var(--pc-grafito), var(--pc-grafito-tinta) 70%) !important; color: var(--pc-crema); }
.pc-cert .cert-header h5, .pc-cert .cert-header h1 { color: #FFFFFF; font-family: var(--f-display); font-weight: 600; font-size: 1.6rem; margin: 0; }
.pc-cert .cert-actions .btn { border: 1px solid rgba(245, 239, 227, .55) !important; color: var(--pc-crema) !important; background: transparent !important; }
.pc-cert .cert-actions .btn:hover { background: rgba(245, 239, 227, .08) !important; }
.pc-cert .cert-actions .btn.btn-success { background: var(--pc-rojo) !important; border-color: var(--pc-rojo) !important; color: #FFFFFF !important; }
.pc-cert .cert-info code { color: var(--pc-rosa-palido) !important; }
.pc-cert-vacio { max-width: 640px; margin: 0 auto; padding: 72px 20px; text-align: center; }
.pc-cert-vacio h1 { font-size: 2.6rem; color: var(--pc-crema) !important; }
.pc-cert-vacio p { color: var(--pc-grafito-palido); }
.pc-cert-vacio a { color: var(--pc-rosa-palido); }
@media (max-width: 600px) {
  .pc-cab-nav { margin-left: 0; gap: 14px; font-size: 13px; }
  .pc-cab-nav a:last-child { display: none; }
  .pc-publico .card { padding: 22px 18px; }
  .pc-publico h1 { font-size: 2rem; }
}
.pc-eyebrow { font-family: var(--f-mono); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--pc-rojo-profundo); margin: 0 0 6px; }
