/* Vista pública: el ámbito qvac evita modificar el comparador de QuVi Pro. */
dialog.qvac-host {
  --qvac-ink:#182234; --qvac-muted:#607087; --qvac-line:#e5ebf3;
  --qvac-width:960px;
  position:fixed; inset:0; margin:auto; padding:0; width:min(var(--qvac-width),var(--container),calc(100% - 32px));
  height:min(900px,calc(100dvh - 64px)); max-width:none; max-height:none;
  border:1px solid #dce6f1; border-radius:24px; background:#fff; color:var(--qvac-ink);
  overflow:clip; box-sizing:border-box; transform-origin:top left;
  box-shadow:0 24px 80px #14294226; font:14px/1.5 system-ui,sans-serif;
}
dialog.qvac-host:has(.qvac-document[data-plan-count="3"]) { --qvac-width:var(--container); }
/* Preparar el fondo antes de showModal evita transiciones desde el backdrop nativo. */
dialog.qvac-host[data-comparison="true"]::backdrop,
.qv-plan-overlay-center[data-public-comparison="true"] .qv-plan-backdrop {
  background:rgba(255,255,255,0); -webkit-backdrop-filter:blur(0px); backdrop-filter:blur(0px);
  transition:background-color 420ms cubic-bezier(.4,0,.2,1), backdrop-filter 420ms cubic-bezier(.4,0,.2,1), -webkit-backdrop-filter 420ms cubic-bezier(.4,0,.2,1);
}
dialog.qvac-host[data-qvac-backdrop="visible"]::backdrop,
.qv-plan-overlay-center[data-public-comparison="true"].is-open .qv-plan-backdrop { background:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
dialog.qvac-host[data-qvac-backdrop="closing"]::backdrop,
.qv-plan-overlay-center[data-public-comparison="true"]:not(.is-open) .qv-plan-backdrop { transition-duration:260ms; }
@media (prefers-reduced-motion:reduce) {
  dialog.qvac-host[data-comparison="true"]::backdrop,
  .qv-plan-overlay-center[data-public-comparison="true"] .qv-plan-backdrop { transition:none; }
}
dialog.qvac-host:focus { outline:none; }
dialog.qvac-host[hidden], .qvac [hidden] { display:none!important; }
dialog.qvac-host[data-comparison="true"] > :not(.qvac):not(.learn-tip) { display:none!important; }
.qvac { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; overflow:clip; }
.qvac * { box-sizing:border-box; }
.qvac button:not(:where(.plan-card *)) { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:8px 12px; border:1px solid var(--qvac-line); border-radius:12px; background:#fff; color:var(--qvac-ink); font:500 12px/1.4 system-ui,sans-serif; cursor:pointer; box-shadow:none; }
.qvac button:not(:where(.plan-card *)):hover:not(:disabled) { background:#f3f7fc; border-color:#cedcea; box-shadow:none; }
.qvac button:disabled { opacity:.5; cursor:default; }
.qvac svg:not(:where(.plan-card *)) { flex-shrink:0; width:16px; height:16px; }
dialog.qvac-host[data-qvac-keyboard="false"] :focus { outline:none!important; box-shadow:none!important; }
dialog.qvac-host[data-qvac-keyboard="true"] :focus-visible { outline:1px solid var(--brand,#078cff); outline-offset:3px; }
.qvac-header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:18px 28px; border-bottom:1px solid var(--qvac-line); }
.qvac-brand { display:flex; align-items:center; flex-wrap:wrap; gap:9px; min-width:0; }
.qvac-brand strong { font-size:16px; letter-spacing:-.3px; }
.qvac-brand > span:not(.qv-mascot) { color:var(--qvac-muted); font-size:12px; padding-left:12px; border-left:1px solid var(--qvac-line); }
.qvac .qvac-back { flex-shrink:0; background:#f6f9fd; border-color:transparent; }
.qvac-header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.qvac-differences { display:inline-flex; align-items:center; gap:8px; font-size:12px; cursor:pointer; white-space:nowrap; min-height:36px; }
.qvac-differences input { appearance:none; width:15px; height:15px; margin:0; border:1px solid #aebed0; border-radius:4px; background:white; }
.qvac-differences input:checked { border-color:var(--brand); background:var(--brand); box-shadow:inset 0 0 0 3px white; }
.qvac-status { flex-shrink:0; margin:0; padding:10px 28px; background:#fff7e9; color:#7a5422; font-size:13px; }
.qvac-scroll { position:relative; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:16px 28px 32px; scroll-padding-top:12px; }
.qvac-scroll:focus { outline:none; }
.qvac-plans { display:grid; grid-template-columns:repeat(var(--qvac-plans),minmax(0,1fr)); gap:16px; }
.qvac-plan-slot { min-width:0; }
/* El plan propio comparte la altura de las alternativas; la navegación ocupa
   una fila independiente fuera de las fichas, también cuando se apilan. */
.qvac-plans:has([data-own="true"]) > .qvac-plan-slot { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:0; }
.qvac-letter { margin:0 0 8px; color:var(--brand); font-size:13px; font-weight:600; text-align:center; }
/* Geometría, tipografía y botones pertenecen a tarjetas.css. */
.qvac-plan { min-width:0; cursor:default; font-family:var(--ff-sans); line-height:var(--lh-body); color:var(--label); }
.qvac-plan .qvac-card-network { width:100%; background:transparent; border:0; border-bottom:1px solid var(--qv-divider,var(--separator)); border-radius:0; text-align:left; cursor:pointer; }
.qvac-card-network[aria-expanded="true"] .plan-metric__value svg { transform:rotate(180deg); }
.qvac-card-network .plan-metric__value svg { width:14px; height:14px; }
.qvac-plan .plan-network__body ul { margin:0; padding:8px 0; list-style:none; font-size:12px; color:var(--muted-2); }
.qvac-plan .plan-network__body li { padding:5px 0; }
.qvac-group { border:1px solid var(--qvac-line); border-radius:16px; overflow:clip; margin:18px 0; scroll-margin-top:12px; }
.qvac-group > h3 { margin:0; font-size:inherit; background:#f6f8fb; }
.qvac .qvac-disclosure-toggle { width:100%; justify-content:space-between; gap:12px; border:0; border-radius:0; padding:16px 18px; font-size:14px; font-weight:600; text-align:left; background:transparent; }
.qvac .qvac-disclosure-toggle:hover:not(:disabled) { background:#f7faff; }
.qvac-disclosure-toggle svg { color:var(--qvac-muted); transition:transform .18s ease; }
.qvac-disclosure-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.qvac-disclosure-toggle:focus-visible { outline-offset:-3px!important; }
/* Sin otro contenedor de scroll: thead se fija al área de lectura del modal. */
.qvac-table-wrap { overflow:visible; }
.qvac-table { border-collapse:separate; border-spacing:0; table-layout:fixed; width:100%; font-size:12px; line-height:1.45; }
.qvac-table th, .qvac-table td { padding:11px 16px; border-top:1px solid #e9eef4; overflow-wrap:anywhere; vertical-align:middle; }
.qvac-table thead { position:sticky; top:-16px; z-index:2; }
.qvac-table thead th { text-align:right; font-weight:600; font-size:11px; background:#fafbfd; border-bottom:1px solid #e5ebf3; }
.qvac-table thead th:first-child { width:30%; text-align:left; color:#44536a; font-weight:500; }
.qvac-column { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.qvac-column img { display:block; width:68px; max-width:100%; height:18px; object-fit:contain; object-position:right; }
.qvac-column strong { font-size:12px; font-weight:650; color:#20334c; }
.qvac-column small { color:#526279; font-size:10px; font-weight:400; }
.qvac-table tbody th { text-align:left; font-weight:500; color:#3b4a60; }
.qvac-table td { text-align:right; font-weight:500; font-variant-numeric:tabular-nums; }
.qvac-value { display:inline-block; max-width:100%; padding:4px 0; }
.qvac-value.qvac-best { color:#0865b5; font-weight:600; }
.qvac-value-price strong { display:block; font:inherit; }
.qvac-value-price small { display:block; font-size:10px; font-weight:400; color:#526279; margin-top:3px; }
.qvac-income-note { border-top:1px solid #e9eef4; background:#f6f8fb; }
.qvac-income-note > p { padding:15px 18px 0; margin:0; font-size:12px; color:#526279; }
.qvac-income-note > p strong { color:#263950; font-weight:600; }
.qvac .qvac-income-note > .qvac-provider-disclosure > .qvac-disclosure-toggle { padding:10px 18px 14px; }
.qvac-provider-row > td { text-align:left; padding-block:0; background:#fbfcfe; }
.qvac .qvac-provider-disclosure > .qvac-disclosure-toggle { color:#0865b5; font-size:11px; font-weight:500; padding:10px 0; min-height:36px; }
.qvac-provider-disclosure > .qvac-disclosure-toggle svg { width:14px; height:14px; }
.qvac-provider-grid { display:grid; grid-template-columns:repeat(var(--qvac-plans),minmax(0,1fr)); gap:16px; padding:12px 0; }
.qvac-provider-grid h4 { font-weight:600; font-size:12px; margin:0 0 10px; }
.qvac-provider-grid ul { list-style:none; padding:0; margin:0; color:var(--qvac-muted); font-size:11px; }
.qvac-provider-grid li { padding:5px 0; overflow-wrap:anywhere; }
.qvac-equal { padding:4px 18px 15px; margin:0; font-size:12px; color:var(--qvac-muted); }
.qvac-summary { text-align:center; margin-top:28px; padding:24px 18px 0; border-top:1px solid var(--qvac-line); scroll-margin-top:12px; }
.qvac-summary h3 { display:flex; align-items:center; justify-content:center; gap:9px; font-size:17px; font-weight:600; letter-spacing:-.25px; margin:0 0 12px; }
.qvac-summary h3 svg { color:var(--brand); width:18px; height:18px; }
.qvac-summary p { font-size:13px; margin:0; line-height:1.7; }
.qvac-summary strong { font-weight:650; color:var(--qvac-ink); }
.qvac-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:16px; max-width:640px; margin:20px auto 0; }
.qvac-summary-fact { min-width:0; padding:20px 18px; border:1px solid var(--qvac-line); border-radius:14px; background:#fff; }
.qvac-summary-fact h4 { margin:0 0 5px; font-size:11px; font-weight:500; color:var(--qvac-muted); }
.qvac-summary .qvac-summary-value { font-size:26px; line-height:1.35; margin-top:8px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.qvac-summary-value > span { font-size:12px; margin-left:3px; color:var(--qvac-muted); }
.qvac-summary .qvac-summary-value[data-unavailable] { font-size:16px; }
.qvac-summary .qvac-summary-plan { margin:0 0 12px; font-size:11px; font-weight:600; color:var(--brand,#078cff); }
.qvac-summary .qvac-summary-detail { font-size:12px; margin-top:5px; color:var(--qvac-muted); }
.qvac-summary .qvac-summary-context { color:var(--qvac-muted); font-size:12px; margin-top:18px; }
.qvac-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.qvac .qv-cmp-isapres { margin-bottom:20px; box-shadow:none; }
.qvac .qv-cmp-nav { margin:12px 0 0; padding:0; border:0; }
.qvac button.qv-cmp-nav__btn { width:36px; height:36px; padding:0; border-radius:50%; }
@media (max-width:1200px) {
  .qvac-document[data-plan-count="3"] .qvac-plans { grid-template-columns:1fr; max-width:560px; margin-inline:auto; }
}
@media (max-width:1024px),(hover:none) and (pointer:coarse) {
  dialog.qvac-host,dialog.qva-panel.qvac-host[data-expanded="true"] { inset:0; width:100%; height:100dvh; margin:0; border:0; border-radius:0; box-shadow:none; }
  .qvac-header { padding: max(10px,env(safe-area-inset-top)) 16px 10px; gap:8px; }
  .qvac-brand > span:not(.qv-mascot) { display:none; }
  .qvac .qvac-back { min-height:44px; padding:8px; }
  .qvac button:not(:where(.plan-card *)) { min-height:44px; }
  .qvac button.qv-cmp-nav__btn { width:44px; height:44px; }
  .qvac-scroll { padding:12px 16px max(24px,env(safe-area-inset-bottom)); }
  .qvac-table thead { top:-12px; }
  .qvac-plans { gap:10px; }
}
@media (max-width:600px) {
  .qvac-brand strong { font-size:14px; }
  .qvac .qvac-back { font-size:11px; gap:4px; }
  .qvac-brand { gap:6px; }
  .qvac-brand .qv-mascot { width:24px; }
  .qvac-header { flex-wrap:wrap; }
  .qvac-header-actions { width:100%; justify-content:space-between; gap:6px; }
  .qvac-header-actions [data-qvac-copy] { width:44px; padding:8px; flex-shrink:0; }
  .qvac-header-actions .qvac-back { min-width:0; flex-shrink:1; }
  .qvac-header-actions [data-qvac-copy] > span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .qvac-differences { font-size:11px; min-height:44px; }
  .qvac-scroll { padding-inline:12px; }
  .qvac-plans { grid-template-columns:1fr; gap:16px; }
  .qvac .qvac-group .qvac-disclosure-toggle { padding:15px 12px; font-size:13px; }
  .qvac .qvac-provider-disclosure > .qvac-disclosure-toggle { padding:10px 0; font-size:10px; }
  .qvac-table th,.qvac-table td { padding:12px 7px; font-size:11px; }
  .qvac-table thead th:first-child { width:34%; }
  .qvac-column small { font-size:8px; }
  .qvac-column strong { font-size:11px; }
  .qvac-column img { width:58px; height:16px; }
  .qvac-value { padding:3px 0; }
  .qvac-value-price small { font-size:9px; }
  .qvac-income-note > p { padding:12px 12px 0; font-size:11px; }
  .qvac .qvac-income-note > .qvac-provider-disclosure > .qvac-disclosure-toggle { padding:10px 12px; }
  .qvac-summary { padding:22px 12px 0; }
  .qvac-summary h3 { font-size:15px; }
  .qvac-summary p { font-size:12px; }
  .qvac-summary-grid { grid-template-columns:1fr; gap:12px; margin-top:16px; }
  .qvac-summary-fact { padding:18px 14px; }
  .qvac-summary .qvac-summary-value { font-size:24px; }
  .qvac-provider-grid { gap:10px; }
}
@media (prefers-reduced-motion:reduce) { .qvac *, dialog.qvac-host { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.qvac-brand .qv-mascot svg { width:100%; height:100%; }

.qvac [data-qvac-provider] { cursor:pointer; }
.qvac [data-qvac-provider] .qvac-provider-toggle { color:var(--brand,#078cff); font:inherit; min-height:0; padding:0; gap:6px; justify-content:flex-start; }
.qvac [data-qvac-provider] .qvac-provider-toggle:hover { background:transparent; }
.qvac [data-qvac-provider] .qvac-provider-toggle svg { width:13px; height:13px; color:currentColor; }
