/* ---------- Planes · comparador ---------- */
.opr-pc-cabeza{margin-bottom:clamp(26px,3vw,38px) !important; max-width:56ch !important}
.opr-pc .opr-h2{color:#fff !important}

/* Selector de dos planes: solo tiene sentido cuando la tabla no cabe entera */
.opr-pc-dos{display:none !important; gap:10px !important; margin-bottom:14px !important; flex-wrap:wrap !important}
.opr-pc-sel{display:flex !important; align-items:center !important; gap:8px !important; flex:1 1 46% !important}
.opr-pc-sel>span{min-width:64px !important; font-size:.8125rem !important; font-weight:600 !important; color:var(--p500) !important; flex:none !important}
.opr-pc-sel select{flex:1 !important; min-width:0 !important; min-height:40px !important; padding:9px 12px !important; border-radius:10px !important;
  background:var(--p900) !important; color:#fff !important; box-shadow:inset 0 0 0 1px var(--p700) !important;
  font-family:inherit !important; font-size:.875rem !important; font-weight:600 !important; -webkit-appearance:none !important; appearance:none !important}

.opr-pc-marco{border-radius:var(--radio) !important; background:var(--p900) !important; box-shadow:inset 0 0 0 1px var(--p800) !important;
  padding:6px !important}
.opr-pc-tabla{width:100% !important; border-collapse:collapse !important; table-layout:fixed !important}

.opr-pc-tabla th,.opr-pc-tabla td{padding:13px 10px !important; text-align:center !important; vertical-align:middle !important}
.opr-pc-tabla thead th{position:relative !important; padding-top:16px !important; padding-bottom:14px !important}
.opr-pc-tabla tbody tr+tr td,.opr-pc-tabla tbody tr+tr th{border-top:1px solid var(--p800) !important}

/* columna de recursos. El selector lleva .opr-pc-tabla delante a propósito:
   con blindaje manda la especificidad, y `.opr-pc-tabla th` ganaría al centrar. */
.opr-pc-tabla .opr-pc-rec{width:30% !important; text-align:left !important}
.opr-pc-rec b{display:block !important; font-size:.9375rem !important; font-weight:700 !important; letter-spacing:-.012em !important; color:#fff !important}
.opr-pc-rec span{display:block !important; margin-top:3px !important; font-size:.78125rem !important; line-height:1.4 !important; color:var(--p500) !important}

/* cabecera de cada plan */
.opr-pc-plan{cursor:pointer !important; border-radius:12px 12px 0 0 !important; transition:background .16s ease !important}
.opr-pc-plan b{display:block !important; font-size:.875rem !important; font-weight:700 !important; letter-spacing:-.012em !important; color:var(--p300) !important}
.opr-pc-plan i{display:block !important; margin-top:4px !important; font-style:normal !important; font-size:.75rem !important; font-weight:600 !important; color:var(--p600) !important}
.opr-pc-plan:hover b{color:#fff !important}

/* Texto que solo leen los lectores de pantalla: la marca gráfica no dice
   "sí" ni "no" por sí sola. */
.opr-pc-sr{position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; white-space:nowrap !important}

/* marcas */
.opr-pc-si{display:inline-grid !important; place-items:center !important; width:22px !important; height:22px !important; border-radius:999px !important;
  background:var(--p800) !important; color:#fff !important}
.opr-pc-si svg{width:13px !important; height:13px !important}
.opr-pc-no{display:inline-block !important; width:11px !important; height:1.5px !important; border-radius:2px !important; background:var(--p700) !important}

/* columna con el foco puesto */
.opr-pc-tabla .es-foco{background:#252E38 !important}
.opr-pc-tabla thead .es-foco b{color:#fff !important}
.opr-pc-tabla thead .es-foco i{color:var(--p400) !important}
.opr-pc-tabla .es-foco .opr-pc-si{background:var(--p50) !important; color:var(--p950) !important}
.opr-pc-tabla tfoot .es-foco{border-radius:0 0 12px 12px !important}

/* pie con el botón */
.opr-pc-tabla tfoot td{padding-top:16px !important; padding-bottom:16px !important; border-top:1px solid var(--p800) !important}
.opr-pc-cta{width:100% !important; padding:10px 8px !important; font-size:.8125rem !important; white-space:normal !important}

.opr-pc-legal{margin-top:14px !important; color:var(--p600) !important}

@media (max-width:980px){
  .opr-pc-dos{display:flex !important}
  .opr-pc-tabla .es-oculto{display:none !important}
  .opr-pc-tabla .opr-pc-rec{width:42% !important}
  .opr-pc-tabla th,.opr-pc-tabla td{padding:12px 8px !important}
}
@media (max-width:520px){
  .opr-pc-sel{flex:1 1 100% !important}
  .opr-pc-tabla .opr-pc-rec b{font-size:.875rem !important}
  .opr-pc-rec span{display:none !important}
  .opr-pc-cta{padding:10px 6px !important; font-size:.75rem !important}
}
