/* Archivo Socios — estilos del frente.
   Todas las reglas van prefijadas con .as-form-wrap o .as-tarjeta y llevan reset
   explícito, porque el tema de WordPress trae estilos propios para button, input
   y svg que si no se pisan deforman el formulario. */
.as-form-wrap,.as-perfil{max-width:640px;margin:0 auto}
.as-form p{margin:0 0 18px}
.as-form label{display:block;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.as-form label i{font-style:normal;color:#7B1E24}
.as-form input[type=text],.as-form input[type=email],.as-form input[type=tel],
.as-form input[type=password],.as-form input[type=search],.as-form select,
.as-form textarea,.as-form input[type=file]{
  width:100%;border:1.5px solid #E3DACB;background:#fff;padding:12px 15px;font-size:15px;border-radius:3px;
  box-sizing:border-box;font-family:inherit;color:inherit}
.as-form input:focus,.as-form select:focus,.as-form textarea:focus{outline:0;border-color:#7B1E24;box-shadow:0 0 0 3px rgba(123,30,36,.12)}
.as-fila{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:600px){.as-fila{grid-template-columns:1fr}}
.as-nota{display:block;margin-top:6px;font-size:12.5px;color:#8B8378;text-transform:none;letter-spacing:0;font-weight:400}
.as-check label{display:flex;gap:11px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:400}
.as-check input{margin-top:3px;flex:none}
.as-btn{display:inline-block;background:#7B1E24;color:#fff;border:1.5px solid #7B1E24;padding:14px 30px;
  font-size:12.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;border-radius:3px;
  text-decoration:none;transition:.25s}
.as-btn:hover{background:#5A1219;border-color:#5A1219;color:#fff;transform:translateY(-2px)}
.as-btn--linea{background:transparent;color:#7B1E24}
.as-btn--linea:hover{background:#7B1E24;color:#fff}
.as-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.as-pie{margin-top:22px;font-size:14px;color:#5F5952}
.as-caja{border:1.5px solid #E3DACB;border-left-width:4px;padding:18px 22px;margin:0 0 24px;border-radius:3px}
.as-caja h3{margin:0 0 8px}
.as-caja p{margin:0}
.as-ok{border-left-color:#2E7D32;background:#F1F7F1}
.as-error{border-left-color:#7B1E24;background:#FCF3F3}

/* tarjeta de aviso: confirmación de envío, avisos y errores de estado */
.as-aviso{border:1.5px solid #E3DACB;background:#fff;border-radius:5px;padding:44px 38px 38px;text-align:center;
  box-shadow:0 14px 40px rgba(36,31,28,.07)}
.as-aviso__ic{width:62px;height:62px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  background:#F8F4EC;color:#7B1E24}
.as-aviso__ic svg{width:28px;height:28px}
.as-aviso--ok .as-aviso__ic{background:#EAF4EA;color:#2E7D32}
.as-aviso--error .as-aviso__ic{background:#FBEDED;color:#7B1E24}
.as-aviso h3{margin:0 0 12px;font-size:25px;line-height:1.25}
.as-aviso p{margin:0 auto;max-width:48ch;color:#5F5952;font-size:16px;line-height:1.65}
.as-aviso__nota{margin-top:14px!important;font-size:13.5px!important;color:#8B8378!important}
.as-aviso__cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
@media(max-width:520px){
  .as-aviso{padding:34px 22px 30px}
  .as-aviso h3{font-size:21px}
  .as-aviso__cta .as-btn{flex:1 1 100%}
}

/* muro de contenido reservado */
.as-muro{border:1.5px solid #E3DACB;background:#F8F4EC;border-radius:4px;padding:38px 32px;text-align:center;margin:28px 0}
.as-muro__ic{width:46px;height:46px;margin:0 auto 18px;color:#7B1E24}
.as-muro__ic svg{width:100%;height:100%}
.as-muro h3{margin:0 0 10px;font-size:21px}
.as-muro p{margin:0 auto;max-width:52ch;color:#5F5952}
.as-muro__cta{margin-top:24px!important;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.as-adelanto{position:relative}
.as-adelanto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;
  background:linear-gradient(180deg,rgba(248,244,236,0),#F8F4EC);pointer-events:none}

/* perfil */
.as-perfil h3{margin:0 0 6px}
.as-estado{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:30px;margin:0 0 22px}
.as-on{background:#E7F2E7;color:#2E7D32}
.as-off{background:#FBEAEA;color:#7B1E24}
.as-datos{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.as-datos li{display:flex;gap:16px;border-bottom:1px solid #E3DACB;padding-bottom:12px}
.as-datos b{flex:0 0 150px;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8B8378}

/* ------------------------------------------------------------------ */
/*  Tarjeta general: acceso y cuenta                                   */
/* ------------------------------------------------------------------ */
.as-form-wrap--ancho{max-width:720px}
.as-tarjeta{background:#fff;border:1.5px solid #E3DACB;border-radius:6px;padding:40px 38px 34px;
  box-shadow:0 14px 42px rgba(36,31,28,.08)}
.as-tarjeta__cab{text-align:center;margin-bottom:28px}
.as-tarjeta__ic{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;
  background:#F8F4EC;color:#7B1E24}
.as-tarjeta__ic svg{width:27px;height:27px}
.as-tarjeta__cab h3{margin:0 0 8px;font-size:24px;line-height:1.25}
.as-tarjeta__cab p{margin:0 auto;max-width:40ch;color:#5F5952;font-size:15px}
.as-tarjeta__pie{margin-top:30px;padding-top:26px;border-top:1px solid #E3DACB;text-align:center}
.as-tarjeta__pie p{margin:0 0 14px;color:#5F5952;font-size:14.5px}
.as-volver{text-align:center;margin-top:22px;font-size:14px}
.as-volver a{color:#8B8378;text-decoration:none}
.as-volver a:hover{color:#7B1E24}

.as-alerta{margin:0 0 22px;padding:13px 18px;border-radius:4px;font-size:14.5px;line-height:1.55;border-left:3px solid}
.as-alerta--ok{background:#F1F7F1;border-left-color:#2E7D32;color:#2b5c2e}
.as-alerta--mal{background:#FCF3F3;border-left-color:#7B1E24;color:#7B1E24}

.as-form--login p{margin:0 0 18px}
.as-btn--ancho{width:100%;text-align:center}
.as-clave{position:relative}
.as-clave input{padding-right:50px!important}
.as-ojo{position:absolute;right:6px;bottom:6px;width:38px;height:38px;border:0;background:none;cursor:pointer;
  color:#A9A093;display:grid;place-items:center;padding:0;border-radius:4px;transition:color .2s}
.as-ojo:hover{color:#7B1E24}
.as-ojo svg{width:19px;height:19px}
.as-ojo.is-on{color:#7B1E24}
.as-check--fila{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.as-check--fila label{margin:0}
.as-check--fila a{font-size:13.5px;color:#7B1E24;text-decoration:none}
.as-check--fila a:hover{text-decoration:underline}

/* ------------------------------------------------------------------ */
/*  Mi cuenta                                                          */
/* ------------------------------------------------------------------ */
.as-perfil__cab{display:flex;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid #E3DACB;margin-bottom:24px}
.as-avatar{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#9C3239,#5A1219);color:#fff;font-size:22px;font-weight:600;letter-spacing:.02em}
.as-perfil__cab h3{margin:0 0 8px;font-size:23px;line-height:1.2}
.as-perfil .as-estado{margin:0}
.as-estado{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 13px;border-radius:30px}
.as-on{background:#E7F2E7;color:#2E7D32}
.as-off{background:#FBEAEA;color:#7B1E24}
.as-datos{list-style:none;margin:0;padding:0;display:grid;gap:0}
.as-datos li{display:flex;flex-wrap:wrap;gap:6px 18px;padding:13px 0;border-bottom:1px solid #F1EADD}
.as-datos li:last-child{border-bottom:0}
.as-datos b{flex:0 0 130px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8B8378}
.as-datos span{color:#241F1C;font-size:15px}

.as-perfil__cols{margin-top:26px;padding-top:24px;border-top:1px solid #E3DACB}
.as-perfil__cols h4{margin:0 0 14px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8B8378}
.as-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.as-col{display:block;border:1.5px solid #E3DACB;border-radius:5px;padding:16px 18px;text-decoration:none;
  background:#F8F4EC;transition:border-color .25s,transform .28s,box-shadow .28s}
.as-col:hover{border-color:#7B1E24;transform:translateY(-3px);box-shadow:0 10px 24px rgba(36,31,28,.1)}
.as-col span{display:block;font-weight:600;color:#241F1C;font-size:15px;line-height:1.3}
.as-col small{display:block;margin-top:4px;color:#8B8378;font-size:12.5px}

.as-perfil__pie{margin-top:28px;padding-top:24px;border-top:1px solid #E3DACB;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.as-salir{margin-left:auto;color:#8B8378;font-size:14px;text-decoration:none}
.as-salir:hover{color:#7B1E24;text-decoration:underline}

@media(max-width:520px){
  .as-tarjeta{padding:30px 22px 26px}
  .as-perfil__cab{gap:14px}
  .as-avatar{width:52px;height:52px;font-size:18px}
  .as-datos b{flex:1 1 100%}
  .as-perfil__pie .as-btn{flex:1 1 100%;text-align:center}
  .as-salir{margin:6px auto 0}
}


/* ------------------------------------------------------------------ */
/*  Blindaje frente a los estilos del tema                             */
/* ------------------------------------------------------------------ */
.as-form-wrap svg,.as-muro svg{max-width:100%;height:auto;vertical-align:middle}
.as-tarjeta__ic svg,.as-aviso__ic svg{width:27px;height:27px;display:block}
.as-form-wrap button.as-ojo{-webkit-appearance:none;appearance:none;border:0;background:none;
  box-shadow:none;min-width:0;min-height:0;line-height:0;text-transform:none;letter-spacing:0;
  font-size:0;border-radius:4px}
.as-form-wrap button.as-ojo svg{width:19px;height:19px}
.as-form-wrap .as-btn,.as-muro .as-btn,.as-aviso .as-btn{-webkit-appearance:none;appearance:none;
  box-shadow:none;line-height:1.2;min-width:0;font-family:inherit}
.as-form-wrap .as-btn:hover,.as-muro .as-btn:hover{box-shadow:none}
.as-form-wrap input[type=checkbox]{width:auto;min-width:0;accent-color:#7B1E24}
.as-tarjeta h3,.as-aviso h3{font-family:inherit}
.as-form-wrap label{display:block}
.as-check--fila label,.as-check label{display:flex}

/* selector de archivo con aspecto propio */
.as-archivo{position:relative;display:block}
.as-archivo input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;
  padding:0;border:0;margin:0}
.as-archivo__caja{display:flex;align-items:center;gap:11px;border:1.5px dashed #CFC6B4;border-radius:3px;
  background:#FCFAF6;padding:13px 16px;font-size:14.5px;color:#5F5952;
  transition:border-color .25s,background-color .25s,color .25s}
.as-archivo__caja svg{width:18px;height:18px;flex:none;color:#7B1E24}
.as-archivo__nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-archivo:hover .as-archivo__caja{border-color:#7B1E24;background:#fff;color:#241F1C}
.as-archivo.tiene .as-archivo__caja{border-style:solid;border-color:#7B1E24;background:#fff;color:#241F1C}

.as-form select{-webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237B1E24' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}

/* modo compacto: el formulario va dentro de una sección propia de la portada */
.as-form-wrap--suelto{max-width:none}
.as-tarjeta--suelta{padding:0;border:0;background:none;box-shadow:none}
.as-tarjeta--suelta .as-form input[type=text],.as-tarjeta--suelta .as-form input[type=email],
.as-tarjeta--suelta .as-form input[type=tel],.as-tarjeta--suelta .as-form select,
.as-tarjeta--suelta .as-form textarea{background-color:#fff}   /* -color, no el atajo:
   con «background» a secas se borraría la flecha del desplegable */
