[hidden] { display: none !important; }
.section-body.open { display: block; }
.section-header[role=button]:focus-visible, button:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.field-error:not(.sf-hidden) { display: block; }
input[aria-invalid=true], select[aria-invalid=true] { border-color: #dc2626; }
.steps span.active { color: var(--primary); font-weight: 800; }
.checkout-notice { padding: 14px; margin: 12px 0; border-radius: 10px; background: #fff7ed; color: #9a3412; font-size: 14px; }
.rl-card { max-height: 90dvh; overflow-y: auto; }
.checkout-close { background: transparent; border: 0; padding: 12px; cursor: pointer; color: var(--text); }

/* As capturas removem regras de elementos ocultos nas outras etapas. */
.rl-overlay { display: none; padding: 6px; }
.rl-overlay.show { display: flex; }
.rl-card { width: 100%; max-width: 380px; padding: 22px 18px 18px; }
.rl-result.show { display: block; animation: rlIn .35s ease; }
.rl-prize { display: flex; align-items: center; gap: 12px; text-align: left; background: var(--primary-light); border: 1.5px solid #fcd5c4; border-radius: 14px; padding: 12px 14px; margin: 8px 0 14px; }
.rl-prize-ic { width: 44px; height: 44px; border-radius: 12px; background: var(--primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.rl-prize b { display: block; font-size: 16px; font-weight: 900; }
.rl-prize small { font-size: 12px; color: var(--text-muted); font-weight: 600; }
.rl-peek { margin: 2px 0 14px; }
.rl-peek.show { display: block; animation: rlIn .3s ease; }
.rl-peek-t { font-size: 12px; font-weight: 800; color: var(--text); margin-bottom: 8px; }
.rl-peek-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.rl-peek-i { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--bg); border: 1.5px solid var(--border); }
.rl-peek-i img { width: 100%; height: 100%; object-fit: contain; filter: blur(6px) saturate(.9); transform: scale(1.15); }
.rl-peek-i span { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 20px; font-weight: 900; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.6); background: linear-gradient(180deg,rgba(18,19,22,.35),rgba(18,19,22,.75)); }
.rl-peek-i span small { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; margin-top: 2px; color: #fff; }
.rl-peek-n { font-size: 10.5px; color: var(--text-muted); margin-top: 7px; }
.rl-card > [role=alert]:empty { display: none; }
.rl-dismiss:not(:focus-visible) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Tela de reserva preservada da etapa final. */
.pix-info-bar{border-radius:10px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.pix-icon-wrap{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pix-generated.show{display:block}
.pix-timer-bar{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff8e1;border:1.5px solid #fde68a;border-radius:10px;padding:10px;font-size:13px;font-weight:800;color:#92400e;margin-bottom:14px}
.pix-timer-bar svg{width:16px;height:16px}
.pix-qr-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:14px}
.pix-qr-wrap img{width:200px;height:200px;border-radius:12px;border:3px solid var(--border);padding:8px;background:#fff}
.pix-copy-wrap{position:relative;margin-bottom:14px}
.pix-copy-input{width:100%;background:#f9fafb;border:1.5px solid var(--border);border-radius:10px;padding:12px 90px 12px 14px;font-size:11px;font-family:monospace;color:var(--text-muted);word-break:break-all;line-height:1.4;min-height:52px;display:flex;align-items:center}
.pix-waiting{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-muted);margin-bottom:4px}
.pix-info-bar{padding:10px 12px;margin-bottom:12px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.pix-icon-wrap{width:34px;height:34px;background:#32bcad}
.mb{position:relative;margin:0 0 14px;padding:16px 14px 14px;border-radius:16px;background:radial-gradient(120% 90%at 50% 0%,#2a1a0c 0%,#121316 70%);color:#fff;text-align:center;overflow:hidden}
.mb-stage{position:relative;height:178px;margin:0 auto 8px;width:300px;max-width:100%}
.mb-prod{position:absolute;width:68px;height:68px;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.35);animation:mbFloat 2.6s ease-in-out infinite}
.mb-prod img{width:100%;height:100%;object-fit:contain;filter:blur(7px) saturate(1.1);transform:scale(1.2)}
.mb-prod b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);background:rgba(18,19,22,.45)}
.mb-prod b small{font-size:8px;letter-spacing:.02em;white-space:nowrap;text-transform:uppercase;margin-top:1px}
.mb-p1{left:2px;top:22px;transform:rotate(-10deg)}
.mb-p2{left:76px;top:0;transform:rotate(-4deg);animation-delay:.4s}
.mb-p3{right:76px;top:0;transform:rotate(4deg);animation-delay:.8s}
.mb-p4{right:2px;top:22px;transform:rotate(10deg);animation-delay:1.2s}
.mb-box{position:absolute;left:50%;bottom:0;width:170px;height:112px;margin-left:-85px;z-index:2;animation:mbShake 1.6s ease-in-out infinite;transform-origin:50% 100%}
.mb-body{position:absolute;left:0;right:0;bottom:0;height:92px;border-radius:6px 6px 12px 12px;background:linear-gradient(180deg,#ff8a2b,#ff6b00 60%,#e55d00);box-shadow:0 14px 28px rgba(255,107,0,.35),inset 0-6px 0 rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}
.mb-body:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:18px;margin-left:-9px;background:rgba(255,255,255,.22)}
.mb-q{position:relative;width:46px;height:46px;border-radius:50%;background:#121316;color:#ff6b00;font-size:28px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.mb-lid{position:absolute;left:-8px;right:-8px;top:0;height:26px;border-radius:8px;background:linear-gradient(180deg,#ffa04d,#ff7a14);box-shadow:0 4px 0 rgba(0,0,0,.15);transition:transform .7s cubic-bezier(.3,1.6,.5,1);transform-origin:0 100%}
.mb-lid:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:18px;margin-left:-9px;background:rgba(255,255,255,.25)}
.mb-t{font-size:16px;font-weight:900;margin-bottom:4px}
.mb-t em{font-style:normal;color:#ff8a2b}
.mb-s{font-size:12.5px;line-height:1.45;color:#d6d6db;max-width:330px;margin:0 auto}
.mb-n{font-size:10.5px;color:#8d8d96;margin-top:8px}
.mb-glow{position:absolute;left:50%;bottom:60px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#ffd29a;box-shadow:0 0 0 0 rgba(255,200,120,.0);opacity:0;z-index:1}
@keyframes mbShake{0%,55%,100%{transform:rotate(0)}60%{transform:rotate(-5deg) translateY(-3px)}68%{transform:rotate(5deg) translateY(-3px)}76%{transform:rotate(-4deg)}84%{transform:rotate(3deg)}92%{transform:rotate(-1deg)}}
@keyframes mbFloat{0%,100%{margin-top:0}50%{margin-top:-7px}}
@keyframes mbPop{0%{margin-top:0}50%{margin-top:-14px}100%{margin-top:-4px}}
@keyframes mbGlow{0%{box-shadow:0 0 0 0 rgba(255,200,120,.9)}100%{box-shadow:0 0 60px 70px rgba(255,200,120,0)}}
@media (prefers-reduced-motion: reduce) { .mb-prod, .mb-box { animation: none; } }
