/* ========================================================================== */
/* 00) TOKENS LOCALES + BASE                                                  */
/* ========================================================================== */
:root{
  --sidebar-w:300px;
  --grid-gap:var(--s-40);
  --panel-pad:var(--s-20);
  --filters-gap:var(--s-24);
  --filters-top:calc(var(--header-h) + var(--resultsbar-h));
  --hl-bg:color-mix(in oklch,var(--tint) 42%,transparent);
  --z-resumen:100;
  --z-resumen-popover:2100;
  scroll-padding-top:calc(var(--filters-top) + var(--filters-gap));
}
@supports (top:env(safe-area-inset-top)){
  :root{scroll-padding-top:calc(var(--filters-top) + var(--filters-gap) + env(safe-area-inset-top));}
}
[hidden]{display:none!important;}
#snackbar[hidden],.mini-modal[hidden],.modal-comparacion[hidden]{display:none!important;}
*{-webkit-tap-highlight-color:transparent;}

/* ========================================================================== */
/* 01) STEPS (DOTS) + CONTENEDORES DE PASO                                    */
/* ========================================================================== */
.steps{display:flex;justify-content:center;margin:var(--s-16) 0 var(--s-40);}
.steps ol{display:flex;gap:var(--s-12);margin:0;padding:0;list-style:none;}
.steps .dot{inline-size:10px;block-size:10px;border-radius:50%;background:color-mix(in oklab,var(--label) 18%,transparent);opacity:.35;transition:transform var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);}
.steps .dot.is-current{background:var(--tint);opacity:1;transform:scale(1.25);box-shadow:0 0 0 3px color-mix(in oklab,var(--tint) 20%,transparent);}
.steps .dot.is-done{background:var(--success);opacity:1;}
body.oscuro .steps .dot.is-done{background:color-mix(in oklch,var(--success) 88%,var(--label) 12%);}
section[data-step] .step-content{width:100%;max-width:var(--step-max,940px);margin:0 auto;}
section[data-step]>header{margin-bottom:clamp(24px,4vw,48px);}
section[data-step]>header .subtitle{margin-top:var(--s-8);}
section[data-step] .acciones{margin-top:clamp(20px,3vw,40px);}
@media (max-width:640px){
  section[data-step] .acciones{margin-top:0;padding-top:clamp(32px,7vw,56px);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s-12);}
}
section[data-step="1"]{--step-max:480px;}
section[data-step="2"]{--step-max:1000px;}
section[data-step="3"]{--step-max:820px;}

/* ========================================================================== */
/* 02) PASO 1 — INTEGRANTES                                                   */
/* ========================================================================== */
.p1-grid{display:grid;gap:var(--s-24);grid-template-columns:1fr;margin-block:var(--s-12) var(--s-24);}
@media (min-width:640px){.p1-grid{grid-template-columns:1fr 1fr;}}
.card-lite{background:var(--fill);border:1px solid var(--separator);border-radius:var(--rad-card);padding:var(--s-12) var(--s-16);}
.field-head{font-weight:var(--fw-semibold);color:var(--label);margin-bottom:var(--s-8);text-align:left;}
.field-head .muted{color:var(--secondary);font-weight:var(--fw-medium);}
.stepper{display:flex;justify-content:center;align-items:center;gap:var(--s-12);}
.stepper>button{min-width:var(--hit-desktop);height:var(--hit-desktop);line-height:var(--hit-desktop);border-radius:var(--rad-btn);background:var(--bg);border:1px solid var(--separator);font-size:calc(var(--fs-16)*1.125);font-weight:var(--fw-semibold);color:var(--label);transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease);}
.stepper>button:hover{background:color-mix(in oklab,var(--fill) 95%,var(--label) 5%);border-color:var(--separator-hover,var(--separator));}
.stepper>button:active{background:color-mix(in oklab,var(--fill) 93%,var(--label) 7%);}
.stepper>button:focus-visible{outline:1px solid var(--tint);outline-offset:2px;border-color:transparent;}
.stepper>button:disabled{opacity:.55;cursor:not-allowed;}
.stepper-num{min-width:2ch;text-align:center;font-weight:var(--fw-semibold);}
@media (max-width:480px){.field-head{text-align:center;margin-bottom:var(--s-12);} .card-lite .stepper{justify-content:center;}}
@media (max-width:640px){
  .p1-grid{max-width:360px;margin-inline:auto;gap:var(--s-16);}
  section[data-step="1"] #estado{font-size:var(--fs-13);text-align:center;margin-top:var(--s-12);}
  section[data-step="1"] .acciones{margin-top:var(--s-20);}
}
@media (pointer:coarse){section[data-step="1"] .acciones .btn-primario{display:inline-flex;}}

