/* ═══════════════════════════════════════════════════════════════════
   LIC. FERNANDO ECHEVERRÍA · CONSULTA RÁPIDA + HOJAS
   (las secciones 02–12 viven en css/secciones-v2.css)
   ═══════════════════════════════════════════════════════════════════ */
[hidden]{display:none!important}

/* ═══ 01 · CONSULTA RÁPIDA (escritorio) ═══
   Banda a sangre que continúa el negro del héroe; textura de raya de gis
   (como la tela del traje) + renglones tipo expediente; campos numerados 01–03. */
.fe-qc{position:relative;isolation:isolate;scroll-margin-top:84px;background:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fe-qc::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 26px);
  -webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.35) 45%,#000);mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.35) 45%,#000)}
.fe-qc::after{content:"";position:absolute;left:clamp(24px,4.4vw,96px);top:-1px;width:clamp(80px,9vw,160px);height:2px;background:var(--y)}
.fe-qc__in{display:grid;grid-template-areas:"intro" "form" "foot";row-gap:clamp(20px,1.8vw,30px);
  max-width:1760px;margin:0 auto;padding:clamp(44px,5.2vw,84px) clamp(24px,4.4vw,96px)}
.fe-qc__intro{grid-area:intro;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.fe-qc__t{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.7vw,50px);line-height:1.06;text-transform:uppercase;letter-spacing:.005em}
.fe-qc__s{max-width:30em;text-align:right;font-size:clamp(13px,.9vw,15.5px);line-height:1.6;color:var(--txt-soft)}

