/* Novautos · Solicitud de crédito */
:root{
  --ink:#0b0b0c;
  --ink-2:#151517;
  --ink-3:#232326;
  --paper:#f6f4ef;
  --card:#ffffff;
  --line:#e6e1d6;
  --text:#1c1c1e;
  --muted:#6f6a60;
  --gold:#c9a24a;
  --gold-2:#e8cf8a;
  --gold-3:#9b7425;
  --gold-grad:linear-gradient(135deg,#f3dd9b 0%,#c9a24a 38%,#8f6a1f 62%,#e7c977 100%);
  --ok:#2f8f5b;
  --err:#c0392b;
  --radius:16px;
  --shadow:0 30px 60px -30px rgba(11,11,12,.35),0 8px 24px -12px rgba(11,11,12,.18);
  --serif:"Cinzel",Georgia,serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--paper);font-size:15px;line-height:1.5}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}

/* ---------- HERO ---------- */
.hero{position:relative;background:radial-gradient(120% 140% at 15% 0%,#2a2418 0%,#111112 45%,var(--ink) 100%);color:#fff;overflow:hidden;padding:36px 20px 120px}
.hero__glow{position:absolute;inset:-40% -10% auto auto;width:620px;height:620px;background:radial-gradient(circle,rgba(201,162,74,.28),transparent 65%);pointer-events:none}
.hero::before,.hero::after{content:"";position:absolute;width:520px;height:2px;background:var(--gold-grad);opacity:.7;transform:rotate(-28deg)}
.hero::before{left:-140px;bottom:70px}
.hero::after{right:-160px;top:40px;transform:rotate(-28deg);opacity:.45}
.hero__inner{position:relative;max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:40px}
.hero__logo{width:200px;flex:none;filter:drop-shadow(0 10px 30px rgba(201,162,74,.25))}
.eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2)}
.hero h1{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.4vw,48px);letter-spacing:.06em;line-height:1.1;background:linear-gradient(180deg,#fff 30%,#e9dcc0);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{margin:14px 0 0;max-width:520px;color:#cfc9bc;font-size:15.5px}
.hero__line{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold-grad)}

/* ---------- LAYOUT ---------- */
.shell{max-width:1120px;margin:-80px auto 0;padding:0 20px 40px;position:relative}
.layout{display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:start}