/* ========================================================================== */
/* 03) PASO 2 — PREFERENCIA (RADIOS)                                          */
/* ========================================================================== */
section[data-step="2"] [role="radiogroup"]{display:grid;grid-template-columns:1fr;gap:var(--s-16);align-items:stretch;}
@media (min-width:820px){section[data-step="2"] [role="radiogroup"]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1100px){section[data-step="2"] [role="radiogroup"]{grid-template-columns:repeat(3,minmax(0,1fr));}}
section[data-step="2"] [role="radiogroup"]>li{margin:0;display:flex;}
section[data-step="2"] [role="radiogroup"]>li>label{flex:1;display:grid;box-sizing:border-box;justify-items:start;align-content:start;gap:var(--s-8);padding-block:var(--s-16);padding-inline:var(--s-18,18px);text-align:left;cursor:pointer;--h-title:calc(var(--fs-16)*1.3);--h-desc:calc(var(--fs-14)*1.4);min-block-size:calc(var(--h-title)+var(--s-8)+var(--h-desc)+(var(--s-16)*2));}
section[data-step="2"] [role="radiogroup"]>li>label .title-row{display:grid;grid-template-columns:20px 1fr;column-gap:var(--s-12);align-items:start;}
section[data-step="2"] [role="radiogroup"]>li>label .ico{inline-size:20px;block-size:20px;color:var(--secondary);margin-top:1px;}
section[data-step="2"] input[type="radio"]:checked+label .ico{color:var(--tint);}
section[data-step="2"] [role="radiogroup"]>li>label h2{margin:0;font-size:var(--fs-16);line-height:1.3;font-weight:var(--fw-semibold);color:var(--label);}
section[data-step="2"] [role="radiogroup"]>li>label p{margin:0;font-size:var(--fs-14);line-height:1.4;color:var(--secondary);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;}
@media (max-width:640px){
  section[data-step="2"] [role="radiogroup"]{gap:var(--s-12);}
  section[data-step="2"] [role="radiogroup"]>li>label{padding-block:var(--s-12);padding-inline:var(--s-16);min-block-size:auto;}
  section[data-step="2"] [role="radiogroup"]>li>label h2{font-size:var(--fs-15);line-height:1.25;}
  section[data-step="2"] [role="radiogroup"]>li>label p{font-size:var(--fs-13);line-height:1.35;}
}

/* ========================================================================== */
/* 04) PASO 3 — TITULARES                                                     */
/* ========================================================================== */
.titulares-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s-24);row-gap:var(--s-16);align-items:start;margin:var(--s-12) 0;}
.titulares-grid .field-group,.field-group-compact{display:contents;}
.titulares-grid .field{margin:0;}
.titulares-grid+h3{margin-top:var(--s-8);}
section[data-step="3"] .form-1col{max-width:560px;margin-inline:auto;}
@media (max-width:640px){section[data-step="3"] .form-1col{max-width:none;}}
section[data-step="3"] .titulares-grid .col-1{grid-column:1/2;}
@media (max-width:640px){section[data-step="3"] .titulares-grid .col-1{grid-column:1/-1;}}

/* ========================================================================== */
/* 05) LAYOUT RESULTADOS (2 COLUMNAS + STICKY SIDEBAR)                         */
/* ========================================================================== */
.contenedor-dos-columnas{max-width:var(--container);display:grid;grid-template-columns:clamp(260px,var(--sidebar-w),420px) 1fr;gap:var(--grid-gap);align-items:start;padding-inline:0;overflow:visible;position:relative;}
.contenedor-dos-columnas::after{content:"";position:absolute;inset-block:0;inline-size:1px;inset-inline-start:calc(clamp(260px,var(--sidebar-w),420px) + 20px);background:var(--separator);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%);pointer-events:none;z-index:1;}
@media (max-width:768px){.contenedor-dos-columnas::after{display:none;}}
.columna-izquierda{position:sticky;top:calc(var(--filters-top) + var(--filters-gap));z-index:var(--z-sticky);align-self:start;}
.columna-izquierda>.sidebar-panel{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;outline:0;border-radius:0;box-shadow:none;}
.columna-izquierda>.sidebar-panel>.sidebar-scroll{max-block-size:calc(100dvh - var(--filters-top) - var(--filters-gap));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:var(--panel-pad) var(--panel-pad) var(--s-48);contain:layout paint;}
@supports not (height:100dvh){.columna-izquierda>.sidebar-panel>.sidebar-scroll{max-block-size:calc(100svh - var(--filters-top) - var(--filters-gap));}}
@supports not (height:100svh){.columna-izquierda>.sidebar-panel>.sidebar-scroll{max-block-size:calc(100vh - var(--filters-top) - var(--filters-gap));}}
.contenedor-dos-columnas .columna-derecha{padding-inline-start:var(--panel-pad);}

/* ========================================================================== */
/* 06) HEADER RESULTADOS (FULL-BLEED + STICKY + GLASS)                         */
/* ========================================================================== */
.header-resultados{position:sticky;top:var(--header-h);z-index:var(--z-sticky);inline-size:100vw;max-inline-size:100vw;margin-inline:calc(50% - 50vw);box-sizing:border-box;background:color-mix(in oklch,var(--glass-bg) 98%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-top:1px solid color-mix(in oklch,var(--separator) 40%,transparent);border-radius:0;box-shadow:none;outline:0;margin-block-end:var(--filters-gap);}
.header-resultados .header-inner{max-width:var(--container);margin-inline:auto;display:grid;grid-template-areas:"izq ajustes der";grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;column-gap:var(--s-16);row-gap:var(--s-12);padding-block:var(--s-16);padding-inline:clamp(12px,3vw,24px);}
.hr-izq{grid-area:izq;display:flex;align-items:center;gap:var(--s-16);flex-wrap:wrap;justify-self:start;min-inline-size:0;}
.hr-ajustes{grid-area:ajustes;display:flex;align-items:center;gap:var(--s-12);flex-wrap:wrap;justify-self:center;min-inline-size:0;flex:1 1 auto;}
.hr-der{grid-area:der;display:flex;align-items:center;gap:var(--s-12);justify-self:end;min-inline-size:0;}
@supports (padding:max(0px)){.header-resultados .header-inner{padding-inline:max(clamp(12px,3vw,24px),env(safe-area-inset-left),env(safe-area-inset-right));}}
@media (max-width:1100px){.header-resultados .header-inner{grid-template-areas:"izq der" "ajustes ajustes";grid-template-columns:1fr max-content;}}
@media (max-width:720px){.header-resultados .header-inner{grid-template-areas:"izq" "ajustes" "der";grid-template-columns:1fr;--glass-blur:8px;padding-block:var(--s-10);padding-inline:clamp(10px,4vw,16px);row-gap:var(--s-8);}}

/* Safe-area (consolidado) */
@supports (top:env(safe-area-inset-top)){
  .header-resultados{top:calc(var(--header-h) + env(safe-area-inset-top));}
  .columna-izquierda{top:calc(var(--filters-top) + var(--filters-gap) + env(safe-area-inset-top));}
  .columna-izquierda>.sidebar-panel>.sidebar-scroll{max-block-size:calc(100dvh - var(--filters-top) - var(--filters-gap) - env(safe-area-inset-top));}
}

/* Fallback transparencia */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.columna-izquierda,.header-resultados{background:var(--surface);}}
@media (prefers-reduced-transparency:reduce){
  .header-resultados{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;}
  .columna-izquierda>.sidebar-panel{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;}
}

