/* LAP3.0 · Asesor familiar de Laponia · presentación únicamente.
   Todo va scopeado bajo .lap-asesor / .lap-asesor-page para que no pueda
   alcanzar a MARGA, al buscador, a las fichas ni al contenido editorial. */

.lap-asesor-route{background:#f2f7f9}

.lap-asesor-page{
  --lap-ink:#09233b;
  --lap-ink-2:#33506a;
  --lap-teal:#087d86;
  --lap-teal-d:#0b6877;
  --lap-teal-l:#e0f1f2;
  --lap-teal-line:#9cd0d4;
  --lap-paper:#f2f7f9;
  --lap-surface:#fff;
  --lap-sunken:#e9f1f4;
  --lap-line:#d5e2e8;
  --lap-mute:#5b7387;
  --lap-amber:#8f5310;
  --lap-amber-bg:#fbf0e0;
  --lap-amber-line:#e6c795;
  --lap-red:#963225;
  --lap-red-bg:#fbedeb;
  --lap-red-line:#e5b6ae;
  --lap-shadow:0 1px 2px rgba(9,35,59,.05),0 10px 28px -16px rgba(9,35,59,.25);
  --lap-r:14px;
  color:var(--lap-ink);
}

/* ---------- Hero ---------- */
.lap-asesor-page__hero{padding:clamp(40px,6vw,74px) 0 clamp(22px,3vw,34px)}
.lap-asesor-page__kicker{
  margin:0 0 14px;color:var(--lap-teal);font-size:.72rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase
}
.lap-asesor-page__hero h1{
  margin:0;max-width:17ch;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.03;
  letter-spacing:-.04em;text-wrap:balance
}
.lap-asesor-page__lead{
  max-width:64ch;margin:18px 0 0;color:var(--lap-ink-2);
  font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.6
}
.lap-asesor-page__stamp{
  margin:16px 0 0;color:var(--lap-mute);font-size:.82rem;
  font-variant-numeric:tabular-nums;letter-spacing:.02em
}
.lap-asesor-page__body{padding-bottom:clamp(48px,7vw,84px)}
.lap-asesor-page__body>p{max-width:64ch;color:var(--lap-ink-2)}

/* ---------- Rejilla del módulo ---------- */
.lap-asesor{
  display:grid;grid-template-columns:330px minmax(0,1fr);gap:26px;align-items:start;
  font-variant-numeric:tabular-nums
}
@media(max-width:980px){.lap-asesor{grid-template-columns:1fr}}

/* ---------- Panel de controles ---------- */
.lap-asesor__panel{
  position:sticky;top:96px;padding:20px;background:var(--lap-surface);
  border:1px solid var(--lap-line);border-radius:var(--lap-r);box-shadow:var(--lap-shadow)
}
@media(max-width:980px){.lap-asesor__panel{position:static}}
.lap-asesor__panel-title{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.01em}
.lap-asesor__field{margin-top:18px}
.lap-asesor__lbl{
  display:block;margin-bottom:8px;color:var(--lap-mute);font-size:.68rem;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.lap-asesor select{
  width:100%;appearance:none;font:inherit;font-size:.92rem;color:var(--lap-ink);
  background:var(--lap-sunken);border:1px solid var(--lap-line);border-radius:9px;
  padding:9px 32px 9px 11px;line-height:1.3;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat
}
.lap-asesor select:focus-visible,
.lap-asesor button:focus-visible,
.lap-asesor a:focus-visible{outline:2px solid var(--lap-teal);outline-offset:2px}

.lap-asesor__seg{display:flex;flex-wrap:wrap;gap:6px}
.lap-asesor__seg button{
  font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;color:var(--lap-ink-2);
  background:var(--lap-sunken);border:1px solid var(--lap-line);border-radius:99px;padding:6px 13px
}
.lap-asesor__seg button:hover{border-color:var(--lap-teal-line)}
.lap-asesor__seg button[aria-pressed="true"]{background:var(--lap-teal);border-color:var(--lap-teal);color:#fff}

.lap-asesor__stepper{display:flex;align-items:center;gap:5px}
.lap-asesor__stepper button{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--lap-line);
  background:var(--lap-sunken);color:var(--lap-ink);font:inherit;font-size:1.05rem;
  line-height:1;cursor:pointer
}
.lap-asesor__stepper button:hover{border-color:var(--lap-teal-line)}
.lap-asesor__stepper output{min-width:36px;text-align:center;font-size:1.02rem;font-weight:700}
.lap-asesor__note{
  margin:22px 0 0;padding-top:16px;border-top:1px solid var(--lap-line);
  color:var(--lap-mute);font-size:.79rem;line-height:1.55
}

/* ---------- Resultados ---------- */
.lap-asesor__out{display:flex;flex-direction:column;gap:24px;min-width:0}
.lap-asesor__block{
  background:var(--lap-surface);border:1px solid var(--lap-line);
  border-radius:var(--lap-r);box-shadow:var(--lap-shadow);overflow:hidden
}
.lap-asesor__head{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  padding:15px 22px;border-bottom:1px solid var(--lap-line)
}
.lap-asesor__head span{
  color:var(--lap-mute);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.lap-asesor__inner{padding:22px}

.lap-asesor__block--pick{border-color:var(--lap-teal-line)}
.lap-asesor__block--pick .lap-asesor__head{background:var(--lap-teal-l);border-bottom-color:var(--lap-teal-line)}
.lap-asesor__block--pick .lap-asesor__head span{color:var(--lap-teal-d)}

.lap-asesor__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
@media(max-width:640px){.lap-asesor__top{grid-template-columns:1fr}}
.lap-asesor__top h3{margin:0;font-size:clamp(1.25rem,2.3vw,1.62rem);line-height:1.1;letter-spacing:-.025em}
.lap-asesor__where{margin:8px 0 0;color:var(--lap-ink-2);font-size:.9rem;line-height:1.5}
.lap-asesor__price{text-align:right}
@media(max-width:640px){.lap-asesor__price{text-align:left}}
.lap-asesor__price b{display:block;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1;letter-spacing:-.035em;font-weight:850}
.lap-asesor__price small{display:block;margin-top:6px;color:var(--lap-mute);font-size:.76rem}

.lap-asesor__rows{margin-top:20px;border-top:1px solid var(--lap-line)}
.lap-asesor__row{
  display:flex;justify-content:space-between;gap:16px;padding:9px 0;
  border-bottom:1px solid var(--lap-line);font-size:.9rem
}
.lap-asesor__row>span:first-child{color:var(--lap-mute)}
.lap-asesor__row>span:last-child{font-weight:650}

.lap-asesor__kid{margin-top:20px;padding:16px 18px;background:var(--lap-sunken);border-radius:11px}
.lap-asesor__kid>span{
  display:block;margin-bottom:10px;color:var(--lap-mute);font-size:.66rem;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.lap-asesor__bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:9px;font-size:.82rem}
.lap-asesor__bar i{font-style:normal;color:var(--lap-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.lap-asesor__bar em{display:block;height:9px;background:var(--lap-line);border-radius:99px;overflow:hidden}
.lap-asesor__bar em>b{display:block;height:100%;border-radius:99px;background:var(--lap-teal)}
.lap-asesor__bar--bad em>b{background:var(--lap-red)}
.lap-asesor__bar strong{font-weight:700}

.lap-asesor__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.lap-asesor__tags span{
  padding:4px 10px;border-radius:99px;background:var(--lap-sunken);
  border:1px solid var(--lap-line);color:var(--lap-ink-2);font-size:.76rem
}
.lap-asesor__why{margin:14px 0 0;color:var(--lap-ink-2);font-size:.9rem;line-height:1.6}
.lap-asesor__why--lead{margin:0 0 18px;font-size:.98rem;color:var(--lap-ink)}
.lap-asesor__save{color:var(--lap-teal-d);font-weight:700}
.lap-asesor__delta{color:var(--lap-red);font-weight:700}

.lap-asesor__cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.lap-asesor__cta a{
  display:inline-flex;align-items:center;padding:12px 22px;border-radius:999px;
  background:var(--lap-teal);color:#fff;text-decoration:none;font-weight:800;font-size:.95rem
}
.lap-asesor__cta a:hover{background:var(--lap-teal-d)}
.lap-asesor__cta a.is-ghost{background:transparent;color:var(--lap-teal-d);border:1px solid var(--lap-teal-line);font-weight:700}
.lap-asesor__cta small{color:var(--lap-mute);font-size:.82rem}

.lap-asesor__cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:780px){.lap-asesor__cols{grid-template-columns:1fr}}
.lap-asesor__mini>span{
  display:block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.lap-asesor__mini h4{margin:8px 0 0;font-size:1.05rem;line-height:1.2;letter-spacing:-.02em}
.lap-asesor__mini b{display:block;margin-top:12px;font-size:1.5rem;letter-spacing:-.02em;font-weight:850}

/* ---------- Tablas ---------- */
.lap-asesor__scroll{overflow-x:auto}
.lap-asesor table{border-collapse:collapse;width:100%;min-width:620px;font-size:.85rem}
.lap-asesor th{
  padding:0 12px 10px;border-bottom:1px solid var(--lap-line);text-align:left;
  color:var(--lap-mute);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase
}
.lap-asesor td{padding:11px 12px;border-bottom:1px solid var(--lap-line);vertical-align:top}
.lap-asesor th.is-r,.lap-asesor td.is-r{text-align:right}
.lap-asesor tbody tr:hover{background:var(--lap-sunken)}
.lap-asesor tr.is-pick td{background:var(--lap-teal-l)}
.lap-asesor tr.is-pick td:first-child{box-shadow:inset 3px 0 0 var(--lap-teal)}
.lap-asesor td small{color:var(--lap-mute);font-size:.78rem}
.lap-asesor__chip{
  display:inline-block;padding:2px 7px;border-radius:5px;background:var(--lap-sunken);
  border:1px solid var(--lap-line);color:var(--lap-mute);
  font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase
}
.lap-asesor__chip--cab{background:var(--lap-teal-l);border-color:var(--lap-teal-line);color:var(--lap-teal-d)}
.lap-asesor__chip--hot{background:var(--lap-amber-bg);border-color:var(--lap-amber-line);color:var(--lap-amber)}

.lap-asesor__warn{
  margin-top:20px;padding:16px 18px;background:var(--lap-amber-bg);
  border:1px solid var(--lap-amber-line);border-radius:11px
}
.lap-asesor__warn>span{
  display:block;margin-bottom:8px;color:var(--lap-amber);font-size:.66rem;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.lap-asesor__warn p{margin:0;font-size:.86rem;line-height:1.55;color:var(--lap-ink-2)}

.lap-asesor__empty{padding:34px 22px;text-align:center;color:var(--lap-mute)}
.lap-asesor__empty strong{display:block;margin-bottom:8px;color:var(--lap-ink);font-size:1.12rem}
.lap-asesor-note{margin:18px 0;padding:14px 16px;border-radius:10px;background:#fbf0e0;color:#8f5310}

@media(prefers-reduced-motion:no-preference){
  .lap-asesor__block{animation:lap-asesor-in .26s ease both}
  @keyframes lap-asesor-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}

/* ==========================================================
   LAP3.1 · Resumen, barra móvil, bloque indexable y FAQ
   ========================================================== */

.lap-asesor__sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0
}

/* Prueba en el hero */
.lap-asesor-page__proof{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin:26px 0 0;padding:0;list-style:none
}
.lap-asesor-page__proof li{
  color:var(--lap-mute);font-size:.84rem;line-height:1.4;
  padding-left:16px;position:relative
}
.lap-asesor-page__proof li::before{
  content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;
  border-radius:50%;background:var(--lap-teal)
}
.lap-asesor-page__proof strong{
  display:block;color:var(--lap-ink);font-size:1.08rem;font-weight:800;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums
}

.lap-asesor__panel-sub{
  margin:8px 0 0;color:var(--lap-mute);font-size:.82rem;line-height:1.5
}

/* Resumen de lo elegido */
.lap-asesor__chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.lap-asesor__chip-fixed,
.lap-asesor__chip-x{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;
  background:var(--lap-teal-l);border:1px solid var(--lap-teal-line);color:var(--lap-teal-d);
  font:inherit;font-size:.8rem;font-weight:700
}
.lap-asesor__chip-x{cursor:pointer}
.lap-asesor__chip-x i{font-size:1.05rem;line-height:.7;opacity:.65}
.lap-asesor__chip-x:hover{background:var(--lap-teal);border-color:var(--lap-teal);color:#fff}
.lap-asesor__chip-x:hover i{opacity:1}
.lap-asesor__chips-count{margin-left:auto;color:var(--lap-mute);font-size:.78rem;font-weight:600}

/* Desplegar el resto de la tabla */
.lap-asesor__more{
  display:block;width:100%;margin-top:14px;padding:11px 16px;border-radius:10px;
  background:var(--lap-sunken);border:1px solid var(--lap-line);color:var(--lap-teal-d);
  font:inherit;font-size:.86rem;font-weight:700;cursor:pointer
}
.lap-asesor__more:hover{border-color:var(--lap-teal-line)}

.lap-asesor__empty p{max-width:52ch;margin:0 auto;font-size:.9rem;line-height:1.6}

/* Barra de acción fija · solo móvil */
.lap-asesor__mobilebar{display:none}
@media(max-width:980px){
  .lap-asesor__mobilebar:not([hidden]){
    display:flex;align-items:center;gap:12px;
    position:fixed;left:12px;right:12px;bottom:12px;z-index:40;
    padding:11px 12px 11px 16px;border-radius:14px;
    background:var(--lap-ink);color:#fff;
    box-shadow:0 10px 30px -8px rgba(9,35,59,.5)
  }
  .lap-asesor__mb-lbl{font-size:.72rem;opacity:.72;line-height:1.2;max-width:8.5em}
  .lap-asesor__mb-val{
    margin-left:auto;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;white-space:nowrap
  }
  .lap-asesor__mb-go{
    flex:none;padding:9px 15px;border:0;border-radius:99px;cursor:pointer;
    background:var(--lap-teal);color:#fff;font:inherit;font-size:.82rem;font-weight:800;white-space:nowrap
  }
  .lap-asesor-page__body{padding-bottom:96px}
}

/* Bloque indexable: precios de referencia */
.lap-asesor-page__seo{padding-bottom:clamp(48px,7vw,84px)}
.lap-asesor-ref,
.lap-asesor-faq{
  margin-top:clamp(38px,5vw,60px);padding:clamp(22px,3vw,32px);
  background:var(--lap-surface);border:1px solid var(--lap-line);
  border-radius:var(--lap-r);box-shadow:var(--lap-shadow)
}
.lap-asesor-ref__head h2,
.lap-asesor-faq h2{
  margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.15;letter-spacing:-.03em
}
.lap-asesor-ref__head p{margin:12px 0 22px;max-width:66ch;color:var(--lap-ink-2);font-size:.95rem;line-height:1.6}
.lap-asesor-ref__scroll{overflow-x:auto}
.lap-asesor-ref table{
  border-collapse:collapse;width:100%;min-width:640px;font-size:.87rem;
  font-variant-numeric:tabular-nums
}
.lap-asesor-ref caption{
  text-align:left;padding-bottom:12px;color:var(--lap-mute);font-size:.78rem;line-height:1.5
}
.lap-asesor-ref th[scope="col"]{
  padding:0 12px 10px;border-bottom:1px solid var(--lap-line);text-align:left;
  color:var(--lap-mute);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase
}
.lap-asesor-ref th[scope="row"]{text-align:left;font-weight:700}
.lap-asesor-ref td,
.lap-asesor-ref th[scope="row"]{padding:12px;border-bottom:1px solid var(--lap-line);vertical-align:top}
.lap-asesor-ref .is-r{text-align:right}
.lap-asesor-ref tbody tr:hover{background:var(--lap-sunken)}
.lap-asesor-ref tr.is-best td,
.lap-asesor-ref tr.is-best th[scope="row"]{background:var(--lap-teal-l)}
.lap-asesor-ref tr.is-best th[scope="row"]{box-shadow:inset 3px 0 0 var(--lap-teal)}
.lap-asesor-ref__notes{
  display:grid;gap:14px;margin-top:24px;padding-top:22px;border-top:1px solid var(--lap-line)
}
.lap-asesor-ref__notes p{margin:0;max-width:72ch;color:var(--lap-ink-2);font-size:.92rem;line-height:1.65}
.lap-asesor-ref__notes strong{color:var(--lap-ink)}

/* Preguntas frecuentes */
.lap-asesor-faq__list{display:grid;gap:2px;margin-top:20px}
.lap-asesor-faq details{border-top:1px solid var(--lap-line)}
.lap-asesor-faq details:last-child{border-bottom:1px solid var(--lap-line)}
.lap-asesor-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 0;cursor:pointer;list-style:none
}
.lap-asesor-faq summary::-webkit-details-marker{display:none}
.lap-asesor-faq summary h3{
  margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.35
}
.lap-asesor-faq summary::after{
  content:"+";flex:none;width:24px;height:24px;display:grid;place-items:center;
  border-radius:50%;background:var(--lap-sunken);color:var(--lap-teal-d);
  font-size:1rem;font-weight:700;line-height:1
}
.lap-asesor-faq details[open] summary::after{content:"–"}
.lap-asesor-faq summary:hover h3{color:var(--lap-teal-d)}
.lap-asesor-faq details p{
  margin:0 0 20px;max-width:74ch;color:var(--lap-ink-2);font-size:.93rem;line-height:1.7
}
