[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; } }
/* Botão "Copiar código Pix": grande, laranja e logo abaixo do código */
.pix-copy-wrap{display:flex;flex-direction:column;gap:10px}
.pix-copy-input{padding:12px 14px}
.copy-btn{width:100%;background:var(--primary);color:#fff;border:none;border-radius:12px;padding:16px;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px rgba(255,107,0,.28);transition:background .2s,transform .1s}
.copy-btn:hover:not(:disabled){filter:brightness(.95)}
.copy-btn:active:not(:disabled){transform:scale(.98)}
.copy-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.copy-btn.copied{background:#16a34a;box-shadow:0 6px 18px rgba(22,163,74,.28)}

/* Confirmação do pagamento e acesso ao acompanhamento. */
#pix-generated.payment-complete > :not(.payment-success){display:none!important}
.checkout-notice.payment-success{margin:4px 0 8px;padding:28px 18px 22px;border:1px solid #bbebce;border-radius:16px;background:linear-gradient(180deg,#f0fdf4 0%,#fff 42%);color:#16181d;text-align:center;scroll-margin-top:100px}
.payment-success-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;border-radius:50%;background:#16a34a;color:#fff;box-shadow:0 0 0 7px #dcfce7}
.payment-success-icon svg{width:30px;height:30px}
.payment-success-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#15803d;margin-bottom:9px}
.payment-success h2{margin:0;font-size:26px;line-height:1.2;font-weight:900;letter-spacing:-.035em;color:#121316}
.payment-success .payment-success-description{font-size:13px;font-weight:500;line-height:1.6;color:#6b7280;margin:12px auto 20px;max-width:310px}
.payment-tracking-box{padding:16px 12px;border:1px dashed #d1d5db;border-radius:12px;background:#f9fafb;margin-bottom:16px;min-width:0}
.payment-tracking-label{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;color:#6b7280;margin-bottom:9px}
.payment-tracking-code{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(11px,3.4vw,17px);font-weight:700;line-height:1.6;letter-spacing:0;color:#121316;overflow-wrap:anywhere;user-select:all}
.payment-tracking-copy{display:inline-block;width:auto;max-width:100%;margin-top:11px;padding:8px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}
.payment-tracking-copy:hover{background:#f3f4f6}
.payment-success a.payment-tracking-link{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:17px 12px;border-radius:12px;background:var(--primary,#f15a24);color:#fff;text-decoration:none;font-size:15px;font-weight:800;line-height:1.4;box-shadow:0 6px 18px #f15a2440;transition:background .15s,transform .15s}
.payment-success a.payment-tracking-link:hover{background:var(--primary-dark,#d44d1a)}
.payment-tracking-link svg{width:21px;height:21px;flex-shrink:0}
.payment-tracking-link>span{font-size:20px}
.payment-success .payment-success-hint{font-size:11px;line-height:1.6;color:#6b7280;max-width:290px;margin:16px auto 0}
.payment-tracking-copy:focus-visible,.payment-tracking-link:focus-visible{outline:3px solid #ff6b00;outline-offset:4px}
@media(max-width:360px){.checkout-notice.payment-success{padding:24px 12px 20px}.payment-success h2{font-size:23px}.payment-success a.payment-tracking-link{font-size:13px;gap:7px}}
@media(prefers-reduced-motion:reduce){.payment-success a.payment-tracking-link{transition:none}}