.stepper{position:sticky;top:20px;background:var(--ink);color:#fff;border-radius:var(--radius);padding:22px 18px;box-shadow:var(--shadow);border:1px solid rgba(201,162,74,.25)}
.stepper ol{list-style:none;margin:0;padding:0;position:relative}
.stepper li{display:flex;gap:12px;align-items:flex-start;padding:10px 6px;border-radius:10px;cursor:default;position:relative;transition:background .2s}
.stepper li:not(:last-child)::after{content:"";position:absolute;left:21px;top:42px;bottom:-8px;width:2px;background:var(--ink-3)}
.stepper li.is-done::after{background:var(--gold-3)}
.stepper li.is-done,.stepper li.is-active{cursor:pointer}
.stepper li.is-done:hover{background:rgba(255,255,255,.04)}
.stepper .dot{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--ink-3);color:#8d887e;border:1px solid #333;position:relative;z-index:1;transition:all .25s}
.stepper b{display:block;font-size:13.5px;font-weight:600;color:#a9a397}
.stepper small{display:block;font-size:11.5px;color:#6e695f}
.stepper li.is-active .dot{background:var(--gold-grad);color:var(--ink);border-color:transparent;box-shadow:0 0 0 4px rgba(201,162,74,.18)}
.stepper li.is-active b{color:#fff}
.stepper li.is-done .dot{background:transparent;color:var(--gold);border-color:var(--gold)}
.stepper li.is-done .dot{font-size:0}
.stepper li.is-done .dot::before{content:"";width:12px;height:7px;border:2px solid var(--gold);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.stepper li.is-done b{color:#e6dfcf}
.secure{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:14px 10px 2px;border-top:1px solid var(--ink-3)}
.secure svg{width:22px;height:22px;flex:none;fill:var(--gold)}
.secure p{margin:0;font-size:11.5px;color:#8d887e}

.mprogress{display:none}

/* ---------- CARD ---------- */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 38px 26px;border:1px solid #efe9dc;min-height:420px}
.step{animation:in .35s ease}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step__head{display:flex;gap:18px;align-items:center;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.step__num{font-family:var(--serif);font-size:38px;font-weight:700;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step__head h2{margin:0;font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.04em;color:var(--ink)}
.step__head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.sub{display:flex;align-items:center;gap:10px;margin:30px 0 14px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.sub::before{content:"";width:18px;height:2px;background:var(--gold)}
.sub .opt{font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);font-size:12px}

/* ---------- FIELDS ---------- */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.span2{grid-column:span 2}
.f{margin-bottom:18px;min-width:0}
.f>label,.label{display:block;font-size:12.5px;font-weight:600;color:#3b3833;margin-bottom:7px}
em{font-style:normal;color:var(--gold-3)}
input:not([type=radio]):not([type=checkbox]),select{width:100%;height:48px;padding:0 14px;font:inherit;font-size:15px;color:var(--text);background:#fbfaf7;border:1.5px solid var(--line);border-radius:11px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;appearance:none;-webkit-appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239b7425' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
input:hover,select:hover{border-color:#d6cdb9}
input:focus,select:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(201,162,74,.16)}
input::placeholder{color:#b3ac9e}
input[type=date]{min-height:48px}
.upper{text-transform:uppercase}
.hint{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.money{position:relative}
.money>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gold-3);font-weight:600;pointer-events:none}
.money input{padding-left:30px!important;font-variant-numeric:tabular-nums;font-weight:500}

.f.has-err input,.f.has-err select,.has-err .chips span{border-color:var(--err)!important}
.f.has-err input:focus{box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.err-msg{margin:6px 0 0;font-size:12px;color:var(--err);font-weight:500}

/* chips (radios) */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1.5px solid var(--line);border-radius:999px;background:#fbfaf7;font-weight:500;font-size:14px;color:#3b3833;transition:all .18s;user-select:none}
.chips--sq span{width:48px;padding:0;border-radius:12px}
.chips label:hover span{border-color:#d6cdb9}
.chips input:focus-visible+span{box-shadow:0 0 0 4px rgba(201,162,74,.2)}
.chips input:checked+span{background:var(--ink);color:var(--gold-2);border-color:var(--ink);box-shadow:0 6px 16px -8px rgba(11,11,12,.6)}

/* finance box */
.finance-box{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 22px;margin:4px 0 24px;border-radius:14px;background:linear-gradient(135deg,#121213,#1f1c16);color:#fff;border:1px solid rgba(201,162,74,.35)}
.finance-box small{color:#a9a397;font-size:12px}
.finance-box strong{display:block;font-family:var(--serif);font-size:26px;letter-spacing:.02em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.finance-box__bar{height:8px;border-radius:9px;background:#2c2a25;overflow:hidden}
.finance-box__bar i{display:block;height:100%;width:0;background:var(--gold-grad);transition:width .4s ease}

/* reveal */
.reveal{animation:in .3s ease}

/* toggle question */
.toggle-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin:0 0 14px;border:1.5px solid var(--line);border-radius:14px;background:#fbfaf7}
.toggle-q b{display:block;font-size:14.5px}
.toggle-q small{color:var(--muted);font-size:12.5px}
.toggle-q.has-err{border-color:var(--err)}

/* repeatable */
.repeat{margin-bottom:10px}
.rrow{position:relative;padding:18px 18px 2px;margin-bottom:12px;border:1.5px dashed #e2d8c2;border-radius:14px;background:#fffdf8}
.rrow__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rrow__title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-3)}
.rrow__del{border:0;background:none;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;padding:4px}
.rrow__del:hover{color:var(--err)}
.btn-add{border:1.5px dashed var(--gold);background:transparent;color:var(--gold-3);font:inherit;font-weight:600;font-size:13.5px;padding:11px 18px;border-radius:12px;cursor:pointer;transition:background .2s}
.btn-add:hover{background:rgba(201,162,74,.08)}

/* totals */
.totals{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin-top:22px}
.totals>div{padding:14px 16px;border-radius:12px;background:#f7f3ea;border:1px solid var(--line)}
.totals small{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.totals strong{font-size:18px;font-variant-numeric:tabular-nums}
.totals .totals__main{background:var(--ink);border-color:var(--ink)}
.totals .totals__main small{color:#a9a397}
.totals .totals__main strong{color:var(--gold-2);font-family:var(--serif);font-size:20px}
.totals .is-neg strong{color:#ff9b8a}

/* review */
.review{display:grid;gap:10px}
.rv{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rv__h{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:#f7f3ea;cursor:pointer;font-weight:600;font-size:13.5px}
.rv__h small{color:var(--muted);font-weight:500;margin-left:6px}
.rv__h .link{font-size:12.5px}
.rv__b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;padding:14px 16px}
.rv__b div{min-width:0}
.rv__b small{display:block;font-size:11px;color:var(--muted)}
.rv__b span{font-size:13.5px;word-break:break-word}
.rv.is-closed .rv__b{display:none}
.rv__chev{transition:transform .2s;display:inline-block;margin-right:6px;color:var(--gold-3)}
.rv.is-closed .rv__chev{transform:rotate(-90deg)}

/* legal */
.legal{max-height:190px;overflow:auto;padding:16px 18px;border-radius:12px;background:#fbfaf7;border:1px solid var(--line);font-size:12.8px;color:#4c4840;line-height:1.6}
.legal p{margin:0 0 10px}
.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;cursor:pointer;font-size:14px}
.check input{position:absolute;opacity:0}
.check>span::before{content:"";flex:none;display:inline-block}
.check{position:relative}
.check span{position:relative;padding-left:34px}
.check span::before{position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:7px;border:1.5px solid #cfc5ae;background:#fff;transition:all .18s}
.check input:checked+span::before{background:var(--ink);border-color:var(--ink)}
.check input:checked+span::after{content:"";position:absolute;left:7px;top:4px;width:8px;height:12px;border:solid var(--gold-2);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.check input:focus-visible+span::before{box-shadow:0 0 0 4px rgba(201,162,74,.2)}
.check.has-err span::before{border-color:var(--err)}

/* signature */
.sign{margin-top:26px}
.sign__head{display:flex;justify-content:space-between;align-items:center}
.sign__pad{position:relative;height:190px;border-radius:14px;border:1.5px dashed #cdbf9f;background:#fffdf8 repeating-linear-gradient(0deg,transparent 0 37px,#f1ebdd 37px 38px);touch-action:none;overflow:hidden}
.sign__pad.has-err{border-color:var(--err)}
.sign__pad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.sign__ph{position:absolute;inset:0;display:grid;place-items:center;color:#c2b796;font-family:var(--serif);letter-spacing:.06em;pointer-events:none}
.sign__pad.signed .sign__ph{display:none}
.sign__meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--ink);font-size:12.5px;color:var(--muted)}
.link{border:0;background:none;color:var(--gold-3);font:inherit;font-weight:600;cursor:pointer;padding:4px;text-decoration:underline;text-underline-offset:3px}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.nav__save{font-size:12px;color:var(--muted);text-align:center}
.btn{height:50px;padding:0 26px;border-radius:12px;font:inherit;font-weight:700;font-size:14.5px;letter-spacing:.02em;cursor:pointer;border:0;transition:transform .15s,box-shadow .2s,opacity .2s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--gold{background:var(--gold-grad);background-size:160% 160%;color:var(--ink);box-shadow:0 12px 24px -12px rgba(155,116,37,.8)}
.btn--gold:hover{box-shadow:0 16px 30px -12px rgba(155,116,37,.95);background-position:100% 0}
.btn--ghost{background:transparent;border:1.5px solid var(--line);color:#3b3833}
.btn--ghost:hover{border-color:#cfc5ae}
.btn[disabled]{opacity:.55;cursor:wait}
.btn--ghost[aria-hidden=true]{visibility:hidden}
.form-error{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#fdecea;color:#8e2a20;font-size:13.5px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* done */
.done{text-align:center;padding:30px 10px 10px}
.done__badge{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);box-shadow:0 0 0 10px rgba(201,162,74,.15)}
.done__badge svg{width:42px;fill:var(--ink)}
.done h2{font-family:var(--serif);font-size:28px;margin:0 0 8px}
.done p{color:var(--muted);max-width:440px;margin:0 auto}
.done__id{display:inline-block;margin:24px 0 8px;padding:14px 28px;border-radius:14px;background:var(--ink)}
.done__id small{display:block;color:#a9a397;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.done__id strong{font-family:var(--serif);font-size:26px;letter-spacing:.08em;color:var(--gold-2)}

/* footer */
.foot{background:var(--ink);color:#8d887e;text-align:center;padding:30px 20px 34px;border-top:3px solid transparent;border-image:var(--gold-grad) 1}
.foot img{margin:0 auto 10px;width:40px}
.foot p{margin:0 0 4px;font-size:11px;letter-spacing:.3em;color:var(--gold-2)}
.foot small{font-size:11.5px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .layout{grid-template-columns:1fr}
  .stepper{display:none}
  .mprogress{display:block;position:sticky;top:0;z-index:5;background:var(--ink);color:#fff;border-radius:14px;padding:14px 18px;margin-bottom:14px;box-shadow:var(--shadow);border:1px solid rgba(201,162,74,.3)}
  .mprogress__top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:9px}
  .mprogress__top span:first-child{color:#a9a397}
  .mprogress__top span:last-child{color:var(--gold-2);font-weight:600}
  .mprogress__bar{height:5px;border-radius:5px;background:var(--ink-3);overflow:hidden}
  .mprogress__bar i{display:block;height:100%;width:0;background:var(--gold-grad);transition:width .4s}
}
@media (max-width:720px){
  body{font-size:14.5px}
  .hero{padding:28px 16px 92px}
  .hero h1{font-size:27px}
  .hero__inner{flex-direction:column;text-align:center;gap:14px}
  .hero__logo{width:124px}
  .hero__lead{margin-left:auto;margin-right:auto;font-size:14px}
  .shell{padding:0 12px 30px;margin-top:-70px}
  .card{padding:22px 18px 18px;border-radius:14px}
  .grid,.grid.g3,.grid.g4{grid-template-columns:1fr}
  .grid.g4{grid-template-columns:1fr 1fr}
  .span2{grid-column:auto}
  .grid.g4 .span2{grid-column:span 2}
  .step__num{font-size:30px}
  .step__head h2{font-size:19px}
  .finance-box{grid-template-columns:1fr;gap:10px}
  .totals,.totals--3{grid-template-columns:1fr 1fr}
  .totals .totals__main{grid-column:span 2}
  .toggle-q{flex-direction:column;align-items:flex-start}
  .rv__b{grid-template-columns:1fr 1fr}
  .nav{position:sticky;bottom:0;margin:24px -18px -18px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:0 0 14px 14px}
  .nav__save{display:none}
  .btn{flex:1;padding:0 14px}
  .btn--ghost{flex:0 0 auto}
  .chips span{padding:0 14px}
}
@media (max-width:380px){ .grid.g4{grid-template-columns:1fr} .grid.g4 .span2{grid-column:auto} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.hero::before,.hero::after,.stepper,.mprogress,.nav{display:none}.shell{margin-top:0}}

/* ---------- Volver al inicio ---------- */
.hero__home{display:block;flex:none}

/* ---------- Documento de identidad ---------- */
.sub-hint{margin:-4px 0 16px;font-size:13.5px;color:var(--muted)}
.idcap{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.idslot{position:relative;border:1.5px dashed #d9cdb2;border-radius:16px;background:#fffdf8;overflow:hidden;transition:border-color .2s,box-shadow .2s,background .2s}
.idslot.is-drag{border-color:var(--gold);background:#fff8e8}
.idslot.has-err{border-color:var(--err)}
.idslot.is-full{border-style:solid;border-color:#e3d6b8;background:#fff}
.idslot__empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 16px 18px}
.idslot__art{width:120px;height:76px;fill:none;stroke:#c7b48a;stroke-width:1.6;stroke-linecap:round}
.idslot__art .f{fill:#f3ead6;stroke:none}
.idslot__art .l{stroke:#ddd0b2;stroke-width:3}
.idslot__art .b{stroke:#bfae86;stroke-width:3}
.idslot__empty b{font-size:14px;color:var(--ink)}
.idslot__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}
.idbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border-radius:11px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:13.5px;font-weight:600;color:#3b3833;cursor:pointer;transition:all .18s;flex:1 1 auto;min-width:0}
.idbtn svg{width:18px;height:18px;fill:currentColor;flex:none}
.idbtn:hover{border-color:#cfc5ae}
.idbtn--cam{background:var(--ink);border-color:var(--ink);color:var(--gold-2)}
.idbtn--cam:hover{background:#000;border-color:#000}
.idslot__preview{position:relative;aspect-ratio:1.586;background:#f4f0e7;display:grid;place-items:center;overflow:hidden}
.idslot__preview img{width:100%;height:100%;object-fit:cover}
.idslot__pdf{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;text-align:center;font-size:13px;color:#3b3833;word-break:break-all}
.idslot__pdf svg{width:42px;height:42px;fill:#c0392b}
.idslot__bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #efe6d2}
.idslot__ok{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ok)}
.idslot__ok svg{width:16px;height:16px;fill:currentColor}
.link--muted{color:var(--muted)}
.idpdf{margin-top:10px}
.idpdf .link{font-size:13px;font-weight:500}
.idslot--pdf{margin-top:10px}
.idslot--pdf .idslot__preview{aspect-ratio:auto;min-height:110px}
.idcap.is-pdf .idslot{opacity:.45;pointer-events:none}

/* ---------- Cámara ---------- */
.cam{position:fixed;inset:0;z-index:100;background:#000;color:#fff;display:flex;flex-direction:column;overscroll-behavior:contain;touch-action:none}
.cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cam__mask{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.cam__frame{position:relative;width:min(86vw,560px,calc(62vh * 1.586));aspect-ratio:1.586;border-radius:16px;box-shadow:0 0 0 200vmax rgba(0,0,0,.62);transition:box-shadow .3s}
.cam__frame i{position:absolute;width:34px;height:34px;border:3.5px solid var(--gold-2);border-radius:4px}
.cam__frame i:nth-child(1){top:-2px;left:-2px;border-right:0;border-bottom:0;border-top-left-radius:16px}
.cam__frame i:nth-child(2){top:-2px;right:-2px;border-left:0;border-bottom:0;border-top-right-radius:16px}
.cam__frame i:nth-child(3){bottom:-2px;left:-2px;border-right:0;border-top:0;border-bottom-left-radius:16px}
.cam__frame i:nth-child(4){bottom:-2px;right:-2px;border-left:0;border-top:0;border-bottom-right-radius:16px}
.cam__scan{position:absolute;left:8%;right:8%;height:2px;top:10%;background:linear-gradient(90deg,transparent,var(--gold-2),transparent);opacity:.8;animation:scan 2.4s ease-in-out infinite}
@keyframes scan{0%,100%{top:10%}50%{top:88%}}
.cam.flash .cam__frame{box-shadow:0 0 0 200vmax rgba(255,255,255,.85)}
.cam__top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}
.cam__title{text-align:center}
.cam__title small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.cam__title b{font-family:var(--serif);font-size:18px;letter-spacing:.04em}
.cam__icon{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);display:grid;place-items:center;cursor:pointer}
.cam__icon svg{width:20px;height:20px;fill:#fff}
.cam__icon.is-on{background:var(--gold-2)}
.cam__icon.is-on svg{fill:#000}
.cam__hint{position:relative;margin:auto 0 0;text-align:center;font-size:14px;font-weight:500;padding:0 24px 16px;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.cam__bottom{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 22px calc(26px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(0,0,0,.75),transparent)}
.cam__shutter{width:78px;height:78px;border-radius:50%;border:4px solid #fff;background:transparent;padding:5px;cursor:pointer}
.cam__shutter span{display:block;width:100%;height:100%;border-radius:50%;background:var(--gold-grad);transition:transform .15s}
.cam__shutter:active span{transform:scale(.88)}
.cam__alt{justify-self:start;height:42px;padding:0 16px;border-radius:21px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cam__alt--ghost{visibility:hidden}
.cam__review{position:absolute;inset:0;z-index:2;background:#0b0b0c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 18px calc(24px + env(safe-area-inset-bottom))}
.cam__review img{width:min(92vw,620px);aspect-ratio:1.586;object-fit:cover;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.6);border:1px solid rgba(201,162,74,.35)}
.cam__review p{margin:0;color:#cfc9bc;font-size:15px}
.cam__actions{display:flex;gap:12px;width:min(92vw,620px)}
.cam__actions .btn{flex:1}
.btn--ghost-dark{background:transparent;border:1.5px solid rgba(255,255,255,.3);color:#fff}
.cam__toast{position:absolute;left:50%;top:calc(84px + env(safe-area-inset-top));transform:translateX(-50%);z-index:3;padding:10px 18px;border-radius:999px;background:var(--gold-grad);color:#0b0b0c;font-weight:700;font-size:13.5px;white-space:nowrap;animation:in .3s ease}
body.cam-open{overflow:hidden}

@media (max-width:720px){
  .idcap{grid-template-columns:1fr}
  .idslot__empty{flex-direction:row;flex-wrap:wrap;text-align:left;justify-content:flex-start;padding:16px}
  .idslot__art{width:70px;height:44px}
  .idslot__empty b{flex:1;font-size:14.5px}
  .idslot__btns{justify-content:stretch}
  .idslot__full:not([hidden]){display:flex;align-items:center;gap:4px}
  .idslot__preview{width:128px;flex:none;margin:10px 0 10px 10px;border-radius:9px}
  .idslot--pdf .idslot__preview{width:auto;flex:1;min-height:0;margin:0}
  .idslot__bar{flex:1;flex-direction:column;align-items:flex-start;border-top:0;gap:6px}
  .idslot__bar>span:last-child{display:flex;gap:14px}
}

/* ---------- Autorizaciones de entidades ---------- */
.banks{margin-top:18px;padding:16px 18px 6px;border:1px solid var(--line);border-radius:14px;background:#fbfaf7}
.banks__lead{margin:0 0 4px;font-size:13.5px;color:#4c4840}
.check--doc{margin-top:12px}
.check--doc a{color:var(--gold-3);font-weight:600;white-space:nowrap}
