/* Nuevo buscador de seguros. Namespace aislado para no alterar las fichas actuales. */
.insurance-finder__anchor{display:block;position:relative;top:-.5rem;scroll-margin-top:1rem}
.insurance-finder,.insurance-results-summary,.insurance-results{box-sizing:border-box;width:min(calc(100% - 32px),1120px);margin-inline:auto}
.insurance-finder{margin-top:1.1rem;color:#071b4d}
.insurance-finder__heading{margin:0 0 .9rem;text-align:left}
.insurance-finder__heading h2{margin:0;color:#005eb8;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.15}
.insurance-finder__heading p{margin:.3rem 0 0;color:#42526b;font-size:.94rem;line-height:1.45}
.insurance-finder__desktop{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:1rem;padding:1rem;border:1px solid #b9d5ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(12,24,70,.08)}
.insurance-finder__groups{display:grid;grid-template-columns:1fr;gap:.9rem;align-items:start}
#insurance-finder[data-family="bupa"] .insurance-finder__groups{grid-template-columns:repeat(2,minmax(0,1fr))}
#insurance-finder[data-family="bupa"] .insurance-finder__group--family{grid-column:1/-1}
.insurance-finder__group,.insurance-filter-drawer__group{min-width:0;margin:0;padding:0;border:0}
.insurance-finder__group:not(:first-child){padding-left:.9rem;border-left:1px solid #dce8f2}
.insurance-finder__group legend,.insurance-filter-drawer__group legend{display:block;width:100%;margin:0 0 .65rem;padding:0;color:#071b4d;font-size:.78rem;font-weight:850;line-height:1.3;text-align:left}
.insurance-finder__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.insurance-finder__options--family{grid-template-columns:repeat(3,minmax(0,1fr))}
.insurance-finder__group[data-dependent-filter="healthSystem"] .insurance-finder__options{grid-template-columns:repeat(3,minmax(0,1fr))}
.insurance-finder__option{display:flex;align-items:center;justify-content:center;gap:.42rem;min-width:0;min-height:48px;padding:.55rem .6rem;border:1px solid #cbddeb;border-radius:10px;background:#fff;color:#071b4d;font:800 .78rem/1.15 Arial,sans-serif;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.insurance-finder__option:hover{border-color:#0875cf;background:#f2f8ff;transform:translateY(-1px)}
.insurance-finder__option.is-active{border-color:#005ed8;background:#005ed8;color:#fff;box-shadow:0 6px 14px rgba(0,94,216,.18)}
.insurance-finder__option:focus-visible,.insurance-finder__mobile-trigger:focus-visible,.insurance-filter-sticky button:focus-visible,.insurance-filter-drawer button:focus-visible{outline:3px solid #d02571;outline-offset:2px}
.insurance-finder__option-icon{display:block;flex:0 0 auto;width:20px;height:20px;color:#0875cf;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.insurance-finder__option.is-active .insurance-finder__option-icon{color:#fff}
.insurance-finder__option-icon--fonasa{color:#009b52}
.insurance-finder__option-icon--isapre{color:#b423c5}
.insurance-finder__option-icon--integramedica{color:#008c98}
.insurance-finder__guidance{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.6rem;align-items:start;min-height:100%;box-sizing:border-box;padding:.85rem .9rem;border-radius:12px;background:#f1f6fc;color:#24415f}
.insurance-finder__guidance p{margin:0;font-size:.8rem;line-height:1.55}
.insurance-finder__info-icon{display:grid;width:20px;height:20px;place-items:center;border:1.5px solid #0875cf;border-radius:50%;color:#0875cf;font:bold .75rem/1 Arial,sans-serif}
.insurance-finder__dependent[hidden],[data-insurance-filter-hidden="true"],.insurance-results__group[hidden]{display:none!important}
.insurance-finder__dependent:not([hidden]){animation:insuranceFilterReveal .2s ease both}
@keyframes insuranceFilterReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.insurance-finder__mobile-trigger{display:none}
.insurance-results-summary{margin-top:.7rem;margin-bottom:1rem;padding:.55rem .75rem;border:1px solid #d4e4f2;border-radius:12px;background:#f7fbff;text-align:left;scroll-margin-top:76px}
.insurance-results-summary:focus-visible{outline:3px solid #d02571;outline-offset:3px}
.insurance-results-summary__content{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.insurance-results-summary__content strong{color:#071b4d;font-size:.88rem;line-height:1.25}
.insurance-results-summary__content span{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .65rem;border:1px solid #cbddeb;border-radius:999px;background:#fff;color:#005eb8;font-size:.75rem;font-weight:800;line-height:1.2}
.insurance-results{display:flex;flex-direction:column;gap:0}
.insurance-results>#personas{order:1}
.insurance-results>#empresa{order:2}
.insurance-results>#plan-integramedica-100{order:3}
.insurance-results__group{width:100%;box-sizing:border-box}
.insurance-results .age-estimator{box-sizing:border-box;width:min(calc(100% - 32px),1120px);margin:1rem auto 1.2rem;padding:1rem 1.15rem;border:1px solid #cfe2f5;border-radius:15px;background:#f3f8fe;box-shadow:none}
.insurance-results .age-estimator__intro{text-align:left}
.insurance-results .age-estimator__eyebrow{color:#005eb8}
.insurance-results .age-estimator__title{font-size:1.18rem;color:#071b4d}
.insurance-results .age-estimator__title::after{margin:.45rem 0 0;background:#005ed8}
.insurance-results .age-estimator__text{max-width:none;margin:.45rem 0 0;color:#24415f;font-size:.86rem}
.insurance-results .age-estimator__controls{margin-top:.8rem}
.insurance-results .age-chip{border-radius:10px}
.insurance-results .age-chip.active{border-color:#005ed8;background:#005ed8;color:#fff;box-shadow:0 5px 14px rgba(0,94,216,.18)}
.insurance-results .age-estimator__note{margin:.65rem 0 0;text-align:left}
.insurance-filter-sticky{position:fixed;top:0;right:0;left:0;z-index:1150;padding:.5rem 1rem;transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
.insurance-filter-sticky.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.insurance-filter-sticky__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,1120px);min-height:58px;box-sizing:border-box;margin:auto;padding:.48rem .65rem .48rem 1rem;border:1px solid #82bee4;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(7,27,77,.14);color:#071b4d}
.insurance-filter-sticky__summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:.12rem}
.insurance-filter-sticky__summary>.insurance-filter-summary-text{max-width:100%;min-width:0;overflow:hidden;color:#071b4d;font-size:.86rem;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.insurance-filter-sticky__count{display:block;min-height:0;padding:0;background:transparent;color:#52667d;font-size:.72rem;font-weight:700;line-height:1.2;white-space:nowrap}
.insurance-filter-sticky__modify{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.42rem;min-height:44px;padding:.45rem .78rem;border:1px solid #0079c8;border-radius:999px;background:#fff;color:#005eb8;font:800 .78rem/1 Arial,sans-serif;box-shadow:0 3px 10px rgba(0,121,200,.1);cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.insurance-filter-sticky__modify-icon{display:block;width:18px;height:18px}
.insurance-filter-sticky__modify:hover{background:#edf7fd;box-shadow:0 5px 14px rgba(0,121,200,.16);transform:translateY(-1px)}
.insurance-filter-drawer{position:fixed;inset:0;z-index:6000;display:grid;align-items:end;background:rgba(7,27,77,.48);overscroll-behavior:contain}
.insurance-filter-drawer[hidden]{display:none}
.insurance-filter-drawer__panel{display:flex;flex-direction:column;width:100%;max-height:min(88vh,760px);box-sizing:border-box;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -16px 40px rgba(7,27,77,.22)}
.insurance-filter-drawer__header{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:1rem;border-bottom:1px solid #dce8f2}
.insurance-filter-drawer__header h2{margin:0;color:#071b4d;font-size:1.12rem;text-align:left}
.insurance-filter-drawer__clear,.insurance-filter-drawer__close{min-height:44px;border:0;background:transparent;color:#005eb8;font-weight:800;cursor:pointer}
.insurance-filter-drawer__close{width:44px;border-radius:50%;font-size:1.5rem}
.insurance-filter-drawer__body{display:grid;gap:1.15rem;overflow-y:auto;padding:1rem}
.insurance-filter-drawer__options{display:grid;gap:.45rem}
.insurance-filter-drawer__option{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.7rem .8rem;border:1px solid #cbddeb;border-radius:9px;background:#fff;color:#071b4d;font:800 .82rem/1.2 Arial,sans-serif;text-align:left;cursor:pointer}
.insurance-filter-drawer__option.is-active{border-color:#005ed8;background:#edf6ff;color:#005eb8;box-shadow:inset 0 0 0 1px #005ed8}
.insurance-filter-drawer__check{display:none;width:20px;height:20px;place-items:center;border-radius:50%;background:#005ed8;color:#fff;font-size:.7rem}
.insurance-filter-drawer__option.is-active .insurance-filter-drawer__check{display:grid}
.insurance-filter-drawer__note{padding:.8rem .9rem;border-radius:10px;background:#f1f6fc;color:#24415f;font-size:.78rem;line-height:1.5}
.insurance-filter-drawer__apply{min-height:50px;margin:.2rem 1rem calc(1rem + env(safe-area-inset-bottom));border:0;border-radius:9px;background:#005ed8;color:#fff;font:850 .95rem/1 Arial,sans-serif;box-shadow:0 8px 18px rgba(0,94,216,.2);cursor:pointer}
body.insurance-filter-drawer-open{overflow:hidden}

/* El CTA flotante conserva su enlace y analytics, pero ocupa el mismo espacio reducido en todos los dispositivos. */
.scroll-top-btn,.whatsapp-float-container{right:18px}
.scroll-top-btn{width:54px;height:54px}
.whatsapp-float-container{bottom:92px}
.whatsapp-float{box-sizing:border-box;width:54px;height:54px;padding:0;border-radius:50%;justify-content:center;gap:0}
.whatsapp-float img{width:34px!important;height:34px!important}
.whatsapp-float .whatsapp-text{display:none}

@media(max-width:1023px) and (min-width:768px){
  .insurance-finder__desktop{grid-template-columns:1fr}
  .insurance-finder__guidance{min-height:0}
  .insurance-finder__groups,#insurance-finder[data-family="bupa"] .insurance-finder__groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insurance-finder__group--family,#insurance-finder[data-family="bupa"] .insurance-finder__group--family{grid-column:1/-1}
  .insurance-finder__options--family{grid-template-columns:repeat(3,minmax(0,1fr))}
  .insurance-finder__options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insurance-finder__option{justify-content:flex-start;padding-inline:.75rem}
}

@media(max-width:767px){
  .insurance-finder,.insurance-results-summary,.insurance-results{width:min(calc(100% - 24px),640px)}
  .insurance-finder{margin-top:.85rem}
  .insurance-finder__heading{margin-bottom:.7rem}
  .insurance-finder__heading h2{font-size:1.28rem}
  .insurance-finder__heading p{font-size:.86rem}
  .insurance-finder__desktop{display:none}
  .insurance-finder__mobile-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:52px;padding:.7rem .85rem;border:1px solid #a9cae7;border-radius:11px;background:#fff;color:#071b4d;font:850 .84rem/1.2 Arial,sans-serif;text-align:left;box-shadow:0 6px 18px rgba(7,27,77,.08);cursor:pointer}
  .insurance-finder__mobile-trigger .insurance-filter-summary-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .insurance-results-summary{margin-top:.65rem;margin-bottom:.75rem;padding:.5rem .6rem}
  .insurance-results-summary__content{gap:.45rem}
  .insurance-results-summary__content strong{font-size:.8rem}
  .insurance-results-summary__content span{max-width:58%;box-sizing:border-box;overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
  .insurance-results .age-estimator{width:100%;margin:.85rem auto 1rem;padding:.85rem;border-radius:13px}
  .insurance-results .age-estimator__title{font-size:1.08rem}
  .insurance-results .age-estimator__text{font-size:.8rem}
  .insurance-results .age-estimator__note{font-size:.75rem}
  .insurance-filter-sticky{padding:.42rem .55rem}
  .insurance-filter-sticky__inner{min-height:58px;padding:.42rem .45rem .42rem .72rem;border-radius:11px}
  .insurance-filter-sticky__summary{max-width:calc(100% - 58px);gap:.1rem;overflow:hidden}
  .insurance-filter-sticky__summary>.insurance-filter-summary-text{font-size:.76rem}
  .insurance-filter-sticky__count{font-size:.67rem}
  .insurance-filter-sticky__modify{width:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%}
  .insurance-filter-sticky__modify-label{display:none}
  .insurance-filter-sticky__modify-icon{width:20px;height:20px}
  .scroll-top-btn,.whatsapp-float-container{right:14px}
  .scroll-top-btn{width:52px;height:52px}
  .whatsapp-float-container{bottom:88px}
  .whatsapp-float{width:52px;height:52px}
  .whatsapp-float img{width:32px!important;height:32px!important}
}

@media(min-width:768px){
  .insurance-filter-drawer{align-items:center;padding:1.25rem}
  .insurance-filter-drawer__panel{width:min(100%,520px);max-height:min(86vh,720px);margin:auto;border-radius:18px}
}

@media(prefers-reduced-motion:reduce){
  .insurance-finder__option,.insurance-filter-sticky{transition:none}
  .insurance-finder__option:hover{transform:none}
  .insurance-finder__dependent:not([hidden]){animation:none}
}
