/* Estilos aislados del formulario historico del sitio. */
.occape-recovery, .occape-recovery * { box-sizing: border-box; }
.occape-recovery { color:#252525; font:16px/1.55 Arial,Helvetica,sans-serif; text-align:left; }
.occape-recovery .recovery-card { width:100%; max-width:560px; margin:24px auto; padding:36px; background:#fff; border:1px solid #e7e2e0; border-radius:16px; box-shadow:0 12px 36px rgba(55,24,20,.07); }
.occape-recovery .recovery-kicker { display:block; margin:0 0 12px; color:#af1f17; font:700 11px/1.4 Arial,sans-serif; letter-spacing:1.5px; }
.occape-recovery h1, .occape-recovery h2 { margin:0 0 12px; padding:0; background:none; color:#242424; font:700 30px/1.2 Arial,sans-serif; letter-spacing:-.8px; text-align:left; }
.occape-recovery p { margin:0 0 24px; font:inherit; }
.occape-recovery .recovery-intro { color:#655c59; }
.occape-recovery .recovery-form { display:grid; gap:22px; margin:0; padding:0; width:100%; float:none; border:0; box-shadow:none; background:transparent; }
.occape-recovery .recovery-field { display:grid; gap:8px; min-width:0; }
.occape-recovery label { display:block; float:none; width:auto; margin:0; padding:0; text-align:left; color:#333; font:700 14px/1.4 Arial,sans-serif; }
.occape-recovery input:not([type=hidden]), .occape-recovery select { display:block; float:none; width:100%; max-width:100%; min-height:48px; margin:0; padding:12px 14px; border:1px solid #cfc7c4; border-radius:8px; background:#fff; color:#242424; font:16px/1.4 Arial,sans-serif; box-shadow:none; }
.occape-recovery small { color:#766b67; font:13px/1.5 Arial,sans-serif; }
.occape-recovery .recovery-button { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; min-height:50px; padding:13px 18px; margin:4px 0 0; border:0; border-radius:8px; background:#af1f17; color:#fff; text-decoration:none; cursor:pointer; font:700 15px/1.5 Arial,sans-serif; text-align:center; }
.occape-recovery .recovery-button:hover { background:#8d1812; color:#fff; }
.occape-recovery a { color:#a51e17; text-decoration:underline; text-underline-offset:3px; }
.occape-recovery :is(input,select,button,a):focus-visible { outline:3px solid #b16a29; outline-offset:3px; }
.occape-recovery .recovery-footnote { margin:24px 0 0; padding-top:20px; border-top:1px solid #eee8e5; color:#766b67; font:13px/1.6 Arial,sans-serif; text-align:center; }
.occape-recovery .recovery-trap { position:absolute; left:-10000px; visibility:hidden; }
body.recovery-page { margin:0; min-height:100vh; background:#f5f2ef; }
.recovery-page .recovery-shell { width:100%; padding:48px 20px; }
.recovery-page .recovery-brand { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 28px; text-decoration:none; color:#af1f17; font:800 30px/1 Arial,sans-serif; letter-spacing:1px; }
.recovery-brand img { display:block; width:56px; height:64px; object-fit:contain; }
.recovery-page .recovery-card { margin:0 auto; }
.occape-recovery .recovery-symbol { display:grid; place-items:center; width:64px; height:64px; margin:0 0 24px; border-radius:50%; background:#f9ebe8; color:#af1f17; }
.recovery-symbol svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.occape-recovery .recovery-note { padding:16px; border-radius:8px; background:#f7f5f3; font-size:14px; color:#675f5b; }
.occape-recovery .recovery-error { margin:0 0 20px; padding:14px 16px; border-left:3px solid #af1f17; border-radius:4px; background:#fceeed; color:#8b1d17; font-size:14px; }
@media(max-width:520px) { .occape-recovery .recovery-card { padding:26px 22px; border-radius:12px; } .occape-recovery h1,.occape-recovery h2 { font-size:26px; } .recovery-page .recovery-shell { padding:30px 16px; } }