/* ========================================================================== */
/* 07) CONTADOR (SIDEBAR)                                                     */
/* ========================================================================== */
.hr-label,.hr-contador{margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:var(--fs-13);font-weight:500;line-height:1.2;color:var(--secondary);user-select:none;cursor:default;}
.hr-contador{inline-size:8ch;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media (max-width:720px){.hr-contador{inline-size:auto;}}
label.hr-label{cursor:pointer;}
.header-resultados .hr-label + :is(.hr-group,.select-wrap){margin-inline-start:-2px;}
.sidebar-head .hr-contador{padding:4px 10px;border-radius:999px;inline-size:auto;text-align:right;background:color-mix(in oklch,var(--surface,#fff) 96%,var(--bg,#0f1422) 4%);border:1px solid var(--separator,#e6eaf0);font-size:12px;font-weight:500;color:var(--muted,#6b7280);}

/* ========================================================================== */
/* 08) CONTROLES HEADER: VISTA / CRITERIOS / SELECTS / BÚSQUEDA                */
/* ========================================================================== */
/* Vista */
.vista-switch{display:inline-flex;border:1px solid var(--separator);border-radius:var(--rad-sm);overflow:hidden;}
.vista-btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;inline-size:var(--s-32);block-size:var(--s-32);background:var(--surface);color:var(--secondary);transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);}
.vista-btn+.vista-btn{border-left:1px solid var(--separator-soft);}
.vista-btn[aria-pressed="true"]{background:var(--tint);color:var(--bg);}
.vista-btn:hover:not([aria-pressed="true"]){background:var(--surface-hover);color:var(--label);}
.vista-btn:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring);}
.vista-btn .icono-vista{inline-size:var(--s-16);block-size:var(--s-16);stroke:currentColor;stroke-width:1.75;pointer-events:none;}

/* Criterios */
.caja-criterios{display:inline-flex;border:1px solid var(--separator);border-radius:var(--rad-sm);overflow:hidden;}
.boton-filtro{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;block-size:var(--s-32);padding-inline:var(--s-12);background:var(--surface);color:var(--secondary);font-size:var(--fs-13);font-weight:500;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);}
.boton-filtro+.boton-filtro{border-left:1px solid var(--separator-soft);}
.boton-filtro[aria-pressed="true"]{background:var(--tint);color:var(--bg);}
.boton-filtro:hover:not([aria-pressed="true"]){background:var(--surface-hover);color:var(--label);}
.boton-filtro:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring);}
.hr-coberturas .caja-criterios{gap:var(--s-4);border:0;overflow:visible;}
.boton-filtro.redondo{inline-size:var(--s-32);block-size:var(--s-32);padding:0;border-radius:50%;border:1px solid var(--separator);}

/* Selects */
.select-wrap{position:relative;display:inline-flex;}
.hr-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;block-size:var(--s-32);padding-inline:var(--s-12) var(--s-24);background:var(--surface);border:1px solid var(--separator);border-radius:var(--rad-sm);font-size:var(--fs-13);font-weight:500;line-height:1.2;color:var(--secondary);min-inline-size:4ch;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);background-clip:padding-box;}
.hr-select:hover{background:var(--surface-hover);color:var(--label);}
.hr-select:focus-visible{outline:none;border-color:var(--tint);box-shadow:var(--focus-ring);color:var(--label);}
.select-wrap::after{content:"";position:absolute;top:50%;inset-inline-end:var(--s-8);inline-size:var(--s-12);block-size:var(--s-12);transform:translateY(-50%);pointer-events:none;background:var(--label);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;}

/* Búsqueda */
.hr-busqueda{display:flex;align-items:center;block-size:var(--s-32);background:var(--surface);border:1px solid var(--separator);border-radius:var(--rad-sm);padding-inline:var(--s-4);flex:0 0 auto;min-inline-size:0;transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);}
.busq-icono{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;inline-size:var(--s-18);block-size:var(--s-18);color:var(--secondary);margin-inline:4px var(--s-4);}
.busq-input{all:unset;flex:0 1 auto;min-inline-size:8ch;inline-size:18ch;max-inline-size:36ch;text-overflow:ellipsis;font-size:var(--fs-13);font-weight:var(--fw-regular);line-height:var(--lh-tight);color:var(--secondary);caret-color:var(--tint);transition:color var(--motion-fast) var(--motion-ease);}
.busq-input:focus{color:var(--label);}
.busq-input::placeholder{color:var(--secondary);font-size:var(--fs-13);font-weight:var(--fw-medium);letter-spacing:.01em;}
.hr-busqueda:focus-within{border-color:var(--tint);box-shadow:var(--focus-ring);}
@media (max-width:720px){.busq-input{inline-size:14ch;}}

