/* ==========================================================
   STYLE.CSS - TEMA AZUL E&F
   Mantém toda a estrutura do layout original.
   Para trocar a cor principal no futuro, altere apenas as variáveis abaixo.
   ========================================================== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root{
  --primary:#0B4F8A;
  --primary-dark:#083B66;
  --primary-soft:#EAF4FF;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --bg:#f5f7fb;
  --white:#fff;
  --shadow:0 18px 40px rgba(15,23,42,.08);
  --radius:18px;
  --transition:all .25s ease;
}

*{box-sizing:border-box;margin:0;padding:0;font-family:"Inter",Arial,sans-serif}
body{background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
button{cursor:pointer;border:0;transition:var(--transition)}
img{display:block;width:100%;height:auto}.container{width:min(1160px,92%);margin:auto}

.store-header{position:sticky;top:0;z-index:900;background:var(--primary);box-shadow:0 10px 30px rgba(11,79,138,.20)}
.header-main{height:92px;display:grid;grid-template-columns:190px 1fr auto;gap:24px;align-items:center}.brand-area{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:800}.brand-mark{width:42px;height:42px;border-radius:14px;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:1.4rem}.brand-text{font-size:.98rem;line-height:1.05;text-transform:uppercase}.top-search{height:48px;background:#084A7C;border-radius:10px;display:grid;grid-template-columns:1fr 54px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.top-search input{border:0;background:transparent;color:#fff;padding:0 22px;outline:0;font-weight:500}.top-search input::placeholder{color:rgba(255,255,255,.72)}.top-search button{background:transparent;color:#111;font-size:1.35rem}.header-actions{display:flex;align-items:center;gap:12px}.icon-btn,.cart-btn{height:48px;border-radius:12px;background:#084A7C;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;font-weight:800;position:relative}.icon-btn{width:52px;padding:0;font-size:1.35rem}.cart-btn i{font-size:1.35rem}.cart-qty{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#0b0b0b;color:#fff;font-size:.75rem;display:none;place-items:center}.cart-qty.visible{display:grid}.category-nav{height:48px;background:rgba(11,79,138,.98);border-top:1px solid rgba(255,255,255,.08)}.nav-scroll{height:100%;display:flex;align-items:center;justify-content:center;gap:28px;overflow-x:auto}.nav-category{background:transparent;color:#fff;font-weight:800;font-size:.9rem;white-space:nowrap}.nav-category.active,.nav-category:hover{color:#fff;text-decoration:underline;text-underline-offset:8px}

.store-main{padding:20px 0 28px}.hero-section{margin-top:0}.hero-banner{min-height:378px;border-radius:16px;background:linear-gradient(105deg,rgba(4,42,74,.84),rgba(11,79,138,.96)),url('https://images.unsplash.com/photo-1607082349566-187342175e2f?auto=format&fit=crop&w=1300&q=80') center/cover;display:grid;grid-template-columns:1fr 370px;align-items:center;padding:46px 56px;overflow:hidden;color:#fff}.hero-copy{max-width:560px}.hero-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--primary);border-radius:999px;padding:10px 14px;font-weight:800;margin-bottom:18px}.hero-copy h1{font-size:clamp(2rem,4vw,3.4rem);font-weight:900;line-height:1.02;margin-bottom:14px}.hero-copy p{font-size:1.05rem;color:rgba(255,255,255,.86);max-width:460px}.hero-btn{margin-top:18px;border-radius:12px;background:#fff;color:var(--primary);font-weight:900;padding:13px 24px}.hero-card{justify-self:end;width:320px;min-height:220px;border-radius:24px;background:rgba(255,255,255,.95);color:var(--text);display:grid;place-items:center;text-align:center;padding:24px;position:relative;box-shadow:var(--shadow)}.hero-card i{font-size:4.5rem;color:var(--primary)}.hero-card strong{font-size:1.6rem}.hero-card small{color:var(--muted)}.hero-card-badge{position:absolute;top:16px;right:16px;background:#19c37d;color:#fff;padding:6px 10px;border-radius:999px;font-weight:900;font-size:.78rem}

.catalog-section{display:grid;grid-template-columns:260px 1fr;gap:30px;margin-top:22px}.filter-card,.products-panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.filter-card{padding:20px;height:max-content;position:sticky;top:160px}.filter-card h3{font-size:1rem;color:var(--primary);font-weight:900;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.filter-card input{width:100%;height:42px;border:1px solid var(--border);border-radius:8px;padding:0 12px;outline:0;margin-bottom:16px}.filter-option{width:100%;min-height:42px;border-radius:8px;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-weight:800;margin-bottom:6px;text-align:left}.filter-option.active,.filter-option:hover{background:#eef5ff;color:#0f172a}.filter-option span{background:#dce4ef;color:#64748b;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:.75rem}.products-panel{padding:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title h2{font-size:1.25rem;font-weight:900;color:var(--primary);margin:0}.panel-title i{color:#d97706}.panel-title small{color:var(--muted)}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product{border:1px solid var(--border);border-radius:12px;background:#fff;padding:16px;text-align:center;position:relative;overflow:hidden;min-height:370px;display:flex;flex-direction:column}.product:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,23,42,.10)}.product-badge{position:absolute;top:16px;right:16px;background:#bbf7d0;color:#087a3f;border-radius:7px;padding:5px 9px;font-size:.75rem;font-weight:900;z-index:2}.product-category{position:absolute;top:22px;left:20px;background:#111827;color:#fff;border-radius:999px;padding:5px 9px;font-size:.65rem;font-weight:900;text-transform:uppercase;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-img-wrap{height:178px;border-radius:10px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.product img{height:165px;object-fit:contain;transition:var(--transition)}.product:hover img{transform:scale(1.04)}.product h3{color:var(--primary);font-size:.9rem;line-height:1.25;text-transform:uppercase;font-weight:900;min-height:38px;margin:4px 0 12px}.old-price{font-size:.78rem;color:#94a3b8;text-decoration:line-through;font-weight:700}.product h5,.modal-price{font-size:1.28rem;color:#000;font-weight:900;margin:4px 0 16px}.product button{margin-top:auto;width:100%;height:42px;border-radius:8px;background:var(--primary);color:#fff;font-weight:900;font-size:.85rem}.product button:hover{background:var(--primary-dark)}

.floating-whatsapp{position:fixed;right:26px;bottom:28px;width:58px;height:58px;border-radius:50%;background:#22c55e;color:#fff;display:grid;place-items:center;font-size:1.9rem;text-decoration:none;z-index:850;box-shadow:0 0 0 14px rgba(34,197,94,.16)}
.cart-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);opacity:0;visibility:hidden;z-index:1000;transition:var(--transition)}.cart-overlay.show{opacity:1;visibility:visible}.cart{position:fixed;top:0;right:-430px;width:min(400px,94vw);height:100vh;background:#fff;z-index:1001;display:flex;flex-direction:column;box-shadow:-16px 0 40px rgba(15,23,42,.18);transition:var(--transition);opacity:0;visibility:hidden}.cart.show{right:0;opacity:1;visibility:visible}.cart-header{height:74px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative}.cart-header h2{font-size:1.2rem;font-weight:900;margin:0}.cart-close{position:absolute;left:16px;width:38px;height:38px;border-radius:10px;background:#f1f5f9;color:#0f172a;font-size:1.1rem}.cart-body{flex:1;overflow-y:auto;padding:18px}.cart-empty{text-align:center;color:var(--muted);padding:38px 0}.cart-item{display:flex;gap:12px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}.cart-item img{width:70px;height:70px;object-fit:contain;background:#f8fafc;border-radius:10px}.cart-item-detail{flex:1}.cart-item-detail h3{font-size:.85rem;font-weight:900;color:var(--primary);margin-bottom:4px}.cart-item-detail small{display:block;color:var(--muted);font-size:.74rem;margin-bottom:4px}.cart-item-detail h5{font-size:.85rem;font-weight:800}.cart-item-amount{display:flex;align-items:center;gap:8px}.cart-item-amount i{cursor:pointer;background:#f1f5f9;border-radius:7px;padding:3px}.cart-item-price{margin-left:auto;font-weight:900}.cart-footer{border-top:1px solid var(--border);padding:16px;display:grid;gap:10px}.cart-total-row{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem;font-weight:900}.cart-clear,.cart-checkout{height:44px;border-radius:10px;font-weight:900;text-transform:uppercase}.cart-clear{background:#111827;color:#fff}.cart-checkout{background:#22c55e;color:#fff}

.product-modal .modal-content,.modern-modal{border:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.32)}.product-modal-close{position:absolute;right:20px;top:18px;width:40px;height:40px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:1.3rem;z-index:3}.product-modal-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.product-gallery{background:#f8fafc;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.product-main-image{width:100%;max-width:420px;height:330px;background:#fff;border:1px solid var(--border);border-radius:12px;display:grid;place-items:center;padding:14px}.product-main-image img{height:100%;object-fit:contain}.product-thumbs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.product-thumbs img{width:62px;height:62px;border-radius:8px;border:2px solid transparent;object-fit:contain;background:#fff;cursor:pointer}.product-thumbs img.active{border-color:#111}.product-gallery small{margin-top:8px;color:#94a3b8}.product-modal-info{padding:34px 30px;overflow:auto}.product-modal-info h2{font-size:1.35rem;color:var(--primary);font-weight:900;text-transform:uppercase;margin:0 44px 12px 0}.option-box strong{display:block;color:var(--primary);font-size:.88rem;margin-bottom:9px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{background:#edf5ff;border:1px solid #cfe0f8;border-radius:999px;padding:8px 15px;font-weight:700;font-size:.88rem}.notice-box{background:#fff8e7;border-left:4px solid #f59e0b;color:#92400e;border-radius:6px;padding:13px 14px;font-size:.82rem;margin:26px 0 16px}.modal-add-cart{height:46px;border-radius:9px;background:#000;color:#fff;font-weight:900;text-transform:uppercase;padding:0 28px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;gap:10px}.description-box h4{font-size:.95rem;font-weight:900;color:var(--primary);border-bottom:1px solid var(--border);padding-bottom:8px}.description-box div{max-height:190px;overflow-y:auto;color:#334155;font-size:.92rem;line-height:1.7;padding-right:8px}.modal-header{border-bottom:1px solid var(--border)}.modal-footer{border-top:1px solid var(--border)}

@media(max-width:980px){.header-main{grid-template-columns:1fr auto;gap:12px;height:auto;padding:16px 0}.top-search{grid-column:1/-1;order:3}.cart-btn span{display:none}.catalog-section{grid-template-columns:1fr}.filter-card{position:static}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-banner{grid-template-columns:1fr;padding:34px 24px}.hero-card{display:none}.product-modal-grid{grid-template-columns:1fr}.product-gallery{padding-top:56px}.product-main-image{height:280px}}
@media(max-width:560px){.container{width:94%}.store-main{padding-top:14px}.nav-scroll{justify-content:flex-start}.hero-banner{min-height:290px;border-radius:14px}.hero-copy h1{font-size:1.75rem}.catalog-section{gap:16px;margin-top:16px}.products-panel,.filter-card{padding:14px}.panel-title{display:block}.products{grid-template-columns:1fr;gap:14px}.product{min-height:330px}.product-img-wrap{height:160px}.product img{height:148px}.floating-whatsapp{width:54px;height:54px;right:18px;bottom:20px}.product-modal-info{padding:24px 18px}.modal-add-cart{width:100%}.header-actions{gap:8px}.brand-text{font-size:.86rem}}

/* AJUSTE FINAL V3 - Carrinho em popup central + galeria */
.cart-overlay{position:fixed!important;inset:0!important;background:rgba(15,23,42,.62)!important;backdrop-filter:blur(5px)!important;opacity:0!important;visibility:hidden!important;z-index:1045!important;transition:.25s ease!important}.cart-overlay.show{opacity:1!important;visibility:visible!important}.cart{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:min(94vw,560px)!important;height:auto!important;max-height:88vh!important;transform:translate(-50%,-50%) scale(.94)!important;background:#fff!important;border-radius:18px!important;box-shadow:0 26px 90px rgba(0,0,0,.32)!important;z-index:1050!important;opacity:0!important;visibility:hidden!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;transition:.25s ease!important}.cart.show{opacity:1!important;visibility:visible!important;transform:translate(-50%,-50%) scale(1)!important}.cart-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:24px 30px 16px!important;border-bottom:1px solid #e5e7eb!important}.cart-header h2{margin:0!important;font-size:1.35rem!important;color:var(--primary)!important;font-weight:800!important}.cart-header h2:before{content:"\F242";font-family:"bootstrap-icons";color:#111827;margin-right:10px}.cart-close{order:2!important;position:static!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#f1f5f9!important;color:#64748b!important;display:grid!important;place-items:center!important;padding:0!important;transform:none!important}.cart-close:hover{background:#EAF4FF!important;color:var(--primary)!important}.cart-body{padding:22px 30px!important;overflow:auto!important;max-height:45vh!important;min-height:120px!important}.cart-body::-webkit-scrollbar{width:8px}.cart-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.cart-item{display:grid!important;grid-template-columns:72px 1fr!important;gap:14px!important;align-items:center!important;margin:0 0 16px!important;padding-bottom:16px!important;border-bottom:1px dashed #e5e7eb!important}.cart-item img{width:72px!important;height:72px!important;object-fit:cover!important;border-radius:10px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important}.cart-item-detail h3{font-size:.92rem!important;color:#334155!important;font-weight:800!important;margin:0 0 4px!important}.cart-item-detail h5{font-size:1rem!important;color:#000!important;font-weight:900!important;margin:3px 0 8px!important}.cart-item-amount{display:flex!important;align-items:center!important;gap:0!important}.cart-item-amount i,.cart-item-amount .qty{width:34px!important;height:30px!important;display:grid!important;place-items:center!important;background:#f1f5f9!important;border:1px solid #dbe3ef!important;font-size:.9rem!important;opacity:1!important}.cart-item-amount i:first-child{border-radius:6px 0 0 6px!important}.cart-item-amount i:nth-child(3){border-radius:0 6px 6px 0!important}.cart-item-price{margin-left:auto!important;font-weight:800!important;color:#111827!important}.cart-footer{padding:18px 30px 26px!important;border-top:1px solid #e5e7eb!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;background:#fff!important}.cart-total-row{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;gap:12px!important;align-items:center!important;font-size:1.25rem!important;font-weight:900!important}.cart-total-row strong{color:#111827!important}.cart-total{color:#000!important}.cart-clear,.cart-checkout{height:46px!important;border-radius:10px!important;font-weight:800!important;text-transform:uppercase!important}.cart-clear{background:#f1f5f9!important;color:#334155!important}.cart-checkout{background:#000!important;color:#fff!important}.cart-empty{padding:34px 0!important;color:#64748b!important;text-align:center!important}.product-thumbs{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin-top:14px!important;min-height:64px!important}.product-thumbs img{width:62px!important;height:62px!important;object-fit:cover!important;border-radius:8px!important;border:2px solid #e2e8f0!important;background:#fff!important;cursor:pointer!important;padding:3px!important}.product-thumbs img.active,.product-thumbs img:hover{border-color:#111!important}.product-main-image img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}@media(max-width:560px){.cart{width:94vw!important;max-height:90vh!important;border-radius:16px!important}.cart-header{padding:18px 18px 12px!important}.cart-body{padding:16px 18px!important;max-height:46vh!important}.cart-footer{padding:14px 18px 18px!important;grid-template-columns:1fr!important}.cart-total-row{justify-content:space-between!important;font-size:1.1rem!important}}

/* V4 - opções reais do produto */
.chip-btn{border:1px solid #cfe0f8;background:#edf5ff;color:#334155;border-radius:999px;padding:8px 15px;font-weight:800;font-size:.88rem;transition:.2s ease}
.chip-btn.active,.chip-btn:hover{background:#111827;color:#fff;border-color:#111827}
.modal-qty-input{width:110px;height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;font-weight:800;outline:none}
.modal-qty-input:focus{border-color:var(--primary);box-shadow:0 0 0 .15rem rgba(11,79,138,.14)}

/* V5 - Correção do posicionamento das imagens no modal/produto
   Mantém galeria, cores e tamanhos funcionando, apenas corrige alinhamento visual. */
.product-modal .modal-dialog{
  max-width: 1140px !important;
}
.product-modal .modal-content{
  max-height: 92vh !important;
  overflow: hidden !important;
}
.product-modal .modal-body{
  padding: 0 !important;
  overflow: auto !important;
}
.product-modal-grid{
  min-height: auto !important;
  align-items: stretch !important;
}
.product-gallery{
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 32px 22px 24px !important;
  overflow: hidden !important;
}
.product-main-image{
  width: 100% !important;
  max-width: 420px !important;
  height: 360px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-main-image img,
#modalProductImage,
#main-image{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.product-thumbs{
  margin-top: 14px !important;
  flex-shrink: 0 !important;
}
.product-gallery small{
  display: block !important;
  text-align: center !important;
  margin-top: 8px !important;
}
.product-modal-info{
  max-height: 92vh !important;
  overflow-y: auto !important;
}

/* Página product.html, caso seja acessada diretamente */
.product-detail .gallery{
  align-content: start !important;
  justify-items: center !important;
}
.product-detail .main-img{
  width: 100% !important;
  max-width: 520px !important;
  height: 460px !important;
  object-fit: contain !important;
  object-position: center top !important;
  overflow: hidden !important;
}
.product-detail .thumbs{
  justify-content: center !important;
  margin-top: 14px !important;
}

@media (max-width: 980px){
  .product-gallery{
    padding: 56px 18px 20px !important;
  }
  .product-main-image{
    height: 310px !important;
    max-width: 430px !important;
  }
  .product-modal-info{
    max-height: none !important;
  }
}

@media (max-width: 560px){
  .product-gallery{
    padding: 54px 14px 16px !important;
  }
  .product-main-image{
    height: 280px !important;
  }
  .product-thumbs img{
    width: 56px !important;
    height: 56px !important;
  }
  .product-detail .main-img{
    height: 320px !important;
  }
}

/* V7 - Checkout em duas colunas + opções compactas e profissionais */
.product-options-card{
  border:1px solid #e5e7eb!important;
  background:#fbfdff!important;
  border-radius:16px!important;
  padding:14px!important;
  margin:16px 0!important;
}
.product-buy-row{
  display:grid!important;
  grid-template-columns:1fr 132px!important;
  gap:14px!important;
  align-items:end!important;
  margin-top:12px!important;
}
.option-box strong{
  color:#083B66!important;
  font-size:.78rem!important;
  font-weight:850!important;
  margin-bottom:7px!important;
  letter-spacing:.01em!important;
}
.chips{
  gap:6px!important;
}
.chip-btn{
  min-height:32px!important;
  padding:6px 11px!important;
  border-radius:10px!important;
  border:1px solid #d6e2f1!important;
  background:linear-gradient(180deg,#fff,#f3f7fd)!important;
  color:#334155!important;
  font-size:.78rem!important;
  font-weight:800!important;
  box-shadow:0 2px 7px rgba(15,23,42,.04)!important;
}
.chip-btn:hover{
  background:#f8fafc!important;
  border-color:#111827!important;
  color:#111827!important;
  transform:translateY(-1px)!important;
}
.chip-btn.active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
  box-shadow:0 8px 18px rgba(17,24,39,.18)!important;
}
.qty-box{
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  padding:10px!important;
}
.modal-qty-input{
  width:100%!important;
  height:36px!important;
  border-radius:9px!important;
  font-size:.92rem!important;
  padding:0 10px!important;
}
.modal-add-cart{
  min-width:280px!important;
  height:48px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#111827,#020617)!important;
  box-shadow:0 12px 24px rgba(2,6,23,.18)!important;
  font-size:.9rem!important;
  letter-spacing:.01em!important;
}
.modal-add-cart:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 28px rgba(2,6,23,.24)!important;
}
.checkout-modal .modal-dialog{
  max-width:920px!important;
}
.checkout-modal-content{
  border-radius:20px!important;
  overflow:hidden!important;
  max-height:86vh!important;
  display:flex!important;
  flex-direction:column!important;
}
.checkout-modal-header{
  padding:18px 24px!important;
  align-items:center!important;
  background:#fff!important;
}
.checkout-modal-header h5{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  font-weight:850!important;
  color:#0f172a!important;
}
.checkout-modal-header small{
  color:#64748b!important;
  font-size:.82rem!important;
}
.checkout-form-modern{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.checkout-modal-body{
  padding:22px 24px!important;
  overflow:auto!important;
  background:#f8fafc!important;
}
.checkout-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}
.checkout-section{
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:18px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.05)!important;
}
.checkout-section-title{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:13px!important;
  color:#083B66!important;
  font-weight:850!important;
}
.checkout-section .form-control{
  height:44px!important;
  border-radius:10px!important;
  margin-bottom:10px!important;
  border:1px solid #dbe3ef!important;
  font-size:.94rem!important;
}
.checkout-row-2{
  display:grid!important;
  grid-template-columns:.75fr 1fr!important;
  gap:10px!important;
}
.checkout-modal-footer{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  padding:16px 24px!important;
  background:#fff!important;
  border-top:1px solid #e2e8f0!important;
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
}
.checkout-cancel,.checkout-submit{
  min-height:46px!important;
  border-radius:12px!important;
  padding:0 22px!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.checkout-cancel{
  background:#f1f5f9!important;
  color:#334155!important;
}
.checkout-cancel:hover{
  background:#e2e8f0!important;
}
.checkout-submit{
  background:#111827!important;
  color:#fff!important;
}
.checkout-submit:hover{
  background:#000!important;
  transform:translateY(-1px)!important;
}
@media(max-width:760px){
  .product-buy-row{grid-template-columns:1fr!important;}
  .qty-box{max-width:180px!important;}
  .checkout-modal .modal-dialog{max-width:96vw!important;margin:10px auto!important;}
  .checkout-modal-content{max-height:92vh!important;}
  .checkout-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .checkout-modal-body{padding:14px!important;}
  .checkout-section{padding:14px!important;}
  .checkout-modal-footer{padding:12px 14px!important;display:grid!important;grid-template-columns:1fr!important;}
  .checkout-cancel,.checkout-submit{width:100%!important;}
}

/* ===== Finalização WhatsApp com carregamento ===== */
.checkout-submit{
  background:#22c55e!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 10px 22px rgba(34,197,94,.24)!important;
}
.checkout-submit:hover:not(:disabled){
  background:#16a34a!important;
  transform:translateY(-1px);
}
.checkout-submit:disabled{
  opacity:.75!important;
  cursor:not-allowed!important;
  transform:none!important;
}
.order-loading-overlay{
  position:fixed;
  inset:0;
  z-index:20000;
  background:rgba(15,23,42,.68);
  backdrop-filter:blur(6px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.order-loading-overlay.show{display:flex;}
.order-loading-card{
  width:min(92vw,420px);
  background:#fff;
  border-radius:22px;
  padding:34px 28px;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.order-loading-spinner{
  width:58px;
  height:58px;
  border:5px solid #dcfce7;
  border-top-color:#22c55e;
  border-radius:50%;
  margin:0 auto 18px;
  animation:orderSpin .8s linear infinite;
}
.order-loading-card h3{
  font-size:1.25rem;
  font-weight:900;
  color:#111827;
  margin:0 0 8px;
}
.order-loading-card p{
  color:#64748b;
  margin:0;
  font-size:.95rem;
}
@keyframes orderSpin{to{transform:rotate(360deg)}}

.btn-mini-spinner{
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  display:inline-block;
  animation:orderSpin .75s linear infinite;
}
.order-loading-overlay.show{
  display:flex!important;
}


/* Ajuste: texto de oferta especial sem risco\/corte */
.old-price.no-strike{ text-decoration:none!important; color:#94a3b8; }


/* Produto dinâmico do banner principal - não altera categorias/listagem */
.hero-card.hero-card-product{
  cursor:pointer;
  width:340px;
  min-height:250px;
  padding:18px;
  gap:10px;
  transition:transform .22s ease, box-shadow .22s ease;
}
.hero-card.hero-card-product:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(0,0,0,.18);
}
.hero-card-image{
  width:168px;
  height:168px;
  border-radius:18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.hero-card-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}
.hero-card.hero-card-product strong{
  font-size:1.35rem;
  line-height:1.14;
}
.hero-card.hero-card-product small{
  font-weight:900;
  color:#64748b;
}


/* Popup profissional de retorno do pedido */
.order-feedback-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  background:rgba(15,23,42,.68);
  backdrop-filter:blur(6px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.order-feedback-overlay.show{display:flex!important;}
.order-feedback-card{
  width:min(92vw,420px);
  background:#fff;
  border-radius:24px;
  padding:32px 28px;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.32);
  animation:feedbackIn .25s ease both;
}
.order-feedback-icon{
  width:68px;
  height:68px;
  border-radius:50%;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#dcfce7;
  color:#16a34a;
  font-size:2rem;
}
.order-feedback-card.error .order-feedback-icon{background:#EAF4FF;color:#0B4F8A;}
.order-feedback-card h3{
  font-size:1.28rem;
  font-weight:900;
  color:#111827;
  margin:0 0 8px;
}
.order-feedback-card p{
  color:#64748b;
  margin:0 0 22px;
  font-size:.96rem;
}
.order-feedback-button{
  border:0;
  border-radius:14px;
  background:#16a34a;
  color:#fff;
  font-weight:900;
  padding:12px 26px;
}
.order-feedback-card.error .order-feedback-button{background:#0B4F8A;}
@keyframes feedbackIn{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

@media(max-width:980px){
  .hero-card.hero-card-product{width:100%;min-height:220px;}
  .hero-card-image{width:150px;height:150px;}
}

/* ==========================================================
   V8 - TELA PRINCIPAL COM IMAGENS GRANDES
   Mantém a estrutura original: IDs, classes, menu, busca,
   carrinho, modal, checkout e JavaScript continuam iguais.
   Alteração focada na apresentação visual dos produtos.
   ========================================================== */

/* Desktop/tablet: cards mais valorizados */
@media (min-width: 761px){
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:22px!important;
  }
  .product{
    min-height:430px!important;
    border-radius:18px!important;
    padding:16px!important;
  }
  .product-img-wrap{
    height:230px!important;
    border-radius:16px!important;
    background:#f8fafc!important;
  }
  .product img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:4px!important;
  }
  .product h3{
    font-size:.96rem!important;
    min-height:44px!important;
  }
}

/* Mobile: visual estilo loja/app, imagem ocupando quase toda a tela */
@media (max-width: 760px){
  body{
    background:#f4f7fb!important;
  }

  .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .store-header{
    position:sticky!important;
    top:0!important;
    z-index:900!important;
  }

  .header-main{
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    padding:14px 12px!important;
  }

  .brand-area{
    min-width:0!important;
  }

  .brand-mark{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    flex:0 0 auto!important;
  }

  .brand-text{
    font-size:.88rem!important;
    white-space:nowrap!important;
  }

  .header-actions{
    justify-content:flex-end!important;
  }

  .icon-btn,
  .cart-btn{
    width:48px!important;
    height:48px!important;
    padding:0!important;
    border-radius:14px!important;
  }

  .cart-btn span{
    display:none!important;
  }

  .top-search{
    grid-column:1 / -1!important;
    order:3!important;
    width:100%!important;
    height:50px!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 26px rgba(15,23,42,.10)!important;
    border:1px solid #dbeafe!important;
  }

  .top-search input{
    color:#0f172a!important;
    font-size:.96rem!important;
    font-weight:700!important;
    padding:0 16px!important;
  }

  .top-search input::placeholder{
    color:#64748b!important;
  }

  .top-search button{
    color:#0f172a!important;
  }

  .category-nav{
    height:auto!important;
    background:#fff!important;
    border-top:0!important;
    box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
  }

  .nav-scroll{
    width:100%!important;
    height:auto!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding:10px 12px!important;
    scrollbar-width:none!important;
  }

  .nav-scroll::-webkit-scrollbar{display:none!important;}

  .nav-category{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:0 15px!important;
    border-radius:999px!important;
    background:#eef5ff!important;
    color:#0B4F8A!important;
    font-size:.82rem!important;
    font-weight:900!important;
    text-decoration:none!important;
    border:1px solid #cfe0f8!important;
  }

  .nav-category.active,
  .nav-category:hover{
    background:#0B4F8A!important;
    color:#fff!important;
    text-decoration:none!important;
    border-color:#0B4F8A!important;
  }

  .store-main{
    padding:0 0 28px!important;
  }

  /* Remove peso visual do banner no mobile para o produto aparecer primeiro */
  .hero-section{
    display:none!important;
  }

  .catalog-section{
    display:block!important;
    margin-top:0!important;
    padding-top:16px!important;
  }

  .filter-card{
    display:none!important;
  }

  .products-panel{
    width:100%!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    border-radius:0!important;
  }

  .panel-title{
    display:block!important;
    padding:0 2px 12px!important;
    margin:0!important;
  }

  .panel-title h2{
    font-size:1.42rem!important;
    font-weight:950!important;
    color:#071428!important;
    margin-bottom:5px!important;
  }

  .panel-title small{
    font-size:.94rem!important;
    font-weight:800!important;
    color:#64748b!important;
  }

  .products{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .product{
    width:100%!important;
    max-width:100%!important;
    min-height:auto!important;
    padding:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #dbe7f5!important;
    box-shadow:0 18px 42px rgba(15,23,42,.10)!important;
    text-align:center!important;
  }

  .product:hover{
    transform:none!important;
  }

  .product-img-wrap{
    width:100%!important;
    height:clamp(330px, 82vw, 520px)!important;
    margin:0!important;
    border-radius:0!important;
    background:#f8fafc!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-bottom:1px solid #eef2f7!important;
  }

  .product img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    transform:none!important;
  }

  .product:hover img{
    transform:none!important;
  }

  .product-category{
    top:14px!important;
    left:14px!important;
    max-width:170px!important;
    font-size:.72rem!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    z-index:3!important;
  }

  .product-badge{
    top:14px!important;
    right:14px!important;
    font-size:.78rem!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    z-index:3!important;
  }

  .product h3{
    min-height:auto!important;
    margin:18px 18px 10px!important;
    font-size:1.14rem!important;
    line-height:1.25!important;
    font-weight:950!important;
    color:#0B4F8A!important;
  }

  .old-price{
    font-size:.88rem!important;
    font-weight:850!important;
    margin-bottom:3px!important;
  }

  .product h5,
  .modal-price{
    font-size:1.62rem!important;
    font-weight:950!important;
    margin:2px 18px 16px!important;
    color:#000!important;
  }

  .product button{
    width:calc(100% - 28px)!important;
    height:52px!important;
    margin:0 14px 14px!important;
    border-radius:14px!important;
    background:#0B4F8A!important;
    color:#fff!important;
    font-size:.98rem!important;
    font-weight:950!important;
    box-shadow:0 10px 22px rgba(11,79,138,.22)!important;
  }

  .floating-whatsapp{
    width:62px!important;
    height:62px!important;
    right:16px!important;
    bottom:18px!important;
    font-size:2rem!important;
    box-shadow:0 0 0 12px rgba(34,197,94,.16)!important;
  }
}

/* Celulares muito estreitos */
@media (max-width: 420px){
  .container{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .product-img-wrap{
    height:clamp(315px, 88vw, 430px)!important;
  }
  .product h3{
    font-size:1.04rem!important;
  }
  .product h5,
  .modal-price{
    font-size:1.45rem!important;
  }
}

/* ==========================================================
   V5 - MOBILE COM IMAGEM EXTRA GRANDE
   Mantém HTML, JS, menu, carrinho, modal e checkout funcionando.
   Altera somente a apresentação principal em telas pequenas.
   ========================================================== */
@media (max-width: 768px){
  body{
    background:#f3f6fb!important;
  }

  .store-header{
    position:sticky!important;
    top:0!important;
    z-index:999!important;
  }

  .header-main{
    width:100%!important;
    padding:12px 16px 10px!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    height:auto!important;
  }

  .brand-area{
    min-width:0!important;
  }

  .brand-mark{
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
  }

  .brand-text{
    font-size:.96rem!important;
    white-space:nowrap!important;
  }

  .header-actions{
    justify-content:flex-end!important;
  }

  .icon-btn,
  .cart-btn{
    width:48px!important;
    height:48px!important;
    padding:0!important;
    border-radius:14px!important;
  }

  .cart-btn span{
    display:none!important;
  }

  .top-search{
    grid-column:1 / -1!important;
    order:3!important;
    width:100%!important;
    height:54px!important;
    border-radius:16px!important;
  }

  .top-search input{
    font-size:1rem!important;
    padding:0 18px!important;
  }

  .category-nav{
    height:auto!important;
    padding:8px 0 10px!important;
    background:#0B4F8A!important;
  }

  .nav-scroll{
    width:100%!important;
    padding:0 14px!important;
    justify-content:flex-start!important;
    gap:10px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }

  .nav-scroll::-webkit-scrollbar{display:none!important;}

  .nav-category{
    flex:0 0 auto!important;
    background:#fff!important;
    color:#0B4F8A!important;
    border:1px solid #dbeafe!important;
    min-height:40px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    font-size:.86rem!important;
    font-weight:950!important;
    text-decoration:none!important;
    box-shadow:0 6px 16px rgba(15,23,42,.10)!important;
  }

  .nav-category.active,
  .nav-category:hover{
    background:#0B4F8A!important;
    color:#fff!important;
    border-color:#0B4F8A!important;
    text-decoration:none!important;
  }

  .store-main{
    padding:0 0 28px!important;
  }

  .hero-section{
    display:none!important;
  }

  .catalog-section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:14px 10px 90px!important;
    display:block!important;
  }

  .filter-card{
    display:none!important;
  }

  .products-panel{
    width:100%!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
  }

  .panel-title{
    padding:4px 4px 14px!important;
    margin:0!important;
  }

  .panel-title h2{
    font-size:1.45rem!important;
    color:#071428!important;
    font-weight:950!important;
  }

  .panel-title small{
    font-size:.95rem!important;
    color:#64748b!important;
    font-weight:800!important;
  }

  .products{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .product{
    width:100%!important;
    max-width:100%!important;
    min-height:auto!important;
    padding:0!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d8e5f5!important;
    box-shadow:0 16px 38px rgba(15,23,42,.12)!important;
    text-align:center!important;
  }

  .product-img-wrap{
    width:100%!important;
    height:calc(100vw - 28px)!important;
    min-height:390px!important;
    max-height:620px!important;
    margin:0!important;
    border-radius:0!important;
    background:#f8fafc!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-bottom:1px solid #eef2f7!important;
  }

  .product img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    padding:0!important;
    transform:none!important;
  }

  .product-category{
    top:14px!important;
    left:14px!important;
    font-size:.72rem!important;
    padding:7px 11px!important;
    max-width:180px!important;
    z-index:3!important;
  }

  .product-badge{
    top:14px!important;
    right:14px!important;
    font-size:.78rem!important;
    padding:7px 11px!important;
    z-index:3!important;
  }

  .product h3{
    margin:18px 18px 8px!important;
    min-height:auto!important;
    font-size:1.18rem!important;
    line-height:1.26!important;
    color:#0B4F8A!important;
    font-weight:950!important;
  }

  .old-price{
    font-size:.9rem!important;
    margin:0 18px 4px!important;
    font-weight:850!important;
  }

  .product h5,
  .modal-price{
    font-size:1.68rem!important;
    margin:0 18px 16px!important;
    color:#000!important;
    font-weight:950!important;
  }

  .product button{
    width:calc(100% - 28px)!important;
    height:54px!important;
    margin:0 14px 16px!important;
    border-radius:14px!important;
    background:#0B4F8A!important;
    color:#fff!important;
    font-size:1rem!important;
    font-weight:950!important;
    box-shadow:0 10px 22px rgba(11,79,138,.24)!important;
  }
}

@media (max-width: 420px){
  .catalog-section{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .product-img-wrap{
    height:calc(100vw - 20px)!important;
    min-height:360px!important;
  }
}

/* ==========================================================
   V6 - DESKTOP COM IMAGENS MAIORES
   Mantém HTML, JS, menu, filtros, carrinho e modal.
   Altera somente apresentação da tela principal em telas grandes.
   ========================================================== */
@media (min-width: 981px){
  .catalog-section{
    grid-template-columns:260px minmax(0, 1fr)!important;
    gap:30px!important;
    align-items:start!important;
  }

  .products-panel{
    padding:22px!important;
  }

  .products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px!important;
  }

  .product{
    min-height:520px!important;
    padding:18px!important;
    border-radius:18px!important;
    box-shadow:0 14px 32px rgba(15,23,42,.08)!important;
  }

  .product-img-wrap{
    height:310px!important;
    border-radius:16px!important;
    margin-bottom:18px!important;
    background:#f8fafc!important;
  }

  .product img{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    padding:4px!important;
  }

  .product h3{
    font-size:1.08rem!important;
    line-height:1.28!important;
    min-height:48px!important;
    margin:8px 0 12px!important;
  }

  .old-price{
    font-size:.88rem!important;
  }

  .product h5{
    font-size:1.55rem!important;
    margin:4px 0 18px!important;
  }

  .product button{
    height:50px!important;
    border-radius:12px!important;
    font-size:.96rem!important;
  }

  .product-category{
    top:24px!important;
    left:24px!important;
  }

  .product-badge{
    top:22px!important;
    right:22px!important;
  }
}

@media (min-width: 1200px){
  .container{
    width:min(1220px,92%)!important;
  }

  .products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .product-img-wrap{
    height:340px!important;
  }

  .product{
    min-height:555px!important;
  }
}
