/* Piscinas Barquisimeto · /afiliarse/ (solicitud para ser aliado). Va después de sitio.css y solo en esta página.
   Mismos tokens de «mar profundo»: tinta, aguamarina (--sol) para la tecla de enviar, turquesa para el foco. */

.afi-hero{padding-bottom:40px}
.afi-hero .lead{max-width:62ch}
.afi-req{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.afi-req li{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.9rem;color:#fff}
.afi-req svg{width:18px;height:18px;flex:0 0 auto;stroke:var(--sol-claro)}
.afi-req .afi-req-t{color:#cfe6e9;font-weight:600}

.afi-zona{padding:34px 0 64px}
.afi-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
@media(max-width:960px){.afi-grid{grid-template-columns:1fr}}

/* ───────── Formulario ───────── */
.afi-form{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(18px,3vw,34px)}
.afi-form fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}
.afi-form legend{display:flex;align-items:baseline;gap:12px;width:100%;padding:0 0 12px;margin-bottom:18px;border-bottom:1px solid var(--line);
  font-family:var(--font-display);font-weight:800;font-size:clamp(1.1rem,2.2vw,1.35rem);letter-spacing:-.02em;line-height:1.15}
.afi-form legend span{font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.16em;color:#2f8a92}
.afi-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 18px}
@media(max-width:640px){.afi-campos{grid-template-columns:1fr}}
.afi-campo{display:grid;gap:6px;align-content:start;min-width:0}
.afi-campo.ancho{grid-column:1/-1}
.afi-campo label,.afi-grupo-t{font-weight:700;font-size:.92rem;color:var(--text)}
.afi-campo label b,.afi-grupo-t b{color:var(--turq-deep)}
.afi-campo label small,.afi-grupo-t small{font-weight:600;color:var(--muted)}
.afi-ayuda{font-size:.82rem;color:var(--muted);line-height:1.45}

.afi-form input[type=text],.afi-form input[type=tel],.afi-form input[type=email],.afi-form select,.afi-form textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--text);background:#fff;border:1px solid #cfdde0;border-radius:12px;padding:12px 14px;min-height:48px;
  -webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}
