/* asociarme-directo.css — /asociarme: «Hacerme Socio» sin cuenta previa (ASOCIARME_DIRECTO). Sobre styles.css (roles), puerta.css (botones, campos y volver del sistema),
   cuenta.css y asociarme.css (el paso a paso de siempre). Prefijo .ad-. Solo tokens del sistema; claro y oscuro salen de los mismos tokens. */
body.pu-asoc { background: var(--surface-grouped); color: var(--text-primary); min-height: 100vh; --alto-barra-app: 0px; }
.ad-head { background: var(--oli-900); padding-top: env(safe-area-inset-top); }
.ad-head-in { max-width: 1080px; margin: 0 auto; display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); }
.ad-head .ad-logo-a { display: block; margin-right: auto; }
.ad-head img.ad-logo { height: 30px; width: auto; display: block; }
.ad-head img.ad-escudo { height: 48px; width: auto; display: block; }
.ad-fr { height: 6px; background: repeating-linear-gradient(90deg, var(--oli-00) 0 18px, var(--oli-900) 18px 36px); }
.ad-main { max-width: 560px; margin: 0 auto; padding: var(--sp-5) var(--sp-4) calc(var(--sp-7) + env(safe-area-inset-bottom)); outline: none; }
.ad-main .accion-fija { bottom: calc(env(safe-area-inset-bottom) + var(--sp-2)); }
.ad-cargando { display: grid; place-items: center; min-height: 40vh; }
.ad-giro { width: 32px; height: 32px; border-radius: 50%; border: 3px solid var(--overlay-medium); border-top-color: var(--text-value); animation: oliGiro var(--t-giro) linear infinite; }
/* El primer tramo («Tu cuenta») y el ingreso */
.ad-card { background: var(--surface-card); border-radius: var(--radio-tarjeta); padding: var(--sp-5); box-shadow: var(--elev-1); }
.ad-card h2 { margin: 0 0 var(--sp-1); font-size: var(--fs-seccion); line-height: var(--lh-seccion); font-family: var(--display); font-weight: 700; letter-spacing: -.02em; }
.ad-sub { color: var(--text-secondary); font-size: var(--fs-cuerpo); line-height: var(--lh-cuerpo); margin: 0 0 var(--sp-4); }
.ad-olimpista { display: flex; align-items: flex-start; gap: var(--sp-2); margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: var(--radio-campo); background: var(--info-bg); color: var(--info-fg); font-size: var(--fs-apoyo); line-height: var(--lh-apoyo); }
.ad-olimpista .ic { flex: none; width: 20px; height: 20px; }
.ad-terc { display: grid; gap: var(--sp-1); margin-top: var(--sp-3); }
.ad-terc .btn-texto { width: 100%; }
.ad-pasos { margin: 0 0 var(--sp-4); }
/* La pregunta inicial (dos caminos del mismo peso) y la guía del correo que ya tiene cuenta */
.ad-op { display: grid; gap: var(--sp-3); margin: 0 0 var(--sp-3); }
.ad-op-b { display: grid; gap: var(--sp-1); width: 100%; min-height: 56px; padding: var(--sp-4); text-align: left; border: 1.5px solid var(--linea); border-radius: var(--radio-campo); background: var(--surface-input); color: var(--text-primary); font: inherit; cursor: pointer; }
.ad-op-b strong { font-size: var(--fs-cuerpo); }
.ad-op-b span { font-size: var(--fs-apoyo); line-height: var(--lh-apoyo); color: var(--text-secondary); }
.ad-op-b:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.ad-ya { display: grid; gap: var(--sp-2); margin: calc(var(--sp-1) * -1) 0 var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: var(--radio-campo); background: var(--info-bg); color: var(--info-fg); font-size: var(--fs-apoyo); line-height: var(--lh-apoyo); }
.ad-ya p { margin: 0; }
.ad-ya-b { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ad-ya-b .btn-texto { min-height: 44px; }
.ad-olvide { display: flex; justify-content: flex-end; margin: var(--sp-2) 0; }
/* En el paso de datos: el nombre y el correo vienen de la cuenta */
.as-cuenta-ok { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: var(--radio-campo); background: var(--ok-bg); color: var(--ok-fg); }
.as-cuenta-ic { flex: none; }
.as-cuenta-n { margin: 0; display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; color: var(--text-primary); }
.as-cuenta-n .muted { font-size: var(--fs-apoyo); color: var(--text-secondary); }
.as-cuenta-corregir { justify-self: start; }
