/* Guías operativas: estilos acotados a artículos y checklist. */
.skip-link { position:absolute; left:16px; top:-80px; z-index:50; padding:12px; background:white; color:var(--ink); }
.skip-link:focus { top:12px; }
.editorial { max-width:1180px; padding:30px clamp(18px,4vw,48px) 64px; }
.breadcrumbs { font-size:.86rem; margin-bottom:30px; }
.editorial-hero { padding:32px 0; border-top:4px solid var(--green); border-bottom:1px solid var(--line); }
.editorial-hero h1 { max-width:21ch; font-size:clamp(2.4rem,4.5vw,4.1rem); line-height:1.06; }
.editorial-lead { max-width:76ch; font-size:1.14rem; line-height:1.65; }
.review-date,.small-note { font-size:.86rem; color:var(--muted); }
.key-takeaway { border-left:3px solid var(--green); padding:12px 18px; background:var(--panel); max-width:78ch; font-weight:650; }
.editorial-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:40px; align-items:start; margin-top:34px; }
.editorial-toc { display:block; position:sticky; top:100px; font-size:.86rem; line-height:1.5; }
.editorial-toc ol { padding-left:0; list-style:none; margin:16px 0; }
.editorial-toc li { margin:0 0 12px; }
.editorial-toc a { text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.editorial-content { min-width:0; }
.editorial-content section { scroll-margin-top:100px; padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid var(--line); }
.editorial-content h2 { font-size:1.6rem; line-height:1.2; margin:0 0 18px; }
.editorial-content p,.editorial-content li { line-height:1.7; }
.editorial-content p { color:#3d4850; }
.editorial-content li { margin-bottom:10px; }
.editorial-content a { text-underline-offset:3px; }
.editorial-content .route-button { max-width:100%; white-space:normal; }
.table-scroll { overflow-x:auto; margin:20px 0; border:1px solid var(--line); background:var(--panel); border-radius:6px; }
.table-scroll table { width:100%; border-collapse:collapse; font-size:.93rem; }
.table-scroll caption { padding:14px; text-align:left; font-weight:750; }
.table-scroll th,.table-scroll td { text-align:left; vertical-align:top; min-width:130px; padding:13px 14px; border-top:1px solid var(--line); line-height:1.5; }
.table-scroll th { background:#e1e9df; }
.decision-path details { padding:16px 0; border-bottom:1px solid var(--line); }
.decision-path summary { cursor:pointer; font-weight:750; line-height:1.5; }
.decision-path p { margin:12px 0 0; }
.example-box { padding:22px; background:var(--panel); border-left:3px solid var(--green); }
.example-box strong { display:block; margin-bottom:14px; }
.example-box p:last-child { margin-bottom:0; }
.editorial-content blockquote { margin:20px 0; padding:22px; background:var(--panel); border-left:3px solid var(--green); line-height:1.7; }
.editorial-sources { font-size:.9rem; }
.editorial-sources li { overflow-wrap:anywhere; }
.related-guides ul { padding-left:20px; }
.pc-checklist { margin:20px 0; padding:0; border:0; }
.pc-checklist legend { font-weight:750; margin-bottom:12px; }
.pc-checklist label { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--ink); }
.pc-checklist input[type="checkbox"] { width:20px; height:20px; min-width:20px; padding:0; margin:2px 0 0; accent-color:var(--green); }
.pc-checklist label:has(input:checked) span { color:#476354; }
.checklist-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.guide-catalog { padding-left:20px; }
.guide-catalog li { margin:12px 0; }
.guide-revenue-cta {
  margin: 30px 0 0;
  padding: 24px;
  border: 1px solid #b8c9b5;
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: #f4f8f2;
}
.guide-revenue-cta h2 { margin-bottom: 10px; }
.guide-revenue-cta p { max-width: 74ch; }
.guide-revenue-cta .guide-revenue-note { margin: 8px 0 0; font-size: .86rem; color: var(--muted); }
.guide-revenue-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }
.guide-revenue-actions .route-button { margin-top:0; }
.guide-revenue-actions .route-button.secondary-route-button { background: white; color: var(--ink); border: 1px solid var(--ink); }
.guide-revenue-actions .route-button.secondary-route-button:hover { background: var(--ink); color: white; }
@media (max-width:800px) {
 .editorial-layout { grid-template-columns:1fr; gap:28px; }
 .editorial-toc { position:static; padding-bottom:20px; border-bottom:1px solid var(--line); }
 .editorial-toc ol { columns:2; column-gap:22px; }
 .editorial-toc li { break-inside:avoid; }
 .editorial-body .topbar { position:static; }
 .editorial-body nav { flex-wrap:wrap; }
}
@media (max-width:480px) {
 .editorial-toc ol { columns:1; }
 .editorial { padding-top:22px; }
 .editorial-hero { padding-top:24px; }
 .editorial-lead { font-size:1.03rem; }
 .editorial-content h2 { font-size:1.4rem; }
 .guide-revenue-cta { padding: 18px; }
 .guide-revenue-actions { align-items:stretch; flex-direction:column; }
 .guide-revenue-actions .route-button { width:100%; justify-content:center; }
 .table-scroll th,.table-scroll td { min-width:120px; padding:11px; }
}
@media print {
 body { background:white; }
 .topbar,.skip-link,.editorial-toc,.checklist-actions,.related-guides,footer { display:none; }
 .editorial,.guide-page { width:100%;max-width:none;padding:0; }
 .editorial-layout { display:block; }
 .editorial-hero h1 { font-size:24pt; }
 .editorial-content section { margin-bottom:16px; }
 .table-scroll { overflow:visible; }
 .editorial-content h2 { break-after:avoid; }
 .example-box,tr,.pc-checklist label { break-inside:avoid; }
}
@media (max-width:800px) {
 #guias-proveedores { scroll-margin-top:150px; }
}
