/* Módulo de precios Loto. Toma los colores y fuentes del portafolio (--pf-*) si existen. */
.lc-precios{
  --lp-ink:var(--pf-ink,#2E3F86); --lp-muted:var(--pf-muted,rgba(46,63,134,.72)); --lp-line:var(--pf-line,rgba(46,63,134,.18));
  --lp-surface:var(--pf-surface,#FBFAE6); --lp-brand:var(--pf-brand,#556FB6); --lp-accent:var(--pf-accent,#F2C94C); --lp-accent-ink:var(--pf-accent-ink,#1B2558);
  --lp-display:var(--pf-display,"Bagel Fat One",system-ui,sans-serif); --lp-body:var(--pf-body,"Figtree",system-ui,sans-serif); --lp-mono:var(--pf-mono,"DM Mono",ui-monospace,monospace);
  color:var(--lp-ink);font-family:var(--lp-body);display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,32px);min-width:0
}
.lc-precios>*,.lp-controles>*{min-width:0}
.lc-precios *{box-sizing:border-box}
.lc-precios [hidden]{display:none!important}
.lc-precios :focus-visible{outline:3px solid var(--lp-accent);outline-offset:3px}
.lp-controles{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:end;justify-content:space-between}
.lp-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;border:1.5px solid var(--lp-line);border-radius:999px;max-width:100%;scrollbar-width:none}
.lp-tabs::-webkit-scrollbar{display:none}
.lp-tabs button{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:inherit;font:600 15px/1 var(--lp-body);cursor:pointer;touch-action:manipulation;transition:background-color .2s,color .2s}
.lp-tabs button svg{width:22px;height:22px;--lc-accent:var(--lp-accent)}
.lp-tabs button[aria-selected="true"]{background:var(--lp-ink);color:var(--lp-surface)}
.lp-region{border:0;margin:0;padding:0;min-width:0}
.lp-region legend{font:700 14px/1.2 var(--lp-body);letter-spacing:.01em;color:var(--lp-muted);margin-bottom:8px;padding:0}
.lp-chips{display:flex;flex-wrap:wrap;gap:6px}
.lp-chip{position:relative}
.lp-chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.lp-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--lp-line);font:600 14px/1 var(--lp-body)}
.lp-chip input:checked+span{background:var(--lp-accent);border-color:var(--lp-accent);color:var(--lp-accent-ink)}
.lp-chip input:focus-visible+span{outline:3px solid var(--lp-accent);outline-offset:2px}
.lp-iva{margin:0;font:500 14px/1.45 var(--lp-body);color:var(--lp-muted)}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:stretch}
.lp-card,.lp-combo{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2.4vw,26px);border-radius:18px;background:var(--lp-surface);border:1.5px solid var(--lp-line);min-width:0}
.lp-card[data-tier="estandar"]{border-color:var(--lp-ink);box-shadow:4px 4px 0 var(--lp-accent)}
.lp-tier{font:700 14px/1.2 var(--lp-body);letter-spacing:.01em;color:var(--lp-muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lp-rev{font-style:normal;padding:3px 7px;border-radius:999px;background:var(--lp-accent);color:var(--lp-accent-ink);letter-spacing:.04em}
.lp-nombre{margin:0;font:700 clamp(20px,2vw,24px)/1.15 var(--lp-body);text-wrap:balance}
.lp-ideal{margin:0;color:var(--lp-muted);font-size:16px;line-height:1.5}
.lp-precio{margin:4px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.lp-precio b{font:400 clamp(32px,4vw,44px)/1 var(--lp-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lp-desde,.lp-mxn,.lp-unidad{font:600 14px/1.2 var(--lp-body);color:var(--lp-muted)}
.lp-unidad{flex-basis:100%}
.lp-total{flex-basis:100%;font:700 15px/1.3 var(--lp-body);color:var(--lp-ink);font-variant-numeric:tabular-nums}
.lp-regional{font:700 13px/1 var(--lp-body);letter-spacing:.01em;padding:6px 10px;border-radius:999px;border:1.5px solid var(--lp-brand);color:var(--lp-brand)}
.lp-mensual{margin:0;font-size:14px;color:var(--lp-muted)}
.lp-mensual b{color:var(--lp-ink);font-variant-numeric:tabular-nums}
.lp-tiempo{margin:0;font-size:14px;color:var(--lp-muted)}
.lp-tiempo span{font:700 14px/1.2 var(--lp-body);color:var(--lp-ink)}
.lp-mensual em{font-style:normal;font-weight:700;color:var(--lp-ink)}
.lp-cubre{display:block;margin-top:2px;font-size:14px;line-height:1.45}
.lp-incluye{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;flex:1}
.lp-incluye li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.4}
.lp-incluye li::before{content:"";width:12px;height:12px;margin-top:5px;background:var(--lp-brand);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.lp-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;margin-top:6px;border-radius:999px;background:var(--lp-ink);color:var(--lp-surface);font:700 15px/1.2 var(--lp-body);text-decoration:none;text-align:center;touch-action:manipulation;transition:background-color .2s,color .2s}
.lp-cta:hover{background:var(--lp-accent);color:var(--lp-accent-ink)}
.lp-h3{margin:0 0 14px;font:400 clamp(26px,3vw,36px)/1 var(--lp-display)}
.lp-combos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.lp-combo-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.lp-ahorro{flex:none;font:700 14px/1 var(--lp-body);padding:8px 10px;border-radius:999px;background:var(--lp-accent);color:var(--lp-accent-ink)}
.lp-servs{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.lp-servs span{font:600 13px/1 var(--lp-body);padding:6px 9px;border-radius:999px;border:1.5px solid var(--lp-line)}
.lp-pagos{padding:clamp(18px,2.4vw,26px);border-radius:18px;border:1.5px dashed var(--lp-line)}
.lp-hitos{margin:0 0 12px;padding-left:22px;display:grid;gap:8px;font-size:16px;line-height:1.5}
.lp-notas{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.lp-notas li{font:500 14px/1.5 var(--lp-body);padding:8px 12px;border-radius:999px;background:var(--lp-surface);border:1.5px solid var(--lp-line)}
.lp-fallback{margin:0;font-size:17px}
@media (max-width:640px){.lp-mensual,.lp-tiempo,.lp-cubre,.lp-notas li{font-size:16px;line-height:1.5}.lp-controles{flex-direction:column;align-items:stretch}.lp-tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible;border-radius:16px}.lp-tabs button{justify-content:center;padding:0 10px}}
@media (prefers-reduced-motion:reduce){.lp-tabs button,.lp-cta{transition:none}}
