/* Preserve contrast when section typography overrides primary link colours. */
#planes .commercial-plans-grid a.button-primary,
#empresas a.button-primary {
  background: #267842;
  color: #ffffff;
  border-color: #267842;
}
#planes .commercial-plans-grid a.button-primary:hover,
#empresas a.button-primary:hover {
  background: #1e6135;
  color: #ffffff;
  border-color: #1e6135;
}
.idfor-before > p,
.idfor-protected-copy { white-space: pre-wrap; }
.idfor-after header { grid-template-columns: minmax(0, 1fr) 26px; }
.idfor-after header b { grid-column: 1; line-height: 1.5; }
.idfor-after header img { grid-column: 2; grid-row: 1 / 3; }
.idfor-before header { grid-template-columns: 1fr; line-height: 1.5; }
.idfor-result { min-height: 0; flex: 1; }
.idfor-result-grid { grid-template-columns: 1fr; }
.idfor-usage-final { margin-bottom: 0; }
.idfor-usage-final strong[data-level="low"] { color: #12633a; }
.idfor-usage-final strong[data-level="medium"] { color: #805600; }
.idfor-usage-final strong[data-level="high"],
.idfor-usage-final strong[data-level="blocked"] { color: #a63126; }
.idfor-usage-hint { color: #596273; font-size: 11px; line-height: 1.5; margin: 12px 0 0; }
.idfor-usage-options { display: flex; gap: 12px; justify-content: space-between; align-items: center; margin: 0 0 20px; flex-wrap: wrap; }
.idfor-usage-options > span { color: #b7c4d8; font: 700 10px/1.5 var(--mono); }
.idfor-usage-options > div { display: flex; flex-wrap: wrap; gap: 8px; }
.idfor-usage-options button { border: 1px solid #74839e; background: #15223e; color: #fff; padding: 10px 14px; font: 700 11px/1.4 var(--mono); }
.idfor-usage-options button[aria-pressed="true"] { background: #c9f4d8; color: #123622; border-color: #55d184; }
.idfor-policy-note { margin-top: auto !important; padding: 14px 18px !important; font-size: 12px !important; background: #fce2dc; color: #8e2922; border-top: 1px solid #d7d1c4; }
.idfor-confirm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.idfor-confirm-actions button { border: 1px solid #267842; background: #267842; color: #fff; padding: 12px; font: 700 10px/1.4 var(--mono); }
.idfor-confirm-actions button + button { background: transparent; color: #17223d; border-color: #767c8d; }
.idfor-confirm-actions[hidden], .idfor-usage-options[hidden], .idfor-policy-note[hidden], .idfor-usage-hint[hidden] { display: none; }
.idfor-review-lab.is-blocked .idfor-after { box-shadow: inset 0 0 0 2px #b74434; }
@media (max-width: 980px) { .idfor-review-sidebar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .idfor-review-sidebar { grid-template-columns: 1fr 1fr; } .idfor-usage-options { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .idfor-review-lab .idfor-scan, .idfor-result.is-entering { animation: none; } }

/* Brand icons replace font-dependent OS glyphs. */
#compatibilidad .os-icon { display: flex; align-items: center; justify-content: center; }
#compatibilidad .os-icon .platform-logo { width: 40px; height: 40px; max-width: none; object-fit: contain; flex-shrink: 0; }
