/* Acceso v4 — base compartida (login, registro, verificar, recuperar). Pantalla partida:
   render a la izquierda, formulario a la derecha; en móvil sólo el formulario. */
.acceso{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.acceso-vis{position:relative;overflow:hidden;isolation:isolate;border-right:1px solid var(--linea);display:flex;flex-direction:column;justify-content:space-between;padding:32px clamp(24px,4vw,48px)}
.acceso-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.acceso-vis::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,8,10,.35),rgba(8,8,10,.85))}
.acceso-vis,.acceso-vis .logo{color:#f2f2f2}
.acceso-vis .cita{font:500 clamp(30px,3.4vw,52px)/1 var(--disp);letter-spacing:-.04em;text-transform:uppercase;max-width:12ch}
.acceso-vis .cita .hueco{color:transparent;-webkit-text-stroke:1.2px #f2f2f2}
.acceso-vis .ojo{color:rgba(242,242,242,.6)}
.acceso-vis .ojo::before{background:#f2f2f2}
.acceso-form{display:flex;flex-direction:column;justify-content:center;padding:40px clamp(20px,6vw,96px);position:relative}
.acceso-form .arriba{position:absolute;top:24px;right:clamp(20px,4vw,40px);display:flex;gap:4px;align-items:center}
.acceso-caja{width:100%;max-width:420px;margin:0 auto}
.acceso-caja h1{font:500 clamp(34px,3.6vw,48px)/1 var(--disp);letter-spacing:-.04em;margin-top:20px}
.acceso-caja .sub{margin-top:14px;color:var(--tinta-2)}
.campo{display:block;margin-top:18px}
.campo>span{display:block;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);margin-bottom:9px}
.campo input,.campo select,.campo textarea{width:100%;height:50px;padding:0 16px;background:var(--fondo-2);border:1px solid var(--linea-2);color:var(--tinta);font:400 16px var(--disp);outline:0;transition:border-color .2s;border-radius:0}
.campo textarea{height:auto;min-height:100px;padding:14px 16px}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--tinta)}
.campos-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.acceso-caja .btn.lleno{width:100%;justify-content:space-between;height:52px;margin-top:26px}
.acceso-caja .enlaces{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--tinta-2)}
.acceso-caja .enlaces a{color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.aviso-form{margin-top:18px;padding:12px 14px;border:1px solid var(--linea-2);font-size:14.5px;color:var(--tinta)}
.aviso-form.error{border-color:var(--tinta);background:var(--fondo-3)}
.marca-check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;color:var(--tinta-2)}
.marca-check input{margin-top:3px;accent-color:var(--tinta)}
@media (max-width:900px){.acceso{grid-template-columns:1fr}.acceso-vis{display:none}
  /* en móvil, el mismo margen lateral que el resto de la web (--pad) en las cuatro pantallas */
  .acceso-form{padding-left:var(--pad);padding-right:var(--pad)}
  .acceso-form .arriba{right:var(--pad)}}

/* captcha (app/captcha.php) en blanco y negro — común a login, registro y recuperar */
.captcha{margin:0}
.captcha-pista{position:relative;height:50px;border:1px solid var(--linea-2);background:var(--fondo-2);overflow:hidden;touch-action:none}
.captcha-relleno{position:absolute;top:0;left:0;bottom:0;width:0;background:var(--fondo-3);border-right:1px solid var(--tinta)}
.captcha-hueco{position:absolute;top:4px;bottom:4px;width:42px;left:0;border:1px dashed var(--tinta-3)}
.captcha-tirador{position:absolute;top:4px;left:4px;width:40px;height:40px;border:0;background:var(--inv);color:var(--inv-t);display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;padding:0}
.captcha:not(.arrastrando) .captcha-tirador{transition:transform .25s ease}
.captcha:not(.arrastrando) .captcha-relleno{transition:width .25s ease}
.captcha-tirador:active{cursor:grabbing}
.captcha-tirador svg{width:16px;height:16px;stroke:currentColor}
.captcha-tirador .ic-ok{display:none}
.captcha-lbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);pointer-events:none;transition:opacity .18s}
.captcha.arrastrando .captcha-lbl,.captcha.ok .captcha-lbl{opacity:0}
.captcha.ok .captcha-pista{border-color:var(--tinta)}
.captcha.ok .captcha-hueco{border-style:solid;border-color:var(--tinta)}
.captcha.ok .captcha-tirador{cursor:default}
.captcha.ok .captcha-tirador .ic-arrastra{display:none}
.captcha.ok .captcha-tirador .ic-ok{display:block}
.captcha.fail .captcha-pista{animation:login-sacude .32s ease}
@keyframes login-sacude{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.captcha-pie{display:flex;justify-content:flex-end;margin-top:8px}
.captcha-marca{display:flex;align-items:center;gap:7px;color:var(--tinta-3)}
.captcha-marca .marca-icono{width:16px;height:15px;flex:none;background:currentColor;-webkit-mask:url("/assets/icons/v2/logo.svg") center/contain no-repeat;mask:url("/assets/icons/v2/logo.svg") center/contain no-repeat}
.captcha-marca-txt{font:500 9.5px/1.3 var(--mono);letter-spacing:.06em;text-align:right}
.captcha-marca-txt i{display:block;font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.12em;opacity:.75}
.captcha-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (prefers-reduced-motion:reduce){.captcha.fail .captcha-pista{animation:none}}
