/* Comparativa comercial: colores del sitio, estados explícitos y navegación por teclado. */
.plans-tax-note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:-10px 0 24px;
  color:var(--muted);
  font-size:.9rem;
  text-align:center;
}
.plans-tax-note > i{ margin-right:3px; color:var(--cyan); }
.plans-tax-note strong{ color:var(--text); font-weight:700; }
.plan-tax{ display:block; margin-top:4px; font-size:.8rem; font-weight:600; color:var(--muted); }
.comparison-wrap{ margin-top:44px; }
.comparison-heading{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.comparison-eyebrow{ display:block; margin-bottom:8px; color:var(--cyan); font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.comparison-title{ margin:0; color:var(--text); font-size:clamp(1.5rem, 2.5vw, 2rem); line-height:1.2; font-weight:800; letter-spacing:-.025em; }
.comparison-description{ margin:8px 0 0; max-width:540px; color:var(--muted); font-size:.95rem; line-height:1.6; }
.comparison-legend{ display:flex; flex-wrap:wrap; gap:10px 18px; color:var(--muted); font-size:.8rem; }
.comparison-legend > span{ display:inline-flex; align-items:center; gap:7px; }
.comparison-legend .bi-check-circle-fill{ color:var(--green); }
.comparison-legend .legend-coordination{ color:var(--comparison-amber, #fcd34d); }
.comparison-wrap{
  --comparison-surface:#101b2b;
  --comparison-header:#162337;
  --comparison-category:#1b2b40;
  --comparison-hover:#192940;
  --comparison-amber:#fcd34d;
  --comparison-upload:#7dd3fc;
  --comparison-check:#4ade80;
}
html[data-theme="light"] .comparison-wrap{
  --comparison-surface:#fff;
  --comparison-header:#f5f8fc;
  --comparison-category:#eaf1f8;
  --comparison-hover:#f1f6fb;
  --comparison-amber:#885d09;
  --comparison-upload:#075985;
  --comparison-check:#15803d;
}
.comparison-card{ position:relative; margin:0; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:var(--comparison-surface); box-shadow:0 16px 42px rgba(0,0,0,.10); }
.comparison-scroll-note{ display:flex; align-items:center; gap:8px; padding:12px 20px; color:var(--muted); font-size:.8rem; border-bottom:1px solid var(--line); }
.comparison-scroll{ max-height:780px; overflow:auto; scrollbar-color:var(--muted) var(--comparison-surface); scrollbar-width:thin; }
.comparison-scroll:focus-visible{ outline:3px solid var(--blue); outline-offset:-3px; }
.comparison-table{ width:100%; min-width:920px; margin:0; border-collapse:separate; border-spacing:0; table-layout:fixed; color:var(--text); font-size:.875rem; line-height:1.45; }
.comparison-feature-col{ width:34%; }
.comparison-plan-col{ width:16.5%; }
.comparison-table th,
.comparison-table td{ padding:13px 16px; border:0; border-bottom:1px solid var(--line); vertical-align:middle; }
.comparison-table thead th{ position:sticky; top:0; z-index:3; background:var(--comparison-header); text-align:center; box-shadow:0 1px 0 var(--border); }
.comparison-table thead th:first-child{ left:0; z-index:5; text-align:left; }
.comparison-table thead th small{ display:block; margin-top:5px; color:var(--muted); font-size:.74rem; line-height:1.45; font-weight:500; }
.comparison-column-label{ display:block; color:var(--text); font-size:.96rem; font-weight:800; }
.comparison-plan-icon{ display:grid; place-items:center; width:32px; height:32px; margin:0 auto 8px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--card); font-size:1.05rem; }
.comparison-table th[data-plan="MICROEMPRESA"] .comparison-plan-icon{ color:var(--comparison-check); background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.22); }
.comparison-table th[data-plan="EMPRENDEDOR"] .comparison-plan-icon{ color:var(--comparison-upload); background:rgba(14,165,233,.1); border-color:rgba(14,165,233,.22); }
.comparison-table th[data-plan="PREMIUM"] .comparison-plan-icon{ color:var(--comparison-amber); background:rgba(250,204,21,.1); border-color:rgba(250,204,21,.22); }
.comparison-plan-name{ display:block; color:var(--text); font-size:.9rem; font-weight:800; }
.comparison-plan-price{ display:block; margin-top:6px; color:var(--text); font-size:.83rem; font-weight:750; font-variant-numeric:tabular-nums; }
.comparison-table .comparison-plan-price small{ display:inline; margin:0; font-size:.72rem; }
.comparison-table thead th .comparison-tax{ margin-top:2px; font-size:.7rem; }
.comparison-row > th{ position:sticky; left:0; z-index:1; background:var(--comparison-surface); font-weight:600; text-align:left; box-shadow:1px 0 0 var(--line); }
.comparison-row > th small{ display:block; margin-top:4px; color:var(--muted); font-size:.76rem; font-weight:400; line-height:1.5; }
.comparison-row > td{ text-align:center; background:var(--comparison-surface); }
.comparison-row:hover > th,
.comparison-row:hover > td{ background:var(--comparison-hover); }
.comparison-group th{ padding:12px 16px; background:var(--comparison-category); text-align:left; color:var(--text); font-size:.78rem; font-weight:800; letter-spacing:.025em; }
.comparison-group th > span{ position:sticky; left:16px; display:inline-flex; align-items:center; gap:9px; }
.comparison-group i{ color:var(--comparison-upload); font-size:1rem; }
.comparison-limit{ font-weight:750; font-variant-numeric:tabular-nums; }
.comparison-status{ display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:.8rem; font-weight:600; }
.comparison-status > i{ flex:0 0 auto; font-size:1rem; }
.comparison-status--included{ color:var(--comparison-check); }
.comparison-status--excluded{ color:var(--muted); }
.comparison-status--excluded i{ font-size:1.25rem; }
.comparison-status--coordination{ color:var(--comparison-amber); font-size:.76rem; }
.comparison-status--upload{ align-items:flex-start; color:var(--comparison-upload); font-size:.76rem; }
.comparison-status--upload small{ display:block; margin-top:3px; color:var(--muted); font-size:.7rem; font-weight:400; }
.comparison-row--condition > th,
.comparison-row--condition > td{ border-bottom-color:var(--border); }
.comparison-conditions{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-top:18px; }
.comparison-conditions > div{ display:flex; align-items:flex-start; gap:12px; padding:18px 20px; background:var(--card); border:1px solid var(--border); border-radius:16px; }
.comparison-conditions > div > i{ flex:0 0 auto; color:var(--comparison-upload); font-size:1.2rem; }
.comparison-conditions > div:last-child > i{ color:var(--comparison-amber); }
.comparison-conditions p{ margin:0; color:var(--muted); font-size:.84rem; line-height:1.65; }
.comparison-conditions strong{ display:block; margin-bottom:4px; color:var(--text); font-weight:750; }
.comparison-footnote{ margin:14px 0 0; color:var(--muted); font-size:.78rem; line-height:1.6; }
@media (max-width:991.98px){
  .comparison-table{ min-width:760px; }
  .comparison-feature-col{ width:28%; }
  .comparison-plan-col{ width:18%; }
  .comparison-table th,
  .comparison-table td{ padding:12px; }
  .comparison-conditions{ grid-template-columns:1fr; }
}
@media (max-width:575.98px){
  .comparison-wrap{ margin-top:32px; }
  .comparison-heading{ gap:16px; }
  .comparison-description{ font-size:.87rem; }
  .comparison-legend{ gap:8px 12px; font-size:.75rem; }
  .comparison-card{ border-radius:16px; }
  .comparison-scroll-note{ padding:10px 14px; font-size:.75rem; }
  .comparison-scroll{ max-height:620px; }
  .comparison-table{ min-width:710px; font-size:.81rem; }
  .comparison-feature-col{ width:170px; }
  .comparison-plan-col{ width:135px; }
  .comparison-table th,
  .comparison-table td{ padding:11px 10px; }
  .comparison-plan-name{ font-size:.8rem; }
  .comparison-row > th small{ font-size:.72rem; }
  .comparison-group th{ padding:11px 10px; }
  .comparison-group th > span{ left:10px; max-width:275px; }
  .comparison-status{ font-size:.74rem; }
  .comparison-status--coordination,
  .comparison-status--upload{ font-size:.72rem; }
  .comparison-conditions > div{ padding:16px; }
}
