/* D-SIGNS 2.9.4 — páginas públicas (ingresar, registro, recuperar, comprar): escena + formulario */
body.pub2{margin:0;color:#18221c;background:#f8f9f5;font-family:'IBM Plex Sans',Arial,sans-serif}
.pub2 *{box-sizing:border-box}
.pub2 a{color:inherit}
.pub2 a:focus-visible,.pub2 button:focus-visible,.pub2 input:focus-visible,.pub2 select:focus-visible{outline:3px solid #d97700;outline-offset:4px}
.lg-shell{display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh;min-height:100svh}
/* escena */
.lg-scene{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;color:#fff;isolation:isolate;background:#18231a}
.lg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% center;z-index:-2}
.lg-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b150d7a,transparent 35%,#08120cc9 66%,#08120cf5),linear-gradient(90deg,#0a170c50,transparent)}
.lg-brand{position:absolute;left:8%;top:6%;text-decoration:none}
.lg-brand .logo-nombre{font-size:32px;font-weight:600;letter-spacing:-1.5px;color:#fff}
.lg-brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#fff;font-weight:400}
.lg-brand small b{color:#f5a232;font-weight:400}
.pub2 .punto{color:#f5920c}
.lg-copy{position:absolute;left:8%;right:7%;bottom:14%}
.lg-eyebrow{font-size:10px;letter-spacing:.16em;color:#ebcda5}
.lg-copy h1{font-size:clamp(40px,4.4vw,66px);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:23px 0;color:#fff}
.lg-copy em{font-style:normal;color:#ffb447}
.lg-copy p{font-size:15px;color:#d0d9ce;line-height:1.8;margin:0}
.lg-tags{display:flex;gap:8px;margin-top:26px}
.lg-tags span{border:1px solid #ffffff32;border-radius:30px;padding:8px 13px;font-size:10px;color:#dce6d7;background:#1e2d213d;backdrop-filter:blur(8px)}
.lg-bottom{position:absolute;left:8%;right:8%;bottom:4%;display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#aebba7;border-top:1px solid #ffffff29;padding-top:20px}
/* panel */
.lg-panel{padding:34px clamp(24px,5vw,90px) 26px;display:flex;flex-direction:column;min-width:0}
.lg-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#6d776b}
.lg-top a{text-decoration:none}.lg-top a:hover{color:#b46a00}.lg-top>span{color:#8c9689}
.lg-content{width:100%;max-width:390px;margin:auto;padding:60px 0 45px}
.lg-symbol{width:48px;height:48px;border:1px solid #dbe0d5;border-radius:14px;display:grid;place-items:center;background:#edf0e6;color:#536147;margin-bottom:27px}
.lg-symbol svg{width:26px;height:26px}
.lg-form-eyebrow{font-size:10px;letter-spacing:.13em;color:#7c856f;font-weight:500;text-transform:uppercase}
.lg-title{font-size:clamp(32px,3vw,43px);letter-spacing:-.055em;line-height:1.13;font-weight:500;margin:14px 0;color:#18221c}
.lg-intro{font-size:14px;color:#75806f;line-height:1.6;margin:0 0 30px}
.lg-mobile-brand{display:none}
.lg-mobile-brand .logo-nombre{font-size:29px;font-weight:600;letter-spacing:-1px;color:#18221c}
/* campos (también los de registro, recuperar, comprar) */
.pub2 label{display:block;font-size:12px;font-weight:500;margin:20px 0 10px;color:#374331}
.pub2 form>label:first-of-type,.pub2 .lg-field:first-child label{margin-top:0}
.pub2 input[type=text],.pub2 input[type=email],.pub2 input[type=password],.pub2 input[type=number],.pub2 select{width:100%;border:1px solid #d6ddd0;border-radius:10px;background:#fff;padding:0 15px;min-height:54px;font-size:14px;color:#263323;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.pub2 input:focus,.pub2 select:focus{outline:0;border-color:#b37927;box-shadow:0 0 0 3px #edb16020}
.pub2 input::placeholder{color:#969e90}
.lg-input{display:flex;align-items:center;gap:12px;border:1px solid #d6ddd0;border-radius:10px;background:#fff;padding:0 15px;min-height:54px;transition:border-color .2s,box-shadow .2s}
.lg-input:focus-within{border-color:#b37927;box-shadow:0 0 0 3px #edb16020}
.lg-input>svg{width:18px;height:18px;fill:none;stroke:#8e9986;stroke-width:1.5;flex-shrink:0}
.pub2 .lg-input input{border:0!important;box-shadow:none!important;padding:0!important;min-height:52px;background:transparent;min-width:0;flex:1}
.pub2 .lg-input input:focus-visible{outline:0}
.lg-pass-label{display:flex;justify-content:space-between;align-items:center;margin:23px 0 10px}
.lg-pass-label label{margin:0}
.lg-pass-label a{font-size:11px;color:#74816c;text-decoration:none}.lg-pass-label a:hover{text-decoration:underline}
.pub-clave{position:relative;display:flex;align-items:center}
.pub2 .pub-clave input{padding-right:70px}
.ver-clave{position:absolute;right:6px;background:none;border:0;padding:10px 8px;min-width:43px;min-height:44px;color:#67755d;font-size:11px;cursor:pointer;font-family:inherit}
.pub2 .lg-input .ver-clave{position:static}
.pub2 .btn.primario,.lg-submit{width:100%;display:flex;justify-content:space-between;align-items:center;background:#f5920c;color:#171a10;border:0;border-radius:10px;min-height:54px;font-size:14px;font-weight:600;padding:0 19px;margin-top:27px;cursor:pointer;transition:background .2s,transform .2s;box-shadow:none;font-family:inherit;text-decoration:none}
.pub2 .btn.primario{justify-content:center}
.pub2 .btn.primario:hover,.lg-submit:hover{background:#ffa92f;transform:translateY(-1px)}
.lg-submit span{font-size:21px;font-weight:400}
.pub2 .btn:not(.primario){border-radius:10px;min-height:48px;justify-content:center;font-family:inherit}
.pub2 .alerta{border-radius:10px;font-size:13px;line-height:1.6;margin:0 0 18px}
.pub2 .alerta form{display:inline}
.pub2 .check{font-size:13px;color:#4a5444;margin-top:18px}
.pub2 .check a{color:#a35f00}
.pub2 .fila{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pub2 .fila label{margin-top:20px}
.lg-signup{margin-top:31px;border-top:1px solid #dfe4d9;padding-top:25px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px}
.lg-signup>span{color:#7b8672}
.lg-signup a{font-weight:600;color:#31472a;text-decoration:none}.lg-signup a span{padding-left:5px}
.lg-signup small{width:100%;font-size:11px;color:#8a947f;margin-top:3px}
.pub-enlaces{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid #dfe4d9;font-size:12px;flex-wrap:wrap}
.pub-enlaces a{color:#31472a;font-weight:600;text-decoration:none}.pub-enlaces a:hover{color:#a35f00}
.pub-ok{background:#e8f3df;color:#24351e;padding:18px;border-radius:12px;line-height:1.6;font-size:14px}
.pub-planes{display:grid;gap:10px;margin:8px 0 4px}
.pub-plan{display:flex;justify-content:space-between;align-items:center;border:1px solid #d6ddd0;border-radius:10px;padding:10px 12px;background:#fff;font-size:14px}
.pub-plan b{color:#b46a00}
.pub2 .sol-total{border-radius:10px}
.fuerza{height:5px;border-radius:3px;background:#e5e5e5;margin-top:8px;overflow:hidden}.fuerza i{display:block;height:100%;width:0;background:#dc2626;transition:.3s}
.lg-footer{display:flex;gap:22px;font-size:10px;color:#8d9782;align-items:center;flex-wrap:wrap}
.lg-footer>span{margin-right:auto}.lg-footer a{text-decoration:none}.lg-footer a:hover{color:#b46a00}
@media(min-width:1500px){.lg-panel{padding-left:100px;padding-right:100px}.lg-content{max-width:420px}.lg-title{font-size:46px}}
@media(max-width:900px){.lg-shell{grid-template-columns:.85fr 1fr}.lg-panel{padding:28px}.lg-copy h1{font-size:42px}.lg-bottom{display:block;line-height:2}.lg-photo{object-position:75%}.lg-copy{bottom:16%}.lg-tags{flex-wrap:wrap}.lg-top>span{display:none}.lg-br{display:none}}
@media(max-width:650px){.lg-shell{display:block}.lg-scene{display:none}.lg-panel{min-height:100vh;min-height:100svh;padding:26px 25px}.lg-content{padding:35px 0;max-width:390px}.lg-mobile-brand{display:block;margin:0 0 36px}.lg-symbol{display:none}.lg-title{font-size:37px}.lg-footer{padding-top:14px}.pub2 input[type=text],.pub2 input[type=email],.pub2 input[type=password],.pub2 .lg-input input{font-size:16px}.pub2 .fila{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.pub2 *{transition:none!important;animation:none!important}}
.pub2 a.btn{display:flex!important;align-items:center;justify-content:center;text-decoration:none}
