/* Selector de sede, fichas de formadores, llamada gratuita y formulario de solicitud */

/* ---------- Selector ---------- */
.sede-sel{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sede-btn{display:inline-flex;align-items:center;gap:10px;font:inherit;font-weight:700;color:var(--navy);background:#fff;border:2px solid var(--line);border-radius:14px;padding:11px 16px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.sede-btn:hover{border-color:var(--navy)}
.sede-btn:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.sede-mark{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1;color:transparent}
.sede-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}
.sede-btn.on .sede-mark{background:var(--teal);border-color:var(--teal);color:var(--navy)}
.sede-btn.on .sede-mark::before{content:"✓";font-weight:800}
.sede-tag{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--teal-l);color:var(--navy);border-radius:999px;padding:2px 8px}
.sede-btn.on .sede-tag{background:rgba(255,255,255,.18);color:#fff}
.sede-aviso{margin-top:10px;color:#b42318;font-weight:600;font-size:.92rem}
.sede-aviso[hidden]{display:none}

/* ---------- Panel de la sede ---------- */
.team .team-sub{color:var(--muted);margin-top:4px}
.sede-panel{margin-top:26px}
.sede-info h4{font-size:1.25rem;color:var(--navy)}
.sede-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.sede-chips li{background:var(--teal-l);color:var(--navy);border-radius:999px;padding:4px 14px;font-weight:600;font-size:.9rem}
.sede-sub{font-size:1.15rem;color:var(--navy);margin-top:26px}
.formadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:18px}
.formador{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.formador img{flex:none;width:112px;height:112px;object-fit:cover;object-position:center 20%;border-radius:14px}
.formador h5{font-family:Montserrat,sans-serif;font-size:1.05rem;color:var(--navy)}
.formador .f-role{color:var(--teal-d);font-weight:700;font-size:.92rem;margin-bottom:6px}
.formador .f-main{display:inline-block;background:var(--navy);color:#fff;font-size:.75rem;font-weight:700;border-radius:999px;padding:2px 10px;margin-bottom:6px}
.formador p{margin:6px 0;font-size:.95rem}
.formador .f-esp{margin:6px 0 6px 18px;font-size:.92rem}
.formador .f-cv{margin-top:8px;font-size:.92rem}
.formador .f-cv summary{cursor:pointer;font-weight:700;color:var(--navy-2)}
.formador .f-cv ul{margin:8px 0 0 18px;color:var(--muted)}
.formador .f-cv summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.sede-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.sede-cta2{align-self:flex-end}
.agenda h4{font-size:1.1rem;color:var(--navy);margin-bottom:6px}
.agenda p{margin:6px 0}
.agenda-pts{list-style:none;margin:10px 0 14px}
.agenda-pts li{position:relative;padding-left:26px;margin:4px 0;font-size:.95rem}
.agenda-pts li::before{content:"✓";position:absolute;left:0;color:var(--teal-d);font-weight:800}
.agenda .btn,.sede-cta .btn{cursor:pointer;font-size:.95rem}
.btn.ghost-dark{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost-dark:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.sede-cta .btn:focus-visible,.agenda .btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* ---------- Sección de contacto ---------- */
.contact .contact-head{max-width:760px;margin:0 auto 34px}
.contact .contact-head .lead{margin-left:auto;margin-right:auto}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.cs-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:26px 28px;box-shadow:0 20px 50px rgba(0,0,0,.25);margin-bottom:20px}
.cs-card h3{font-size:1.15rem}
.cs-card .cs-sub{color:var(--muted);margin-top:6px;font-size:.98rem}
.contact-left .ctl{margin-top:6px}
.cform .f-intro{margin-top:8px;color:var(--muted);font-size:.95rem}
.cform .f-intent{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--teal-l);color:var(--navy);font-weight:600;font-size:.92rem}
.cform .f-intent[hidden]{display:none}
.cform textarea{resize:vertical;min-height:84px}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .formador{flex-direction:column}
  .formador img{width:100%;height:auto;aspect-ratio:1/1;max-width:220px}
}
@media (max-width:520px){
  .sede-btn{flex:1 1 calc(50% - 10px)}
  .cs-card{padding:22px 20px}
}
@media (prefers-reduced-motion:reduce){.sede-btn{transition:none}}

.btn-again{background:none;border:1px solid currentColor;border-radius:6px;padding:.6em 1.2em;font:inherit;cursor:pointer;color:inherit}
.btn-again:hover,.btn-again:focus-visible{text-decoration:underline}

/* Selector de prefijo telefónico */
.cform .tel-row{display:flex;gap:8px;align-items:stretch}
.cform .tel-row input{flex:1;min-width:0}
.cform .tp{position:relative;flex:none}
.cform .tp-btn{display:flex;align-items:center;gap:6px;height:100%;min-height:46px;padding:0 10px;border:1px solid #c9d3df;border-radius:12px;background:#fff;color:var(--navy);font:inherit;font-weight:600;cursor:pointer}
.cform .tp-btn img,.cform .tp-list img{width:24px;height:18px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.15);object-fit:cover}
.cform .tp-btn:focus-visible,.cform .tp-list:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.cform .tp-c{font-size:.7rem;opacity:.7}
.cform .tp-list{position:absolute;z-index:20;left:0;top:calc(100% + 4px);width:min(300px,80vw);max-height:260px;overflow:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #c9d3df;border-radius:12px;box-shadow:0 10px 28px rgba(11,42,85,.18)}
.cform .tp-list[hidden]{display:none}
.cform .tp-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}
.cform .tp-list li .tp-n{flex:1}
.cform .tp-list li .tp-d{color:var(--muted);font-variant-numeric:tabular-nums}
.cform .tp-list li.act,.cform .tp-list li:hover{background:var(--teal-l)}
.cform .tp-list li[aria-selected="true"] .tp-n{font-weight:700}
