/* Eurlelectro – catalog lane (category / search / product) additions on top of assets/css/theme.css */

/* stars: unrated products show grey stars, never fake orange ones */
.mk-stars .mk-star-off { color: #d6d6d6; }

/* card: price line never wraps, equal heights inside the grid */
.mk-grid > .mk-card { height: 100%; }
.mk-card .mk-old { min-height: 18px; }
/* "Ajouter au panier" + heart must fit inside the card (reference overflows the border by ~16px) */
@media (min-width: 768px) {
  .mk-card .card-body { padding-left: 10px; padding-right: 10px; }
  .mk-card .card-actions { gap: 6px; }
  .mk-card .mk-add { padding: 0 6px; gap: 5px; font-size: 11px; min-width: 0; }
}
.mk-card .mk-add .loading-btn, .mk-add.loading-btn, .mk-add-big.loading-btn { opacity: .7; pointer-events: none; }

/* toolbar selects: arrow never touches the edge, text fits */
.mk-toolbar .select { padding-left: 12px; padding-right: 2.4rem; max-width: 210px; }
.mk-toolbar .select[aria-label="Produits par page"] { min-width: 84px; }

/* filters: no inner scrollbars, number inputs without spinners */
.mk-filter input[type=number] { -moz-appearance: textfield; min-width: 0; }
.mk-filter input[type=number]::-webkit-outer-spin-button,
.mk-filter input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mk-filter .input:focus, .mk-filter .input:focus-within { outline: 2px solid var(--mk-red, #E2001A); outline-offset: 0; border-color: var(--mk-red, #E2001A); }
.mk-filter-side aside { overflow-x: hidden; }

/* pagination */
.mk-pager { flex-wrap: nowrap; }
.mk-pager .btn { min-width: 36px; }
.mk-pager .btn-disabled { background: #fff; color: #999; border-color: var(--mk-border, #e5e5e5); }
.mk-noresult { border: 1px solid var(--mk-border, #e5e5e5); }

/* gallery: smaller main image, thumbs strictly under it in one row of the same width (5 visible, smooth scroll) */
.mk-gallery { width: 100%; max-width: 420px; margin: 0 auto; }
.mk-gallery-main { overflow: hidden; }
.mk-gallery-main img { display: block; }
.mk-gallery-main .mk-arrow { z-index: 3; }
.mk-gallery-main [data-gal-full] { z-index: 3; background: rgba(255,255,255,.9); }
.mk-thumbs { overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.mk-thumbs::-webkit-scrollbar { display: none; }
.mk-thumbs { gap: 8px; margin-top: 10px; }
.mk-thumbs button { flex: 0 0 calc((100% - 32px) / 5); width: auto; height: auto; aspect-ratio: 1 / 1; scroll-snap-align: start; cursor: pointer; }

/* lightbox */
.mk-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(10,10,10,.92); display: none; align-items: center; justify-content: center; }
.mk-lightbox.is-open { display: flex; }
.mk-lightbox img { max-width: calc(100vw - 140px); max-height: calc(100vh - 100px); object-fit: contain; background: #fff; padding: 12px; user-select: none; }
.mk-lb-close, .mk-lb-nav { position: absolute; width: 48px; height: 48px; border-radius: 999px; background: #fff; color: #1D1D1B; border: 0; display: flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
.mk-lb-close:hover, .mk-lb-nav:hover { background: var(--mk-red, #E2001A); color: #fff; }
.mk-lb-close { top: 16px; right: 16px; }
.mk-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.mk-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
.mk-lb-count { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; color: #fff; font-size: 14px; }
html.mk-lb-lock { overflow: hidden; }

/* buy row: qty − n + , add button, heart – one line */
.mk-buy { flex-wrap: nowrap; }
.mk-qty { flex-shrink: 0; }
.mk-qty .btn { font-size: 20px; font-weight: 500; }
.mk-qty .btn:hover { background: #F5F5F5; }

/* tabs: three tabs in one row, specs as table, long text wraps */
.mk-tabs { overflow: hidden; }
.mk-tabs .tab { white-space: nowrap; }
.mk-desc ul { list-style: disc; padding-left: 1.5rem; }
.mk-desc li { margin: 4px 0; }
.mk-desc h3 { font-weight: 700; margin: 16px 0 8px; }
.mk-spec { width: 100%; table-layout: fixed; }
.mk-spec th, .mk-spec td { overflow-wrap: anywhere; vertical-align: top; }

/* review stars (form) */
.mk-rate { display: flex; gap: 4px; }
.mk-rate-star { font-size: 26px; color: #d6d6d6; background: none; border: 0; padding: 0 2px; cursor: pointer; line-height: 1; }
.mk-rate-star.on { color: #F5B301; }
.mk-rate-star:focus-visible { outline: 2px solid var(--mk-red, #E2001A); }
.mk-review-pager ul.pagination { display: flex; gap: 0; }
.mk-review-pager .pagination li a, .mk-review-pager .pagination li span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid var(--mk-border, #e5e5e5); margin-left: -1px; font-size: 13px; color: #1D1D1B; background: #fff; }
.mk-review-pager .pagination li.active span { background: var(--mk-red, #E2001A); border-color: var(--mk-red, #E2001A); color: #fff; }

/* breadcrumbs: one line, last item truncated */
.mk-bc ul { overflow: hidden; }
.mk-bc li:last-child { flex: 1 1 auto; }

@media (max-width: 767px) {
  .mk-toolbar { flex-wrap: wrap; }
  .mk-toolbar .select { max-width: 170px; font-size: 13px; }
  .mk-toolbar > div:last-child { margin-left: 0; width: 100%; justify-content: flex-end; }
  .mk-tabs .tab { font-size: 13px; padding-left: 8px; padding-right: 8px; }
  .mk-lightbox img { max-width: calc(100vw - 16px); max-height: calc(100vh - 150px); }
  .mk-lb-prev, .mk-lb-next { top: auto; bottom: 16px; transform: none; }
  .mk-lb-count { bottom: 30px; }
  .mk-buy { gap: 8px; }
  .mk-qty .btn { width: 38px; }
  .mk-qty .input { width: 44px; }
  .mk-spec th { width: 45%; }
}
