/* Voucher recovery shares the store's editorial typography and tenant palette. */
.lj-reserva-page{max-width:1328px;padding:48px 24px 64px;min-height:calc(100svh - 82px);display:grid;align-items:center}
.lj-reserva-layout{display:grid;grid-template-columns:minmax(0,560px);justify-content:center;width:100%}
.lj-reserva-intro{position:fixed;inset:0;z-index:-1;pointer-events:none}
.lj-reserva-heading{margin-bottom:28px}
.lj-reserva-heading h1{font-family:var(--font-custom-head,var(--font-body));font-size:32px;font-weight:550;letter-spacing:-.04em;line-height:1.15;margin:0;overflow-wrap:anywhere}
.lj-reserva-heading p{font-size:14px;line-height:1.7;margin:12px 0 0;color:var(--muted)}
.lj-reserva-intro:not(:has(.lj-vfundo)){display:none}
.lj-reserva-layout:not(:has(.lj-vfundo)){grid-template-columns:minmax(0,560px);justify-content:center}
.lj-reserva-intro:has(.lj-vfundo){overflow:hidden;background:#112f38}
.lj-reserva-intro .lj-vfundo{position:absolute;z-index:0}
.lj-reserva-intro .lj-vfundo img{width:100%;height:100%;object-fit:cover}
.lj-reserva-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lj-reserva-intro .lj-vfundo::after{background:rgba(7,28,43,.16)}
.lj-reserva-intro:has(.lj-vfundo) p{color:#ffffffe0}
body:has(.lj-vfundo) .lj-reserva-page{color:var(--ink)}
body:has(.lj-vfundo) .lj-reserva-page a{color:var(--ink)}
.lj-reserva-panel{min-width:0;padding:36px;border:1px solid var(--bord);border-radius:10px;background:var(--card)}
.lj-reserva-panel :is(p,label,button,a){overflow-wrap:anywhere}
.lj-reserva-heading:has(.lj-reserva-sr):not(:has(p)){margin-bottom:0}
body:has(.lj-reserva-page .lj-vfundo) .lj-reserva-panel{background:color-mix(in srgb,var(--card) 74%,transparent);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid color-mix(in srgb,var(--card) 65%,transparent);box-shadow:0 24px 80px #071c2b30;border-radius:18px}
body:has(.lj-reserva-page .lj-vfundo) .lj-top,body:has(.lj-reserva-page .lj-vfundo) .lj-foot{background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body:has(.lj-reserva-page .lj-vfundo) .lj-reserva-fields input{background:color-mix(in srgb,var(--card) 70%,transparent)}
.lj-reserva-fields label{display:block;font-size:13px;font-weight:600;line-height:1.5;margin:0 0 10px}
.lj-reserva-fields input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:52px;padding:14px 16px;margin:0 0 26px;border:1px solid var(--bord);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.lj-reserva-fields input::placeholder{color:var(--muted);opacity:1}
#reserva-codigo{letter-spacing:.06em}
.lj-reserva-fields .lj-btn{width:100%;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:6px;box-shadow:none;padding:16px 20px;font-size:14px;font-weight:600;white-space:normal;text-align:left}
.lj-reserva-fields .lj-btn span{font-size:22px}
.lj-reserva-page .lj-fine,body:has(.lj-vfundo) .lj-reserva-page .lj-fine{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0 0}
.lj-reserva-help{font-size:13px;line-height:1.8;color:var(--muted);border-top:1px solid var(--bord);padding-top:24px;margin:24px 0 0}
.lj-reserva-help a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lj-reserva-page :is(a,button,input):focus-visible{outline:2px solid var(--cor);outline-offset:4px}
.lj-reserva-page .lj-erro{margin-bottom:24px;overflow-wrap:anywhere}
@media(max-width:700px){.lj-reserva-page{padding:28px 16px 40px;min-height:calc(100svh - 98px)}.lj-reserva-heading h1{font-size:28px}.lj-reserva-panel{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.lj-reserva-intro .lj-vfundo{display:block}.lj-reserva-intro video{visibility:hidden}}
