/* Estilos complementares do header/footer (combo Novos/Usados, autocomplete
 * de busca). Carregado diretamente no <head> do layout — não via @push,
 * porque partials incluídos PELO PRÓPRIO LAYOUT (header/footer) rodam no
 * <body>, depois que o <head> já foi renderizado, então um @push('estilos')
 * feito por eles nunca chega a tempo do @stack('estilos') no <head>. Regras
 * de página (ex: painel de filtros da busca) continuam via @push, pois ali
 * quem empurra é o template FILHO (@extends), que roda por inteiro antes do
 * layout pai ser renderizado — timing diferente, funciona corretamente. */

.escopo-toggle{display:flex;flex-direction:column;font-size:11px;line-height:1.2;color:#fff}
.escopo-toggle select{background:transparent;border:0;color:#fff;font-weight:700;font-size:13px;padding:0}
.escopo-toggle select option{color:#15202d}

.search-wrap{position:relative;display:flex;flex:1;min-width:260px}
.search-wrap form.search{flex:1}

.autocomplete-resultado{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:0 0 8px 8px;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:60;max-height:420px;overflow-y:auto}
.autocomplete-grupo h4{font-size:11px;text-transform:uppercase;color:var(--muted);margin:0;padding:10px 14px 4px}
.autocomplete-item{display:flex;align-items:center;gap:10px;padding:8px 14px;color:#0f1111 !important;font-size:14px;font-weight:500}
.autocomplete-item span{color:#0f1111 !important}
.autocomplete-item:hover,.autocomplete-item.ativo{background:#f3f4f4;text-decoration:none}
.autocomplete-item img{width:32px;height:32px;object-fit:cover;border-radius:4px;flex-shrink:0}

.breadcrumb{padding:10px 14px 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;color:var(--muted)}
.breadcrumb li{display:flex;align-items:center;gap:6px}
.breadcrumb li:not(:last-child)::after{content:"/";color:var(--border)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--link);text-decoration:underline}
.breadcrumb span[aria-current]{color:var(--fg);font-weight:600}

.galeria-thumb{position:relative;width:72px;height:72px;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#f3f4f4;flex-shrink:0}
.galeria-thumb.on{border-color:var(--nav)}
.galeria-thumb img,.galeria-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.galeria-thumb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.35);font-size:18px}
.galeria-thumbs-vertical{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}
.galeria-thumbs-vertical .galeria-thumb{width:56px;height:56px}
@media(max-width:640px){.galeria-thumbs-vertical{flex-direction:row;max-height:none;overflow-x:auto}}

.prod .ph{position:relative}
.ph-seta{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#15202d;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}
.prod:hover .ph-seta{opacity:1}
.ph-prev{left:6px}
.ph-next{right:6px}
.ph-dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:4px}
.ph-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6);display:block}
.ph-dots i.on{background:#fff}
.ph-selo{position:absolute;top:8px;left:8px;background:var(--price);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;z-index:2}

.carrossel-promo{position:relative}
.carrossel-promo-trilho{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding-bottom:4px}
.carrossel-promo-trilho::-webkit-scrollbar{display:none}
.carrossel-promo-trilho .card.prod{min-width:180px;max-width:180px;scroll-snap-align:start}
.carrossel-promo-trilho.carrossel-categorias .catcard{min-width:220px;max-width:220px;scroll-snap-align:start}
.carrossel-promo .ph-seta-externa{position:absolute;top:40%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:13px;box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:5}
.carrossel-promo .ph-seta-externa.prev{left:-14px}
.carrossel-promo .ph-seta-externa.next{right:-14px}
@media(max-width:700px){.carrossel-promo .ph-seta-externa{display:none}}

.paginacao{display:flex;align-items:center;justify-content:center;gap:14px}
.paginacao-info{font-size:13px}
.paginacao-desabilitado{opacity:.4;cursor:default;pointer-events:none}

.scroll-sentinela{height:1px}
.scroll-carregando{text-align:center;padding:16px;color:var(--muted);font-size:13px}

.auth-box{background:#fafafa;border:1px solid gainsboro;border-radius:10px;padding:32px}
@media(max-width:480px){.auth-box{padding:20px}}

.swatch-cor{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0}
.swatch-cor.on{outline:2px solid var(--nav);outline-offset:2px}
.swatch-tamanho{min-width:42px;padding:7px 10px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;font-family:inherit;font-size:13px}
.swatch-tamanho.on{border-color:var(--nav);background:var(--nav);color:#fff}

.estrelas-exibicao{display:inline-flex;align-items:center;gap:2px;font-size:15px;color:#d8d8d8}
.estrelas-exibicao span.cheia{color:#f5a623}
.estrelas-exibicao.compacto{font-size:12px}
.estrelas-numero{margin-left:4px;font-size:13px;font-weight:700;color:var(--fg)}
.estrelas-total{margin-left:2px;font-size:12px;color:var(--muted)}

.estrelas-input{display:flex;gap:4px}
.estrela-botao{background:none;border:0;cursor:pointer;font-size:26px;color:#d8d8d8;padding:0;line-height:1}
.estrela-botao.marcada{color:#f5a623}

.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;align-items:center;justify-content:center;padding:20px}
.modal-overlay.on{display:flex}
.modal-caixa{background:#fff;border-radius:10px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;padding:24px;position:relative}
.modal-fechar{position:absolute;top:12px;right:16px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}
.item-pedido-grupo{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.item-pedido-grupo:first-of-type{border-top:0;padding-top:0;margin-top:0}
