/* Interface comercial; pagamentos e fretes reais são conectados no servidor. */
.loja-sem-rolagem { overflow: hidden; }
.checkout-form input[type="radio"] { width: auto; margin-right: 6px; accent-color: #7b2dd8; }
.checkout-form .checkout-opcao-entrega { display: block; padding: 12px; border: 1px solid #dec9f4; border-radius: 9px; cursor: pointer; line-height: 1.5; }
#checkout-opcoes-entrega { display: grid; gap: 8px; }
#checkout-calcular-frete { padding: 11px 14px; border: 0; border-radius: 8px; background: #6f2dc1; color: white; cursor: pointer; font: inherit; }
.btn-comprar:disabled, .produto-botao:disabled { opacity: .6; cursor: not-allowed; }
.btn-conta { border: 1px solid rgba(255,255,255,.6); border-radius: 20px; padding: 7px 10px; background: transparent; color: #fff; font: inherit; font-size: 12px; cursor: pointer; white-space: nowrap; }
.carrinho-beneficios { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 16px 0; padding: 14px; border: 1px solid #eadcff; border-radius: 10px; background: #fcfaff; }
.carrinho-beneficios label, .checkout-form label { display: grid; gap: 6px; color: #4a3a58; font-size: 13px; font-weight: 700; }
.cupom-linha, .checkout-cep { display: flex; gap: 8px; margin-top: 6px; }
.cupom-linha input, .checkout-form input { min-width: 0; width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #d9c6ef; border-radius: 7px; font: inherit; }
.cupom-linha button, .checkout-cep button { border: 0; border-radius: 7px; padding: 0 13px; background: #6f2dc1; color: #fff; font-weight: 700; cursor: pointer; white-space: nowrap; }
#cupom-mensagem { margin: 6px 0 0; color: #6f2dc1; font-size: 12px; }
.frete-mini { display: grid; gap: 3px; padding-top: 4px; color: #555; font-size: 12px; }
.btn-favorito { position: absolute; top: 10px; right: 10px; z-index: 8; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #7d2fff; box-shadow: 0 2px 9px rgba(0,0,0,.16); font-size: 22px; line-height: 1; cursor: pointer; }
.produto-card, .card { position: relative; }.btn-favorito.ativo { color: #e03462; }
.selo-estoque { align-self: flex-start; margin: 8px 0 2px; padding: 4px 7px; border-radius: 999px; background: #e4f8e9; color: #22713b; font-size: 10px; font-weight: 800; }.selo-estoque.poucas { background: #fff1dc; color: #9b5d00; }
.loja-confianca { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; max-width: 1200px; margin: 32px auto 0; background: #e8dafb; }
.loja-confianca div { display: grid; gap: 4px; padding: 20px; background: #faf7ff; text-align: center; }.loja-confianca strong { color: #4a176f; }.loja-confianca span { color: #666; font-size: 13px; }
.links-politicas { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }.links-politicas button { border: 0; padding: 0; background: transparent; color: #aaa; font-size: 12px; text-decoration: underline; cursor: pointer; }
.loja-modal { position: fixed; inset: 0; z-index: 11000; display: grid; place-items: center; padding: 16px; visibility: hidden; opacity: 0; transition: .2s; }.loja-modal.loja-aberto { visibility: visible; opacity: 1; }.loja-modal__fundo { position: absolute; inset: 0; background: rgba(20,8,34,.72); backdrop-filter: blur(3px); }.loja-modal__caixa { position: relative; width: min(1040px,100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 18px; background:#fff; color:#24202a; box-shadow:0 24px 70px rgba(0,0,0,.42); }.loja-modal__corpo { padding: 32px; }.loja-modal__fechar { position:absolute; top:10px; right:10px; z-index:2; width:38px; height:38px; border:0; border-radius:50%; background:#f1eafa; color:#6322a7; font-size:28px; cursor:pointer; }
.checkout-cabecalho span, .conta > span, .politica > span { color:#8c3ee5; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.checkout-cabecalho h2, .conta h2, .politica h2 { margin:5px 0; font-size:28px; }.checkout-cabecalho p { margin:0 0 22px; color:#666; }.checkout-grade { display:grid; grid-template-columns: minmax(0,1.35fr) minmax(250px,.8fr); gap:28px; }.checkout-form { display:grid; gap:14px; }.checkout-form h3, .checkout-resumo h3, .conta h3 { margin:8px 0 0; font-size:17px; }.checkout-dupla { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.checkout-frete-msg,.checkout-aviso,.conta-nota { margin:0; color:#6a5d75; font-size:12px; line-height:1.45; }.checkout-pagamentos { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.checkout-pagamentos label { display:block; padding:11px; border:1px solid #dec9f4; border-radius:9px; cursor:pointer; }.checkout-pagamentos small { display:block; margin:4px 0 0 24px; color:#777; font-weight:400; }.checkout-confirmar { border:0; border-radius:9px; padding:14px; background:linear-gradient(135deg,#7b2dd8,#a020f0); color:#fff; font:inherit; font-weight:800; cursor:pointer; }.checkout-resumo { align-self:start; padding:18px; border-radius:12px; background:#faf7ff; }.checkout-resumo h3 { margin-top:0; }.checkout-itens p,.checkout-linha,.checkout-total { display:flex; justify-content:space-between; gap:10px; }.checkout-itens p { padding:9px 0; margin:0; border-bottom:1px solid #eadff5; font-size:13px; }.checkout-itens span { max-width:75%; }.checkout-linha { margin-top:10px; color:#666; font-size:13px; }.checkout-total { margin-top:16px; padding-top:14px; border-top:1px solid #dac6ee; color:#6322a7; font-size:19px; }.checkout-sucesso { max-width:520px; margin:0 auto; text-align:center; }.checkout-sucesso__icone { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 15px; border-radius:50%; background:#e4f8e9; color:#20843d; font-size:30px; font-weight:800; }.conta form { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; margin:18px 0 26px; }.pedidos-lista article { display:grid; grid-template-columns:1fr auto; gap:4px; margin-top:8px; padding:12px; border-radius:8px; background:#faf7ff; }.pedidos-lista article span { color:#777; font-size:12px; }.pedidos-lista article b { grid-row:1/3; grid-column:2; align-self:center; color:#6322a7; }.politica { max-width:650px; margin:auto; }.politica p { color:#555; line-height:1.65; }.politica .checkout-confirmar { margin-top:10px; }
.checkout-pix { display:grid; justify-items:center; gap:14px; }.checkout-pix__qr { width:min(230px,100%); padding:10px; border-radius:12px; background:#fff; }.checkout-pix__codigo { width:100%; min-height:94px; padding:10px; resize:vertical; font:12px/1.45 monospace; }
@media (max-width:700px) { .btn-conta { font-size:0; width:34px; height:34px; padding:0; border-radius:50%; }.btn-conta::after { content:"◉"; font-size:17px; }.loja-confianca { grid-template-columns:1fr; margin-top:24px; }.loja-modal { padding:8px; align-items:end; }.loja-modal__caixa { max-height:calc(100vh - 16px); border-radius:16px 16px 8px 8px; }.loja-modal__corpo { padding:28px 18px 20px; }.checkout-grade { grid-template-columns:1fr; }.checkout-dupla,.checkout-pagamentos,.conta form { grid-template-columns:1fr; }.checkout-resumo { order:-1; }.carrinho-beneficios { gap:12px; }.btn-favorito { top:7px; right:7px; } }
/* Conta em painel lateral: loja preservada ao fundo. */
html.conta-painel-aberto,html.conta-painel-aberto body{overflow:hidden}
.conta-painel{position:fixed;inset:0 auto 0 0;margin:0;padding:0;border:0;border-right:1px solid #503769;width:50vw;max-width:760px;min-width:480px;height:100dvh;max-height:100dvh;background:#130d20;color:#f5f0ff;box-shadow:16px 0 70px #0008;transform:translateX(-100%);transition:transform .22s ease;overflow:hidden}
.conta-painel[open]{display:flex;flex-direction:column}.conta-painel.is-open{transform:translateX(0)}
.conta-painel::backdrop{background:#09041080;backdrop-filter:blur(3px)}
.conta-painel-topo{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #44305c;flex-shrink:0;background:#1b1129}
.conta-painel-topo h2{flex:1;margin:0;font:600 14px/1.4 system-ui,sans-serif;color:#c9b8dd}
.conta-painel-topo button{font:600 15px system-ui,sans-serif;color:#fff;background:transparent;border:1px solid #76539a;border-radius:10px;cursor:pointer;min-height:44px;padding:8px 12px}
.conta-painel-topo .conta-painel-fechar{font-size:28px;line-height:1;width:44px;padding:0;border-radius:50%}
.conta-painel button:focus-visible{outline:3px solid #d6b0ff;outline-offset:2px}
.conta-painel iframe{width:100%;flex:1;min-height:0;border:0;background:#130d20}
.conta-painel-carregando{padding:16px;font:16px system-ui,sans-serif}.conta-painel-carregando[hidden]{display:none}
@media(max-width:760px){.conta-painel{width:100%;max-width:100%;min-width:0}.conta-painel-topo{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.conta-painel{transition:none}}

/* Campanha de primeira compra */
.campanha-carrinho,.campanha-destaque{padding:18px;border:1px solid #9c54eb;border-radius:16px;background:linear-gradient(120deg,#241237,#191025);color:#f5edff;text-align:left}
.campanha-carrinho p,.campanha-destaque p{margin:10px 0;line-height:1.5}
.campanha-carrinho small,.campanha-destaque small{display:block;color:#dfcdec;line-height:1.5}
.campanha-carrinho a,.campanha-destaque a{display:inline-block;margin-top:10px;color:#e4bfff;text-decoration:underline}
.campanha-destaque{max-width:1120px;margin:24px auto;padding:24px;display:flex;gap:24px;align-items:center;justify-content:space-between}
.campanha-destaque h2{font-size:1.4rem;margin:0;color:#fff}.campanha-destaque button,.campanha-conta{border:0;border-radius:10px;background:#9125dd;color:#fff;padding:12px 18px;font-weight:700;cursor:pointer}
.campanha-destaque button{flex-shrink:0}.campanha-economia{display:block;color:#c4edaf}
#checkout-campanha-mensagem{font-size:.9rem;line-height:1.5;color:#e3c6ff}
.checkout-form input[readonly]{opacity:.8}.checkout-confirmar:disabled{opacity:.55;cursor:wait}
@media(max-width:650px){.campanha-destaque{margin:16px;flex-direction:column;align-items:stretch;padding:18px}.campanha-destaque h2{font-size:1.15rem}}
