:root{
    --loja-primary:#2563eb;
    --loja-secondary:#111827;
    --loja-accent:#16a34a;
    --loja-menu:#ffffff;
    --loja-header:#111827;
    --loja-bg:#f4f6f9;
    --loja-text:#1f2937;
    --loja-muted:#6b7280;
    --loja-border:#e5e7eb;
    --loja-warm:#f59e0b;
}
*{box-sizing:border-box}
body{background:var(--loja-bg);color:var(--loja-text);font-family:Arial,Helvetica,sans-serif}
a{color:var(--loja-primary)}
.topbar{background:var(--loja-header);color:#fff;font-size:.9rem}
.loja-navbar{box-shadow:0 8px 24px rgba(15,23,42,.05)}
.loja-navbar .navbar-brand{font-weight:800;color:var(--loja-secondary);font-size:1.25rem}
.loja-logo{width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--loja-border);border-radius:8px;padding:4px}
.loja-busca .form-control{border-radius:8px 0 0 8px}
.loja-busca .btn{border-radius:0 8px 8px 0}
.btn{border-radius:8px;font-weight:700}
.btn-primary{background:var(--loja-primary);border-color:var(--loja-primary)}
.btn-success{background:var(--loja-accent);border-color:var(--loja-accent)}
.menu-categorias{background:var(--loja-menu)}
.menu-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid var(--loja-border);border-radius:999px;color:var(--loja-text);background:#fff;text-decoration:none;font-weight:700;font-size:.9rem}
.menu-chip:hover,.menu-chip.ativo{background:var(--loja-primary);border-color:var(--loja-primary);color:#fff}
.hero-ecommerce{padding:24px 0 10px}
.carousel-inner{border-radius:12px;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.14)}
.banner-principal .carousel-inner{aspect-ratio:1920/480}
.banner-slide{height:100%;min-height:0;background:linear-gradient(120deg,var(--loja-secondary),var(--loja-primary));background-size:cover;background-position:center;display:flex;align-items:center;padding:56px;color:#fff}
.banner-principal img,.banner-slide img{width:100%;height:100%;object-fit:cover}
.banner-default{background:linear-gradient(120deg,#111827,#2563eb 58%,#16a34a)}
.banner-content{max-width:760px}
.banner-lateral-stack{display:grid;gap:16px;height:100%}
.banner-lateral{display:flex;align-items:end;min-height:0;aspect-ratio:600/300;background-size:cover;background-position:center;border-radius:12px;padding:20px;color:#fff;text-decoration:none;box-shadow:0 14px 28px rgba(15,23,42,.11);overflow:hidden}
.banner-lateral span{font-size:1.25rem;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.banner-lateral-default{background:linear-gradient(135deg,#111827,#2563eb)}
.banner-lateral-default.accent{background:linear-gradient(135deg,#166534,#16a34a)}
.eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:rgba(245,158,11,.92);color:#111827;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:0}
.banner-slide h1{font-size:clamp(2rem,4vw,3.8rem);font-weight:900;line-height:1.05;margin:14px 0}
.banner-slide p{font-size:1.15rem;max-width:620px;color:rgba(255,255,255,.92)}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.section-title h2,.section-title h3{font-weight:900;color:var(--loja-secondary);margin:0;font-size:1.55rem}
.section-title p{margin:3px 0 0;color:var(--loja-muted)}
.mini-card,.loja-card,.produto-card{background:#fff;border:1px solid var(--loja-border);box-shadow:0 10px 24px rgba(15,23,42,.06);border-radius:8px}
.mini-card{display:block;min-height:122px;padding:0;text-decoration:none;color:var(--loja-text);transition:.18s;overflow:hidden}
.mini-card:hover,.produto-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(15,23,42,.11)}
.mini-card strong{display:block;font-size:1.05rem;color:var(--loja-secondary);padding:14px 16px 0}
.mini-card span{display:block;margin-top:4px;color:var(--loja-muted);padding:0 16px 16px}
.mini-card-img{width:100%;aspect-ratio:600/300;object-fit:cover;border-radius:0;margin:0 0 4px;display:block;background:#eef2ff}
.produto-card{overflow:hidden;transition:.18s}
.produto-img-wrap{position:relative;width:100%;aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none;border-bottom:1px solid var(--loja-border)}
.produto-img-wrap img,.produto-card-img{width:100%;height:100%;object-fit:contain;transition:.2s;padding:12px;background:#fff}
.produto-card:hover .produto-img-wrap img{transform:scale(1.03)}
.produto-badge{position:absolute;top:10px;left:10px;background:var(--loja-warm);color:#111827;border-radius:999px;padding:4px 9px;font-weight:800;font-size:.78rem;z-index:2}
.produto-title{min-height:42px;line-height:1.25;color:var(--loja-secondary)}
.produto-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--loja-muted);font-size:.78rem;margin-bottom:6px}
.produto-rating{color:#f59e0b;letter-spacing:0;font-size:.78rem;white-space:nowrap}
.preco{font-weight:900;color:var(--loja-accent);font-size:1.35rem}
.preco.grande{font-size:2.45rem}
.preco-antigo{color:var(--loja-muted);text-decoration:line-through;font-weight:700}
.produto-estoque{font-weight:800;font-size:.84rem;margin-top:8px}
.produto-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.produto-actions .btn{padding:8px 10px;font-size:.9rem;white-space:nowrap}
.categoria-card{display:flex;align-items:center;justify-content:center;aspect-ratio:300/200;min-height:0;border-radius:12px;text-decoration:none;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--loja-secondary),var(--loja-primary));background-size:cover;background-position:center;box-shadow:0 10px 22px rgba(37,99,235,.18);text-align:center;padding:16px;overflow:hidden}
.categoria-card span{background:rgba(17,24,39,.34);border-radius:8px;padding:8px 10px}
.subcategoria-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.subcategoria-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--loja-border);border-radius:12px;padding:10px;text-decoration:none;color:var(--loja-secondary);box-shadow:0 8px 18px rgba(15,23,42,.05)}
.subcategoria-img{width:48px;aspect-ratio:1/1;border-radius:10px;background:#eef2ff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.subcategoria-img img{width:100%;height:100%;object-fit:cover}
.subcategoria-card strong{font-size:.92rem;line-height:1.15}
.vitrine-banner{aspect-ratio:1920/320;min-height:0;border-radius:12px;background-size:cover;background-position:center;display:flex;align-items:end;padding:22px;color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.08);overflow:hidden}
.vitrine-banner img{width:100%;height:100%;object-fit:cover}
.vitrine-banner strong{font-size:1.55rem;font-weight:900}
.catalogo-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--loja-border);border-radius:8px;padding:24px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.catalogo-hero h1{margin:10px 0 4px;font-weight:900;color:var(--loja-secondary)}
.catalogo-hero p{margin:0;color:var(--loja-muted)}
.catalogo-search{display:flex;gap:8px;min-width:min(460px,100%)}
.subcategoria-list{display:flex;gap:8px;flex-wrap:wrap}
.produto-galeria{background:#fff;border:1px solid var(--loja-border);border-radius:8px;padding:10px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.produto-imagem-zoom{display:block;width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}
.produto-galeria img{width:100%;aspect-ratio:1/1;max-height:none;object-fit:contain;background:#fff}
.thumb-button{width:100%;border:0;background:transparent;padding:0}
.thumb-produto{width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;border-radius:8px;border:2px solid var(--loja-border);background:#fff}
.thumb-button.ativo .thumb-produto,.thumb-button:hover .thumb-produto{border-color:var(--loja-primary)}
.produto-nome{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:900;color:var(--loja-secondary)}
.preco-box{background:#eef6ff;border:1px solid #cfe2ff}
.produto-compra-card{box-shadow:0 10px 24px rgba(15,23,42,.08)}
.produto-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.produto-info-grid div{background:#fff;border:1px solid var(--loja-border);border-radius:8px;padding:12px}
.produto-info-grid span{display:block;color:var(--loja-muted);font-size:.85rem}
.produto-info-grid strong{display:block;color:var(--loja-secondary)}
.produto-modal-imagem{background:#fff;border:0;border-radius:12px}
.produto-modal-imagem .modal-body{display:flex;align-items:center;justify-content:center;min-height:60vh}
.produto-modal-imagem img{width:100%;max-height:78vh;object-fit:contain;background:#fff}
.descricao-produto{background:#fff;border:1px solid var(--loja-border);border-radius:8px;padding:24px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.cart-line{display:grid;grid-template-columns:76px 1fr 120px 150px;gap:14px;align-items:center;padding:16px;border-bottom:1px solid var(--loja-border)}
.cart-line:last-child{border-bottom:0}
.cart-img{width:64px;height:64px;object-fit:contain;border-radius:8px;border:1px solid var(--loja-border);background:#fff}
.cart-info span{display:block;color:var(--loja-muted);font-size:.9rem}
.cart-price{text-align:right}
.cart-price span{display:block;color:var(--loja-muted)}
.cart-price strong{color:var(--loja-secondary);font-size:1.05rem}
.cupom-box{max-width:380px}
.resumo-checkout{top:116px}
.linha-resumo{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.linha-resumo.total{font-size:1.3rem;color:var(--loja-secondary)}
.checkout-itens{max-height:260px;overflow:auto}
.checkout-item{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--loja-border);padding:8px 0;font-size:.92rem}
.empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:34px;text-align:center;color:var(--loja-muted)}
.loja-footer{background:#111827;color:#dbeafe}
.loja-footer h5,.loja-footer h6{color:#fff;font-weight:900}
.loja-footer a{display:block;color:#fff;text-decoration:none;margin-bottom:6px}
.loja-footer a:hover{text-decoration:underline}
.social-link{display:inline-flex!important;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 12px}
.loja-promo-modal .modal-dialog{max-width:640px}
.loja-promo-modal .modal-content{border:0;border-radius:14px;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.28);background:#fff;position:relative}
.loja-promo-close{position:absolute;right:14px;top:14px;z-index:4;background-color:#fff;border-radius:999px;opacity:1;padding:10px}
.loja-promo-img{width:100%;aspect-ratio:600/300;object-fit:cover;background:#eef2ff;display:block}
.loja-promo-modal .modal-body{padding:28px;text-align:center}
.loja-promo-modal h2{font-weight:900;color:var(--loja-secondary);font-size:1.8rem;margin:0 0 10px}
.loja-promo-modal p{color:var(--loja-muted);font-size:1.03rem;margin:0 0 22px}
.loja-promo-modal .btn{min-width:150px}
@media(max-width:991px){
    .catalogo-hero{display:block}
    .catalogo-search{margin-top:16px}
    .loja-actions{width:100%}
    .loja-actions .btn{flex:1}
    .banner-principal .carousel-inner{aspect-ratio:768/420}
    .banner-lateral-stack{grid-template-columns:1fr 1fr}
    .subcategoria-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767px){
    .banner-slide{padding:28px}
    .banner-lateral-stack{grid-template-columns:1fr}
    .section-title{display:block}
    .preco.grande{font-size:2rem}
    .cart-line{grid-template-columns:64px 1fr;align-items:start}
    .cart-qtd,.cart-price{grid-column:2}
    .cart-price{text-align:left}
    .produto-info-grid{grid-template-columns:1fr}
    .catalogo-search{display:block}
    .catalogo-search .btn{width:100%;margin-top:8px}
    .subcategoria-strip{grid-template-columns:repeat(2,1fr)}
    .produto-actions{grid-template-columns:1fr}
}
@media print{
    .topbar,.navbar,.menu-categorias,.loja-footer,.btn,form{display:none!important}
    body{background:#fff}
    .card,.loja-card{box-shadow:none!important;border:1px solid #ddd!important}
    .container{max-width:100%!important}
}
