/* Tabla "Qué incluye cada plan, en detalle" (partials/planes_comparacion.php): landing y Mi plan. */
.cmp{max-width:980px;margin:40px auto 0;background:var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:0 18px 40px -28px oklch(26% 0.03 280 / 0.35);overflow:hidden;}
.cmp-tabla{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;color:var(--ink);}
.cmp-caption{caption-side:top;text-align:left;padding:22px 22px 6px;font-family:'Quicksand',sans-serif;font-weight:700;font-size:20px;color:var(--ink);}
.cmp-tabla thead th{background:var(--card);padding:14px 8px 12px;border-bottom:1px solid var(--border);vertical-align:bottom;}
.cmp-func{width:46%;text-align:left;font-weight:700;}
.cmp-tabla th.cmp-func,.cmp-tabla td{padding:12px 8px;border-bottom:1px solid var(--border);}
.cmp-tabla th.cmp-func{padding-left:22px;}
.cmp-tabla tbody tr:last-child > *{border-bottom:0;}
.cmp-plan{text-align:center;}
.cmp-plan-nombre{display:block;font-family:'Quicksand',sans-serif;font-weight:700;font-size:16px;}
.cmp-plan-precio{display:block;margin-top:2px;font-size:13px;font-weight:800;color:var(--ink-soft);}
.cmp-plan-precio small{font-weight:700;}
.cmp-plan.is-featured .cmp-plan-nombre{color:var(--green-dark);}
.cmp-tabla td{text-align:center;vertical-align:middle;}
.cmp-tabla .is-featured{background:oklch(96% 0.03 152 / 0.55);}
.cmp-grupo th{padding:18px 22px 8px;text-align:left;font-size:12.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--violet);background:oklch(97% 0.012 292 / 0.6);border-bottom:1px solid var(--border);}
.cmp-detalle{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--ink-soft);line-height:1.4;}
.cmp-si{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green-dark);}
.cmp-si svg{width:16px;height:16px;}
.cmp-no{color:var(--ink-soft);opacity:.5;font-weight:700;}
.cmp-valor{font-weight:800;font-size:14px;color:var(--ink);}
.cmp .tag-pronto{display:inline-block;vertical-align:middle;padding:1px 8px;border-radius:999px;background:var(--orange-soft);color:oklch(50% 0.13 50);font-size:11px;font-weight:800;white-space:nowrap;}
.cmp .sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.cmp-nota{max-width:980px;margin:14px auto 0;font-size:14px;color:var(--ink-soft);text-align:center;}
@media (max-width:640px){
  .cmp{margin-top:28px;border-radius:18px;}
  .cmp-tabla{font-size:14px;}
  .cmp-caption{padding:18px 14px 4px;font-size:18px;}
  .cmp-func{width:40%;}
  .cmp-tabla thead th{padding:12px 2px 10px;}
  .cmp-tabla th.cmp-func{padding-left:14px;}
  .cmp-tabla th.cmp-func,.cmp-tabla td{padding:10px 4px;}
  .cmp-grupo th{padding:14px 14px 6px;}
  .cmp-plan-nombre{font-size:12.5px;letter-spacing:-.2px;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;}
  .cmp-plan-precio{font-size:11px;}
  .cmp-plan-precio small{display:block;font-size:10px;}
  .cmp-detalle{font-size:12px;}
  .cmp-valor{display:inline-block;max-width:100%;font-size:11.5px;line-height:1.25;overflow-wrap:anywhere;}
}

/* Columna del plan Egresado: solo para el último año y egresados recientes. */
.cmp-tabla .is-egresado{background:oklch(97% 0.03 85 / 0.6);}
.cmp-plan.is-egresado .cmp-plan-nombre{color:#9A6B00;}
.cmp-plan-solo{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:800;line-height:1.3;
  color:#7C4A03;background:#FFF1D6;}
@media (max-width:640px){.cmp-plan-solo{font-size:9.5px;padding:2px 6px;}}

/* Nombres de los planes alineados arriba (la columna Egresado tiene una etiqueta extra). */
.cmp-tabla thead th{vertical-align:top;}

/* Mi plan: la tabla va en un desplegable ($cmpDesplegable) y se marca la columna del plan del psicólogo ($cmpPlanActual). */
.cmp-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:20px 22px;cursor:pointer;list-style:none;}
.cmp-summary::-webkit-details-marker{display:none;}
.cmp-summary:hover{background:oklch(98% 0.01 160 / 0.6);}
.cmp-summary-titulo{font-family:'Quicksand',sans-serif;font-weight:700;font-size:20px;color:var(--ink);}
.cmp-summary-actual{padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:800;color:#fff;background:var(--violet);}
.cmp-summary-flecha{margin-left:auto;width:12px;height:12px;border-right:2.5px solid var(--ink-soft);border-bottom:2.5px solid var(--ink-soft);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s;}
.cmp-desplegable[open] .cmp-summary-flecha{transform:rotate(-135deg) translate(-3px,-3px);}
.cmp-desplegable[open] .cmp-summary{border-bottom:1px solid var(--border);}
.cmp-tabla th.is-actual,.cmp-tabla td.is-actual{background:oklch(95% 0.035 292 / 0.75);box-shadow:inset 2px 0 0 var(--violet),inset -2px 0 0 var(--violet);}
.cmp-plan.is-actual .cmp-plan-nombre{color:var(--violet);}
.cmp-plan-tuyo{display:inline-block;margin-bottom:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:800;color:#fff;background:var(--violet);}
@media (max-width:640px){
  .cmp-summary{padding:16px 14px;}
  .cmp-summary-titulo{font-size:17px;}
  .cmp-plan-tuyo{font-size:9.5px;padding:2px 6px;}
}
@media (prefers-reduced-motion:reduce){.cmp-summary-flecha{transition:none;}}
