/* FEREJA Instantánea · integración 1.0.6 */
[hidden]{display:none!important}
.fi-overlay{position:fixed;z-index:110;inset:0;display:flex;align-items:center;justify-content:center;padding:0;background:rgba(35,21,46,.68);backdrop-filter:none;-webkit-backdrop-filter:none}
.fi-overlay[hidden],.fi-screen[hidden],.fi-view-placeholder[hidden],.fi-camera-error[hidden]{display:none!important}
.fi-shell{position:relative;width:min(100%,480px);height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#fffaf2;color:#2c1b3c;box-shadow:0 22px 70px rgba(17,9,25,.28)}
.fi-gate-shell{justify-content:center;padding:calc(28px + env(safe-area-inset-top)) 22px calc(26px + env(safe-area-inset-bottom));overflow-y:auto}
.fi-gate-card{width:100%;padding:28px 23px 23px;border:1px solid #eee1d3;border-radius:26px;background:linear-gradient(155deg,#fffefa,#fff6e9);box-shadow:0 18px 48px rgba(45,27,55,.10);text-align:center}
.fi-gate-mark{width:66px;height:66px;margin:0 auto 19px;border-radius:21px;display:grid;place-items:center;color:#fff9f0;background:linear-gradient(145deg,#71428a,#432153);box-shadow:0 11px 24px rgba(80,40,100,.19)}
.fi-gate-mark svg{width:30px;height:30px}
.fi-gate-kicker{font-size:8px;line-height:1.2;font-weight:950;letter-spacing:1.5px;text-transform:uppercase;color:#a16d89}
.fi-gate-card h1{margin:9px 0 10px;font-size:clamp(25px,7vw,31px);line-height:1.04;letter-spacing:-1.05px;font-weight:950;color:#2c1b3c}
.fi-gate-copy{max-width:305px;margin:0 auto;color:#827687;font-size:11px;line-height:1.65}
.fi-gate-note{display:flex;gap:8px;align-items:flex-start;margin:19px auto 0;padding:11px 12px;border:1px solid #eee4d7;border-radius:13px;background:#faf4eb;color:#776b7c;text-align:left;font-size:9px;line-height:1.5}
.fi-gate-note svg{width:15px;height:15px;flex:none;color:#6e9e75;margin-top:1px}
.fi-gate-actions{display:grid;gap:9px;margin-top:19px}
.fi-btn{min-height:46px;padding:12px 15px;border:0;border-radius:14px;font-size:11px;font-weight:950;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;-webkit-tap-highlight-color:transparent}
.fi-btn:active{transform:translateY(1px)}
.fi-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.fi-btn-primary{color:#3b2943;background:linear-gradient(105deg,#f4d36b,#edb94f);box-shadow:0 4px 0 #d7a64d}
.fi-btn-secondary{color:#634d70;background:#f4eee7;border:1px solid #e8ddd2}
.fi-gate-message{min-height:15px;margin:12px 3px 0;color:#8b788b;font-size:9px;line-height:1.5}

.fi-shell-bar{height:68px;flex:none;padding:0 17px;display:flex;align-items:center;gap:12px;background:rgba(255,250,242,.96);border-bottom:1px solid #eadfd2;z-index:3}
.fi-back{width:39px;height:39px;flex:none;border:1px solid #e9ded2;border-radius:13px;background:#fffefa;color:#654078;display:grid;place-items:center;box-shadow:0 3px 9px rgba(48,31,55,.045)}
.fi-back svg{width:19px;height:19px}
.fi-bar-copy{min-width:0;flex:1}
.fi-bar-kicker{font-size:7px;line-height:1.2;letter-spacing:1.35px;text-transform:uppercase;font-weight:950;color:#a16d89}
.fi-bar-title{margin-top:4px;font-size:17px;line-height:1;font-weight:950;letter-spacing:-.55px;color:#32203f}
.fi-bar-status{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e7dfd7;border-radius:99px;background:#fffefa;color:#786b7b;font-size:8px;line-height:1;font-weight:900;white-space:nowrap}
.fi-bar-status i{width:6px;height:6px;border-radius:50%;background:#c9b9c9}
.fi-bar-status.is-live{background:#eff6eb;border-color:#dcead3;color:#52774f}
.fi-bar-status.is-live i{background:#75a36b;box-shadow:0 0 0 3px #75a36b22}
.fi-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 17px calc(20px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#d8c8d6 transparent}
.fi-screen{display:block;animation:fi-enter .22s ease both}
@keyframes fi-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.fi-camera-intro{padding:17px 2px 12px}
.fi-camera-intro h2{margin:0;color:#32203f;font-size:19px;line-height:1.13;letter-spacing:-.6px;font-weight:950}
.fi-camera-intro p{margin:5px 0 0;color:#897d8c;font-size:10px;line-height:1.5}
.fi-view-shell{position:relative;padding:6px;border:1px solid #e9dfd5;border-radius:25px;background:linear-gradient(145deg,#fffefa,#f6eee7);box-shadow:0 12px 27px rgba(50,33,60,.085),0 2px 5px rgba(50,33,60,.03)}
.fi-viewfinder{position:relative;width:100%;aspect-ratio:4/5;max-height:min(55dvh,570px);min-height:225px;overflow:hidden;border-radius:19px;background:radial-gradient(ellipse at 50% 42%,#493653 0%,#2a1e34 53%,#17121d 100%);isolation:isolate;color:white}
.fi-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#21182a}
.fi-video.is-mirrored{transform:scaleX(-1)}
.fi-viewfinder:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(16,10,24,.35),transparent 18%,transparent 76%,rgba(16,10,24,.42))}
.fi-viewfinder-top{position:absolute;z-index:3;top:12px;left:13px;right:13px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:8px}
.fi-chip{min-height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(28,20,38,.82);backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff8f0;font-size:7px;line-height:1;font-weight:900;letter-spacing:.8px}
.fi-live-dot{width:6px;height:6px;border-radius:50%;background:#e9c566;box-shadow:0 0 0 3px rgba(233,197,102,.18)}
.fi-frame-lines{position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.18;background:linear-gradient(to right,transparent 33.15%,rgba(255,255,255,.7) 33.33%,transparent 33.5%,transparent 66.45%,rgba(255,255,255,.7) 66.66%,transparent 66.85%),linear-gradient(to bottom,transparent 33.15%,rgba(255,255,255,.7) 33.33%,transparent 33.5%,transparent 66.45%,rgba(255,255,255,.7) 66.66%,transparent 66.85%)}
.fi-view-corners{position:absolute;z-index:2;inset:13px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;pointer-events:none;opacity:.65}
.fi-view-corners span{width:16px;height:16px;border:0 solid white}
.fi-view-corners span:nth-child(1){border-top-width:1.5px;border-left-width:1.5px;border-top-left-radius:5px}
.fi-view-corners span:nth-child(2){justify-self:end;border-top-width:1.5px;border-right-width:1.5px;border-top-right-radius:5px}
.fi-view-corners span:nth-child(3){align-self:end;border-bottom-width:1.5px;border-left-width:1.5px;border-bottom-left-radius:5px}
.fi-view-corners span:nth-child(4){justify-self:end;align-self:end;border-bottom-width:1.5px;border-right-width:1.5px;border-bottom-right-radius:5px}
.fi-view-placeholder{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:25px;text-align:center;background:radial-gradient(ellipse at 50% 38%,#584166 0%,#362540 48%,#21172b 100%);color:#fff}
.fi-placeholder-icon{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;color:#fae9cf;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 5px rgba(255,255,255,.03),0 10px 24px rgba(9,5,15,.18)}
.fi-placeholder-icon svg{width:30px;height:30px}
.fi-view-placeholder strong{font-size:13px;line-height:1.2;font-weight:900}
.fi-view-placeholder span{max-width:230px;color:#d8cede;font-size:9px;line-height:1.55}
.fi-camera-controls{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;justify-items:center;width:min(100%,310px);margin:15px auto 0}
.fi-tool{width:45px;height:45px;display:grid;place-items:center;border:1px solid #e9dfe0;border-radius:15px;background:#fff;color:#674477;box-shadow:0 3px 8px rgba(60,33,65,.05);transition:transform .14s,background .14s}
.fi-tool svg{width:19px;height:19px}
.fi-tool:active{transform:scale(.94);background:#fff1f6}
.fi-tool:disabled{opacity:.38}
.fi-shutter{position:relative;width:73px;height:73px;display:grid;place-items:center;padding:5px;border:1px solid #e3c9d7;border-radius:50%;background:linear-gradient(145deg,#e84d8d,#8c3c8f);box-shadow:0 4px 0 #b26a8d,0 8px 18px rgba(92,39,105,.17);transition:transform .13s,filter .13s}
.fi-shutter:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.74);border-radius:50%}
.fi-shutter:active{transform:scale(.95);filter:saturate(1.08)}
.fi-shutter:disabled{opacity:.38;box-shadow:none;filter:grayscale(.35)}
.fi-shutter span{width:48px;height:48px;border:2px solid white;border-radius:50%;background:linear-gradient(145deg,#fffefa,#f8e8eb);box-shadow:inset 0 0 0 1px #e9d0dd,0 1px 3px rgba(43,22,39,.12)}
.fi-control-labels{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:310px;margin:6px auto 0;text-align:center;color:#988c9a;font-size:8px;font-weight:750}
.fi-control-labels span:nth-child(2){color:#70427d;font-weight:950}
.fi-camera-note{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin:12px 9px 0;color:#8b7e8f;font-size:9px;line-height:1.45;text-align:center}
.fi-camera-note svg{width:14px;height:14px;flex:none;color:#779b77}
.fi-camera-error{margin:12px 0 0;padding:12px 13px;border:1px solid #ecd9cd;border-radius:14px;background:#fff3e9;color:#805c52;font-size:9px;line-height:1.5;text-align:center}
.fi-review-heading{padding:16px 2px 13px}
.fi-review-heading h2{margin:0;font-size:20px;line-height:1.1;letter-spacing:-.7px;font-weight:950;color:#32203f}
.fi-review-heading p{margin:5px 0 0;color:#897d8c;font-size:10px;line-height:1.45}
.fi-proof{width:min(100%,360px);margin:0 auto;padding:8px 8px 13px;border:1px solid #eee4db;border-radius:17px;background:#fffefa;box-shadow:0 11px 26px rgba(47,30,57,.085)}
.fi-proof-image{width:100%;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#241a2d}
.fi-proof-image img{width:100%;height:100%;object-fit:contain}
.fi-proof-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 4px 0}
.fi-proof-caption{color:#4e3b5a;font-size:8px;line-height:1.2;font-weight:950;letter-spacing:1px}
.fi-proof-subcaption{margin-top:3px;color:#a091a4;font-size:8px;letter-spacing:.25px}
.fi-review-form{margin-top:13px;padding:14px;border:1px solid #eee2d7;border-radius:17px;background:#fffefa}
.fi-field-label{display:block;margin:0 0 6px;font-size:10px;font-weight:900;color:#493257}
.fi-field{width:100%;min-height:43px;padding:11px 12px;border:1px solid #e2d4c6;border-radius:11px;background:#fffdf8;color:#2c1b3c;font:inherit;font-size:12px}
.fi-help{margin-top:5px;color:#8b7e8f;font-size:8px;line-height:1.4}
.fi-consent{display:flex;align-items:flex-start;gap:9px;padding:10px 0;color:#6e6373;font-size:9px;line-height:1.48}
.fi-consent+.fi-consent{border-top:1px solid #f1eae2}
.fi-consent input{appearance:none;width:17px;height:17px;flex:none;margin:0;border:1.5px solid #c8b9cb;border-radius:5px;background:#fff;position:relative;cursor:pointer}
.fi-consent input:checked{background:#7a4689;border-color:#7a4689}
.fi-consent input:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fi-review-explainer{display:flex;align-items:flex-start;gap:7px;margin:10px 2px 0;color:#827687;font-size:9px;line-height:1.5}
.fi-review-explainer svg{width:14px;height:14px;flex:none;color:#8d9e73}
.fi-review-actions{display:grid;grid-template-columns:.85fr 1.35fr;gap:9px;margin:14px 0 8px}
.fi-done-card{max-width:370px;margin:30px auto 0;padding:26px 21px 22px;border:1px solid #eee2d5;border-radius:23px;background:linear-gradient(155deg,#fffefa,#fff6e9);text-align:center;box-shadow:0 14px 34px rgba(45,27,55,.10)}
.fi-done-icon{width:63px;height:63px;border-radius:21px;margin:0 auto 15px;display:grid;place-items:center;color:#754a83;background:linear-gradient(145deg,#f9e3ed,#eee4fa);border:1px solid #f0dbe9}
.fi-done-icon svg{width:29px;height:29px}
.fi-done-card h2{margin:0;color:#33203e;font-size:22px;line-height:1.1;letter-spacing:-.7px;font-weight:950}
.fi-done-card p{margin:8px 0 0;color:#827687;font-size:10px;line-height:1.6}
.fi-pending{display:inline-flex;align-items:center;gap:7px;margin-top:15px;padding:8px 11px;border:1px solid #eee0c3;border-radius:99px;background:#fff8e7;color:#84652c;font-size:8px;font-weight:900}
.fi-pending:before{content:"";width:6px;height:6px;border-radius:50%;background:#d7aa48}
.fi-done-card .fi-btn{width:100%;margin-top:17px}
.fi-overlay .fi-toast{position:fixed;z-index:130;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 34px);padding:11px 14px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#30213e;color:#fff;font-size:10px;line-height:1.45;font-weight:750;box-shadow:0 10px 30px rgba(22,13,29,.2);opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .18s,transform .18s}
.fi-overlay .fi-toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.fi-shell{height:min(900px,calc(100dvh - 42px));min-height:650px;border-radius:28px}.fi-overlay{padding:21px}.fi-shell-bar{border-radius:28px 28px 0 0}}
@media(max-height:760px){.fi-camera-intro{padding-top:11px;padding-bottom:9px}.fi-viewfinder{max-height:48dvh;min-height:210px}.fi-camera-controls{margin-top:10px}.fi-shutter{width:66px;height:66px}.fi-shutter span{width:43px;height:43px}.fi-camera-note{margin-top:8px}}
@media(max-width:370px){.fi-shell-bar{height:62px;padding-inline:14px}.fi-content{padding-left:14px;padding-right:14px}.fi-view-shell{padding:5px;border-radius:22px}.fi-viewfinder{border-radius:17px;min-height:205px;max-height:48dvh}.fi-proof{padding:7px 7px 11px}.fi-review-form{padding:12px}}
@media(prefers-reduced-motion:reduce){.fi-screen,.fi-btn,.fi-tool,.fi-shutter,.home-action{animation:none!important;transition:none!important}}


/* FEREJA 1.1.6 · Primer ingreso, aviso y autorizaciones versionadas. */
.fi-legal-overlay{z-index:130;background:rgba(35,21,46,.76);backdrop-filter:none;-webkit-backdrop-filter:none}
.fi-legal-shell{width:min(100%,560px);height:100dvh;min-height:0;justify-content:center;padding:calc(10px + env(safe-area-inset-top)) 13px calc(10px + env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain}
.fi-legal-card{width:100%;min-height:0;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scroll-behavior:auto;padding:18px 17px 14px;text-align:left;scrollbar-width:thin;scrollbar-color:#d8c8d6 transparent}
.fi-legal-card .fi-gate-mark{width:48px;height:48px;margin:0 auto 10px}
.fi-legal-card .fi-gate-mark svg{width:24px;height:24px}
.fi-legal-card .fi-gate-kicker,.fi-legal-card h1,.fi-legal-card>.fi-gate-copy{text-align:center}
.fi-legal-card h1{margin:6px 0 7px;font-size:clamp(22px,6vw,27px)}
.fi-legal-card>.fi-gate-copy{max-width:440px;font-size:10px}
.fi-legal-scroll{display:grid;gap:8px;margin:14px 0 11px;text-align:left}
.fi-legal-item{padding:9px 11px;border:1px solid #eee5da;border-radius:12px;background:#fffdf8}
.fi-legal-item strong{display:block;margin-bottom:3px;color:#493257;font-size:10px;font-weight:950}
.fi-legal-item p{margin:0;color:#756879;font-size:9px;line-height:1.48}
.fi-legal-consents{padding:2px 11px;border:1px solid #eadfda;border-radius:13px;background:#fffaf7}
.fi-legal-consents .fi-consent{font-size:9px;line-height:1.45;padding:9px 0}
.fi-legal-consents .fi-consent input{width:18px;height:18px;flex:none}
.fi-legal-consent-optional{background:transparent}
.fi-legal-note{margin:9px 2px 0;color:#84788a;font-size:8px;line-height:1.45;text-align:left}
.fi-legal-actions{margin-top:12px;grid-template-columns:1fr 1fr;gap:8px}
.fi-legal-actions .fi-btn{min-height:42px;padding:10px 9px;font-size:10px}
.fi-legal-link{display:block;width:max-content;max-width:100%;margin:11px auto 0;color:#71458b;font-size:9px;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.fi-legal-card .fi-gate-message{margin:6px 3px 0;text-align:center;min-height:12px}
@media(max-height:700px){.fi-legal-scroll{gap:6px}.fi-legal-item{padding:7px 9px}.fi-legal-item p{font-size:8.5px}.fi-legal-card .fi-gate-mark{display:none}}
@media(max-width:390px){.fi-legal-shell{padding-left:8px;padding-right:8px}.fi-legal-card{padding:15px 12px 12px;border-radius:20px}.fi-legal-actions{grid-template-columns:1fr}.fi-legal-actions .fi-btn{min-height:40px}}
@media(prefers-reduced-motion:reduce){.fi-legal-card,.fi-legal-actions .fi-btn{scroll-behavior:auto;transition:none}}


/* FEREJA 1.1.7 · control de flash y captura */
.fi-camera-controls-four{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,360px);gap:7px}
.fi-camera-controls-four .fi-tool{width:43px;height:43px;border-radius:14px}
.fi-camera-controls-four .fi-shutter{width:68px;height:68px}
.fi-camera-controls-four .fi-shutter span{width:44px;height:44px}
.fi-control-labels-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:360px;gap:7px}
.fi-control-labels-four span{min-width:0;text-align:center}
.fi-control-labels-four span:nth-child(3){color:#70427d;font-weight:950}
.fi-flash-button.is-on{background:#fff5d9;border-color:#e5c56a;color:#9b6a12;box-shadow:0 0 0 3px rgba(229,197,106,.16)}
.fi-flash-button:disabled{opacity:.38}
.fi-flash-hint{min-height:13px;margin:5px 4px 0;color:#988c9a;text-align:center;font-size:8px;line-height:1.4}
@media(max-width:370px){.fi-camera-controls-four{gap:4px}.fi-camera-controls-four .fi-tool{width:40px;height:40px}.fi-camera-controls-four .fi-shutter{width:64px;height:64px}.fi-camera-controls-four .fi-shutter span{width:41px;height:41px}.fi-flash-hint{font-size:7.5px}}
@media(prefers-reduced-motion:reduce){.fi-flash-button{transition:none!important}}

/* 1.1.8 · respuesta visual inmediata del obturador */
.fi-viewfinder.is-capturing::before{content:'';position:absolute;z-index:5;inset:0;background:#fff;pointer-events:none;animation:fi-capture-flash .16s ease-out forwards}
@keyframes fi-capture-flash{from{opacity:.68}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.fi-viewfinder.is-capturing::before{animation-duration:.06s}}