.fe-qc__form{grid-area:form;display:grid;grid-template-columns:1fr 1fr 1.55fr auto;align-items:stretch;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.fe-qc__f{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"n l" "i i";column-gap:10px;row-gap:10px;align-content:center;
  padding:22px clamp(16px,1.5vw,28px);border-right:1px solid rgba(255,255,255,.1);cursor:text;transition:background-color .25s}
.fe-qc__f:first-child{padding-left:0}
.fe-qc__f::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.fe-qc__f:first-child::after{left:0}
.fe-qc__f:focus-within::after{transform:none}
.fe-qc__f:hover{background:rgba(255,255,255,.02)}
.fe-qc__n{grid-area:n;font-family:var(--serif);font-size:13px;color:var(--y);line-height:1}
.fe-qc__l{grid-area:l;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-soft);line-height:1}
.fe-qc .fe-fld :is(input,select){grid-area:i;width:100%;min-width:0;padding:0;border:0;border-radius:0;background:none;color:var(--txt);font:inherit;font-size:clamp(15px,1.02vw,18px);line-height:1.5;outline:none}
.fe-qc .fe-fld input::placeholder{color:rgba(244,244,242,.3)}
.fe-qc .fe-fld select{cursor:pointer;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--y) 50%),linear-gradient(135deg,var(--y) 50%,transparent 50%);background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.fe-qc .fe-fld select option{background:#151515;color:var(--txt)}
.fe-qc .fe-fld em{position:absolute;left:0;bottom:6px;font-size:11.5px}
.fe-qc .fe-fld.is-bad::after{transform:none;background:#ff8a7a}
.fe-qc__go{align-self:center;margin-left:clamp(16px,1.5vw,28px);height:clamp(52px,4.2vw,64px);padding:0 clamp(18px,1.6vw,30px);font-size:clamp(13.5px,.92vw,16px)}
.fe-qc__go .fe-ic{width:1.2em;height:1.2em}
.fe-qc__foot{grid-area:foot;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--txt-soft)}
.fe-qc__foot .fe-ic{width:16px;height:16px;color:var(--y)}
.fe-qc__foot span{opacity:.5;margin:0 4px}
.fe-qc__foot a{color:var(--txt);border-bottom:1px solid rgba(243,225,43,.6);transition:color .2s}
.fe-qc__foot a:hover{color:var(--y)}

/* ── botones de la app ── */
.fe-mbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border-radius:14px;border:0;font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:transform .2s var(--ease),filter .2s}
.fe-mbtn:active{transform:scale(.97)}
.fe-mbtn:hover{filter:brightness(1.06)}
.fe-mbtn .fe-ic{width:20px;height:20px}
.fe-mbtn--wa{background:linear-gradient(160deg,#25c766,#128c44);color:#fff}
.fe-mbtn--y{background:var(--y);color:var(--ink)}
.fe-mbtn--block{display:flex;width:100%}

/* ── hojas / ventanas (escritorio: ventana centrada · celular: hoja inferior) ── */
.fe-sheet{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}
.fe-sheet__bd{position:absolute;inset:0;background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.fe-sheet__pn{position:relative;width:min(480px,100%);max-height:min(88vh,780px);overflow:auto;overscroll-behavior:contain;padding:28px 24px 24px;border-radius:6px;
  background:var(--ink-2);border:1px solid var(--line);border-top:3px solid var(--y);color:var(--txt);box-shadow:0 40px 80px -30px #000;
  opacity:0;transform:translateY(18px) scale(.98);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.fe-sheet.is-open .fe-sheet__bd{opacity:1}
.fe-sheet.is-open .fe-sheet__pn{opacity:1;transform:none}
.fe-sheet__grab{display:none}
.fe-sheet__x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink-3);color:var(--txt);display:grid;place-items:center;cursor:pointer}
.fe-sheet__x .fe-ic{width:18px;height:18px}
.fe-sheet__t{margin:0;padding-right:44px;font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.15}
.fe-sheet__s{margin:6px 0 0;font-size:14px;color:var(--txt-soft)}
.fe-sheet__k{margin:22px 0 12px;font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-soft)}
.fe-sheet__who{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-right:40px}
.fe-sheet__who .fe-sheet__s{margin-top:4px}
.fe-sheet__foot{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 0;font-size:12.5px;color:var(--txt-soft)}
.fe-sheet__foot .fe-ic{width:16px;height:16px;color:var(--y)}

/* avatar: rostro recortado con CSS del JPG original */
.fe-av{position:relative;flex:none;width:62px;height:62px;border-radius:50%;overflow:hidden;background:#3a3a3a}
.fe-av img{position:absolute;left:-138%;top:-33%;width:400%;height:auto;max-width:none;filter:grayscale(1) contrast(1.15)}

/* opciones de contacto */
.fe-opt{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;margin-top:10px;border-radius:14px;background:var(--ink-3);color:var(--txt);border:1px solid rgba(255,255,255,.05);
  transition:background-color .2s,color .2s,translate .3s var(--ease)}
.fe-opt:hover{background:var(--y);color:var(--ink);translate:0 -2px}
.fe-opt__ic{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#2a2a2a;color:var(--y)}
.fe-opt:hover .fe-opt__ic{background:var(--ink)}
.fe-opt__ic--wa,.fe-opt:hover .fe-opt__ic--wa{background:linear-gradient(160deg,#25c766,#128c44);color:#fff}
.fe-opt__ic .fe-ic{width:22px;height:22px}
.fe-opt__t{flex:1;min-width:0;display:flex;flex-direction:column}
.fe-opt__t b{font-size:16px;font-weight:700}
.fe-opt__t small{font-size:12.5px;opacity:.66;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fe-opt>.fe-ic{width:20px;height:20px}

/* formulario (nombre + caso → WhatsApp) */
.fe-form{display:grid;gap:14px;margin-top:18px}
.fe-fld{display:grid;gap:6px}
.fe-fld>span{font-size:12.5px;font-weight:500;color:var(--txt-soft)}
.fe-fld input,.fe-fld select,.fe-fld textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:var(--ink-3);color:var(--txt);font:inherit;font-size:16px;outline:none;transition:border-color .2s}
.fe-fld textarea{resize:vertical;min-height:96px}
.fe-fld select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--y) 50%),linear-gradient(135deg,var(--y) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.fe-fld :is(input,select,textarea):focus{border-color:var(--y)}
.fe-fld em{display:none;font-style:normal;font-size:12px;color:#ff8a7a}
.fe-fld.is-bad input{border-color:#ff8a7a}
.fe-fld.is-bad em{display:block}
.fe-form .fe-sheet__foot{margin-top:4px}

/* tarjeta digital (hoja compartir) */
.fe-vcard{position:relative;overflow:hidden;margin-top:18px;padding:20px;border-radius:8px;background:#0a0a0a;border:1px solid var(--line);color:var(--txt)}
.fe-vcard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--y)}
.fe-vcard__giant{position:absolute;left:10px;right:10px;top:8px;width:calc(100% - 20px);height:62%;pointer-events:none}
.fe-vcard__who{position:relative;display:flex;align-items:center;gap:14px}
.fe-vcard__who .fe-av{width:60px;height:60px;box-shadow:0 0 0 2px var(--y)}
.fe-vcard__who>div{display:flex;flex-direction:column}
.fe-vcard__who b{font-family:var(--serif);font-size:19px;font-weight:500}
.fe-vcard__who span{font-size:12.5px;color:var(--txt-soft)}
.fe-vcard__qr{position:relative;display:flex;align-items:center;gap:16px;margin-top:18px;padding:14px;border-radius:8px;background:rgba(255,255,255,.06)}
.fe-vcard__code{flex:none;width:112px;aspect-ratio:1;padding:8px;border-radius:6px;background:#fff;display:grid;place-items:center}
.fe-vcard__code img,.fe-vcard__code canvas{width:100%!important;height:auto!important}
.fe-vcard__code p{font-size:9.5px;line-height:1.3;text-align:center;color:#555}
.fe-vcard__qr>p{font-size:13.5px;line-height:1.5;color:var(--txt-soft)}
.fe-vcard__data{position:relative;display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;padding:0;list-style:none;font-size:13px;color:var(--txt-soft)}
.fe-vcard__data li{display:flex;align-items:center;gap:8px}
.fe-vcard__data .fe-ic{width:16px;height:16px;color:var(--y)}
.fe-vsave{display:flex;align-items:center;gap:14px;width:100%;margin-top:12px;padding:12px 16px 12px 12px;border-radius:14px;border:0;background:var(--y);font:inherit;text-align:left;color:var(--ink);cursor:pointer}
.fe-vsave__ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(0,0,0,.1)}
.fe-vsave__t{flex:1;display:flex;flex-direction:column}
.fe-vsave__t b{font-size:16px;font-weight:700}
.fe-vsave__t small{font-size:12.5px;opacity:.7}
.fe-vsave .fe-ic{width:20px;height:20px}
.fe-chan{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fe-chan__b{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;font:inherit;font-size:12.5px;font-weight:500;color:var(--txt);text-align:center;cursor:pointer}
.fe-chan__b span{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--ink-3);color:var(--y)}
.fe-chan__b--wa span{background:linear-gradient(160deg,#25c766,#128c44);color:#fff}
.fe-chan__b .fe-ic{width:22px;height:22px}

/* aviso */
.fe-toast{position:fixed;z-index:120;left:50%;bottom:calc(var(--mbar-h,0px) + 22px);translate:-50% 20px;padding:12px 20px;border-radius:999px;background:var(--y);color:var(--ink);font-size:14px;font-weight:500;opacity:0;visibility:hidden;transition:opacity .3s,translate .4s var(--ease),visibility .3s;white-space:nowrap}
.fe-toast.is-show{opacity:1;visibility:visible;translate:-50% 0}

@media (max-width:1024px),(max-aspect-ratio:10/11){
  .fe-qc{display:none}
  .fe-sheet{place-items:end center;padding:0}
  .fe-sheet__pn{width:min(640px,100%);max-height:92svh;padding:12px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;border-top-width:1px;transform:translateY(100%);opacity:1}
  .fe-sheet.is-open .fe-sheet__pn{transform:none}
  .fe-sheet__grab{display:block;width:44px;height:5px;margin:0 auto 14px;border-radius:5px;background:rgba(255,255,255,.2)}
  .fe-sheet__x{top:14px;right:14px;width:36px;height:36px}
  .fe-toast{bottom:calc(var(--mbar-h) + 14px)}
}
