/* Consulta pública de códigos para as lojas */
.lookup-main { display:grid; width:min(calc(100% - 2rem),46rem)!important; padding:clamp(1.5rem,5vw,3.5rem) 0 4rem; gap:1.25rem; }
.lookup-intro h1 { margin:0; font-size:clamp(2.4rem,8vw,4.6rem); line-height:.95; letter-spacing:-.05em; }
.lookup-intro > p:not(.eyebrow) { max-width:36rem; margin:1rem 0 0; color:rgba(255,255,255,.78); font-size:clamp(1rem,2.4vw,1.15rem); line-height:1.65; }
.lookup-search { display:grid; grid-template-columns:1fr auto; align-items:end; gap:.8rem; }
.lookup-search input { font-size:1.15rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.lookup-search .portal-button { min-height:3.1rem; padding-inline:1.6rem; }
.lookup-result { display:grid; gap:1rem; scroll-margin-top:1rem; }
.lookup-card { border-left:.5rem solid #9aa7a0; }
.lookup-card h2 { margin:.6rem 0 .4rem; font-size:clamp(1.8rem,6vw,2.6rem); letter-spacing:.02em; }
.lookup-card > p { margin:0; color:#4f5f56; line-height:1.6; }
.lookup-status { display:inline-block; padding:.4rem .75rem; border-radius:999px; background:#e8ece9; color:#3c4a42; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.lookup-card.is-available { border-left-color:#1f9d55; }
.lookup-card.is-available .lookup-status { background:#d9f5e3; color:#11683a; }
.lookup-card.is-used { border-left-color:#d64535; }
.lookup-card.is-used .lookup-status { background:#fde2df; color:#a12a1e; }
.lookup-card.is-expired,.lookup-card.is-unavailable,.lookup-card.is-missing { border-left-color:#d99a1e; }
.lookup-card.is-expired .lookup-status,.lookup-card.is-unavailable .lookup-status,.lookup-card.is-missing .lookup-status { background:#fdf0d3; color:#7d5506; }
.lookup-details { display:grid; margin:1.2rem 0 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem 1.2rem; border-top:1px solid #e1e8e4; padding-top:1.1rem; }
.lookup-details dt { color:#758078; font-size:.66rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.lookup-details dd { margin:.2rem 0 0; color:#14241b; font-size:.92rem; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.lookup-use summary { display:block; list-style:none; text-align:center; font-size:.9rem; }
.lookup-use summary::-webkit-details-marker { display:none; }
.lookup-use[open] summary { margin-bottom:1.2rem; background:#e8ece9; color:#284535; box-shadow:none; }
.lookup-use[open] summary::after { content:" · cancelar"; font-weight:600; }
.lookup-use p { margin:0; color:#4f5f56; line-height:1.6; }
.lookup-use select { width:100%; border:1px solid #ccd8d1; border-radius:.85rem; padding:.78rem .9rem; background:#fff; color:#14241b; font:inherit; }
.lookup-legend { display:grid; gap:.5rem; margin-top:.5rem; color:rgba(255,255,255,.72); font-size:.82rem; }
.lookup-legend span { display:flex; align-items:center; gap:.6rem; }
.lookup-legend .dot { width:.7rem; height:.7rem; flex:none; border-radius:50%; }
.dot.is-available { background:#3fd17a; }
.dot.is-used { background:#ff6b5b; }
.dot.is-expired { background:#f2b538; }
@media (max-width:560px) {
    .lookup-search { grid-template-columns:1fr; }
    .lookup-details { grid-template-columns:1fr; }
    .portal-header-actions .badge { display:none; }
}

/* Guia passo a passo (apresentação) */
.guide-steps { counter-reset:step; }
.guide-phone { width:min(100%,22rem); margin-inline:auto; padding:1rem; border:1px solid rgba(255,255,255,.22); border-radius:2.2rem; background:#0d241a; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.guide-screen { display:grid; gap:.7rem; padding:1.2rem; border-radius:1.5rem; background:linear-gradient(160deg,#145a3a,#07150f 80%); color:#fff; font-size:.8rem; }
.guide-screen .g-eyebrow { color:#c8db35; font-size:.55rem; font-weight:900; letter-spacing:.18em; }
.guide-screen .g-title { font-size:1.35rem; font-weight:900; line-height:1; letter-spacing:-.03em; }
.guide-screen .g-card { padding:.8rem; border-radius:.9rem; background:#fff; color:#14241b; }
.guide-screen .g-input { padding:.6rem .7rem; border:1px solid #ccd8d1; border-radius:.6rem; color:#14241b; font-weight:800; letter-spacing:.08em; }
.guide-screen .g-input.is-muted { color:#9aa7a0; font-weight:500; letter-spacing:0; }
.guide-screen .g-btn { margin-top:.5rem; padding:.6rem; border-radius:.6rem; background:#145a3a; color:#fff; font-weight:850; text-align:center; }
.guide-screen .g-label { display:block; margin:.5rem 0 .3rem; color:#2c4135; font-size:.62rem; font-weight:800; }
.guide-screen .g-status { display:inline-block; padding:.25rem .55rem; border-radius:999px; font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.g-status.is-ok { background:#d9f5e3; color:#11683a; }
.g-status.is-used { background:#fde2df; color:#a12a1e; }
.guide-screen .g-code { margin:.35rem 0 .2rem; font-size:1.1rem; font-weight:900; }
.guide-screen .g-card.is-ok { border-left:.35rem solid #1f9d55; }
.guide-screen .g-card.is-used { border-left:.35rem solid #d64535; }
.guide-screen .g-qr { display:grid; width:7rem; height:7rem; margin:.3rem auto; padding:.45rem; grid-template-columns:repeat(7,1fr); gap:2px; border-radius:.5rem; background:#fff; }
.guide-screen .g-qr i { background:#0b281b; }
.guide-screen .g-qr i:nth-child(3n),.guide-screen .g-qr i:nth-child(5n+1) { background:transparent; }
.guide-url { display:inline-block; margin-top:1.4rem; padding:.9rem 1.1rem; border:1px dashed rgba(255,255,255,.4); border-radius:.8rem; font-family:ui-monospace,Consolas,monospace; font-size:clamp(.85rem,2vw,1.05rem); overflow-wrap:anywhere; }
.slide-light .guide-url { border-color:#9fb0a6; color:#102019; }
.guide-password { display:inline-block; margin:.4rem 0; padding:.55rem .9rem; border-radius:.6rem; background:#102019; color:#c8db35; font-family:ui-monospace,Consolas,monospace; font-size:clamp(1.2rem,3vw,1.8rem); font-weight:800; letter-spacing:.06em; }
.guide-copy > p:not(.eyebrow) { max-width:34rem; font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.7; }
.slide-light .guide-copy > p:not(.eyebrow) { color:#536159; }
.slide-dark .guide-copy > p:not(.eyebrow),.slide-final .guide-copy > p:not(.eyebrow) { color:rgba(255,255,255,.72); }
.guide-tips { list-style:none; margin:1.6rem 0 0; padding:0; border-top:1px solid rgba(255,255,255,.18); }
.guide-tips li { display:flex; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.82); line-height:1.5; }
.guide-tips li b { color:#c8db35; font-size:.7rem; }
.slide-light .guide-tips { border-color:#c8cbc5; }
.slide-light .guide-tips li { border-color:#c8cbc5; color:#3d4b43; }
.slide-light .guide-tips li b { color:#145a3a; }
.lookup-store { display:grid; gap:.25rem; margin-top:1.1rem; padding:1rem 1.1rem; border:2px solid #145a3a; border-radius:1rem; background:#eef6f1; }
.lookup-store small { color:#145a3a; font-size:.66rem; font-weight:900; letter-spacing:.12em; }
.lookup-store strong { color:#0b281b; font-size:clamp(1.25rem,4.5vw,1.6rem); line-height:1.15; letter-spacing:-.02em; }
.lookup-store span { color:#3d4b43; font-size:.88rem; line-height:1.45; }
.lookup-store p { margin:.4rem 0 0; color:#4f5f56; font-size:.8rem; line-height:1.5; }
.guide-open { padding:.6rem .95rem; border-radius:999px; background:#c8db35; color:#102019; font-size:.7rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.guide-open:hover,.guide-open:focus { background:#fff; }
.deck-header span { margin-left:auto; margin-right:1.2rem; }
.cover-copy .guide-lead { max-width:40rem; margin:2rem 0 0; font-size:clamp(1rem,1.7vw,1.3rem); line-height:1.6; color:rgba(255,255,255,.72); }
.guide-cta { display:flex; width:fit-content; min-width:17rem; gap:1.5rem; margin-top:1.8rem; border-radius:.6rem; }
.guide-cta:hover,.guide-cta:focus { filter:brightness(1.07); }
.slide-light .guide-cta { background:#145a3a; color:#fff; }
@media (max-width:500px) { .guide-cta { width:100%; min-width:0; } .guide-open { padding:.5rem .75rem; font-size:.62rem; } }

/* Resultado ao usar o código */
.lookup-outcome { display:grid; grid-template-columns:auto 1fr; gap:1rem; padding:1.2rem 1.3rem; border:2px solid #d64535; border-radius:1.4rem; background:#fff4f2; color:#4a1a14; box-shadow:0 18px 50px rgba(0,0,0,.2); animation:lookup-shake .5s cubic-bezier(.36,.07,.19,.97) both; }
.lookup-outcome-icon { display:grid; width:2.6rem; height:2.6rem; place-items:center; border-radius:50%; background:#d64535; color:#fff; font-size:1.4rem; font-weight:900; }
.lookup-outcome strong { display:block; color:#a12a1e; font-size:clamp(1.1rem,3.6vw,1.35rem); line-height:1.25; }
.lookup-outcome p { margin:.4rem 0 0; color:#5c2a23; line-height:1.55; }
.lookup-outcome dl { display:grid; margin:.8rem 0 0; gap:.55rem; }
.lookup-outcome dl div { padding:.6rem .8rem; border-radius:.7rem; background:#fff; box-shadow:inset 0 0 0 1px #f3c6c0; }
.lookup-outcome dt { color:#a12a1e; font-size:.64rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.lookup-outcome dd { margin:.15rem 0 0; color:#2b120e; font-weight:800; }
@keyframes lookup-shake { 10%,90% { transform:translateX(-2px); } 20%,80% { transform:translateX(4px); } 30%,50%,70% { transform:translateX(-7px); } 40%,60% { transform:translateX(7px); } }

.lookup-card { position:relative; overflow:hidden; }
.lookup-card.is-just-used { border-left-color:#1f9d55; animation:lookup-settle .8s ease 4s both; }
.lookup-card.is-just-used .lookup-status { background:#d9f5e3; color:#11683a; }
.lookup-stamp { position:absolute; top:1.1rem; right:1rem; padding:.3rem .9rem; border:3px solid #1f9d55; border-radius:.6rem; color:#1f9d55; font-size:clamp(1rem,3.5vw,1.4rem); font-weight:900; letter-spacing:.08em; text-transform:uppercase; transform:rotate(-10deg); animation:lookup-stamp .55s cubic-bezier(.3,1.6,.5,1) 4.1s both; pointer-events:none; }
@keyframes lookup-stamp { from { opacity:0; transform:rotate(-10deg) scale(2.6); } }
@keyframes lookup-settle { 0% { box-shadow:0 0 0 0 rgba(63,209,122,.7); } 100% { box-shadow:0 0 0 18px rgba(63,209,122,0); } }

.use-success-toggle:checked + .use-success { display:none; }
.use-success { position:fixed; z-index:50; inset:0; display:grid; padding:1rem; place-items:center; background:rgba(4,20,12,.82); backdrop-filter:blur(6px); animation:use-overlay 4.5s ease forwards; }
.use-success-card { display:grid; width:min(100%,24rem); padding:2rem 1.5rem 1.5rem; justify-items:center; gap:.6rem; border-radius:1.8rem; background:#fff; color:#14241b; text-align:center; box-shadow:0 30px 90px rgba(0,0,0,.4); animation:use-pop .5s cubic-bezier(.3,1.4,.5,1) both; }
.use-success-check { width:6rem; height:6rem; }
.use-success-check circle { stroke:#1f9d55; stroke-width:3; stroke-dasharray:151; stroke-dashoffset:151; animation:use-draw .6s ease .15s forwards; }
.use-success-check path { stroke:#1f9d55; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:36; stroke-dashoffset:36; animation:use-draw .4s ease .7s forwards; }
.use-success-card strong { font-size:clamp(1.6rem,6vw,2rem); letter-spacing:-.03em; }
.use-success-code { padding:.35rem .8rem; border-radius:.6rem; background:#eef6f1; color:#11683a; font-size:1.15rem; font-weight:900; letter-spacing:.06em; }
.use-success-card p { margin:0; color:#4f5f56; line-height:1.55; }
.use-success-card .portal-button { width:100%; margin-top:.6rem; text-align:center; }
@keyframes use-draw { to { stroke-dashoffset:0; } }
@keyframes use-pop { from { opacity:0; transform:scale(.7); } }
@keyframes use-overlay { 0%,85% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
@media (prefers-reduced-motion: reduce) {
    .lookup-outcome,.lookup-card.is-just-used,.lookup-stamp,.use-success-card { animation:none; }
    .use-success-check circle,.use-success-check path { animation:none; stroke-dashoffset:0; }
}

/* Popup de aviso (senha incorreta, loja diferente) */
.use-alert { animation:use-alert-in .25s ease both; }
.use-alert-card { border-top:.45rem solid #d64535; animation:use-pop .45s cubic-bezier(.3,1.4,.5,1) both, lookup-shake .5s cubic-bezier(.36,.07,.19,.97) .45s both; }
.use-alert-icon { display:grid; width:4.2rem; height:4.2rem; place-items:center; border-radius:50%; background:#fde2df; color:#a12a1e; font-size:2rem; font-weight:900; }
.use-alert-card strong { color:#a12a1e; }
.use-alert-card p b { color:#14241b; }
.use-alert-stores { display:grid; width:100%; margin:.3rem 0; gap:.5rem; text-align:left; }
.use-alert-stores div { padding:.65rem .8rem; border-radius:.8rem; background:#eef6f1; box-shadow:inset 0 0 0 1px #c9e2d3; }
.use-alert-stores div.is-selected { background:#fff4f2; box-shadow:inset 0 0 0 1px #f3c6c0; }
.use-alert-stores dt { color:#11683a; font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.use-alert-stores .is-selected dt { color:#a12a1e; }
.use-alert-stores dd { margin:.15rem 0 0; color:#14241b; font-size:.92rem; font-weight:800; line-height:1.35; }
.use-alert-card .portal-button { background:#a12a1e; box-shadow:none; }
@keyframes use-alert-in { from { opacity:0; } }

/* Mostrar/ocultar senha */
.password-field { position:relative; display:block; }
.password-field input { padding-right:3.4rem; }
.password-eye { position:absolute; top:50%; right:.35rem; display:grid; width:2.7rem; height:2.7rem; place-items:center; border:0; border-radius:.7rem; background:transparent; color:#426e58; cursor:pointer; transform:translateY(-50%); }
.password-eye:hover,.password-eye:focus-visible { background:#eef6f1; outline:0; }
.password-eye svg { width:1.35rem; height:1.35rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.password-eye .eye-closed,.password-eye[aria-pressed="true"] .eye-open { display:none; }
.password-eye[aria-pressed="true"] .eye-closed { display:block; }
.password-eye[hidden] { display:none; }
@media (prefers-reduced-motion: reduce) { .use-alert,.use-alert-card { animation:none; } }
