/* Catálogo: elegir primero; ampliar la información sólo cuando se necesita. */
.shell{max-width:1120px;padding-bottom:148px}
.top-in{max-width:1120px}
.hero{display:block;padding:40px 0 24px}
.hero h1{font-size:clamp(2rem,4vw,2.65rem);margin:0 0 8px;letter-spacing:-.025em}
.hero .lead{font-size:.9375rem;line-height:1.5;max-width:48ch}
.catalog-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.catalog-nav{gap:6px;flex-wrap:wrap;padding:0;border:0;flex:1}
.catalog-nav [data-categoria]{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--m);font:inherit;font-size:.8125rem;font-weight:550;cursor:pointer}
.catalog-nav [data-categoria]:hover{background:#e5e8e7;color:var(--n)}
.catalog-nav [data-categoria][aria-pressed=true]{background:var(--n);border-color:var(--n);color:var(--w)}
.catalog-search-wrap{position:relative;width:260px;max-width:100%;min-width:0}
#catalog-search{width:100%;max-width:100%;min-height:46px;padding:10px 68px 10px 14px;border:1px solid var(--bd2);border-radius:8px;background:var(--w);color:var(--n);font:inherit;font-size:1rem}
#catalog-search::placeholder{color:var(--m);font-size:.8125rem}
#catalog-reset{min-width:44px;min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--m);cursor:pointer;font:inherit;font-size:.8125rem}
.catalog-search-wrap #catalog-reset{position:absolute;right:4px;bottom:1px;padding:0 8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#catalog-results{font-size:.8125rem;color:var(--m);margin-top:12px;line-height:1.6}
#catalog-results:empty{display:none}
#periodo-opciones{width:fit-content;max-width:100%;margin:18px 0 0}
#periodo-opciones>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:8px 0;list-style:none;color:var(--n);font-size:.8125rem;cursor:pointer}
#periodo-opciones>summary::-webkit-details-marker{display:none}
#periodo-opciones>summary>span:last-child{color:var(--cd);text-decoration:underline;text-underline-offset:3px}
#periodo-opciones .periodos{margin:8px 0 0}
.seg-nota{max-width:50ch;font-size:.75rem;line-height:1.5}
[data-catalog-section]{margin-top:28px}
.sec-h{gap:6px;margin-bottom:18px}
.sec-h h2{font-size:1.35rem;line-height:1.3}
.sec-h p{font-size:.75rem;line-height:1.5}
.planes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.plan{display:flex;flex-direction:column;gap:0;padding:22px;border:1px solid var(--bd);border-radius:12px;background:var(--w)}
.plan.feat{border-color:var(--bd)}
.plan.sel{border-color:var(--cd)}
.plan h3{font-size:1.05rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.plan .para{min-height:3em;margin-top:5px;font-size:.75rem;line-height:1.5}
.plan .precio{min-height:60px;margin:20px 0;text-align:left;grid-column:auto;grid-row:auto}
.plan .pv{font-size:2rem;line-height:1.25}
.plan .pu{font-size:.6875rem;line-height:1.6}
.plan .pu.tot{font-size:.75rem}
.plan .btn-plan{order:initial;min-height:44px;font-size:.875rem;grid-column:auto;grid-row:auto}
.catalog-detail{width:100%;min-width:0;margin-top:12px;font-size:.8125rem}
.catalog-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;color:var(--m);font-size:.75rem;cursor:pointer;list-style:none}
.catalog-detail>summary::-webkit-details-marker{display:none}
.catalog-detail>summary::after{content:'+';flex:none;font-size:1rem;color:var(--n);font-weight:500}
.catalog-detail[open]>summary::after{content:'−'}
.catalog-detail>summary:hover{color:var(--n)}
.catalog-detail-body{padding:0 0 4px;color:var(--m);font-size:.75rem;line-height:1.65}
.catalog-detail-body>p{max-width:72ch}
.catalog-detail .incluye{gap:9px;display:flex;grid-column:auto;grid-row:auto;border:0;margin:12px 0 0;padding:0;order:initial}
.catalog-detail .incluye li{font-size:.75rem;line-height:1.6}
.catalog-detail .incluye svg{width:13px;height:13px;margin-top:3px}
.filas{border-radius:12px}
.fila{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:0 20px;align-items:center;padding:16px 22px}
.fila-txt b{font-size:.875rem;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.fila-txt span{font-size:.75rem;line-height:1.5;margin-top:4px}
.fila-pr{font-size:.875rem;white-space:normal;line-height:1.5}
.fila-pr span{font-size:.6875rem}
.fila .catalog-detail{grid-column:1/-1;margin-top:2px}
.fila .catalog-detail>summary{width:fit-content;gap:16px}
.fila .catalog-detail-body{padding-top:2px}
.fila .btn-fila{min-width:92px;padding:9px 14px;font-size:.8125rem}
.fila .dot{gap:8px}
.fila .dot-n{width:74px}
.bar .bn{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}
.bar .bc{font-size:.75rem}
.bar .bt{line-height:1.5}
.bar .btn-clear{font-size:.75rem}
.purchase-steps{gap:20px;margin:18px 0 0;font-size:.75rem}
.purchase-steps li{gap:6px}
.purchase-steps span{width:20px;height:20px}
.hero .purchase-steps{margin:0 0 22px}
.purchase-steps [aria-current=step]{color:var(--n);font-weight:600}
.purchase-steps [aria-current=step] span{background:var(--n);border-color:var(--n);color:var(--w)}
.help-compact{margin-top:32px;padding-top:20px;border-top:1px solid var(--bd);font-size:.8125rem;color:var(--m)}
.help-compact summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.ayuda-contratacion{margin-top:28px;padding-top:16px;border-top:1px solid var(--bd);font-size:.8125rem;color:var(--m)}
.ayuda-contratacion>summary{min-height:44px;display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--n)}
.ayuda-contratacion>summary::after{content:'+';font-size:1rem}
.ayuda-contratacion[open]>summary::after{content:'−'}
.ayuda-contenido{max-width:76ch;line-height:1.7;padding:4px 0}
.ayuda-contenido p+p{margin-top:10px}
.ayuda-contenido a{text-decoration:underline;text-underline-offset:3px}
.foot{margin-top:32px;padding-top:20px;font-size:.6875rem}
.foot>details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#contratar-soporte #tc-sop-fab{position:static;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--n);box-shadow:none;font-size:.75rem;font-weight:500;transform:none}
#contratar-soporte #tc-sop-fab .tc-sop-txt{display:inline}
@media(max-width:900px){
  .plan{padding:18px;display:flex}
  .plan .precio{text-align:left;margin:20px 0;grid-column:auto;grid-row:auto}
  .plan .btn-plan{grid-column:auto;grid-row:auto;align-self:stretch}
  .plan .para{min-height:4.5em}
  .plan .pv{font-size:1.75rem}
  .fila{gap:0 16px}
}
@media(max-width:700px){
  .shell{padding:0 16px 156px}
  .hero{padding:26px 0 20px}
  .hero h1{font-size:2rem}
  .hero .lead{font-size:.8125rem}
  .catalog-tools{display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .catalog-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .catalog-nav [data-categoria]{padding:10px 8px;font-size:.75rem}
  .catalog-search-wrap{width:100%}
  #periodo-opciones{margin-top:10px}
  [data-catalog-section]{margin-top:20px}
  .sec-h{margin-bottom:14px}
  .sec-h h2{font-size:1.2rem}
  .planes{grid-template-columns:1fr;gap:12px}
  .plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,.6fr);gap:0 12px;padding:18px}
  .plan h3{font-size:1rem;grid-column:1;grid-row:1}
  .plan .para{min-height:0;margin-top:6px;grid-column:1;grid-row:2;font-size:.6875rem}
  .plan .precio{min-height:0;margin:0;grid-column:2;grid-row:1/3;text-align:right;align-self:start}
  .plan .pv{font-size:1.75rem}
  .plan .pv s{font-size:.875rem;margin-right:0;display:block}
  .plan .pv i{font-size:.8125rem}
  .plan .pu{font-size:.625rem}
  .plan .pu.tot{font-size:.6875rem;margin-top:8px}
  .plan .btn-plan{grid-column:1/-1;grid-row:3;margin-top:16px;order:initial}
  .plan .catalog-detail{grid-column:1/-1;grid-row:4;margin-top:2px}
  .plan .catalog-detail .incluye{padding:0;margin-top:12px;border:0;grid-column:auto;grid-row:auto;order:initial}
  .fila{grid-template-columns:minmax(0,1fr) auto;gap:12px 12px;padding:16px}
  .fila-txt{grid-column:1/-1}
  .fila-pr{text-align:left;font-size:.8125rem}
  .fila .catalog-detail{margin-top:-8px}
  .fila .btn-fila{min-width:84px;padding:8px 12px}
  .fila .dot{gap:6px}
  .fila .dot-n{width:60px}
  .bar .bn{max-width:190px}
  .purchase-steps{flex-direction:row;gap:12px;justify-content:space-between;flex-wrap:nowrap;font-size:.6875rem}
  .purchase-steps li{gap:4px}
  .purchase-steps span{width:18px;height:18px;flex:none;font-size:.625rem}
}