/* Resaltado (Highlight API + fallback mark) */
::highlight(busq){background:var(--hl-bg);border-radius:var(--rad-xs,6px);}
mark.resaltado{background:var(--hl-bg);border-radius:var(--rad-xs,6px);padding-inline:var(--s-2,2px);}

/* Disabled + focus ring uniforme */
.vista-btn[disabled],.boton-filtro[disabled],.hr-select:disabled,.busq-input:disabled,.busq-icono[disabled]{opacity:.5;cursor:not-allowed;}
:where(.vista-btn,.boton-filtro,.hr-select,.hr-busqueda):focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring);}

/* ========================================================================== */
/* 09) RESUMEN7 (PERFIL)                                                      */
/* ========================================================================== */
#resumen7{display:block;width:100%;}
#resumen7 .r7-layout{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-auto-rows:min-content;align-items:start;}
#resumen7 .r7-main{min-width:0;}
#resumen7 .r7-side{justify-self:end;align-self:center;min-width:0;}
#resumen7 .r7-side-row{display:flex;align-items:center;gap:15px;}
#resumen7 .r7-reset{margin:0;}
.r7-form{padding-inline:var(--s-20);padding-block:var(--s-10);position:relative;z-index:var(--z-resumen);}
.r7-wrap{width:100%;margin:var(--s-16) 0;position:relative;z-index:calc(var(--z-resumen) + 1);}
.r7-line{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:var(--fs-13,.8125rem);line-height:1.4;}
.r7-line .r7-flex-spacer{flex:1;}
.r7-bloque{display:inline-flex;align-items:center;gap:.45rem;}
.r7-cot{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;}
.r7-head{display:inline-flex;align-items:flex-start;gap:.45rem;line-height:1.2;}
.r7-sub{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-13,.8125rem);line-height:1.25;color:var(--muted,#6b7280);}
.r7-sub>*{margin:0;line-height:1.25;font-weight:400;}
.r7-label{font-size:var(--fs-13,.8125rem);font-weight:600;color:var(--label,#111827);line-height:1.2;}
.r7-sub .r7-label{font-weight:400;line-height:1.25;}
.r7-strong{font-weight:600;color:var(--label,#111827);}
.r7-mute{color:var(--muted,#6b7280);}
.r7-uf{font-weight:400;}
.r7-uf,.r7-mute,.r7-in{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;}
.r7-ico,.r7-form [data-lucide]{inline-size:16px;block-size:16px;flex:0 0 16px;display:block;color:currentColor;}
.r7-sep{display:inline-block;width:0;height:2em;border-left:1px solid var(--separator,#e6eaf0);margin:.6rem;}
.r7-pencil{display:inline-flex;align-items:center;color:var(--secondary,#6b7280);}
.r7-pencil:hover{color:var(--tint,#0d99ff);}
.r7-in{font:inherit;height:32px;padding:.25rem .6rem;width:6ch;border:1px solid var(--separator,#e6eaf0);border-radius:8px;background:var(--surface,#fff);color:var(--label,#111827);}
.r7-in--lg{inline-size:12ch;}
.r7-sub .filtroSelect{appearance:none;display:inline-block;font:inherit;line-height:1.25;height:1.25em;padding:0 1.6rem 0 0;margin:0;border:0;color:inherit;vertical-align:-1px;background-color:transparent;}
.r7-sub .filtroSelect:focus-visible{outline:2px solid var(--tint,#0d99ff);outline-offset:2px;}
.btn-cta-solicitar[disabled],.btn-cta-solicitar[aria-disabled="true"]{opacity:.55;cursor:not-allowed;background:color-mix(in oklch,var(--brand) 70%,var(--bg) 30%);border-color:color-mix(in oklch,var(--brand) 65%,var(--surface) 35%);box-shadow:none;transition:opacity var(--motion-fast) var(--motion-ease);}
.icon-action{inline-size:30px;block-size:30px;display:inline-grid;place-items:center;border-radius:calc(var(--rad-md)*0.6);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease);}
.icon-action:hover{background:color-mix(in oklch,var(--surface) 94%,var(--bg) 6%);}
.icon-action:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}
.icon-action .r7-ico,.icon-action svg{inline-size:16px;block-size:16px;stroke-width:1.8;}
.icon-action--text{display:inline-flex;align-items:center;gap:var(--s-6,6px);padding-inline:var(--s-8,8px);inline-size:auto;white-space:nowrap;}
.icon-action--text .r7-label{color:var(--secondary);}
.r7-form--auto .r7-row{display:inline-flex;align-items:center;gap:6px;}
.r7-form--auto .r7-cot + .r7-cot{margin-inline-start:10px;}
.r7-form--auto #btnRecalcularAuto.btn-cta-solicitar{display:inline-flex;align-items:center;justify-content:center;block-size:30px;min-block-size:30px;padding-block:0;padding-inline:var(--s-16);border-radius:8px;font-size:var(--fs-13,.8125rem);line-height:1;width:auto;margin-inline-start:.6rem;}
.r7-presets-group{display:inline-flex;align-items:center;gap:.5rem;margin-inline-start:.5rem;}
.r7-presets{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-8);margin-inline-start:0;}
.r7-presets .chip{block-size:30px;min-block-size:30px;padding-block:0;padding-inline:var(--s-10);display:inline-flex;align-items:center;line-height:1;border-radius:var(--rad-pill,9999px);border:1px solid color-mix(in oklab,currentColor 60%,var(--surface) 40%);}
.r7-presets .chip[aria-pressed="true"]{background:color-mix(in oklab,var(--tint) 28%,var(--surface) 72%);color:color-mix(in oklab,var(--tint) 92%,#000 8%);border-color:color-mix(in oklab,currentColor 75%,var(--surface) 25%);font-weight:600;}
.r7-dd{position:fixed;z-index:var(--z-resumen-popover);background:var(--surface,#fff);border:1px solid var(--separator,#e6eaf0);border-radius:12px;box-shadow:var(--shadow-lg,0 18px 48px rgba(15,20,34,.14),0 4px 10px rgba(15,20,34,.06));animation:r7fade .15s ease-out;pointer-events:auto;isolation:isolate;}
.r7-dd-inner{padding:12px;position:relative;z-index:1;}
.r7-dd-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.r7-dd-in{font:500 14px/1 var(--font,"Inter",system-ui);padding:10px 12px;border-radius:10px;border:1px solid var(--separator,#e6eaf0);background:var(--fill,#f7f9fc);color:var(--label,#0f1422);outline:none;min-width:140px;}
.r7-dd-in:focus{border-color:var(--tint,#0d99ff);box-shadow:0 0 0 4px color-mix(in oklab,var(--tint,#0d99ff) 20%,transparent);}
.r7-dd-in.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important;}
.r7-dd-fecha{width:120px;}
.r7-dd-money{text-align:right;width:150px;}
.r7-dd-btn{font:600 13px/1 var(--font,"Inter",system-ui);padding:10px 14px;border-radius:10px;cursor:pointer;border:1px solid var(--separator,#e6eaf0);background:var(--surface,#fff);color:var(--label,#0f1422);}
.r7-dd-ok{border-color:var(--tint,#0d99ff);background:linear-gradient(180deg,color-mix(in oklch,var(--tint,#0d99ff) 18%,transparent),color-mix(in oklch,var(--tint,#0d99ff) 12%,transparent));box-shadow:0 8px 22px rgba(0,0,0,.06);}
.r7-dd-ghost{background:var(--surface-2,#f9fafb);}
.r7-dd-arrow{position:absolute;top:-8px;inline-size:16px;block-size:16px;transform:rotate(45deg);background:var(--surface,#fff);border-left:1px solid var(--separator,#e6eaf0);border-top:1px solid var(--separator,#e6eaf0);box-shadow:-3px -3px 6px rgba(15,20,34,.03);z-index:0;pointer-events:none;}
.r7-dd-err{margin-top:8px;font:600 12px/1.3 var(--font,"Inter",system-ui);color:#ef4444;}
.r7-ts{--ts-x:0px;--ts-w:0px;--pad:4px;--gap:5px;--rad:999px;position:relative;display:inline-grid;grid-auto-flow:column;gap:var(--gap);padding:var(--pad);max-width:100%;background:#f6f8fb;border:1px solid #e7ebf2;border-radius:var(--rad);box-shadow:0 1px 1px rgba(0,0,0,.02);}
.r7-ts::before{content:"";position:absolute;left:var(--pad);top:var(--pad);width:var(--ts-w,0px);height:calc(100% - var(--pad)*2);transform:translateX(var(--ts-x,0px));background:#fff;border-radius:var(--rad);box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);transition:transform .2s cubic-bezier(.22,.61,.36,1),width .2s cubic-bezier(.22,.61,.36,1);}
.r7-ts-btn{position:relative;z-index:1;appearance:none;border:0;background:none;padding:7px 12px;min-height:28px;border-radius:var(--rad);font:600 11px/1.1 system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#4a5568;white-space:nowrap;cursor:pointer;}
.r7-ts-btn:hover{color:#0f172a;}
.r7-ts-btn.on,.r7-ts-btn[aria-selected="true"]{color:#0f172a;}
.r7-ts-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;}
@keyframes r7fade{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
@media (max-width:640px){#resumen7 .r7-layout{grid-template-columns:1fr;}#resumen7 .r7-side{justify-self:start;}}
@supports not (display:grid){#resumen7 .r7-layout{display:flex;align-items:flex-start;}#resumen7 .r7-main{flex:1 1 auto;min-width:0;}#resumen7 .r7-side{flex:0 0 auto;margin-left:auto;}}
.r7-label--stack{display:inline-flex;flex-direction:column;gap:2px;}
.r7-label--hint{font-size:11px;line-height:1.2;color:var(--secondary,#9ca3af);}

/* ========================================================================== */
/* 10) SIDEBAR: HEAD + CAJAS + FILTROS ACTIVOS + LIMPIAR                       */
/* ========================================================================== */
.sidebar-head{margin-block-end:var(--s-12);display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.sidebar-title{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--label);margin:0;}
.sidebar-title [data-lucide]{inline-size:18px;block-size:18px;stroke-width:2;color:currentColor;}
.ordenamiento-filtros{display:block;}
.ordenamiento-filtros>.caja+.caja{margin-block-start:var(--s-8);}
.ordenamiento-filtros .caja{padding-block:var(--s-10);border-radius:var(--rad-md);backdrop-filter:blur(var(--blur-md)) saturate(120%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(120%);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ordenamiento-filtros .caja{background:var(--surface);box-shadow:none;}}
@media (prefers-reduced-transparency:reduce){.ordenamiento-filtros .caja{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface);}}
.label-select{display:block;margin-block-end:var(--s-4);margin-inline-start:var(--s-6);font-size:var(--fs-14);font-weight:var(--fw-semibold);padding:0;border:0;background:none;cursor:default;}
.caja input.filtroInput{margin-top:var(--s-10);}
.ordenamiento-filtros .caja:hover .label-select,.ordenamiento-filtros .label-select:is(:hover,:focus){background:transparent!important;}

/* Chips */
.bloque-filtros-activos{border:1px dashed color-mix(in oklab,var(--separator) 90%,var(--label) 10%);border-radius:var(--rad-md);padding:var(--s-12);display:grid;gap:var(--s-12);min-inline-size:0;}
.filtros-seleccionados{display:flex;flex-wrap:wrap;gap:var(--s-8);padding:var(--s-8) 0 var(--s-4);min-height:var(--s-8);min-inline-size:0;}
.chip{display:flex;align-items:center;gap:var(--s-6);block-size:var(--s-28);padding-inline:var(--s-10);border-radius:var(--rad-pill,9999px);font-size:var(--fs-12);background:color-mix(in oklab,var(--tint) 10%,var(--surface) 90%);color:var(--tint);max-inline-size:100%;min-inline-size:0;}
.chip-txt{flex:1 1 auto;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chip .chip-x{all:unset;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--s-18);inline-size:var(--s-18);block-size:var(--s-18);border-radius:50%;cursor:pointer;color:var(--secondary);opacity:.75;transition:background var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);}
.chip .chip-x:hover,.chip .chip-x:focus-visible{background:var(--chip-x-hover-bg,var(--surface-hover));color:var(--label);opacity:1;outline:2px solid transparent;box-shadow:var(--focus-ring);}
@media (pointer:coarse){.chip .chip-x{inline-size:24px;block-size:24px;}}

/* Limpiar + toggle */
.bloque-filtros-activos .caja-limpiar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;}
#btnLimpiarFiltros.btn-cta-solicitar{display:inline-flex;align-items:center;justify-content:center;block-size:30px;min-block-size:30px;padding-block:0;padding-inline:var(--s-18);border-radius:8px;font-size:var(--fs-13,.8125rem);line-height:1;width:auto;margin-inline-start:0;}
label.toggle-match{all:unset;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;}
.filtros-match-modo{display:flex;align-items:center;justify-content:center;}
.filtros-match-modo.is-disabled{opacity:.45;pointer-events:none;}
.toggle-input{position:absolute;opacity:0;pointer-events:none;}
.toggle-slider{inline-size:30px;block-size:14px;border-radius:999px;background:var(--border-subtle,#d0d0d0);position:relative;}
.toggle-slider::before{content:"";position:absolute;top:1px;left:1px;inline-size:12px;block-size:12px;border-radius:50%;background:#fff;transition:transform var(--motion-fast) var(--motion-ease);}
.toggle-input:checked+.toggle-slider{background:var(--tint,#0d99ff);}
.toggle-input:checked+.toggle-slider::before{transform:translateX(16px);}
.toggle-text{font-size:var(--fs-13);color:var(--secondary);user-select:none;}

/* ========================================================================== */
/* 11) SELECTS SIDEBAR + COBERTURAS + AUTOCOMPLETE CLÍNICAS                    */
/* ========================================================================== */
.filtroSelect{appearance:none;width:100%;height:var(--s-32);padding:0 var(--s-32) 0 var(--s-6);font-size:var(--fs-12,.75rem);color:var(--secondary);background:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right var(--s-12) center/var(--s-14);border:none;border-bottom:1px solid var(--separator);outline:none;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease);background-clip:padding-box;}
.filtroSelect:hover{background-color:var(--surface-hover);color:var(--label);}
.filtroSelect:focus-visible{border-color:var(--tint);box-shadow:var(--focus-ring);color:var(--label);outline:none;}
.filtroSelect:disabled{opacity:.55;cursor:not-allowed;}
@media (pointer:coarse){.filtroSelect{height:44px;}}
#covDeseadaWrap .cobertura-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-12);margin-top:var(--s-6);}
@media (max-width:420px){#covDeseadaWrap .cobertura-grid{grid-template-columns:1fr;}}
.caja.caja-select{position:relative;}
.caja.caja-select:focus-within{z-index:var(--z-popover);}
.filtroInput{all:unset;box-sizing:border-box;display:block;inline-size:100%;block-size:var(--s-32);padding-inline:var(--s-12);background:var(--surface);border:1px solid var(--separator);border-radius:var(--rad-sm);font-size:var(--fs-13);color:var(--secondary);caret-color:var(--tint);transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);}
.filtroInput:focus{color:var(--label);border-color:var(--tint);box-shadow:var(--focus-ring);}
.filtroInput::placeholder{color:var(--secondary);font-weight:var(--fw-medium);}
#sugClinicas.autocomplete-list{display:none;position:absolute;top:100%;left:0;right:0;max-height:260px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface);border-radius:var(--rad-sm);padding:var(--s-12);box-shadow:var(--glass-shadow);z-index:calc(var(--z-popover) + 1);}
#sugClinicas:empty{display:none;}
#sugClinicas:not([hidden]):not(:empty){display:block;}
.autocomplete-item{display:block;width:100%;padding:var(--s-6) var(--s-8);text-align:left;cursor:pointer;font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--label);background:transparent;border:0;border-radius:var(--rad-sm);border-bottom:1px dotted var(--separator);}
.autocomplete-item:last-child{border-bottom:none;}
.autocomplete-item:hover,.autocomplete-item:focus-visible{background:var(--surface-hover);outline:2px solid transparent;box-shadow:var(--focus-ring);}
@media (pointer:coarse){.filtroInput{block-size:44px;} .autocomplete-item{padding:var(--s-10) var(--s-12);}}

/* ========================================================================== */
/* 12) FILTRO PRECIO (DOBLE RANGE)                                             */
/* ========================================================================== */
.bloque-filtro-precio{display:flex;flex-direction:column;gap:var(--s-10);padding:var(--s-12) var(--s-4) var(--s-10);visibility:hidden;}
.bloque-filtro-precio.fp-ready{visibility:visible;}
.fp-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-8);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--secondary);}
.fp-currency{color:var(--secondary);}
.fp-switch{display:inline-flex;align-items:center;gap:var(--s-8);user-select:none;}
.fp-switch input{accent-color:var(--tint);}
.fp-slider{position:relative;height:calc(var(--fp-thumb) + 2*var(--fp-thumb-border));padding:0;box-sizing:content-box;}
.fp-rail,.fp-fill{position:absolute;left:0;right:0;top:50%;height:var(--fp-track-h);transform:translateY(-50%) translateZ(0);border-radius:9999px;}
.fp-rail{background:var(--separator);}
.fp-fill{background:var(--tint);left:0;right:0;width:auto;will-change:left,right;}
.fp-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;background:transparent;pointer-events:auto;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;}
.fp-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;height:var(--fp-track-h);}
.fp-slider input[type=range]::-moz-range-track{background:transparent;height:var(--fp-track-h);}
.fp-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--fp-thumb);height:var(--fp-thumb);border-radius:50%;background:var(--label);border:var(--fp-thumb-border) solid var(--surface);box-shadow:0 0 0 1px color-mix(in oklab,var(--label) 10%,transparent);cursor:pointer;position:relative;z-index:1;margin-top:calc((var(--fp-track-h) - (var(--fp-thumb) + 2*var(--fp-thumb-border))) / 2);}
.fp-slider input[type=range]::-moz-range-thumb{width:var(--fp-thumb);height:var(--fp-thumb);border-radius:50%;background:var(--label);border:var(--fp-thumb-border) solid var(--surface);box-shadow:0 0 0 1px color-mix(in oklab,var(--label) 10%,transparent);cursor:pointer;position:relative;z-index:1;margin-top:calc((var(--fp-track-h) - (var(--fp-thumb) + 2*var(--fp-thumb-border))) / 2);}
.fp-labels{display:flex;justify-content:space-between;font-size:var(--fs-12);color:var(--secondary);}
.fp-label{user-select:none;}
#fpSlider{--fp-track-h:2px;--fp-thumb:var(--s-12);--fp-thumb-border:1px;}
.fp-header,.fp-currency,#fpCurrencyText{background:transparent!important;}
@media (pointer:coarse){#fpSlider{--fp-thumb:var(--s-16);}}

/* ========================================================================== */
/* 13) ACCESIBILIDAD / COMPAT / PREFERENCIAS                                  */
/* ========================================================================== */
@media (pointer:coarse){
  .vista-btn,.boton-filtro,.hr-select,.hr-busqueda{block-size:44px;}
  .vista-btn{inline-size:44px;}
  .boton-filtro.redondo{inline-size:44px;block-size:44px;}
}
@media (forced-colors:active){
  .vista-switch,.caja-criterios,.hr-busqueda,.hr-select,.filtroSelect{border:1px solid CanvasText;background:none;}
  .vista-btn[aria-pressed="true"],.boton-filtro[aria-pressed="true"]{background:Highlight;color:HighlightText;}
  .select-wrap::after{background:CanvasText;}
  .ordenamiento-filtros .caja,.bloque-filtros-activos{border:1px solid CanvasText;background:Canvas;}
  .chip{background:Canvas;color:CanvasText;border:1px solid CanvasText;}
  .chip .chip-x{color:CanvasText;}
  #sugClinicas.autocomplete-list{border:1px solid CanvasText;background:Canvas;box-shadow:none;}
  .autocomplete-item{border-bottom:1px solid CanvasText;}
  .resaltado{background:Highlight;color:HighlightText;}
}
@media (prefers-contrast:more){
  .vista-btn[aria-pressed="true"],.boton-filtro[aria-pressed="true"]{outline:2px solid color-mix(in oklch,var(--tint) 40%,black);}
  .hr-busqueda:focus-within{box-shadow:0 0 0 3px color-mix(in oklch,var(--tint) 35%,transparent);}
}
/* Reduced motion (sin matar todo el sitio) */
@media (prefers-reduced-motion:reduce){
  .steps .dot,.stepper>button,.vista-btn,.boton-filtro,.hr-select,.hr-busqueda,.busq-input,.chip .chip-x,.toggle-slider::before,.r7-ts::before,.r7-dd{transition:none!important;animation:none!important;}
}

/* RTL */
:root:dir(rtl) .busq-icono{margin-inline:var(--s-4) 4px;}

/* Utilidad resaltado */
body.oscuro{--resaltado-bg:color-mix(in oklch,var(--brand) 60%,var(--surface) 40%);--resaltado-fg:var(--bg);}
.resaltado{background:var(--resaltado-bg);color:inherit;}




/* Definitivo header modos*/
.header-resultados{
  position:sticky;
  top:var(--header-h);
  z-index:var(--z-sticky);
  inline-size:100%;
  max-inline-size:var(--container);
  margin-inline:auto;
  box-sizing:border-box;
  background:color-mix(in oklch,var(--glass-bg) 98%,transparent);
  -webkit-backdrop-filter:blur(var(--glass-blur));
  backdrop-filter:blur(var(--glass-blur));
  border-top:1px solid color-mix(in oklch,var(--separator) 40%,transparent);
  border-radius:var(--rad-card);
  margin-block-end:var(--filters-gap);
}
.header-resultados .header-inner{
  max-width:100%;
}




/* =========================================
   Overlay lateral (tipo carrito) + Fallback
   ========================================= */

/* Tunables */
:root{
  --tb-no-blur-bg: rgba(15,20,34,.28); /* sin soporte blur */
  --tb-blur-bg:    rgba(15,20,34,.16); /* con blur: menos opaco */
  --tb-blur:       2px;                /* intensidad del blur */
}

/* Backdrop base (SIN blur; funciona en todos) */
.tools-backdrop{
  position:fixed; inset:0;
  background:var(--tb-no-blur-bg);
  z-index:var(--z-drawer);
  transition:opacity .18s ease;
  opacity:0; pointer-events:none;
}

/* Solo si hay soporte, activa blur y ajusta opacidad */
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .tools-backdrop{
    background:var(--tb-blur-bg);
    backdrop-filter:saturate(110%) blur(var(--tb-blur));
    -webkit-backdrop-filter:saturate(110%) blur(var(--tb-blur));
  }
}

/* Panel lateral */
.tools-panel{
  position:fixed; inset:0 0 0 auto; width:min(420px, 100%);
  background:var(--surface, #fff); color:var(--label,#0f1422);
  box-shadow:-24px 0 48px rgba(15,20,34,.18);
  transform:translateX(100%);
  transition:transform .24s cubic-bezier(.22,.61,.36,1);
  z-index:var(--z-drawer-panel);
  outline:0; display:flex; flex-direction:column;
}

.tools-hd{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:14px 16px; border-bottom:1px solid var(--separator,#e6eaf0);
}
.tools-ttl{ font:600 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,Arial; }
.tools-x{ appearance:none; border:0; background:transparent; padding:6px; cursor:pointer; border-radius:8px; }
.tools-x:hover{ background:color-mix(in oklch, var(--surface) 92%, var(--bg, #0f1422) 8%); }
.tools-panel .icono, .tools-x svg{ width:18px; height:18px; }
.tools-panel:focus{ outline:2px solid var(--focus,#3b82f6); outline-offset:-2px; }

.tools-body{ padding:16px; overflow:auto; flex:1; }
.tools-ft{ padding:12px 16px; border-top:1px solid var(--separator,#e6eaf0); }

/* Estados */
.tools-open .tools-backdrop,
.cart-open .tools-backdrop{
  opacity:1;
  pointer-events:auto;
}
.tools-panel.is-open{ transform:translateX(0%); }

/* Accesibilidad opcional */
@media (prefers-reduced-motion: reduce){
  .tools-backdrop{ transition:none; }
  .tools-panel{ transition:none; }
}








/* Chips resumen */
.chips{ display:flex; flex-wrap:wrap; gap:var(--s-6); }
.chip{
  display:inline-flex; align-items:center; gap:var(--s-6);
  padding:var(--s-2) var(--s-8);
  border:1px solid var(--separator);
  background:color-mix(in oklab, var(--surface) 96%, var(--bg) 4%);
  font-size:var(--fs-12);
}
.chip .ico{ width:14px; height:14px; opacity:.9 }








/* ============================================
   Botón PASO 3 antes de resultados
   ============================================ */

.btn-primario.simular.is-loading{
  position: relative;
  pointer-events: none;
  /* Pulso más largo y suave */
  animation: qv-pulse-btn calc(var(--motion-duration-md, 500ms) * 2)
             var(--motion-ease, ease-in-out) infinite;
  transform-origin: center;
}

.btn-primario.simular.is-loading::before{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
  box-shadow: 0 0 0 0 color-mix(in oklch, var(--tint) 18%, transparent);
  animation: qv-pulse-glow calc(var(--motion-duration-md, 500ms) * 2.2)
             var(--motion-ease, ease-in-out) infinite;
}

/* Escala muy sutil */
@keyframes qv-pulse-btn{
  0%{
    transform: scale(1);
  }
  50%{
    transform: scale(1.008); /* antes 1.015 */
  }
  100%{
    transform: scale(1);
  }
}

/* Halo más suave y lento */
@keyframes qv-pulse-glow{
  0%{
    opacity: 0;
    box-shadow: 0 0 0 0 color-mix(in oklch, var(--tint) 0%, transparent);
  }
  50%{
    opacity: 0.9;
    box-shadow: 0 0 0 6px color-mix(in oklch, var(--tint) 16%, transparent);
  }
  100%{
    opacity: 0;
    box-shadow: 0 0 0 0 color-mix(in oklch, var(--tint) 0%, transparent);
  }
}