.afi-form textarea{min-height:96px;resize:vertical;line-height:1.5}
.afi-form select{padding-right:40px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23557277' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px}
.afi-form input::placeholder,.afi-form textarea::placeholder{color:#8aa3a7}
.afi-form input:focus,.afi-form select:focus,.afi-form textarea:focus{outline:none;border-color:var(--turq);box-shadow:0 0 0 4px rgba(20,174,186,.18)}
.afi-form [aria-invalid=true]{border-color:#b4232c;box-shadow:0 0 0 3px rgba(180,35,44,.12)}
.afi-err{font-size:.84rem;font-weight:700;color:#b4232c;line-height:1.4}
.afi-err[hidden]{display:none}

/* Opciones (radio y casillas) como fichas del catálogo: la elegida en tinta */
.afi-opciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.afi-op{position:relative;display:inline-flex}
.afi-op input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.afi-op span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;border-radius:12px;border:1px solid #cfdde0;background:#fff;
  color:#3a5a60;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.afi-op span:hover{border-color:rgba(20,174,186,.6)}
.afi-op input:checked+span{background:var(--tinta);border-color:var(--tinta);color:#fff}
.afi-op input:focus-visible+span{box-shadow:0 0 0 4px rgba(20,174,186,.3)}
.afi-op input[type=checkbox]+span::before{content:"";width:16px;height:16px;border-radius:5px;border:2px solid #9fb6ba;flex:0 0 auto}
.afi-op input[type=checkbox]:checked+span::before{border-color:var(--sol);background:var(--sol) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313272c' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center/12px}
.afi-grupo{border:0;padding:0;margin:0;min-width:0;display:grid;gap:8px}
.afi-form .afi-grupo{margin:0}
#afiObligatorio{margin-bottom:22px}
.afi-form legend.afi-grupo-t{display:block;width:auto;padding:0;margin:0;border:0;font-family:var(--font-body);font-size:.92rem;font-weight:700;letter-spacing:0;line-height:1.4}
.afi-form fieldset[aria-invalid=true]{box-shadow:none}
.afi-grupo[aria-invalid=true] .afi-op span{border-color:#b4232c}
/* el monto mensual: cuatro tarjetas parejas */
.afi-montos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media(max-width:760px){.afi-montos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.afi-montos .afi-op span{width:100%;justify-content:center;text-align:center;flex-direction:column;gap:2px;padding:12px 10px;min-height:64px}
.afi-montos .afi-op span b{font-family:var(--font-mono);font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.afi-montos .afi-op span small{font-weight:600;font-size:.74rem;opacity:.75}
.afi-montos .afi-op{display:flex}

/* requisito no cumplido (sin tienda física) */
.afi-aviso{border-left:4px solid var(--sello);background:var(--turq3);border-radius:0 12px 12px 0;padding:14px 16px;font-size:.92rem;color:var(--text)}
.afi-aviso[hidden]{display:none}
.afi-aviso a{color:var(--turq-deep);font-weight:800;text-decoration:underline}

.afi-consiente{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--turq3);border:1px solid #d7eef0;cursor:pointer;font-size:.92rem;line-height:1.5}
.afi-consiente input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--turq-deep)}
.afi-consiente a{color:var(--turq-deep);font-weight:700;text-decoration:underline}
.afi-trampa{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.afi-enviar{display:grid;gap:12px;justify-items:start;margin-top:22px}
.afi-enviar .btn{font-size:1.02rem;padding:15px 26px;min-height:52px}
.afi-enviar .btn[disabled]{opacity:.65;cursor:progress;transform:none}
.afi-estado{font-size:.92rem;font-weight:700;color:var(--text)}
.afi-estado.mal{color:#b4232c}
.afi-estado:empty{display:none}
.afi-estado a{color:var(--turq-deep);text-decoration:underline}
.afi-letra{font-size:.8rem;color:var(--muted)}

/* ───────── Lateral: qué pasa después ───────── */
.afi-lado{position:sticky;top:96px;display:grid;gap:14px}
@media(max-width:960px){.afi-lado{position:static}}
.afi-pasos{background:var(--tinta);color:#e6f3f4;border-radius:var(--radius);padding:24px 22px}
.afi-pasos h2{font-size:1.15rem;color:#fff;margin-bottom:16px}
.afi-pasos ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:paso}
.afi-pasos li{counter-increment:paso;display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:.9rem;line-height:1.45}
.afi-pasos li::before{content:counter(paso);display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--sol);color:var(--sol-tx);
  font-family:var(--font-mono);font-weight:600;font-size:.82rem}
.afi-pasos li b{color:#fff}
.afi-dudas{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:18px 20px;font-size:.9rem;color:#45646a}
.afi-dudas a{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;color:var(--turq-deep);font-weight:800}
.afi-dudas svg{width:18px;height:18px;fill:var(--turq-deep)}

/* ───────── Recibida ───────── */
.afi-listo{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(24px,4vw,44px);text-align:center;outline:none}
.afi-listo[hidden]{display:none}
.afi-listo .afi-ok{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--sol);display:grid;place-items:center}
.afi-listo .afi-ok svg{width:32px;height:32px;stroke:var(--sol-tx)}
.afi-listo h2{font-size:clamp(1.5rem,3.4vw,2.2rem);letter-spacing:-.03em;margin:10px 0 14px}
.afi-listo p{max-width:56ch;margin:0 auto 14px;color:#45646a}
.afi-folio{display:inline-block;font-family:var(--font-mono);font-weight:600;font-size:clamp(1.3rem,3vw,1.7rem);letter-spacing:.06em;color:var(--tinta);
  background:var(--turq3);border:1px dashed var(--turq);border-radius:12px;padding:8px 16px;margin:2px 0 18px}
.afi-folio[hidden]{display:none}
.afi-listo .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px}
@media(max-width:560px){.afi-listo .row .btn{flex:1 1 100%;white-space:normal}}
