/* Empêche Safari de zoomer */
input, select, textarea, button { font-size:16px }
html, body { touch-action:pan-x pan-y }

body {
  background:#1e1e1e; color:#f5f5f5;
  font-family:'Segoe UI',sans-serif;
}
a { color:#8fc034 }
.bg-dark { background:#000!important }

/* Bannière livraison/retrait */
#delivery-info {
  background:#222; color:#fff;
  text-align:center; padding:.75rem;
  font-size:.95rem;
}
#delivery-info strong { color:#8fc034 }

/* Grille catégories */
#categories {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:2rem;
  margin:2rem 0;
}
.cat-btn {
  text-align:center;
  background:none; border:none;
  cursor:pointer;
}
.cat-btn img, .cat-btn .cat-icon-all {
  width:120px; height:120px;
  border-radius:50%;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  object-fit:contain;
  transition:border .2s;
  color: #000;
  font-size: xx-large;
}
.cat-btn.selected img,
.cat-btn.selected .cat-icon-all {
  border:4px solid #8fc034;
}
.cat-btn span {
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#f5f5f5;
}

/* Tri par prix */
#sort-wrapper { text-align:center; margin-bottom:2rem }
#sort-wrapper .form-select { display:inline-block; width:auto }

/* Cartes */
.card {
  background:#2a2a2a; border:1px solid #8fc034;
  width:200px;
}
.card .card-title,
.card .card-text,
.card strong { color:#f5f5f5 }

.btn-success {
  background:#8fc034; border-color:#8fc034;
}
.btn-success:hover {
  background:#76a828; border-color:#76a828;
}

/* Panier preview */
#cart-preview-wrapper {
  position:relative; display:inline-block; margin-right:1rem;
}
#cart-preview {
  position:absolute; top:100%; right:0;
  width:240px; padding:.75rem;
  background:#2a2a2a; border:1px solid #8fc034;
  display:none; z-index:1000;
}
#cart-preview-wrapper:hover #cart-preview {
  display:block!important;
}

/* Modal détail */
#prodDetailModal .modal-body a.glightbox-thumb {
  display:inline-block; margin:4px;
  border:1px solid #8fc034;
  width:200px; height:200px; overflow:hidden;
}
#prodDetailModal .modal-body a.glightbox-thumb img {
  width:100%; height:100%; object-fit:cover; cursor:pointer;
}
.glightbox-container,
.glightbox-overlay { z-index:2100!important }

/* Cache SEO local */
.visually-hidden {
  position:absolute; width:1px; height:1px;
  margin:-1px; padding:0; border:0;
  clip:rect(0 0 0 0); overflow:hidden;
}

@media (max-width:767.98px) {
  #products { display:flex; flex-direction:column; align-items:center }
}