/* =========================
   Quick Menü – Optimized CSS
   (Görsel sonuç korunarak sadeleştirilmiş)
   ========================= */

/* Tema değişkenleri */
:root {
  --qm-font: "Signika", Sans-serif;
  --qm-primary: #bc9873; /* başlık/price rengi */
  --qm-text: #4e3c32; /* ana metin rengi  */
  --qm-accent: #4e3c45; /* hover / aktif ton */
  --qm-border: #eee;
  --qm-chip: #ddd;
  --qm-gray-50: #f7f7f9;
  --qm-gray-100: #f6f6f6;
  --qm-gray-400: #6b7280;
  --qm-heading-size: 26px;
}

/* Quick Menü 1.50.41: campaign modal separates end date and active hours. */
#qm-campaign-modal .qm-campaign-modal__expiry{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;margin:0 0 18px!important;padding:0!important;border:0!important;background:transparent!important;color:#725318!important}
#qm-campaign-modal .qm-campaign-modal__expiry[hidden]{display:none!important}
#qm-campaign-modal .qm-campaign-modal__expiry-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:11px;min-height:34px;padding:12px 14px;border:1px solid #e7dfc9;border-radius:12px;background:#fffaf0;box-sizing:border-box}
#qm-campaign-modal .qm-campaign-modal__expiry-row>.dashicons{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#f7e9c8;color:#9b6b0f}
#qm-campaign-modal .qm-campaign-modal__expiry-row>div{display:flex;min-width:0;flex-direction:column;gap:2px}
#qm-campaign-modal .qm-campaign-modal__expiry-time-row{padding-top:12px;border-top:1px solid #e7dfc9}
#qm-campaign-modal .qm-campaign-modal__expiry-time-row[hidden]{display:none!important}
#qm-campaign-modal .qm-campaign-modal__expiry-time-row>.dashicons{background:#f7e9c8;color:#9b6b0f}
#qm-campaign-modal .qm-campaign-modal__time-label{display:block;color:#725318;font-weight:800;font-size:14px;line-height:1.25}
#qm-campaign-modal .qm-campaign-modal__time-range{display:block;margin-top:2px;font-size:12px;color:#8a6724}

/* Layout */
.qm-container {
  font-family: var(--qm-font);
  display: flex;
  gap: 24px;
  max-width: 1300px;
  margin: 0 auto;
  padding-top: 80px;
  padding-bottom: 350px;
}
@media (max-width: 767px) {
  .qm-container {
    padding-top: 0px;
  }
}
.qm-main {
  padding-right: 10px;
  padding-left: 10px;
  flex: 1;
}

.qm-branding {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 16px;
}
.qm-branding-logo {
  max-width: 220px;
  max-height: 120px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Sidebar */
.qm-sidebar {
  width: 240px;
  flex: 0 0 240px;
  border-right: 1px solid var(--qm-border);
  padding-right: 16px;
  position: sticky;
  top: 15%;
  height: fit-content;
}
.qm-sidebar h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
}
.qm-cat-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.qm-cat-link {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  text-decoration: none;
  background: var(--qm-gray-50);
  color: #111;
}
.qm-cat-link:hover {
  background: var(--qm-accent);
  color: #fff;
}

/* Mobil üst bar (sticky + yatay kaydır) */
.qm-topbar {
  display: none;
  position: sticky;
  top: 0;
  background: var(--qm-primary);
  padding: 8px 0;
  border-bottom: 1px solid var(--qm-border);
  margin-bottom: 8px;

  /* full width zorla */
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
}
.qm-topbar-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 5px 8px;
}
.qm-cat-chip {
  background: #fff;
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid var(--qm-chip);
  border-radius: 999px;
  text-decoration: none;
  color: #111;
  white-space: nowrap;
}
.qm-cat-chip:hover {
  background: var(--qm-gray-100);
}

/* Arama alanı + spinner + meta */
.qm-search-wrap {
  margin: 8px 0 16px;
}
#qm-search {
  width: 100%;
  padding: 12px 40px 12px 40px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 16px;
}
/* Spinner solda olduğu için sol padding'i artır */
#qm-search.is-loading {
  padding-left: 36px;
}
.qm-spinner {
  display: none;
  position: absolute;
  left: 15px;
  top: 35%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid #cbd5e1;
  border-top-color: #6b7280;
  border-radius: 50%;
  animation: rmspin 0.6s linear infinite;
}
/* input is-loading iken spinner görünür */
#qm-search.is-loading + .qm-spinner {
  display: block;
}
@keyframes rmspin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qm-spinner {
    animation: none;
    border-top-color: #94a3b8;
  }
}
.qm-search-meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--qm-gray-400);
}

/* Bölümler */
.qm-sections {
  display: block;
}
.qm-section {
  margin-bottom: 32px;
}
.qm-section h2 {
  font-size: var(--qm-heading-size, 26px);
  color: var(--qm-primary);
  margin: 0 0 12px;
  padding-bottom: 6px;
}

/* Kart grid */
.qm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
  gap: 12px;
}

/* Kart */
.qm-card {
  flex-direction: row;
  border: 1px solid var(--qm-border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: rgba(93, 62, 188, 0.04) 0 6px 24px;
}
.qm-card-media {
  position: relative;
}
.qm-card-media-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.qm-card-body {
  padding: 24px 24px 24px 0;
}
.qm-card-title {
  color: var(--qm-text);
  font-size: 21px;
  font-weight: 600;
}
.qm-card-price {
  color: var(--qm-primary);
  font-weight: 700;
  font-size: 18px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 7px;
}
.qm-card-desc {
  color: var(--qm-text);
  font-size: 14px;
}
.qm-tag {
  background: var(--qm-text);
  color: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
}
.qm-empty {
  color: #666;
}

/* Aktif kategori vurguları */
.qm-cat-link.is-active {
  background: color-mix(in srgb, var(--qm-primary) 35%, transparent);
  border-left: 3px solid var(--qm-primary);
  font-weight: 600;
}
.qm-cat-link.is-active:hover {
  color: var(--qm-accent);
}
.qm-cat-chip.is-active {
  color: #fff;
  background: var(--qm-text);
  border-color: #cbd5e1;
  font-weight: 600;
}

/* Mobil uyarlamalar */
@media (max-width: 768px) {
  .qm-container {
    flex-direction: column;
    gap: 12px;
  }
  .qm-sidebar {
    display: none;
  }
  .qm-topbar {
    display: block;
  }
  .qm-card-media {
    width: 300px;
    height: 120px;
  }
  .qm-card-body {
    padding: 10px;
  }
  /* Mobil sticky kategori barında scrollbar'ı gizle, kaydırmayı koru */
  .qm-topbar-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
  }
  .qm-topbar-scroll::-webkit-scrollbar {
    display: none;
  }
}

/* Tag öneri dropdown */
.qm-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  max-height: 280px;
  overflow-y: auto;
  z-index: 40;
}

.qm-suggest-list {
  list-style: none;
  margin: 0;
  padding: 6px;
}

.qm-suggest-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  user-select: none;
}

.qm-suggest-item:hover,
.qm-suggest-item.is-active {
  background: #f6f6f6;
}

.qm-suggest-item .name {
  font-size: 14px;
  color: #111;
}
.qm-suggest-item .count {
  font-size: 12px;
  color: #6b7280;
}

/* Mobilde taşmasın */
@media (max-width: 768px) {
  .qm-suggest {
    left: 0;
    right: 0;
  }
}

/* Desc. mobilde 2 satır sonra kes */
@media (max-width: 768px) {
  .qm-card-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
  }
}

/* ===== Modal (Ürün Detay) ===== */
.qm-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}
.qm-modal.is-open {
  display: block;
}
.qm-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.qm-modal-dialog {
  max-width: 820px;
}
.qm-modal-close {
  right: 10px;
  position: absolute;
  top: 10px;
  border-radius: 50% !important;
  border: 1px solid #000 !important;
  padding: 0 !important;
  background: #000 !important;
  color: #fff !important;
  width: 20px;
  height: 20px;
  justify-content: center;
  align-items: center;
  display: flex;
}
.qm-modal-close:hover {
  background: var(--qm-accent) !important;
}
.qm-modal-body {
  font-family: var(--qm-font);
}
.qm-modal-loading,
.qm-modal-error {
  padding: 40px;
  text-align: center;
  color: #444;
}

/* Detay içeriği */
.qm-item-media {
  width: 100%;
  padding-top: 40%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.qm-item-price {
  font-weight: 700;
  font-size: 20px;
  margin: 14px 0 4px;
  color: #bc9873;
}
.qm-item-title {
  color: var(--qm-text);
  margin: 0 0 8px;
  font-size: 22px;
}
.qm-item-desc {
  color: var(--qm-text);
}
.qm-item-tags {
  margin-top: 12px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.qm-item-tags .qm-tag {
  background: var(--qm-text);
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
}

/* Body scroll kilidi */
body.qm-modal-lock {
  overflow: hidden;
}
@media (max-width: 768px) {
  .qm-modal-dialog {
    margin: 0;
    border-radius: 0;
  }
  .qm-item-media {
    padding-top: 62%;
  }
}

/* === Modal görünürlüğü (JS hidden'ı kaldırınca göster) === */
.qm-modal[aria-hidden="false"],
.qm-modal:not([hidden]) {
  display: block;
}

/* === JS body'ye qm-no-scroll ekliyor; sayfayı kilitle === */
body.qm-no-scroll {
  overflow: hidden;
}

/* === Modal içi temel stiller (sadece işlev için) === */
.qm-modal-content {
  padding: 16px;
}

/* Arkaplan görsel alanı; JS arka plan atayınca .show() ile görünür */
.qm-modal-media {
  width: 100%;
  padding-top: 10px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: none; /* JS .show() yapıyor */
}

/* Başlık / fiyat / açıklama (senin renk paletine uygun) */
.qm-modal-title {
  margin: 0 0 6px;
  font-size: 22px;
  color: var(--qm-text);
}
.qm-modal-price {
  margin: 0 0 8px;
  font-weight: 700;
  color: var(--qm-primary);
}
.qm-modal-desc {
  color: var(--qm-text);
}

/* Etiketler satır satır dizilsin */
.qm-modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.qm-modal-desc:not(:empty) + .qm-modal-tags:not(:empty) {
  margin-top: 14px;
}

.qm-modal-features {
  margin-top: 12px;
}
.qm-modal-features[hidden] {
  display: none !important;
}
.qm-modal-features-title {
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--qm-text);
}
.qm-modal-features-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
}
.qm-modal-features-table {
  width: 100%;
  border-collapse: collapse;
  padding: 0;
  margin: 0;
}
.qm-modal-features-table th,
.qm-modal-features-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  text-align: left;
  vertical-align: top;
}
.qm-modal-features-table th {
  width: 34%;
  min-width: 140px;
  font-weight: 600;
  color: var(--qm-text);
  background: #f8fafc;
}
.qm-modal-features-table td {
  color: var(--qm-text);
}
.qm-modal-features-table tr:last-child th,
.qm-modal-features-table tr:last-child td {
  border-bottom: none;
}
@media (max-width: 640px) {
  .qm-modal-features-table th,
  .qm-modal-features-table td {
    padding: 9px 10px;
    font-size: 13px;
  }
}

/* ===== Fullscreen Loader (sayfa karart + merkez spinner) ===== */
.qm-loader {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9998;
}
.qm-loader.is-open {
  display: block;
}
.qm-loader[hidden] {
  display: none !important;
}
.qm-loader-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

/* Merkezde duran kap: sadece konumlandırır */
.qm-loader-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
}

/* Dönen halka: animasyon burada (translate bozulmaz) */
.qm-loader-spinner::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.45);
  border-top-color: #ffffff;
  animation: rmspin 0.7s linear infinite;
}

/* Loader/Modal açıkken body scroll kilidi */

/* ==== Modal Sadece AÇILIŞ Animasyonu ==== */

/* Modal görünürken (aria-hidden="false") açılış animasyonlarını çalıştır */
.qm-modal[aria-hidden="false"] .qm-modal-backdrop {
  animation: qmBackdropIn 0.22s ease both;
}
.qm-modal[aria-hidden="false"] .qm-modal-dialog {
  animation: qmDialogIn 0.26s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

/* Arkaplan için fade-in */
@keyframes qmBackdropIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Dialog için aşağıdan hafif yükselip görünme */
@keyframes qmDialogIn {
  from {
    transform: translateY(12px) scale(0.98);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* Hareket hassasiyeti olan kullanıcılar için animasyonu kapat */
@media (prefers-reduced-motion: reduce) {
  .qm-modal[aria-hidden="false"] .qm-modal-backdrop,
  .qm-modal[aria-hidden="false"] .qm-modal-dialog {
    animation: none;
  }
}

/* ==== Modal Sadece KAPANIŞ Animasyonu ==== */
/* Kapanış tetiklemek için .is-closing sınıfı yeterlidir */
.qm-modal.is-closing .qm-modal-backdrop {
  animation: qmBackdropOut 0.22s ease both;
}
.qm-modal.is-closing .qm-modal-dialog {
  animation: qmDialogOut 0.26s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

/* Fade-out */
@keyframes qmBackdropOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* Aşağı doğru hafif kayarak kapanma */
@keyframes qmDialogOut {
  from {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  to {
    transform: translateY(12px) scale(0.98);
    opacity: 0;
  }
}

/* Hareket hassasiyeti olan kullanıcılar için animasyonu kapat */
@media (prefers-reduced-motion: reduce) {
  .qm-modal.is-closing .qm-modal-backdrop,
  .qm-modal.is-closing .qm-modal-dialog {
    animation: none;
  }
}

/* ==== Search Bar Clear Butonu ==== */
.qm-search-wrap {
  position: relative;
} /* zaten var ise tekrar yazmanın zararı yok */

.qm-clear {
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: red !important;
  border: 1px solid #000;
  cursor: pointer;
  display: none; /* varsayılan: gizli */
  padding: 0;
  line-height: 0;
}
.qm-clear::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  /* Beyaz X (inline SVG) */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
  <path d='M6 6L18 18M6 18L18 6' stroke='%23FFFFFF' stroke-width='4' stroke-linecap='round'/>\
</svg>");
}
.qm-clear:hover {
  background: #000 !important;
}

/* Input'ta yazı varsa wrapper'a .has-value gelir ve X görünür */
.qm-search-wrap.has-value .qm-clear {
  display: flex;
}

/* Yerleşik WebKit X butonunu gizle (çakışmasın) */
#qm-search::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* ===============================
   JITTER FİX — grid tabanlı sabitleme
   (Clear butonunun aşağı kaymasını engeller)
   =============================== */
.qm-search-wrap {
  /* mevcut position/margin korunur; ayrıca grid yapıyoruz */
  display: grid;
  grid-template-areas: "field" "meta";
  grid-auto-rows: auto;
}
#qm-search {
  grid-area: field;
}
.qm-search-meta {
  grid-area: meta;
}

/* Clear: input satırına sabitlenir, absolute gerekmez */
.qm-search-wrap .qm-clear {
  grid-area: field;
  justify-self: end;
  align-self: center;

  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  right: 20px !important;
  margin: 0 !important;
  transform: none !important;

  z-index: 2; /* hep yerinde dursun */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.12s ease,
    visibility 0.12s ease,
    background 0.12s ease,
    border-color 0.12s ease;

  justify-content: center;
  align-items: center;
  display: flex !important;
  border: none !important;
  padding: 0.5rem !important;
}

/* Yazı varken görünür (focus/hover şart değil) */
.qm-search-wrap.has-value .qm-clear,
#qm-search:not(:placeholder-shown) ~ .qm-clear {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Discount styles */
.qm-old-price {
  opacity: 0.5;
  text-decoration: line-through;
  margin-right: 8px;
  font-weight: 500;
}
.qm-discount-price {
  color: #d63638;
  font-weight: 700;
}
.qm-discount-badge {
  position: static;
  flex: 0 0 auto;
  transform: none;
  background: #d63638;
  color: #fff;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 4px 12px rgba(214, 54, 56, 0.2);
}
.qm-card-price .qm-discount-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}
.qm-modal-price .qm-old-price {
  display: inline-block;
}
.qm-modal-price .qm-discount-price {
  display: inline-block;
}

.qm-menu-wrap {
  position: relative;
}
.qm-lang-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-width: 110px;
  padding: 8px 34px 8px 12px;
  border: 1px solid var(--qm-border, #ddd);
  border-radius: 10px;
  background: #fff
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E")
    no-repeat right 12px center;
  background-size: 12px 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  line-height: 1.2;
}
.qm-lang-select:focus {
  outline: none;
  border-color: var(--qm-primary, #111);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}
@media (max-width: 767px) {
  .qm-lang-switcher {
    top: 8px;
    left: 8px;
  }
  .qm-lang-select {
    padding: 6px 30px 6px 10px;
  }
}

/* Front language dropdown (custom, emoji-safe) */
.qm-lang-switcher {
  top: 0;
  left: 20px;
}

.qm-lang-summary::-webkit-details-marker {
  display: none;
}
.qm-lang-summary::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 12px;
  height: 8px;
  margin-top: -4px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E")
    no-repeat center/12px 8px;
}
.qm-lang-dropdown[open] .qm-lang-summary {
  border-color: var(--qm-primary, #111);
}
.qm-lang-menu {
  left: 0;
  overflow: hidden;
}
.qm-lang-option {
  background: #fff;
}
@media (max-width: 767px) {
  .qm-lang-switcher {
    top: 2px;
    left: 8px;
  }
  .qm-lang-summary {
    padding: 6px 30px 6px 10px;
  }
}

/* Hero / store info */
.qm-hero-controls {
  width: 100%;
  top: 20px;
  align-items: center;
  gap: 12px;
}
.qm-lang-summary {
  list-style: none;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  padding: 0px 12px;
  color: #222;
  font-weight: 600;
  min-width: 85px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.qm-lang-menu {
  top: calc(100% + 8px);
  right: 0;
  min-width: 130px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.qm-lang-option {
  display: block;
  padding: 9px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #222;
  font-weight: 600;
}
.qm-lang-option:hover,
.qm-lang-option.is-active {
  background: color-mix(in srgb, var(--qm-primary) 14%, transparent);
  color: var(--qm-text);
}
.qm-info-btn {
  position: absolute;
  right: 5px;
  width: 30px !important;
  height: 30px;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.qm-store-modal[hidden] {
  display: none !important;
}
.qm-store-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.qm-store-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.58);
}
.qm-store-dialog {
  font-family: var(--qm-font);
  position: relative;
  z-index: 2;
  max-width: 560px;
  margin: 7vh auto 0;
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}
.qm-store-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: 0;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}
.qm-store-logo-wrap {
  text-align: center;
  margin-bottom: 18px;
}
.qm-store-logo {
  max-width: 220px !important;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.qm-store-dialog h3 {
  font-family: var(--qm-font);
  margin: 0 0 14px;
  font-size: 24px;
  color: var(--qm-primary);
  text-align: center;
}
.qm-store-bio {
  color: var(--qm-text);
  line-height: 1.7;
  margin-bottom: 18px;
}
.qm-store-hours h4 {
  font-family: var(--qm-font);
  margin: 0 0 8px;
  color: var(--qm-text);
  font-size: 16px;
  text-align: left;
}
.qm-store-hours {
  color: var(--qm-text);
  line-height: 1.8;
}
.qm-store-hours__table-wrap {
  overflow-x: hidden;
}
.qm-store-hours__table th,
.qm-store-hours__table td {
  vertical-align: middle;
}
.qm-store-hours__table .qm-store-hours__row.is-today th {
  box-shadow: inset 3px 0 0 var(--qm-accent);
}
.qm-store-hours__day {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-weight: 600;
}
.qm-store-hours__day small {
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--qm-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
}
.qm-store-hours__time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
}
.qm-store-hours__closed {
  padding: 4px 8px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}
.qm-store-contact {
  margin-top: 0;
}
.qm-store-contact h4 {
  margin: 0 0 8px;
  color: var(--qm-text);
  font-size: 16px;
  text-align: left;
}
.qm-store-contact__table a {
  color: var(--qm-primary);
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.qm-store-contact__table a:hover {
  text-decoration: underline;
}
.qm-store-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 16px 0;
}
.qm-store-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--qm-primary);
  border-radius: 50%;
  background: var(--qm-primary);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .07);
  transition: transform .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.qm-store-social-link__mark {
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
}
.qm-store-social-link__icon {
  display: block;
  width: 19px;
  height: 19px;
  fill: currentColor;
}
.qm-store-social-link:hover,
.qm-store-social-link:focus-visible {
  transform: translateY(-2px);
  color: #fff;
  filter: brightness(.88);
  box-shadow: 0 7px 16px rgba(15, 23, 42, .12);
}
.qm-store-social-link--instagram {
  background: linear-gradient(135deg, #833ab4 0%, #e1306c 48%, #fcb045 100%);
  border-color: #e1306c;
}
.qm-store-social-link--facebook { background: #1877f2; border-color: #1877f2; }
.qm-store-social-link--x { background: #000; border-color: #000; }
.qm-store-social-link--tiktok { background: #010101; border-color: #010101; }
.qm-store-social-link--youtube { background: #ff0000; border-color: #ff0000; }
.qm-store-social-link--linkedin { background: #0a66c2; border-color: #0a66c2; }
.qm-store-social-link--pinterest { background: #e60023; border-color: #e60023; }
.qm-store-social-link--telegram { background: #229ed9; border-color: #229ed9; }
.qm-store-social-link--whatsapp { background: #25d366; border-color: #25d366; }
@media (max-width: 767px) {
  .qm-hero {
    max-height: 215px !important;
    min-height: 215px !important;
  }
  .qm-hero-controls {
    top: 12px;
    gap: 8px;
  }
  .qm-store-dialog {
    margin: 4vh 12px 0;
    padding: 22px 18px;
  }
}

/* --- Hero/store layout overrides --- */
.qm-hero {
  height: min(350px, 50vw) !important;
  min-height: 350px;
  max-height: 350px !important;
  width: 100% !important;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.qm-hero-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.58;
  z-index: 1;
  background: none;
}
.qm-hero-lang {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 3;
}

.qm-hero-title-wrap {
  font-family: var(--qm-font);
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.qm-hero-title {
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.1;
  text-transform: none;
  letter-spacing: 0.02em;
  display: none;
}
@media (max-width: 767px) {
  .qm-hero-lang {
    top: 12px;
    left: 12px;
  }
  .qm-hero-title {
    font-size: clamp(26px, 7vw, 40px);
    display: none;
  }
}

.qm-mobile-footer {
  display: none;
}
@media (min-width: 768px) {
  .qm-mobile-footer { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 9998; display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); width: min(760px, calc(100% - 40px)); gap: 4px; padding: 8px; border: 1px solid rgba(15,23,42,.10); border-radius: 18px; background: var(--qm-bottom-background, #fff); box-shadow: 0 14px 34px rgba(15,23,42,.16); }
  .qm-mobile-footer__item { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 12px; border-radius: 12px; text-decoration: none; font-size: 12px; font-weight: 700; transition: background .18s ease, transform .18s ease; }
  .qm-mobile-footer__item:hover,.qm-mobile-footer__item:focus-visible { background: rgba(15,23,42,.07); transform: translateY(-1px); outline: none; }
  .qm-mobile-footer__item .dashicons { width: 20px; height: 20px; font-size: 20px; line-height: 20px; }
}
@media (max-width: 767px) {
  .qm-mobile-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    background: #fff;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1);
  }
  body {
    padding-bottom: 88px;
  }
  .qm-mobile-footer__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-decoration: none;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.1;
    padding: 8px 4px;
    border-radius: 10px;
  }
  .qm-mobile-footer__item .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
    line-height: 22px;
  }
  .qm-mobile-footer__item.is-active {
    background: #3f3f46;
    color: #fff;
  }
  .qm-mobile-footer__label {
    display: block;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
  }
}

/* Cart feature */
.qm-mobile-footer__item.is-active {
  background: transparent !important;
  color: inherit !important;
}
.qm-mobile-footer__item.qm-has-active-filter {
  background: var(--qm-primary, #ef1d1d) !important;
  color: #fff !important;
}
.qm-mobile-footer__item.qm-has-active-filter .dashicons {
  color: #fff !important;
}
.qm-mobile-footer__icon-wrap {
  display: inline-flex;
}
.qm-cart-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

/* Soft cart notifications */
.qm-toast-stack {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 10060;
  display: flex;
  width: min(420px, calc(100vw - 48px));
  pointer-events: none;
}
@media (min-width: 768px) {
  .qm-toast-stack--mobile{display:none!important}
  .qm-toast-stack--desktop{
    right:24px;
    left:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
    width:min(360px,calc(100vw - 48px));
  }
  .qm-toast-stack--desktop .qm-toast{flex:0 0 auto;width:100%}
}
.qm-toast {
  --qm-toast-accent: #3b82f6;
  --qm-toast-soft: #eff6ff;
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 66px;
  padding: 11px 10px 11px 12px;
  overflow: hidden;
  box-sizing: border-box;
  color: #3f3733;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(82, 62, 51, 0.1);
  border-radius: 16px;
  box-shadow: 0 14px 38px rgba(54, 42, 35, 0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateX(-18px) scale(0.98);
  pointer-events: auto;
  transition: opacity 220ms ease, transform 220ms ease;
}
.qm-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.qm-toast.is-leaving {
  opacity: 0;
  transform: translateX(58px) scale(0.98);
}
.qm-toast--added {
  --qm-toast-accent: #16a34a;
  --qm-toast-soft: #ecfdf3;
}
.qm-toast--removed {
  --qm-toast-accent: #e05263;
  --qm-toast-soft: #fff1f3;
}
.qm-toast--campaign {
  --qm-toast-accent: #6f52b5;
  --qm-toast-soft: #f1edff;
}
.qm-toast__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--qm-toast-accent);
  background: var(--qm-toast-soft);
  border-radius: 12px;
}
.qm-toast__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.qm-toast__copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.qm-toast__title {
  color: #3f3733;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
}
.qm-toast__product {
  overflow: hidden;
  color: #887a72;
  font-size: 11px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qm-toast__close {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #9b8e87;
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.qm-toast__close:hover,
.qm-toast__close:focus-visible {
  color: #3f3733;
  background: rgba(82, 62, 51, 0.06);
  outline: none;
}
.qm-toast__stages {
  position: absolute;
  top: 6px;
  right: 10px;
  left: 10px;
  display: grid;
  grid-template-columns: repeat(var(--qm-toast-stage-count, 1), minmax(0, 1fr));
  gap: 4px;
  height: 3px;
}
.qm-toast__stage {
  position: relative;
  display: block;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(82,62,51,.1);
}
.qm-toast__stage b {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  background: #3b82f6;
}
.qm-toast__stage--added b { background:#16a34a; }
.qm-toast__stage--removed b { background:#e05263; }
.qm-toast__stage--campaign b { background:#6f52b5; }
.qm-toast__stage.is-current b {
  transform-origin: left;
  animation: qmToastStageProgress var(--qm-toast-stage-duration, 2000ms) linear forwards;
}
@keyframes qmToastStageProgress {
  from { transform: scaleX(var(--qm-toast-stage-start, 1)); }
  to { transform: scaleX(0); }
}
@media (max-width: 767px) {
  .qm-toast-stack--desktop{display:none!important}
  .qm-toast-stack {
    left: 12px;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 24px);
  }
  .qm-toast {
    min-height: 62px;
    border-radius: 15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .qm-toast {
    transition: opacity 120ms linear;
    transform: none;
  }
  .qm-toast__stage.is-current b {
    animation: none;
  }
}
.qm-qty-box {
  border: 1px solid var(--qm-primary);
  background: #fff;
}
.qm-qty-btn {
  border: 0 !important;
  background: #f8fafc;
  cursor: pointer !important;
}

.qm-qty-minus {
  background: var(--qm-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

.qm-qty-plus {
  background: var(--qm-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
}
.qm-add-cart-btn {
  border: 0 !important;
  background: #4e3c32 !important;
  color: #fff !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  cursor: pointer !important;
}
.qm-add-cart-btn:hover {
  opacity: 0.95;
}
.qm-add-cart-btn.is-disabled,
.qm-add-cart-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed !important;
  pointer-events: none;
  filter: grayscale(0.1);
}

.qm-cart-modal[hidden] {
  display: none !important;
}
.qm-cart-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
}
.qm-cart-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}
.qm-cart-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 520px);
  max-height: min(80vh, 700px);
  overflow: auto;
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}
.qm-cart-close {
  position: absolute;
  right: 10px;
  top: 8px;
  border: 0;
  font-size: 26px;
  cursor: pointer;
}
.qm-cart-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0;
}
.qm-cart-row {
  display: grid;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 8px;
}
.qm-cart-thumb {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
  background: #f3f4f6;
}

/* Responsive lazy images: reserve space and show a subtle loader until decoded. */
.qm-front-wrap img[loading="lazy"],
.qm-cart-modal img[loading="lazy"],
.qm-page-popup-modal img[loading="lazy"] {
  transition: opacity .28s ease;
}
.qm-front-wrap .qm-image-loading,
.qm-cart-modal .qm-image-loading,
.qm-page-popup-modal .qm-image-loading {
  opacity: 0;
}
.qm-card-media,
.qm-modal-magnifier-wrap,
.qm-modal-gallery-thumb,
.qm-cart-row--has-image,
.qm-menu-header__brand,
.qm-store-logo-wrap,
.qm-page-popup-slide,
.qm-hero-slide {
  position: relative;
}
.qm-card-media.qm-lazy-pending::before,
.qm-modal-magnifier-wrap.qm-lazy-pending::before,
.qm-modal-gallery-thumb.qm-lazy-pending::before,
.qm-cart-row--has-image.qm-lazy-pending::before,
.qm-menu-header__brand.qm-lazy-pending::before,
.qm-store-logo-wrap.qm-lazy-pending::before,
.qm-page-popup-slide.qm-lazy-pending::before,
.qm-hero-slide.qm-lazy-pending::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(100deg, #eee 20%, #f8f8f8 40%, #eee 60%);
  background-size: 220% 100%;
  animation: qmLazyShimmer 1.25s ease-in-out infinite;
}
.qm-cart-row--has-image.qm-lazy-pending::before {
  inset: auto;
  width: 56px;
  height: 56px;
}
.qm-hero-slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes qmLazyShimmer { to { background-position-x: -220%; } }
@media (prefers-reduced-motion: reduce) {
  .qm-front-wrap img[loading="lazy"], .qm-cart-modal img[loading="lazy"], .qm-page-popup-modal img[loading="lazy"] { transition: none; }
  .qm-front-wrap .qm-lazy-pending::before, .qm-cart-modal .qm-lazy-pending::before, .qm-page-popup-modal .qm-lazy-pending::before { animation: none; }
}

/* v1.39.0: bounded responsive hero and independently scrolling categories. */
.qm-front-wrap .qm-hero.qm-hero-slider {
  box-sizing: border-box !important;
  width: 100% !important;
  height: clamp(240px, 25vw, 350px) !important;
  min-height: 240px !important;
  max-height: 350px !important;
  overflow: hidden !important;
}
.qm-front-wrap .qm-hero-slides,
.qm-front-wrap .qm-hero-slide {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.qm-front-wrap .qm-hero-slide-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
@media (min-width: 768px) {
  .qm-front-wrap .qm-sidebar {
    top: 72px;
    max-height: calc(100vh - 92px);
    overflow: hidden;
  }
  .qm-front-wrap .qm-cat-list {
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--qm-primary) transparent;
  }
  .qm-front-wrap .qm-cat-list::-webkit-scrollbar { width: 6px; }
  .qm-front-wrap .qm-cat-list::-webkit-scrollbar-thumb {
    background: var(--qm-primary);
    border-radius: 999px;
  }
}
@media (max-width: 767px) {
  .qm-front-wrap .qm-hero.qm-hero-slider {
    height: clamp(180px, 56vw, 215px) !important;
    min-height: 180px !important;
    max-height: 215px !important;
  }
  .qm-front-wrap .qm-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .qm-front-wrap .qm-card-media {
    align-self: stretch !important;
    width: 92px !important;
    min-width: 92px !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: hidden;
    border-radius: 0;
  }
  .qm-front-wrap .qm-card-media-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .qm-front-wrap .qm-card-body {
    padding: 14px 12px !important;
  }
  .qm-front-wrap.qm-hide-card-image .qm-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* v1.39.4: desktop product image fills the full card height. */
@media (min-width: 768px) {
  .qm-front-wrap .qm-card {
    align-items: stretch !important;
  }
  .qm-front-wrap .qm-card-media {
    align-self: stretch !important;
    width: 150px !important;
    min-width: 150px !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: hidden;
    border-radius: 0;
  }
  .qm-front-wrap .qm-card-media-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* v1.39.3: cart images fill their complete grid column like product cards. */
#qm-cart-modal .qm-cart-row.qm-cart-row--has-image {
  min-height: 78px;
  padding: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}
#qm-cart-modal .qm-cart-row.qm-cart-row--has-counter.qm-cart-row--has-image {
  grid-template-columns: 40px 72px minmax(0, 1fr) 32px !important;
}
#qm-cart-modal .qm-cart-row.qm-cart-row--no-counter.qm-cart-row--has-image {
  grid-template-columns: 72px minmax(0, 1fr) 32px !important;
}
#qm-cart-modal .qm-cart-row--has-image .qm-cart-thumb {
  display: block;
  align-self: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 78px !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
#qm-cart-modal .qm-cart-row--has-image .qm-cart-qty-vertical { margin-left: 8px; align-self: center; }
#qm-cart-modal .qm-cart-row--has-image .qm-cart-meta { align-self: center; padding: 9px 0; }
#qm-cart-modal .qm-cart-row--has-image .qm-cart-remove { margin-right: 8px !important; }
#qm-cart-modal .qm-cart-row--has-counter.qm-lazy-pending::before {
  inset: 0 auto 0 50px;
  width: 72px;
  height: auto;
}
#qm-cart-modal .qm-cart-row--no-counter.qm-lazy-pending::before {
  inset: 0 auto 0 0;
  width: 72px;
  height: auto;
}
@media (max-width: 640px) {
  #qm-cart-modal .qm-cart-row.qm-cart-row--has-counter.qm-cart-row--has-image {
    grid-template-columns: 36px 64px minmax(0, 1fr) 30px !important;
  }
  #qm-cart-modal .qm-cart-row.qm-cart-row--no-counter.qm-cart-row--has-image {
    grid-template-columns: 64px minmax(0, 1fr) 30px !important;
  }
  #qm-cart-modal .qm-cart-row--has-counter.qm-lazy-pending::before {
    left: 44px;
    width: 64px;
  }
  #qm-cart-modal .qm-cart-row--no-counter.qm-lazy-pending::before { width: 64px; }
}
.qm-cart-meta {
  min-width: 0;
}
.qm-cart-title {
  font-weight: 700;
  margin-bottom: 4px;
}
.qm-cart-footer {
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}
.qm-card-tags + .qm-card-cart {
  margin-top: 10px;
}
.qm-card-desc + .qm-card-cart {
  margin-top: 10px;
}

/* card layout stabilization */
.qm-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.qm-card-media {
  width: 100%;
  min-width: 100%;
  height: 100%;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  align-self: start;
}
.qm-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.qm-card-title,
.qm-card-price,
.qm-card-desc,
.qm-card-tags,
.qm-card-cart {
  width: 100%;
}
.qm-card-title {
  margin: 0 0 6px;
  line-height: 1.15;
}
.qm-card-price {
  margin-bottom: 6px;
}
.qm-card-desc {
  margin: 0 0 8px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.qm-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.qm-card-cart {
  display: grid;
  margin-top: auto;
}
.qm-qty-box {
  display: grid;
  overflow: hidden;
}

.qm-discount-badge {
  z-index: 2;
}

@media (max-width: 767px) {
  .qm-card {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
  }
  .qm-card-cart {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
  }
  .qm-qty-box {
    width: 92px;
    min-width: 92px;
  }
}

/* qm-card-cart 35px compact layout */
.qm-card-cart {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 8px !important;
  min-height: 35px !important;
  height: auto !important;
  align-items: stretch !important;
}
.qm-qty-box {
  width: 82px !important;
  min-width: 82px !important;
  height: 35px !important;
  min-height: 35px !important;
  grid-template-columns: 26px 1fr 26px !important;
  border-radius: 10px !important;
}
.qm-qty-btn {
  min-height: 35px !important;
  height: 35px !important;
  line-height: 35px !important;
  font-size: 16px !important;
  padding: 0 !important;
}
.qm-qty-input {
  min-height: 35px !important;
  height: 35px !important;
  line-height: 35px !important;
  font-size: 14px !important;
  border: 0 !important;
  text-align: center;
  width: 100% !important;
  min-width: 0;
  padding: 0 4px !important;
}

/* Hide browser-native number spinners in every viewport. The custom
   minus/plus buttons remain available. */
.qm-qty-input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
  text-align: center !important;
}
.qm-qty-input[type="number"]::-webkit-inner-spin-button,
.qm-qty-input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
.qm-add-cart-btn {
  min-height: 35px !important;
  height: 35px !important;
  max-width: 135px;
  line-height: 35px !important;
  font-size: 14px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
@media (max-width: 767px) {
  .qm-card-cart {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }
}

.qm-modal-cart {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.qm-mobile-footer__icon-wrap {
  position: relative;
  overflow: visible !important;
}
.qm-cart-badge {
  display: inline-block !important;
  position: absolute !important;
  top: -7px !important;
  right: -9px !important;
  z-index: 5 !important;
}

.qm-card {
  position: relative;
}
.qm-card-cart-badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: calc(100% - 16px);
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(22, 163, 74, 0.28);
}
.qm-modal-cart-badge .dashicons {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
}

.qm-modal-cart-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}
.qm-modal-close {
  z-index: 30 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.qm-modal-media {
  position: relative;
  z-index: 1;
}
.qm-cart-qty-vertical {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0px;
  border: 2px solid var(--qm-primary);
  width: 30px;
  min-width: 30px;
}
.qm-cart-qty-value {
  min-width: 20px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}
.qm-cart-line-unit {
  color: #6b7280;
  font-size: 11px;
}

/* cart modal button override against theme button styles */
.qm-cart-modal button,
.qm-cart-modal [type="button"],
.qm-cart-modal [type="submit"] {
  background: transparent;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  text-align: center;
  transition: all 0.2s ease;
  user-select: none;
  white-space: nowrap;
  line-height: 1;
  min-width: auto;
  box-shadow: none;
}

.qm-cart-row {
  grid-template-columns: 40px 56px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  gap: 10px !important;
}
.qm-cart-sub {
  color: #6b7280;
  font-size: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  white-space: normal;
}

.qm-cart-code {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 4px;
}
.qm-cart-line-qty {
  font-weight: 600;
}
.qm-cart-line-total {
  font-weight: 700;
  color: #111827;
}
.qm-cart-qty-btn {
  width: 28px;
  height: 24px;
  min-width: 28px !important;
  min-height: 24px;
}

.qm-cart-qty-input {
  background: var(--qm-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

.qm-cart-qty-plus {
  background: var(--qm-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none !important;
  height: 16px !important;
  min-height: 16px !important;
}

.qm-cart-qty-minus {
  background: var(--qm-primary) !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none !important;
  height: 17px !important;
  min-height: 17px !important;
}

.qm-cart-remove {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  background: #fff !important;
  align-self: center !important;
  justify-self: end !important;
}
.qm-cart-close {
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  background: #000 !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .qm-cart-row {
    grid-template-columns: 36px 44px minmax(0, 1fr) 30px !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .qm-cart-remove {
    position: absolute;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }
}

.qm-card-cart-badge[hidden],
.qm-modal-cart-badge[hidden],
.qm-cart-badge[hidden] {
  display: none !important;
}

/* qm-lang-summary mobile stacking fix */
@media (max-width: 768px) {
  .qm-topbar {
    z-index: 5 !important;
  }

  .qm-lang-switcher,
  .qm-lang-dropdown {
    position: relative !important;
    z-index: 80 !important;
  }

  .qm-lang-summary {
    position: relative !important;
    z-index: 81 !important;
  }

  .qm-lang-menu {
    position: absolute !important;
    z-index: 82 !important;
  }

  .qm-hero-controls {
    z-index: 80 !important;
  }
}

/* qm-lang-summary stacking/context fix */
.qm-front-wrap,
.qm-hero,
.qm-hero-controls,
.qm-lang-switcher,
.qm-lang-dropdown,
.qm-lang-summary,
.qm-lang-menu {
  isolation: auto;
}

.qm-front-wrap {
  position: relative !important;
  z-index: 30 !important;
}

.qm-hero {
  position: relative !important;
  z-index: 31 !important;
  overflow: visible !important;
}

.qm-hero-controls {
  position: absolute !important;
  z-index: 120 !important;
  pointer-events: none;
}

.qm-hero-controls > * {
  pointer-events: auto;
}

.qm-lang-switcher {
  position: relative !important;
  z-index: 121 !important;
}

.qm-lang-dropdown {
  position: relative !important;
  z-index: 122 !important;
}

.qm-lang-summary {
  position: relative !important;
  z-index: 123 !important;
}

.qm-lang-menu {
  position: absolute !important;
  z-index: 124 !important;
}

.qm-topbar {
  z-index: 20 !important;
}

@media (max-width: 768px) {
  .qm-front-wrap {
    z-index: 30 !important;
  }
  .qm-hero {
    z-index: 31 !important;
    overflow: visible !important;
  }
  .qm-hero-controls {
    z-index: 120 !important;
  }
  .qm-topbar {
    z-index: 20 !important;
  }
}

.qm-cart-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.qm-cart-footer-total {
  display: flex;
  align-items: center;
  gap: 8px;
}
.qm-product-filter-modal[hidden] {
  display: none !important;
}
.qm-product-filter-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483500;
}
.qm-product-filter-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  opacity: 0;
  transition: opacity 0.22s ease;
}
.qm-product-filter-dialog {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: min(85vw, 420px);
  max-width: 85vw;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 10px 0 28px rgba(0, 0, 0, 0.18);
  transform: translateX(-100%);
  transition: transform 0.22s ease;
}
.qm-product-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid #ececec;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
}
.qm-product-filter-head h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.qm-product-filter-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.qm-product-filter-reset-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 11px;
  border: 0;
  border-radius: 999px;
  background: #d63638;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(214, 54, 56, 0.2);
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.qm-product-filter-reset-link:hover,
.qm-product-filter-reset-link:focus-visible {
  background: #b92527;
  color: #fff;
  box-shadow: 0 5px 14px rgba(214, 54, 56, 0.3);
  outline: 0;
  transform: translateY(-1px);
}
.qm-product-filter-close {
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.qm-product-filter-body {
  padding: 16px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.qm-filter-accordion {
  border: 1px solid #ececec;
}
.qm-filter-accordion-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: #ef1d1d;
  color: #fff;
  padding: 12px 14px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}
.qm-filter-accordion:not(.is-open) .qm-filter-accordion-toggle {
  background: #111;
}
.qm-filter-accordion-body {
  padding: 14px 12px;
  background: #fff;
}
.qm-filter-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 14px;
}
.qm-filter-option em {
  margin-left: auto;
  font-style: normal;
  color: #777;
  font-size: 12px;
}
.qm-price-range-filter {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.qm-price-range-filter__values {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #666;
}
.qm-price-range-filter__current {
  text-align: center;
  color: #111;
  font-size: 13px;
}
.qm-price-range-filter__sliders {
  position: relative;
  height: 38px;
  padding: 8px 0;
}
.qm-price-range-filter__sliders::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 16px;
  height: 4px;
  border-radius: 999px;
  background: #e5e7eb;
}
.qm-price-range-filter__sliders::after {
  content: "";
  position: absolute;
  top: 16px;
  height: 4px;
  border-radius: 999px;
  background: var(--qm-primary, #ef1d1d);
  left: var(--qm-range-left, 0%);
  right: calc(100% - var(--qm-range-right, 100%));
}
.qm-price-range-input {
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 15px;
  width: 100%;
  margin: 0;
  background: transparent;
  z-index: 1;
}
.qm-price-range-input::-webkit-slider-runnable-track {
  height: 4px;
  background: transparent;
  border: 0;
}
.qm-price-range-input::-moz-range-track {
  height: 4px;
  background: transparent;
  border: 0;
}
.qm-price-range-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--qm-primary, #ef1d1d);
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  pointer-events: auto;
  margin-top: -7px;
  position: relative;
  z-index: 3;
}
.qm-price-range-input::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--qm-primary, #ef1d1d);
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 3;
}
.qm-price-range-input.is-active {
  z-index: 2;
}
.qm-product-filter-footer {
  display: flex;
  gap: 10px;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #ececec;
  background: #fff;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.qm-filter-btn {
  flex: 1;
  border-radius: 8px;
  padding: 10px 14px;
  cursor: pointer;
  border: 1px solid #d0d0d0;
  background: #f5f5f5;
  font-weight: 600;
  color: #000;
}
.qm-filter-btn--primary {
  background: var(--qm-primary, #ef1d1d);
  border-color: var(--qm-primary, #ef1d1d);
  color: #fff;
}
.qm-filter-btn:disabled {
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.25);
}
.qm-product-filter-modal.is-visible .qm-product-filter-backdrop {
  opacity: 1;
}
.qm-product-filter-modal.is-visible .qm-product-filter-dialog {
  transform: translateX(0);
}
body.qm-product-filter-open {
  overflow: hidden;
}
@media (max-width: 640px) {
  .qm-product-filter-dialog {
    width: 85vw;
    max-width: 85vw;
  }
}
.qm-mobile-footer {
  z-index: 9999 !important;
}

.qm-hero-slider {
  position: relative;
  overflow: hidden;
  background: none !important;
}
.qm-hero-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.qm-hero-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.45s ease;
}
.qm-hero-slide.is-active {
  opacity: 1;
}
.qm-hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  border: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.38);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: Arial, sans-serif;
  line-height: 1;
  text-align: center;
}
.qm-hero-prev {
  left: 16px;
}
.qm-hero-next {
  right: 16px;
}
.qm-hero-dots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 8px;
}
.qm-hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  padding: 0;
}
.qm-hero-dot.is-active {
  background: #fff;
}
@media (max-width: 767px) {
  .qm-hero-nav {
    width: 25px;
    height: 25px;
    padding: 0;
    font-size: 12px;
  }
  .qm-hero-prev {
    left: 10px;
  }
  .qm-hero-next {
    right: 10px;
  }
}

/* ===== Page popup ===== */
.qm-page-popup-modal[hidden] {
  display: none !important;
}
.qm-page-popup-modal {
  position: fixed;
  inset: 0;
  z-index: 10030;
}
.qm-page-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.qm-page-popup-dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 720px);
  margin: 5vh auto;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.qm-page-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgb(0 0 0 / 80%);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.qm-page-popup-slider {
  position: relative;
}
.qm-page-popup-slides {
  position: relative;
  overflow: hidden;
  background: #111;
}
.qm-page-popup-slide {
  display: none;
}
.qm-page-popup-slide.is-active {
  display: block;
}
.qm-page-popup-slide img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 80vh;
  object-fit: cover;
}
.qm-page-popup-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  border: 0;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgb(0 0 0 / 68%);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: Arial, sans-serif;
  line-height: 1;
  text-align: center;
}
.qm-page-popup-prev {
  left: 12px;
}
.qm-page-popup-next {
  right: 12px;
}
.qm-page-popup-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 4;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.qm-page-popup-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}
.qm-page-popup-dot.is-active {
  background: #fff;
}

@media (max-width: 767px) {
  .qm-page-popup-dialog {
    width: min(94vw, 680px);
    margin: 8vh auto;
    border-radius: 14px;
  }
  .qm-page-popup-close {
    width: 23px;
    height: 23px;
    font-size: 15px;
  }
  .qm-page-popup-nav {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }
}

.qm-page-popup-slide.has-product-link,
.qm-page-popup-slide.has-product-link img {
  cursor: pointer;
}

.qm-lang-gate-wrap {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 24px 0;
  box-sizing: border-box;
  background-color: #fbf2e4;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(82, 62, 51, 0.045) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 72%, rgba(82, 62, 51, 0.04) 0 3px, transparent 4px),
    linear-gradient(145deg, rgba(255,255,255,0.42), transparent 58%);
  background-size: 54px 54px, 76px 76px, 100% 100%;
}
.qm-lang-gate {
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  box-sizing: border-box;
}
.qm-lang-gate-wrap > .qm-powered-by {
  flex: 0 0 auto;
  width: calc(100% + 48px);
  margin: 0 -24px;
  box-sizing: border-box;
}
.qm-lang-gate__card {
  width: min(100%, 520px);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.qm-lang-gate__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
}
.qm-lang-gate__logo {
  display: block;
  max-width: min(100%, 240px);
  max-height: 150px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.qm-lang-gate__title {
  margin: 0;
  color: var(--qm-text, #523e33);
  font-size: 26px;
  line-height: 1.2;
  text-align: center;
}
.qm-lang-gate__heading {
  margin: 0 0 22px;
  text-align: center;
}
.qm-lang-gate__subtitle {
  margin: 6px 0 0;
  color: rgba(82, 62, 51, 0.62);
  font-size: 14px;
  font-weight: 600;
}
.qm-lang-gate__options {
  display: grid;
  gap: 12px;
}
.qm-lang-gate__option {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    border-color 0.15s ease;
}
.qm-lang-gate__option:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--qm-primary, #111);
}
.qm-lang-gate__option:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--qm-primary, #523e33) 25%, transparent);
  outline-offset: 2px;
}
.qm-lang-gate__flag {
  border-radius: 6px;
  flex: 0 0 auto;
}
.qm-lang-gate__name {
  font-weight: 700;
  flex: 1 1 auto;
}
.qm-lang-gate__code {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  opacity: 0.68;
}
.qm-lang-gate__arrow {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--qm-primary, #523e33);
  background: color-mix(in srgb, var(--qm-primary, #523e33) 9%, #fff);
  font-size: 14px;
  transition: transform 0.15s ease;
}
.qm-lang-gate__option:hover .qm-lang-gate__arrow { transform: translateX(2px); }

@media (max-width: 767px) {
  .qm-lang-gate-wrap {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 0 16px;
  }
  .qm-lang-gate {
    padding: 24px 0;
  }
  .qm-lang-gate-wrap > .qm-powered-by {
    width: calc(100% + 32px);
    margin: 0 -16px;
  }
  .qm-lang-gate__card {
    padding: 22px 18px;
    border-radius: 18px;
  }
  .qm-lang-gate__logo {
    max-width: min(100%, 200px);
    max-height: 150px;
  }
  .qm-lang-gate__title {
    font-size: 24px;
  }
  .qm-lang-gate__option {
    padding: 12px 14px;
  }
}

/* Product modal gallery */
.qm-modal-gallery {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.qm-modal-gallery-main {
  position: relative;
  flex: 1;
  min-height: 360px;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  width: 100%;
}
.qm-modal-gallery-stage {
  position: relative;
  isolation: isolate;
  height: 100%;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  overflow: hidden;
}
.qm-modal-gallery-stage::before {
  content: "";
  position: absolute;
  inset: -24px;
  z-index: -1;
  background-image: var(--qm-gallery-bg);
  background-size: cover;
  background-position: center;
  filter: blur(24px) saturate(1.12);
  transform: scale(1.08);
  opacity: .22;
}
.qm-modal-gallery-image {
  display: block;
  width: 300px;
  height: 300px !important;
  object-fit: contain;
}
.qm-modal-gallery-thumbs {
  width: 72px;
  height: 360px;
  max-height: 360px;
  box-sizing: border-box;
  flex: 0 0 72px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  cursor: grab;
  touch-action: pan-x;
}
.qm-modal-gallery-thumbs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.qm-modal-gallery-thumbs.is-dragging {
  cursor: grabbing;
  user-select: none;
}
.qm-modal-gallery-thumb {
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
  flex: 0 0 66px;
  width: 66px;
  height: 66px;
  min-width: 66px;
  min-height: 66px;
  max-width: 66px;
  max-height: 66px;
}
.qm-modal-gallery-thumb.is-active {
  border-color: var(--qm-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--qm-primary) 15%, transparent);
}
.qm-modal-gallery-thumb img {
  display: block;
  width: 100%;
  height: 64px;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.qm-modal-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  font-family: Arial, sans-serif;
  font-size: 20px;
  text-align: center;
}
.qm-modal-gallery-prev {
  left: 12px;
}
.qm-modal-gallery-next {
  right: 12px;
}
.qm-modal-gallery.has-gallery {
  background: none !important;
}
@media (max-width: 767px) {
  .qm-modal-gallery {
    flex-direction: column;
  }
  .qm-modal-gallery-main,
  .qm-modal-gallery-stage {
    min-height: 280px;
  }
  .qm-modal-gallery-thumbs {
    width: 100%;
    height: auto;
    max-height: none;
    flex: 0 0 auto;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 4px;
    scroll-snap-type: none;
    touch-action: pan-y;
  }
  .qm-modal-gallery-thumb {
    flex: 0 0 66px;
    touch-action: pan-y;
  }
  .qm-modal-gallery-thumb img {
    pointer-events: none;
    touch-action: pan-y;
  }
}

/* ===== v14-10 product modal: cart modal style sizing ===== */
.qm-modal {
  padding: 16px;
  box-sizing: border-box;
}

.qm-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 820px);
  max-height: min(80vh, 760px);
  margin: 5vh auto;
  overflow: auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

.qm-modal-content {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.qm-modal-body {
  padding: 16px 16px 24px;
}

@media (max-width: 767px) {
  .qm-modal {
    padding: 12px;
  }

  .qm-modal-dialog {
    width: min(92vw, 520px);
    max-height: min(80vh, 700px);
    margin: 4vh auto;
    border-radius: 18px;
  }
}

/* Tek görselde carousel hissini azalt */
.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-main {
  border: none;
  border-radius: 0;
  min-height: auto;
}

.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-stage {
  min-height: auto;
}

.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-image {
  max-height: min(52vh, 420px);
}

/* v14-11 scroll fix */
.qm-modal,
.qm-modal-dialog,
.qm-modal-content,
.qm-modal-body {
  overflow-x: hidden !important;
}

.qm-modal-body {
  overflow-y: auto;
}

/* v14-12 swipe affordance */
.qm-modal-gallery-stage,
.qm-hero-slider,
#qm-page-popup-modal .qm-page-popup-dialog,
#qm-page-popup-modal .qm-page-popup-content {
  touch-action: pan-y;
}

/* v14-13 mobile overflow + wrapping fix */
@media (max-width: 767px) {
  html,
  body,
  .qm-wrap,
  .qm-menu-page,
  .qm-menu-container,
  .qm-content,
  .qm-modal,
  .qm-modal-dialog,
  .qm-modal-content,
  .qm-modal-body,
  .qm-product-card,
  .qm-product-content,
  .qm-product-desc,
  .qm-product-title,
  .qm-product-tags,
  .qm-banner-slider,
  .qm-banner-slide,
  .qm-popup-slider,
  .qm-popup-slide {
    max-width: 100%;
  }

  body,
  .qm-wrap,
  .qm-menu-page,
  .qm-menu-container,
  .qm-content,
  .qm-modal,
  .qm-modal-dialog,
  .qm-modal-content,
  .qm-modal-body {
    overflow-x: hidden !important;
  }

  .qm-product-title,
  .qm-product-desc,
  .qm-product-tags,
  .qm-modal-title,
  .qm-modal-desc,
  .qm-store-bio,
  .qm-popup-content,
  .qm-cart-item-name,
  .qm-cart-item-note,
  .qm-category-chip,
  .qm-sidebar a,
  .qm-topbar * {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  img,
  video,
  iframe,
  canvas,
  svg {
    max-width: 100%;
    height: auto;
  }
}

/* v14-14 hide gallery arrows for single-image products */
.qm-modal-gallery:not(.has-gallery) .qm-gallery-prev,
.qm-modal-gallery:not(.has-gallery) .qm-gallery-next,
.qm-modal-gallery:not(.has-gallery) .qm-modal-prev,
.qm-modal-gallery:not(.has-gallery) .qm-modal-next,
.qm-modal-gallery:not(.has-gallery) .qm-prev,
.qm-modal-gallery:not(.has-gallery) .qm-next,
.qm-modal-gallery:not(.has-gallery) .swiper-button-prev,
.qm-modal-gallery:not(.has-gallery) .swiper-button-next {
  display: none !important;
}

/* v14-15 single-image gallery arrows hard fix */
.qm-modal-gallery-nav[hidden] {
  display: none !important;
}
.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-nav,
.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-prev,
.qm-modal-gallery:not(.has-gallery) .qm-modal-gallery-next {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.qm-product-code {
  font-size: 12px;
  color: #888;
  margin-top: 2px;
}
.qm-modal-product-code {
  font-size: 13px;
  color: #999;
  margin-top: 4px;
}

/* v11 general visibility controls */
.qm-hide-global-banner .qm-hero {
  display: none !important;
}
.qm-hide-global-search .qm-search-wrap {
  display: none !important;
}

.qm-hide-card-product_code .qm-card .qm-product-code {
  display: none !important;
}
.qm-hide-card-price .qm-card .qm-card-price {
  display: none !important;
}
.qm-hide-card-description .qm-card .qm-card-desc {
  display: none !important;
}
.qm-hide-card-image .qm-card .qm-card-media {
  display: none !important;
}
.qm-hide-card-tags .qm-card .qm-card-tags {
  display: none !important;
}
.qm-hide-card-counter .qm-card .qm-qty-box {
  display: none !important;
}
.qm-hide-card-add_to_cart .qm-card .qm-add-cart-btn {
  display: none !important;
}
.qm-hide-card-counter.qm-hide-card-add_to_cart .qm-card .qm-card-cart {
  display: none !important;
}

.qm-hide-modal-product_code #qm-modal .qm-modal-product-code {
  display: none !important;
}
.qm-hide-modal-price #qm-modal .qm-modal-price {
  display: none !important;
}
.qm-hide-modal-description #qm-modal .qm-modal-desc {
  display: none !important;
}
.qm-hide-modal-image #qm-modal .qm-modal-media {
  display: none !important;
}
.qm-hide-modal-tags #qm-modal .qm-modal-tags {
  display: none !important;
}
.qm-hide-modal-counter #qm-modal .qm-qty-box {
  display: none !important;
}
.qm-hide-modal-add_to_cart #qm-modal .qm-modal-add-cart {
  display: none !important;
}
.qm-hide-modal-counter.qm-hide-modal-add_to_cart #qm-modal .qm-modal-cart {
  display: none !important;
}

.qm-front-notice {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -54%);
  z-index: 1000001;
  width: min(92vw, 520px);
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
}
.qm-front-notice.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%);
}
.qm-front-notice.is-success {
  background: #08b15a;
  color: #fff;
}
.qm-front-notice.is-error {
  background: #dc2626;
  color: #fff;
}
.qm-front-notice__icon {
  width: 76px;
  min-width: 76px;
  height: 76px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.14);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}
.qm-front-notice__icon span {
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
}
.qm-front-notice__content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.qm-front-notice__title {
  font-size: 32px;
  line-height: 1.05;
  font-weight: 800;
}
.qm-front-notice__message {
  font-size: 20px;
  line-height: 1.35;
  font-weight: 600;
}
@media (max-width: 640px) {
  .qm-front-notice {
    width: min(92vw, 420px);
    gap: 14px;
    padding: 18px 18px;
    border-radius: 24px;
  }
  .qm-front-notice__icon {
    width: 64px;
    min-width: 64px;
    height: 64px;
  }
  .qm-front-notice__icon span {
    font-size: 34px;
  }
  .qm-front-notice__title {
    font-size: 26px;
  }
  .qm-front-notice__message {
    font-size: 17px;
  }
}

.qm-phone-input-wrap {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}
.qm-phone-code-picker {
  position: relative;
  flex: 0 0 108px;
  min-width: 108px;
  z-index: 4;
}
.qm-phone-code-toggle {
  width: 100%;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #d9d9e3;
  border-radius: 2px;
  background: #fff;
  color: #222;
  cursor: pointer;
  font: inherit;
  line-height: 1;
}
.qm-phone-code-flag,
.qm-phone-code-option-flag {
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 1px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
  flex: 0 0 auto;
}
.qm-phone-code-current {
  font-size: 15px;
  color: #222;
  white-space: nowrap;
}
.qm-phone-code-arrow {
  margin-left: auto;
  color: #4b37b8;
  font-size: 17px;
  line-height: 1;
}
.qm-phone-code-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 9999;
  width: 285px;
  max-width: min(82vw, 320px);
  max-height: 260px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #d9d9e3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
  display: none;
}
.qm-phone-code-picker.is-open .qm-phone-code-menu {
  display: block;
}
.qm-phone-code-option {
  width: 100%;
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 9px 8px;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: #222;
}
.qm-phone-code-option:hover,
.qm-phone-code-option.is-selected {
  background: #f3f3f8;
}
.qm-phone-code-option-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.qm-phone-code-option-dial {
  font-size: 13px;
  color: #555;
  white-space: nowrap;
}
@media (max-width: 420px) {
  .qm-phone-input-wrap {
    gap: 8px;
  }
  .qm-phone-code-picker {
    flex-basis: 106px;
    min-width: 106px;
  }
  .qm-phone-code-toggle {
    padding: 0 10px;
  }
  .qm-phone-code-menu {
    width: 280px;
  }
}

/* System toggles: Fiyat Sistemi / Adet Sistemi */
.qm-front-wrap.qm-price-system-disabled .qm-card-price,
.qm-front-wrap.qm-price-system-disabled .qm-modal-price,
body .qm-price-system-disabled .qm-cart-footer-vat,
body .qm-price-system-disabled .qm-cart-footer-total,
body .qm-price-system-disabled .qm-cart-line-total,
body .qm-price-system-disabled .qm-cart-line-unit {
  display: none !important;
}

/* Design settings: general values flow into card/modal variables; enabled
   section overrides are resolved server-side before these rules run. */
.qm-front-wrap .qm-card .qm-card-title {
  color: var(--qm-card-title-color) !important;
  font-size: var(--qm-card-title-size) !important;
}
.qm-front-wrap .qm-card .qm-card-desc {
  color: var(--qm-card-description-color) !important;
  font-size: var(--qm-card-description-size) !important;
}
.qm-front-wrap .qm-card .qm-tag {
  background: var(--qm-card-tag-background) !important;
  color: var(--qm-card-tag-color) !important;
}
.qm-front-wrap .qm-card .qm-qty-minus,
.qm-front-wrap .qm-card .qm-qty-plus {
  background: var(--qm-card-counter-background) !important;
}
.qm-front-wrap .qm-card .qm-qty-minus:hover,
.qm-front-wrap .qm-card .qm-qty-plus:hover {
  background: var(--qm-card-counter-hover) !important;
}
.qm-front-wrap .qm-card .qm-add-cart-btn {
  background: var(--qm-card-cart-background) !important;
  color: var(--qm-card-cart-color) !important;
}
.qm-front-wrap .qm-card .qm-add-cart-btn:hover {
  background: var(--qm-card-cart-hover) !important;
  color: var(--qm-card-cart-color) !important;
  opacity: 1;
}

.qm-front-wrap #qm-modal .qm-modal-title {
  color: var(--qm-modal-title-color) !important;
  font-size: var(--qm-modal-title-size) !important;
}
.qm-front-wrap #qm-modal .qm-modal-desc {
  color: var(--qm-modal-description-color) !important;
  font-size: var(--qm-modal-description-size) !important;
}
.qm-front-wrap #qm-modal .qm-modal-tags .qm-tag {
  background: var(--qm-modal-tag-background) !important;
  color: var(--qm-modal-tag-color) !important;
}
.qm-front-wrap #qm-modal .qm-qty-minus,
.qm-front-wrap #qm-modal .qm-qty-plus {
  background: var(--qm-modal-counter-background) !important;
}
.qm-front-wrap #qm-modal .qm-qty-minus:hover,
.qm-front-wrap #qm-modal .qm-qty-plus:hover {
  background: var(--qm-modal-counter-hover) !important;
}
.qm-front-wrap #qm-modal .qm-add-cart-btn {
  background: var(--qm-modal-cart-background) !important;
  color: var(--qm-modal-cart-color) !important;
}
.qm-front-wrap #qm-modal .qm-add-cart-btn:hover {
  background: var(--qm-modal-cart-hover) !important;
  color: var(--qm-modal-cart-color) !important;
  opacity: 1;
}
.qm-front-wrap #qm-modal .qm-modal-badge {
  background: var(--qm-modal-badge-background) !important;
}
.qm-front-wrap #qm-modal .qm-modal-badge:hover {
  background: var(--qm-modal-badge-hover) !important;
}
.qm-front-wrap #qm-modal .qm-modal-close {
  background: var(--qm-modal-close-background) !important;
  color: var(--qm-modal-close-color) !important;
}
.qm-front-wrap #qm-modal .qm-modal-close:hover {
  background: var(--qm-modal-close-hover) !important;
  color: var(--qm-modal-close-color) !important;
}

.qm-front-wrap ~ .qm-mobile-footer,
.qm-mobile-footer {
  background: var(--qm-bottom-background, #fff) !important;
}
.qm-mobile-footer .dashicons {
  color: var(--qm-bottom-icon-color, #6b7280) !important;
}
.qm-mobile-footer .qm-mobile-footer__label {
  color: var(--qm-bottom-title-color, #6b7280) !important;
}

/* Active frontend filter bubbles */
.qm-active-filter-bubbles[hidden] {
  display: none !important;
}
.qm-active-filter-bubbles {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 8px 2px 10px;
  margin: -2px 0 10px;
  white-space: nowrap;
}
.qm-active-filter-bubble {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 82vw;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  color: #222;
  border-radius: 999px;
  padding: 7px 10px 7px 12px;
  font-size: 13px;
  line-height: 1;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
  cursor: pointer;
}
.qm-active-filter-bubble span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.qm-active-filter-bubble em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 50%;
  background: var(--qm-primary, #ef1d1d);
  color: #fff;
  font-style: normal;
  font-size: 14px;
  line-height: 18px;
}

/* v61 header language bar + agency credit */
.qm-menu-header {
  width: 100%;
  min-height: 52px;
  padding: 10px 18px;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-sizing: border-box;
}
.qm-menu-header__inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
}
.qm-menu-header__brand {
  display: flex;
  align-items: center;
  min-width: 0;
}
.qm-menu-header__share {
  display: none;
}
.qm-menu-header__logo {
  display: block;
  max-height: 34px;
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.qm-menu-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.qm-desktop-header-actions { display:flex; align-items:center; gap:8px; }
.qm-header-tool,.qm-header-cart-trigger { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 12px; border:1px solid rgba(15,23,42,.11); border-radius:12px; background:#fff; color:var(--qm-text); font-weight:700; cursor:pointer; transition:.18s ease; }
.qm-header-tool:hover,.qm-header-tool:focus-visible,.qm-header-cart-trigger:hover,.qm-header-cart-trigger:focus-visible { border-color:var(--qm-primary); color:var(--qm-primary); box-shadow:0 5px 16px rgba(15,23,42,.08); outline:none; }
.qm-header-cart-wrap { position:relative; }
.qm-header-cart-dropdown { position:absolute; top:calc(100% + 10px); right:0; width:310px; padding:10px; border:1px solid rgba(15,23,42,.1); border-radius:16px; background:#fff; box-shadow:0 18px 42px rgba(15,23,42,.18); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-4px); transition:.18s ease; }
.qm-header-cart-wrap:hover .qm-header-cart-dropdown,.qm-header-cart-wrap:focus-within .qm-header-cart-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.qm-header-cart-preview-item { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:8px; padding:7px 4px; border-bottom:1px solid #eef0f3; font-size:12px; }
.qm-header-cart-preview-item img { width:40px; height:40px; border-radius:8px; object-fit:cover; }
.qm-header-cart-preview-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qm-header-cart-preview-item small { color:#6b7280; }
.qm-header-cart-preview-empty { padding:16px 8px; color:#6b7280; text-align:center; font-size:13px; }
.qm-header-cart-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:9px; font-weight:700; }
.qm-header-cart-preview-footer button { border:0; border-radius:9px; padding:7px 10px; background:var(--qm-primary); color:#fff; cursor:pointer; }
.qm-scroll-top { position:fixed; right:22px; bottom:24px; z-index:9997; width:42px; height:42px; border:1px solid rgba(15,23,42,.12); border-radius:50%; background:#fff; color:var(--qm-primary); box-shadow:0 10px 24px rgba(15,23,42,.14); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.qm-scroll-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
@media (max-width:767px) { .qm-desktop-header-actions,.qm-scroll-top { display:none !important; } }
.qm-menu-header__left-tools { display:none; }
@media (min-width:768px) {
  .qm-mobile-footer { display:none !important; }
  .qm-scroll-top { opacity:1; visibility:visible; transform:none; }
  .qm-menu-header__inner { position:relative; min-height:42px; }
  .qm-menu-header__left-tools { display:flex; align-items:center; gap:8px; margin-right:auto; }
  .qm-menu-header__brand { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
  .qm-menu-header__actions { margin-left:auto; }
  .qm-mobile-header-actions { display:none; }
  .qm-menu-header .qm-lang-switcher,
  .qm-menu-header .qm-lang-dropdown { width:auto !important; min-width:0 !important; height:38px !important; min-height:38px !important; box-sizing:border-box; }
  .qm-menu-header .qm-lang-summary { display:flex; align-items:center; justify-content:center; width:78px !important; min-width:78px !important; height:38px !important; min-height:38px !important; padding:0 24px 0 10px !important; border-radius:12px; }
  .qm-menu-header .qm-lang-summary-text { display:flex; align-items:center; justify-content:center; line-height:1; }
  .qm-menu-header .qm-lang-summary-text > span { display:inline !important; margin-left:5px; font-size:12px; font-weight:700; letter-spacing:.02em; }
  .qm-menu-header .qm-lang-summary .qm-flag-icon { width:20px; height:15px; margin:0; }
}
@media (max-width:767px) { .qm-menu-header__left-tools { display:none !important; } }
.qm-mobile-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.qm-mobile-header-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--qm-text);
  cursor: pointer;
}
.qm-mobile-header-action:hover,
.qm-mobile-header-action:focus-visible {
  background: var(--qm-gray-50);
  color: var(--qm-primary);
  outline: none;
}
.qm-mobile-header-action .dashicons {
  width: 22px;
  height: 22px;
  font-size: 22px;
  line-height: 22px;
}
.qm-mobile-header-action .qm-cart-badge {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 10px;
  line-height: 16px;
}
.qm-menu-header .qm-lang-switcher {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 70 !important;
}
.qm-menu-header .qm-lang-dropdown {
  position: relative !important;
}
.qm-menu-header .qm-lang-summary {
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
}
.qm-menu-header .qm-lang-menu {
  right: 0;
  left: auto;
  z-index: 80;
}
.qm-hero-controls {
  display: none !important;
}
.qm-powered-by {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 22px clamp(18px, 4vw, 48px);
  text-align: center;
  color: #6f625b;
  background: linear-gradient(180deg, #fff 0%, #faf8f6 100%);
  border-top: 1px solid rgba(82, 62, 51, 0.08);
}
.qm-powered-by__line {
  width: min(150px, 12vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(82, 62, 51, 0.22));
}
.qm-powered-by__line:last-child {
  transform: scaleX(-1);
}
.qm-powered-by__content {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.qm-powered-by__label {
  color: #91847d;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.qm-powered-by__brand {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: auto;
  height: auto;
  min-height: 36px;
  padding: 0 11px 0 0;
  box-sizing: border-box;
  color: #523e33;
  background: #fff;
  border: 1px solid rgba(82, 62, 51, 0.14);
  border-radius: 999px;
  box-shadow: 0 5px 16px rgba(82, 62, 51, 0.08);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.qm-powered-by__mark {
  display: inline-grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin: -1px 0 -1px -1px;
  color: #fff;
  background: #FF9800;
  border-radius: 50%;
  line-height: 1;
}
.qm-powered-by__mark svg {
  display: block;
  width: 19px;
  height: 19px;
  overflow: visible;
}
.qm-powered-by__mark path {
  fill: none;
  stroke: currentColor;
  stroke-width: 6;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.qm-powered-by__mark circle {
  fill: currentColor;
}
.qm-powered-by__name {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}
.qm-powered-by__arrow {
  color: #b99672;
  font-size: 14px;
  line-height: 1;
  transition: transform 180ms ease;
}
.qm-powered-by__brand:hover,
.qm-powered-by__brand:focus-visible {
  color: #523e33;
  border-color: rgba(82, 62, 51, 0.32);
  box-shadow: 0 8px 22px rgba(82, 62, 51, 0.14);
  outline: none;
  transform: translateY(-2px);
}
.qm-powered-by__brand:hover .qm-powered-by__arrow,
.qm-powered-by__brand:focus-visible .qm-powered-by__arrow {
  transform: translate(2px, -2px);
}
@media (max-width: 767px) {
  .qm-menu-header {
    min-height: 48px;
    padding: 8px 12px;
    position: relative;
    top: auto;
    z-index: 60;
  }
  .qm-menu-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    max-width: none;
    min-height: 0;
    gap: 10px;
  }
  .qm-menu-header__share {
    grid-column: 1;
    justify-self: start;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    box-sizing: border-box;
    padding: 0;
    color: var(--qm-text, #523e33);
    background: #fff;
    border: 1px solid rgba(82, 62, 51, 0.14);
    border-radius: 50%;
    box-shadow: 0 4px 14px rgba(82, 62, 51, 0.09);
    cursor: pointer;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
  }
  .qm-menu-header__share svg {
    display: block;
    fill: #fff;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .qm-menu-header__share:hover,
  .qm-menu-header__share:focus-visible {
    color: var(--qm-text, #523e33);
    background: #fff;
    border-color: rgba(82, 62, 51, 0.3);
    box-shadow: 0 6px 18px rgba(82, 62, 51, 0.14);
    outline: none;
  }
  .qm-menu-header__share.is-copied {
    color: #fff;
    background: #16a34a;
    border-color: #16a34a;
  }
  .qm-menu-header__brand,
  .qm-menu-header--single-language .qm-menu-header__brand {
    grid-column: 2;
    justify-self: center;
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    transform: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 0;
    max-width: calc(100% - 24px);
  }
  .qm-menu-header--single-language .qm-menu-header__actions {
    margin-left: 0;
  }
  .qm-menu-header__actions {
    grid-column: 3;
    justify-self: end;
    align-self: center;
    margin-left: 0;
    min-width: 0;
  }
  .qm-menu-header .qm-lang-switcher,
  .qm-menu-header .qm-lang-dropdown,
  .qm-menu-header .qm-lang-summary {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box;
  }
  .qm-menu-header .qm-lang-switcher,
  .qm-menu-header .qm-lang-dropdown {
    display: block;
  }
  .qm-menu-header .qm-lang-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    color: var(--qm-text, #523e33);
    background: #fff;
    border: 1px solid rgba(82, 62, 51, 0.14);
    border-radius: 50%;
    box-shadow: 0 4px 14px rgba(82, 62, 51, 0.09);
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
  }
  .qm-menu-header .qm-lang-summary-text {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    transform: translateY(-3px);
  }
  .qm-menu-header .qm-lang-summary-text > span {
    display: none;
  }
  .qm-menu-header .qm-lang-summary .qm-flag-icon {
    display: block;
    width: 20px;
    height: 15px;
    margin: 0;
    border-radius: 2px;
    object-fit: cover;
  }
  .qm-menu-header .qm-lang-summary::after {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 5px;
    width: 7px;
    height: 5px;
    margin: 0;
    background-size: 7px 5px;
    transform: translateX(-50%);
  }
  .qm-menu-header .qm-lang-dropdown[open] .qm-lang-summary,
  .qm-menu-header .qm-lang-summary:hover,
  .qm-menu-header .qm-lang-summary:focus-visible {
    color: var(--qm-text, #523e33);
    background: #fff;
    border-color: rgba(82, 62, 51, 0.3);
    box-shadow: 0 6px 18px rgba(82, 62, 51, 0.14);
    outline: none;
  }
  .qm-menu-header .qm-lang-menu {
    top: calc(100% + 8px);
  }
  .qm-front-wrap .qm-menu-header__logo {
    display: block;
    width: auto !important;
    height: auto !important;
    max-height: 200px;
    max-width: 150px;
    object-fit: contain;
  }
  .qm-mobile-header-actions {
    display: none;
  }
  .qm-topbar {
    top: 0;
    z-index: 5;
  }
  .qm-powered-by {
    gap: 10px;
    padding: 14px 12px calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .qm-powered-by__line {
    flex: 1 1 auto;
    width: auto;
    min-width: 12px;
  }
  .qm-powered-by__content {
    gap: 7px;
  }
  .qm-powered-by__label {
    font-size: 8px;
  }
  .qm-powered-by__brand {
    width: auto;
    height: auto;
    min-height: 32px;
    gap: 6px;
    padding: 0 9px 0 0;
  }
  .qm-powered-by__mark {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    margin: -1px 0 -1px -1px;
  }
  .qm-powered-by__name {
    font-size: 11px;
  }
}

/* Quick Menü 1.40.1: product/store modals follow the cart modal system. */
#qm-modal,
#qm-store-modal {
  z-index: 10020 !important;
}
#qm-modal .qm-modal-backdrop,
#qm-store-modal .qm-store-backdrop {
  background: rgba(15, 23, 42, 0.55) !important;
}
#qm-modal .qm-modal-dialog,
#qm-store-modal .qm-store-dialog {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  max-height: min(92vh, 780px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18) !important;
}
#qm-modal .qm-modal-dialog {
  width: min(92vw, 820px) !important;
}
#qm-store-modal .qm-store-dialog {
  width: min(92vw, 520px) !important;
}
#qm-modal .qm-modal-header,
#qm-store-modal .qm-store-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  min-height: 45px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(8px);
}
#qm-store-modal .qm-store-header h3 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  text-align: left !important;
}
#qm-modal .qm-modal-close,
#qm-store-modal .qm-store-close {
  position: static !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
#qm-modal .qm-modal-scroll,
#qm-store-modal .qm-store-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  -webkit-overflow-scrolling: touch;
}
#qm-store-modal .qm-store-body {
  padding: 16px !important;
}
#qm-store-modal .qm-store-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1) !important;
  backdrop-filter: blur(8px);
}
#qm-store-modal .qm-store-website-btn {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
@media (max-width: 640px) {
  #qm-modal .qm-modal-dialog,
  #qm-store-modal .qm-store-dialog {
    width: 95vw !important;
    min-width: 95vw !important;
    height: 80vh !important;
    max-height: 80vh !important;
    border-radius: 18px !important;
  }
}

/* v63: arama sirasinda ana urun ve sonuc alani blur efekti */
#qm-sections,
#qm-results {
  transition:
    filter 0.18s ease,
    opacity 0.18s ease;
}
#qm-sections.is-searching,
#qm-results.is-searching {
  filter: blur(3px);
  opacity: 0.72;
  pointer-events: none;
}

/* Quick Menü 1.37.3: filter requests use the same visual feedback as search. */
#qm-sections.is-filtering,
#qm-results.is-filtering,
#qm-search.is-filtering {
  filter: blur(3px);
  opacity: 0.72;
  pointer-events: none;
}
#qm-search {
  transition:
    filter 0.18s ease,
    opacity 0.18s ease;
}

/* RM v19 - search/filter/modal refinements */
.qm-search-meta .qm-search-clear-noresults {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
  margin-left: 0;
  padding: 6px 12px;
  border: 1px solid #ff0000;
  border-radius: 4px;
  background: #ff0000;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.qm-search-meta .qm-search-clear-noresults:hover {
  background: var(--qm-primary);
  color: #fff;
}
#qm-active-filter-bubbles {
  scroll-margin-top: 84px;
}

/* RM v20 - search blur, sticky modal bars and footer search offset fixes */
#qm-active-filter-bubbles,
#qm-search {
  scroll-margin-top: calc(var(--qm-sticky-offset, 96px) + 12px);
}

.qm-modal-content {
  padding-bottom: 0 !important;
}

.qm-modal-cart {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 70 !important;
  margin: 16px -16px 0 !important;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1) !important;
  backdrop-filter: blur(8px);
}

/* RM v21 - product modal header/body/footer layout like filter modal */
#qm-modal .qm-modal-dialog {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 4vh auto !important;
  overflow: hidden !important;
  background: #fff !important;
  border-radius: 16px !important;
}
#qm-modal .qm-modal-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  min-height: 35px !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
  backdrop-filter: blur(8px);
}
#qm-modal .qm-modal-close {
  position: static !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px;
  height: 20px !important;
  min-height: 20px !important;
  margin: 5px !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 999px !important;
  background: #000000 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-size: 14px !important;
}
#qm-modal .qm-modal-close:hover {
  background: var(--qm-primary, #4e3c32) !important;
  color: #fff !important;
}
#qm-modal .qm-modal-scroll {
  -webkit-overflow-scrolling: touch;
}
#qm-modal .qm-modal-media,
#qm-modal .qm-modal-content {
  flex: 0 0 auto !important;
}
#qm-modal .qm-modal-content {
  padding: 16px !important;
  padding-bottom: 16px !important;
}
#qm-modal .qm-modal-cart {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1) !important;
}
#qm-modal .qm-modal-cart .qm-qty-box {
  flex: 0 0 auto !important;
}
#qm-modal .qm-modal-cart .qm-modal-add-cart {
  flex: 1 1 auto !important;
  max-width: 100% !important;
}
@media (max-width: 767px) {
  #qm-modal .qm-modal-dialog {
    width: 95vw !important;
    max-width: 95vw !important;
    height: 80vh !important;
    max-height: 80vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  #qm-modal .qm-modal-scroll {
    flex: 1 1 auto !important;
  }
}

/* RM v24 - cart popup header/body/footer sticky layout */
#qm-cart-modal .qm-cart-dialog {
  display: flex !important;
  flex-direction: column !important;
  width: min(92vw, 520px) !important;
  max-height: min(92vh, 780px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: 18px !important;
}
#qm-cart-modal .qm-cart-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  min-height: 45px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(8px);
}
#qm-cart-modal .qm-cart-header h3 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  color: #111827 !important;
}
#qm-cart-modal .qm-cart-header .qm-cart-close {
  position: static !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px;
  height: 22px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
#qm-cart-modal .qm-cart-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 14px 16px !important;
  background: #fff !important;
}
#qm-cart-modal .qm-cart-items {
  margin: 0 !important;
}
#qm-cart-modal .qm-cart-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 90 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.1) !important;
  backdrop-filter: blur(8px);
}
#qm-cart-modal .qm-cart-footer-vat,
#qm-cart-modal .qm-cart-footer-total {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
}
@media (max-width: 640px) {
  #qm-cart-modal .qm-cart-dialog {
    width: 95vw !important;
    min-width: 95vw !important;
    height: 80vh;
    max-height: 80vh !important;
    margin: 0;
  }
  #qm-cart-modal .qm-cart-footer {
    align-items: stretch !important;
  }
}

/* Quick Menü 1.37.2: keyboard/footer and modal stacking safeguards */
@media (max-width: 900px) {
  body.qm-mobile-keyboard-open .qm-mobile-footer {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* RM v25 - modal scroll lock and cart row action fix */
html.qm-html-scroll-locked,
body.qm-modal-open,
body.qm-no-scroll,
body.qm-body-scroll-locked {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.qm-body-scroll-locked {
  touch-action: none;
}

#qm-cart-modal .qm-cart-row {
  position: relative !important;
  overflow: visible !important;
}

#qm-cart-modal .qm-cart-remove,
.qm-cart-modal .qm-cart-remove {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  justify-self: end !important;
  z-index: 1 !important;
}

@media (max-width: 640px) {
  #qm-cart-modal .qm-cart-remove,
  .qm-cart-modal .qm-cart-remove {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
  }
}

/* RM v26 - product modal header badge area visibility fix */
#qm-modal .qm-modal-header {
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 6px 8px !important;
  overflow: visible !important;
}
#qm-modal .qm-modal-badge-area {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
#qm-modal .qm-modal-badge {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12) !important;
}
#qm-modal .qm-modal-badge[hidden] {
  display: none !important;
}
#qm-modal .qm-modal-discount-badge {
  background: #d63638 !important;
}
#qm-modal .qm-modal-featured-badge {
  background: var(--qm-primary, #4e3c32) !important;
}
#qm-modal .qm-modal-cart-badge {
  background: #16a34a !important;
}
#qm-modal .qm-modal-close {
  flex: 0 0 auto !important;
}

/* RM update - modal image magnifier */
.qm-modal-magnifier-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.qm-modal-magnifier-wrap.qm-magnifier-enabled {
  cursor: zoom-in;
}
.qm-modal-magnifier-lens {
  display: none;
  position: absolute;
  z-index: 5;
  pointer-events: none;
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
  background-repeat: no-repeat;
  background-color: #fff;
}
@media (hover: none) {
  .qm-modal-magnifier-wrap.qm-magnifier-enabled {
    cursor: auto;
  }
}

/* RM update - exit warning modal + mobile magnifier long-press guard */
.qm-modal-magnifier-wrap,
.qm-modal-magnifier-wrap img {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.qm-modal-magnifier-wrap {
  touch-action: none;
  -webkit-user-drag: none;
}
.qm-modal-magnifier-wrap img {
  pointer-events: auto;
  -webkit-user-drag: none;
  user-drag: none;
}
.qm-exit-warning-modal[hidden] {
  display: none !important;
}
.qm-exit-warning-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  text-align: center;
}
.qm-exit-warning-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.qm-exit-warning-dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 420px);
  background: #fff;
  border-radius: 22px;
  padding: 26px 22px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
  text-align: center;
}
.qm-exit-warning-modal.is-visible .qm-exit-warning-dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.qm-exit-warning-title {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.28;
  font-weight: 800;
  text-align: center;
  color: #111827;
}
.qm-exit-warning-text {
  margin: 0 auto 20px;
  font-size: 15px;
  line-height: 1.55;
  color: #4b5563;
  text-align: center;
  max-width: 340px;
}
.qm-exit-warning-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.qm-exit-warning-actions button {
  border: 0;
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  min-width: 104px;
}
.qm-exit-warning-stay {
  background: #f3f4f6;
  color: #111827;
}
.qm-exit-warning-leave {
  background: #111827;
  color: #fff;
}
#qm-store-modal .qm-store-dialog {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  z-index: 2147483002 !important;
}
#qm-store-modal .qm-store-logo-wrap {
  margin: 0 0 18px !important;
}
#qm-store-modal .qm-store-bio,
#qm-store-modal .qm-store-hours {
  margin-bottom: 18px !important;
}

/* Quick Menü v45 - counter disabled responsive grid fixes */
.qm-hide-card-counter .qm-card .qm-card-cart,
.qm-front-wrap.qm-quantity-system-disabled .qm-card .qm-card-cart {
  grid-template-columns: minmax(0, 1fr) !important;
}
.qm-hide-card-counter .qm-card .qm-add-cart-btn,
.qm-front-wrap.qm-quantity-system-disabled .qm-card .qm-add-cart-btn {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}
.qm-hide-card-counter .qm-card .qm-qty-box,
.qm-front-wrap.qm-quantity-system-disabled .qm-card .qm-qty-box {
  display: none !important;
}
.qm-hide-modal-counter #qm-modal .qm-modal-cart,
body.qm-quantity-system-disabled #qm-modal .qm-modal-cart {
  grid-template-columns: minmax(0, 1fr) !important;
}
.qm-hide-modal-counter #qm-modal .qm-modal-add-cart,
body.qm-quantity-system-disabled #qm-modal .qm-modal-add-cart {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

/* Quick Menü 1.38.4: unified frontend modal system */
:root {
  --qm-modal-radius: 20px;
  --qm-modal-header-height: 50px;
  --qm-modal-footer-height: 64px;
  --qm-modal-viewport-gap: 32px;
  --qm-modal-standard-width: 560px;
  --qm-modal-wide-width: 820px;
  --qm-modal-narrow-width: 440px;
  --qm-modal-min-height: 440px;
  --qm-modal-max-height: min(88vh, 820px);
}
#qm-modal .qm-modal-dialog {
  width: min(100%, var(--qm-modal-wide-width)) !important;
  min-height: min(560px, calc(100vh - 64px)) !important;
  height: min(82vh, 820px) !important;
  max-height: var(--qm-modal-max-height) !important;
}
#qm-page-popup-modal .qm-page-popup-dialog {
  width: min(100%, 720px) !important;
  min-height: 360px !important;
  max-height: var(--qm-modal-max-height) !important;
}
#qm-product-filter-modal .qm-product-filter-dialog {
  display: flex !important;
  flex-direction: column !important;
}
#qm-product-filter-modal.is-visible .qm-product-filter-dialog {
  opacity: 1;
}
#qm-exit-warning-modal .qm-exit-warning-dialog {
  width: min(100%, var(--qm-modal-narrow-width)) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 28px 24px !important;
}
#qm-modal .qm-modal-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --qm-modal-radius: 18px;
    --qm-modal-viewport-gap: 24px;
    --qm-modal-min-height: 460px;
    --qm-modal-max-height: 88vh;
  }
  #qm-modal .qm-modal-dialog {
    width: min(100%, 760px) !important;
    height: 80vh !important;
    min-height: 540px !important;
  }
  #qm-page-popup-modal .qm-page-popup-dialog {
    width: min(100%, 700px) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --qm-modal-radius: 16px;
    --qm-modal-header-height: 48px;
    --qm-modal-footer-height: 60px;
    --qm-modal-viewport-gap: 12px;
    --qm-modal-min-height: min(520px, 84dvh);
    --qm-modal-max-height: calc(100dvh - 24px);
  }
  #qm-page-popup-modal .qm-page-popup-dialog {
    width: 100% !important;
    min-height: 280px !important;
    max-height: var(--qm-modal-max-height) !important;
    border-radius: var(--qm-modal-radius) !important;
  }
  #qm-exit-warning-modal .qm-exit-warning-dialog {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: var(--qm-modal-radius) !important;
  }
}
.qm-cart-row.qm-cart-row--no-counter.qm-cart-row--has-image {
  grid-template-columns: 56px minmax(0, 1fr) 32px !important;
}
.qm-cart-row.qm-cart-row--no-counter.qm-cart-row--no-image {
  grid-template-columns: minmax(0, 1fr) 32px !important;
}
.qm-cart-row.qm-cart-row--has-counter.qm-cart-row--no-image {
  grid-template-columns: 40px minmax(0, 1fr) 32px !important;
}
.qm-cart-row.qm-cart-row--no-counter .qm-cart-meta {
  min-width: 0 !important;
}
.qm-cart-row.qm-cart-row--no-counter .qm-cart-title,
.qm-cart-row.qm-cart-row--no-counter .qm-cart-code,
.qm-cart-row.qm-cart-row--no-counter .qm-cart-sub {
  max-width: 100%;
}
@media (max-width: 640px) {
  .qm-cart-row.qm-cart-row--no-counter.qm-cart-row--has-image {
    grid-template-columns: 44px minmax(0, 1fr) 30px !important;
  }
  .qm-cart-row.qm-cart-row--has-counter.qm-cart-row--no-image {
    grid-template-columns: 36px minmax(0, 1fr) 30px !important;
  }
  .qm-cart-row.qm-cart-row--no-counter.qm-cart-row--no-image {
    grid-template-columns: minmax(0, 1fr) 30px !important;
  }
}

/* Quick Menü 1.38.5: product filter keeps its original left-drawer layout. */
#qm-product-filter-modal {
  display: block !important;
  padding: 0 !important;
  align-items: initial !important;
  justify-content: initial !important;
}
#qm-product-filter-modal[hidden] {
  display: none !important;
}
#qm-product-filter-modal .qm-product-filter-dialog {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: min(85vw, 420px) !important;
  max-width: 85vw !important;
  min-height: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  transform: translateX(-100%) !important;
  box-shadow: 10px 0 28px rgba(0, 0, 0, 0.18) !important;
  transition: transform 0.22s ease !important;
}
#qm-product-filter-modal.is-visible .qm-product-filter-dialog {
  transform: translateX(0) !important;
}
#qm-product-filter-modal .qm-product-filter-head {
  flex: 0 0 var(--qm-modal-header-height) !important;
  min-height: var(--qm-modal-header-height) !important;
  height: var(--qm-modal-header-height) !important;
  padding: 0 16px !important;
}
#qm-product-filter-modal .qm-product-filter-body {
  padding: 16px !important;
}
#qm-product-filter-modal .qm-product-filter-footer {
  min-height: var(--qm-modal-footer-height) !important;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
}
#qm-page-popup-modal .qm-page-popup-close {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  font-size: 22px !important;
}
@media (max-width: 640px) {
  #qm-product-filter-modal .qm-product-filter-dialog {
    width: 85vw !important;
    max-width: 85vw !important;
  }
  #qm-page-popup-modal .qm-page-popup-close {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    font-size: 16px !important;
  }
}

/* Final modal geometry: keep product and store aligned with the cart modal. */
body #qm-modal,
body #qm-store-modal {
  z-index: 10020 !important;
}
body #qm-modal .qm-modal-dialog,
body #qm-store-modal .qm-store-dialog {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: min(92vh, 780px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}
body #qm-modal .qm-modal-dialog {
  width: min(92vw, 820px) !important;
}
body #qm-store-modal .qm-store-dialog {
  width: min(92vw, 520px) !important;
}
@media (max-width: 640px) {
  body #qm-modal .qm-modal-dialog,
  body #qm-store-modal .qm-store-dialog {
    width: 95vw !important;
    min-width: 95vw !important;
    height: 80vh !important;
    max-height: 80vh !important;
    border-radius: 18px !important;
  }
}

/* Quick Menü 1.40.3: product titles keep the full content width. */
.qm-front-wrap .qm-card .qm-card-title {
  max-width: 100% !important;
  padding-right: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Quick Menü 1.40.5: modal discount and cart status badges. */
#qm-modal .qm-modal-price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#qm-modal .qm-modal-discount-percent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #d63638;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.qm-front-wrap #qm-modal .qm-modal-discount-badge {
  --qm-modal-badge-background: #d63638;
  --qm-modal-badge-hover: #b9272a;
  background: #d63638 !important;
  color: #fff !important;
}
.qm-front-wrap #qm-modal .qm-modal-discount-badge:hover {
  background: #b9272a !important;
}
.qm-front-wrap #qm-modal .qm-modal-cart-badge {
  --qm-modal-badge-background: #16a34a;
  --qm-modal-badge-hover: #12833c;
  background: #16a34a !important;
  color: #fff !important;
}
.qm-front-wrap #qm-modal .qm-modal-cart-badge:hover {
  background: #12833c !important;
}
.qm-campaign-rail{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin:0 0 16px;scrollbar-width:none}
.qm-campaign-rail::-webkit-scrollbar{display:none}
.qm-campaign-section__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.qm-campaign-section__header h2{margin:0}
.qm-campaign-carousel-controls{display:flex;align-items:center;gap:8px}.qm-campaign-carousel-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--qm-border);border-radius:50%;background:#fff;color:var(--qm-text);box-shadow:0 3px 10px rgba(15,23,42,.07);cursor:pointer}.qm-campaign-carousel-controls button:disabled{opacity:.38;cursor:default}.qm-campaign-carousel-controls .dashicons{width:20px;height:20px;font-size:20px}
.qm-campaign-section .qm-campaign-rail{margin-bottom:0}.qm-campaign-section .qm-campaign-card{flex-basis:calc((100% - 12px)/2);max-width:calc((100% - 12px)/2)}
.qm-campaign-card{position:relative;display:flex;align-items:stretch;flex:0 0 min(360px,82vw);min-height:132px;padding:0;overflow:hidden;text-align:left;color:var(--qm-text);background:linear-gradient(135deg,#fff7f8,#fff);border:1px solid #f1d8dd;border-radius:18px;box-shadow:0 7px 22px rgba(69,42,34,.09);scroll-snap-align:start;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.qm-campaign-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(69,42,34,.13)}
.qm-campaign-card--fixed{background:linear-gradient(135deg,#fff8ee,#fff);border-color:#f0ddc3}.qm-campaign-card--bundle,.qm-campaign-card--buy_x_get_y,.qm-campaign-card--buy_x_pay_y{background:linear-gradient(135deg,#f1fbf5,#fff);border-color:#cfe9d8}.qm-campaign-card--custom{background:linear-gradient(135deg,#f5f3ff,#fff);border-color:#ded8f3}.qm-campaign-card--second_percent{background:linear-gradient(135deg,#fff7e8,#fff);border-color:#f1d6a9}
.qm-campaign-card__copy{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:16px 42px 16px 16px}.qm-campaign-card__label{display:flex;align-items:center;gap:6px;font-weight:800;font-size:15px;color:#d81b54}.qm-campaign-card__label .dashicons{font-size:18px;width:18px;height:18px}
.qm-campaign-card--fixed .qm-campaign-card__label{color:#ba6b15}.qm-campaign-card--bundle .qm-campaign-card__label,.qm-campaign-card--buy_x_get_y .qm-campaign-card__label,.qm-campaign-card--buy_x_pay_y .qm-campaign-card__label{color:#17854b}.qm-campaign-card--custom .qm-campaign-card__label{color:#6f52b5}.qm-campaign-card--second_percent .qm-campaign-card__label{color:#c77708}
.qm-campaign-card__copy strong{font-size:16px;line-height:1.25}.qm-campaign-card__description{display:-webkit-box;overflow:hidden;color:var(--qm-gray-400);font-size:13px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.qm-campaign-card__image{position:relative;align-self:stretch;flex:0 0 42%;min-height:132px;overflow:hidden;background:#f3f4f6}.qm-campaign-card__image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.qm-campaign-card__arrow{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 3px 10px rgba(0,0,0,.16)}
.qm-campaign-modal{position:fixed;z-index:100020;inset:0;display:grid;place-items:center;padding:18px}.qm-campaign-modal[hidden]{display:none}.qm-campaign-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.qm-campaign-modal__dialog{position:relative;display:flex;flex-direction:column;width:min(520px,100%);max-height:min(720px,calc(100dvh - 36px));overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 22px 70px rgba(15,23,42,.3)}
.qm-campaign-modal__header{display:flex;align-items:flex-start;gap:12px;padding:18px;border-bottom:1px solid var(--qm-border)}.qm-campaign-modal__header>div{flex:1;min-width:0}.qm-campaign-modal__label{display:inline-flex;padding:5px 9px;margin-bottom:7px;border-radius:999px;background:#ffe8ee;color:#c8174b;font-weight:800;font-size:12px}.qm-campaign-modal__header h3{margin:0;font-size:21px;line-height:1.2}
.qm-campaign-modal__close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#151515;color:#fff;font-size:24px;line-height:1;cursor:pointer}.qm-campaign-modal__body{overflow:auto;padding:18px}.qm-campaign-modal__description{margin:0 0 18px;color:var(--qm-gray-400);line-height:1.55}.qm-campaign-modal__body h4{margin:0 0 10px}
.qm-campaign-modal__expiry{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:12px 14px;border:1px solid #e7dfc9;border-radius:12px;background:#fffaf0;color:#725318}.qm-campaign-modal__expiry[hidden]{display:none}.qm-campaign-modal__expiry>.dashicons{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f7e9c8;color:#9b6b0f}.qm-campaign-modal__expiry>div{display:flex;flex-direction:column;gap:2px}.qm-campaign-modal__remaining{font-size:12px;color:#8a6724}
.qm-campaign-modal__products{display:flex;flex-wrap:wrap;gap:8px}.qm-campaign-product-link{padding:9px 12px;border:1px solid var(--qm-border);border-radius:999px;background:#fff;color:var(--qm-text);font-weight:700;cursor:pointer}.qm-campaign-product-link:hover{border-color:var(--qm-primary);background:var(--qm-gray-50)}
@media(max-width:767px){.qm-campaign-section .qm-campaign-card,.qm-campaign-card{flex-basis:86%;max-width:86%;min-height:118px}.qm-campaign-card:hover{transform:none}.qm-campaign-carousel-controls button{width:34px;height:34px}.qm-campaign-card__image{flex-basis:40%;min-height:118px}.qm-campaign-card__copy{padding:14px 38px 14px 14px}.qm-campaign-modal{align-items:end;padding:12px}.qm-campaign-modal__dialog{width:100%;max-height:82dvh;border-radius:20px}}

.qm-campaign-product-badge{position:absolute;top:10px;left:10px;z-index:5;display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid rgba(255,255,255,.82);border-radius:10px;background:rgba(111,82,181,.94);color:#fff;box-shadow:0 5px 14px rgba(55,38,98,.24);backdrop-filter:blur(5px)}
.qm-campaign-product-badge .dashicons{display:block;width:16px;height:16px;font-size:16px;line-height:16px}
.qm-front-wrap #qm-modal .qm-modal-campaign-badge{--qm-modal-badge-background:#6f52b5;--qm-modal-badge-hover:#5e469b;background:#6f52b5!important;color:#fff!important}.qm-front-wrap #qm-modal .qm-modal-campaign-badge:hover{background:#5e469b!important}

/* Quick Menü 1.47.0: compact campaign marker, modal detail and cart rewards. */
.qm-front-wrap #qm-modal .qm-modal-product-campaign{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:26px!important;
  margin:0 0 8px!important;
  padding:5px 9px!important;
  border:1px solid #ded7f5!important;
  border-radius:999px!important;
  background:#f5f2ff!important;
  color:#6045a7!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.qm-front-wrap #qm-modal .qm-modal-product-campaign[hidden]{display:none!important}
.qm-front-wrap #qm-modal .qm-modal-product-campaign .dashicons{width:15px;height:15px;font-size:15px;line-height:15px}
.qm-front-wrap #qm-modal .qm-modal-product-campaign-info{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:4px 0 14px!important;
  padding:11px 12px!important;
  border:1px solid #e3dcf7!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f8f6ff,#fff)!important;
  color:#443768!important;
}
.qm-front-wrap #qm-modal .qm-modal-product-campaign-info[hidden]{display:none!important}
.qm-modal-product-campaign-info__icon{display:grid!important;place-items:center;width:32px!important;height:32px!important;border-radius:9px!important;background:#ebe5ff!important;color:#6f52b5!important;font-size:17px!important;line-height:32px!important}
.qm-modal-product-campaign-info strong{display:block;margin:0 0 3px;font-size:12px;line-height:1.25;color:#493777}
.qm-modal-product-campaign-info p{margin:0!important;color:#645b76!important;font-size:12px!important;line-height:1.45!important}

#qm-cart-modal .qm-cart-campaigns{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:12px 0 2px!important;
}
#qm-cart-modal .qm-cart-campaigns[hidden]{display:none!important}
#qm-cart-modal .qm-cart-campaign{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:11px 12px!important;
  border:1px solid #e4dcf7!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f8f6ff,#fff)!important;
}
#qm-cart-modal .qm-cart-campaign.is-achieved{border-color:#cbe8d5!important;background:linear-gradient(135deg,#f1fbf5,#fff)!important}
#qm-cart-modal .qm-cart-campaign__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eae3ff;color:#6547b2}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign__icon{background:#d9f3e2;color:#168249}
#qm-cart-modal .qm-cart-campaign__icon .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
#qm-cart-modal .qm-cart-campaign__copy{display:flex;min-width:0;flex-direction:column;gap:2px}
#qm-cart-modal .qm-cart-campaign__heading,
#qm-cart-modal .qm-cart-campaign__name-row{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;min-height:16px!important}
#qm-cart-modal .qm-cart-campaign__heading strong{min-width:0;overflow:hidden;color:#493777;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign__heading strong{color:#146c3e}
#qm-cart-modal .qm-cart-campaign__saving{flex:0 0 auto;margin-left:auto;color:#168249;font-size:11px;font-weight:850;line-height:1.2;white-space:nowrap}
#qm-cart-modal .qm-cart-campaign__title{min-width:0;overflow:hidden;color:#4b5563;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
#qm-cart-modal .qm-cart-campaign__remaining{display:inline-flex!important;flex:0 0 auto;align-items:baseline!important;padding:2px 6px!important;border-radius:6px!important;background:#fff2d8!important;color:#9a5a08!important;font-size:9px!important;font-weight:750!important;line-height:1.2!important;white-space:nowrap!important}
#qm-cart-modal .qm-cart-campaign__remaining b{font-size:10px!important;font-weight:900!important}
#qm-cart-modal .qm-cart-campaign__message{color:#667085;font-size:11px;line-height:1.4}
#qm-cart-modal .qm-cart-campaign__status{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  height:20px!important;
  margin-top:1px!important;
}
#qm-cart-modal .qm-cart-campaign__stat{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:3px!important;
  min-height:20px!important;
  padding:2px 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#qm-cart-modal .qm-cart-campaign__stat b{font-size:11px!important;font-weight:850!important}
#qm-cart-modal .qm-cart-campaign__stat small{font-size:9px!important;font-weight:700!important;line-height:1!important}
#qm-cart-modal .qm-cart-campaign__stat--saving{background:#dcf6e5!important;color:#137540!important}
#qm-cart-modal .qm-cart-campaign__stat--remaining{background:#fff2d8!important;color:#9a5a08!important}
#qm-cart-modal .qm-cart-campaign__progress-group{
  display:inline-flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  width:100%!important;
  max-width:280px!important;
  height:20px!important;
  overflow:visible!important;
  transform-origin:left center!important;
}
#qm-cart-modal .qm-cart-campaign__cycle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:25px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:7px 0 0 7px!important;
  background:#e9e2fb!important;
  color:#6547b2!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:20px!important;
  white-space:nowrap!important;
}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign__cycle{background:#d9f3e2!important;color:#137540!important}
#qm-cart-modal .qm-cart-campaign__progress{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  flex:1 1 72px!important;
  min-width:72px!important;
  max-width:none!important;
  height:20px!important;
  padding:0 5px!important;
  border-left:1px solid rgba(111,82,181,.14)!important;
  border-radius:0 7px 7px 0!important;
  background:#f1eef8!important;
}
#qm-cart-modal .qm-cart-campaign__progress-steps{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(7px,1fr)!important;
  align-items:center!important;
  gap:2px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#qm-cart-modal .qm-cart-campaign__progress-step{
  display:block!important;
  height:5px!important;
  border-radius:999px!important;
  background:#d5cde8!important;
}
#qm-cart-modal .qm-cart-campaign__progress-step.is-complete{background:#6f52b5!important}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign__progress-step.is-complete{background:#25a05d!important}
#qm-cart-modal .qm-cart-campaign__progress em{
  margin-left:2px!important;
  color:#716a80!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@keyframes qmCartCampaignCyclePulse{
  0%,100%{transform:scale(1)}
  42%{transform:scale(1.09)}
  72%{transform:scale(.98)}
}
#qm-cart-modal .qm-cart-campaign__progress-group.is-cycle-pulse{
  animation:qmCartCampaignCyclePulse .48s cubic-bezier(.2,.85,.35,1.25) both!important;
}
#qm-cart-modal .qm-cart-campaign__saving.is-saving-pulse{
  display:inline-block!important;
  transform-origin:center!important;
  animation:qmCartCampaignCyclePulse .48s cubic-bezier(.2,.85,.35,1.25) both!important;
}
#qm-cart-modal .qm-cart-footer-campaign{display:flex;align-items:center;gap:6px;margin:0!important;color:#168249;font-size:12px}
#qm-cart-modal .qm-cart-footer-campaign[hidden]{display:none!important}
#qm-cart-modal .qm-cart-campaign-discount{font-weight:800}
@media(max-width:640px){
  .qm-campaign-product-badge{top:8px;left:8px;width:27px;height:27px;border-radius:9px}
  #qm-cart-modal .qm-cart-campaigns{margin-top:10px!important}
}

/* Quick Menü 1.47.1: cart total at left, combined savings at right. */
#qm-cart-modal .qm-cart-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:end!important;
  column-gap:16px!important;
  row-gap:7px!important;
}
#qm-cart-modal .qm-cart-footer-vat{
  grid-column:1 / -1!important;
  justify-self:start!important;
}
#qm-cart-modal .qm-cart-footer-total,
#qm-cart-modal .qm-cart-footer-campaign{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
}
#qm-cart-modal .qm-cart-footer-campaign{
  justify-self:end!important;
  align-items:flex-end!important;
  text-align:right!important;
}
#qm-cart-modal .qm-cart-footer-campaign[hidden]{display:none!important}
#qm-cart-modal .qm-cart-footer-total strong,
#qm-cart-modal .qm-cart-footer-campaign strong{
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  color:#7b8190!important;
}
#qm-cart-modal .qm-cart-total,
#qm-cart-modal .qm-cart-campaign-discount{
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
#qm-cart-modal .qm-cart-total{color:#d63638!important}
#qm-cart-modal .qm-cart-campaign-discount{color:#168249!important}
#qm-cart-modal .qm-cart-total,
#qm-cart-modal .qm-cart-campaign-discount{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
#qm-cart-modal .qm-cart-total.is-counting,
#qm-cart-modal .qm-cart-campaign-discount.is-counting{
  will-change:contents;
}
@media(max-width:380px){
  #qm-cart-modal .qm-cart-footer{column-gap:10px!important}
  #qm-cart-modal .qm-cart-total,
  #qm-cart-modal .qm-cart-campaign-discount{font-size:14px!important}
}

/* Quick Menü 1.47.2: campaign-linked cart products and focus feedback. */
#qm-cart-modal .qm-cart-campaign{
  cursor:pointer!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
#qm-cart-modal .qm-cart-campaign:focus-visible{
  outline:2px solid rgba(111,82,181,.35)!important;
  outline-offset:2px!important;
}
#qm-cart-modal .qm-cart-campaign__products{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin-top:3px!important;
}
#qm-cart-modal .qm-cart-campaign__products>span{
  color:#7b8190!important;
  font-size:10px!important;
  font-weight:600!important;
}
#qm-cart-modal .qm-cart-campaign-product{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  min-height:22px!important;
  margin:0!important;
  padding:3px 7px!important;
  overflow:hidden!important;
  border:1px solid #d8d0ef!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#6045a7!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign-product{
  border-color:#bfe0ca!important;
  color:#146c3e!important;
}
#qm-cart-modal .qm-cart-campaign-product:hover,
#qm-cart-modal .qm-cart-campaign-product:focus-visible{
  background:#f2edff!important;
  outline:0!important;
}
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign-product:hover,
#qm-cart-modal .qm-cart-campaign.is-achieved .qm-cart-campaign-product:focus-visible{
  background:#eaf8ef!important;
}
#qm-cart-modal .qm-cart-row.is-campaign-highlighted{
  animation:qmCartCampaignHighlight 1.45s ease-out both!important;
}
@keyframes qmCartCampaignHighlight{
  0%,100%{border-color:#e5e7eb;box-shadow:none;transform:scale(1)}
  18%,55%{border-color:#6f52b5;box-shadow:0 0 0 4px rgba(111,82,181,.18),0 8px 22px rgba(69,42,34,.12);transform:scale(.992)}
}
@media(prefers-reduced-motion:reduce){
  #qm-cart-modal .qm-cart-campaign__progress-group.is-cycle-pulse,
  #qm-cart-modal .qm-cart-campaign__saving.is-saving-pulse{animation:none!important}
  #qm-cart-modal .qm-cart-row.is-campaign-highlighted{animation:none!important;border-color:#6f52b5!important;box-shadow:0 0 0 3px rgba(111,82,181,.16)!important}
}

/* Quick Menü 1.50.1: cart title color, configurable desktop icon and reset action. */
#qm-cart-modal .qm-cart-title{
  color:var(--qm-card-title-color,var(--qm-text))!important;
}
#qm-cart-modal .qm-cart-header__actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:9px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin-left:0!important;
}
#qm-cart-modal .qm-cart-reset{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:28px!important;
  height:28px!important;
  padding:5px 11px!important;
  border:0!important;
  border-radius:999px!important;
  background:#d63638!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 3px 10px rgba(214,54,56,.2)!important;
  cursor:pointer!important;
}
#qm-cart-modal .qm-cart-reset:hover,
#qm-cart-modal .qm-cart-reset:focus-visible{
  background:#b92527!important;
  color:#fff!important;
  outline:0!important;
  transform:translateY(-1px);
}
#qm-cart-modal .qm-cart-reset:disabled{
  opacity:.42!important;
  transform:none!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}

/* Quick Menü 1.47.3: campaign-adjusted line prices. */
#qm-cart-modal .qm-cart-line-price{
  display:inline-flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
#qm-cart-modal .qm-cart-line-total--old{
  color:#9ca3af!important;
  font-size:11px!important;
  font-weight:600!important;
  text-decoration:line-through!important;
  text-decoration-thickness:1px!important;
}
#qm-cart-modal .qm-cart-line-total--campaign{
  color:#168249!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* Quick Menü 1.47.6: unified campaign modal and product cards. */
#qm-campaign-modal.qm-campaign-modal{
  z-index:100020!important;
  display:grid!important;
  place-items:center!important;
  padding:16px!important;
}
#qm-campaign-modal.qm-campaign-modal[hidden]{display:none!important}
#qm-campaign-modal .qm-campaign-modal__backdrop{
  background:rgba(15,23,42,.55)!important;
  backdrop-filter:blur(2px);
}
#qm-campaign-modal .qm-campaign-modal__dialog{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(92vw,520px)!important;
  max-height:min(92vh,780px)!important;
  overflow:hidden!important;
  padding:0!important;
  border:0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 22px 70px rgba(15,23,42,.3)!important;
}
#qm-campaign-modal .qm-campaign-modal__header{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex:0 0 auto!important;
  min-height:45px!important;
  padding:12px 14px!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 6px 18px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(8px);
}
#qm-campaign-modal .qm-campaign-modal__header h3{
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  color:#111827!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#qm-campaign-modal .qm-campaign-modal__close{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 22px!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#111!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#qm-campaign-modal .qm-campaign-modal__close:hover,
#qm-campaign-modal .qm-campaign-modal__close:focus{
  background:#111!important;
  color:#fff!important;
}
#qm-campaign-modal .qm-campaign-modal__body{
  display:flex!important;
  flex:1 1 auto!important;
  min-height:0!important;
  flex-direction:column!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:16px!important;
  background:#fff!important;
}
#qm-campaign-modal .qm-campaign-modal__label{
  display:inline-flex!important;
  align-self:flex-start!important;
  margin:0 0 12px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#ffe8ee!important;
  color:#c8174b!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
#qm-campaign-modal .qm-campaign-modal__description{
  margin:0 0 16px!important;
  color:#667085!important;
  font-size:14px!important;
  line-height:1.5!important;
}
#qm-campaign-modal .qm-campaign-modal__description[hidden]{display:none!important}
#qm-campaign-modal .qm-campaign-modal__expiry{
  margin:0 0 18px!important;
}
#qm-campaign-modal .qm-campaign-modal__body h4{
  margin:0 0 10px!important;
  color:#4b5563!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
#qm-campaign-modal .qm-campaign-modal__products{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:9px!important;
}
#qm-campaign-modal .qm-campaign-product-link{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  min-height:74px!important;
  margin:0!important;
  padding:0 10px 0 0!important;
  overflow:hidden!important;
  border:1px solid #e5e7eb!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--qm-text)!important;
  text-align:left!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
#qm-campaign-modal .qm-campaign-product-link:hover,
#qm-campaign-modal .qm-campaign-product-link:focus-visible{
  border-color:rgba(69,42,34,.35)!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.09)!important;
  outline:0!important;
  transform:translateY(-1px);
}
#qm-campaign-modal .qm-campaign-product-link__media{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  align-self:stretch!important;
  width:72px!important;
  min-height:72px!important;
  overflow:hidden!important;
  background:#f3f4f6!important;
}
#qm-campaign-modal .qm-campaign-product-link__media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
#qm-campaign-modal .qm-campaign-product-link__media>.dashicons{
  color:#98a2b3!important;
  font-size:24px!important;
}
#qm-campaign-modal .qm-campaign-product-link__meta{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:5px!important;
}
#qm-campaign-modal .qm-campaign-product-link__meta>strong{
  overflow:hidden!important;
  color:#3f342f!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.3!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#qm-campaign-modal .qm-campaign-product-link__price{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:4px 7px!important;
  color:var(--qm-primary)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
#qm-campaign-modal .qm-campaign-product-link__price-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-width:0!important;
}
#qm-campaign-modal .qm-campaign-product-link__price .qm-old-price{
  margin-right:0!important;
  font-size:11px!important;
}
#qm-campaign-modal .qm-campaign-product-link__price .qm-discount-price{
  font-size:13px!important;
}
#qm-campaign-modal .qm-campaign-product-link__discount{
  display:inline-flex!important;
  align-items:center!important;
  align-self:center!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:#d9363e!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
#qm-campaign-modal .qm-campaign-product-link__arrow{
  color:#98a2b3!important;
  font-size:18px!important;
  line-height:20px!important;
}

/* Product images always fill their card media area. */
.qm-front-wrap .qm-card .qm-card-media{
  position:relative!important;
  overflow:hidden!important;
}
.qm-front-wrap .qm-card .qm-card-media-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:767px){
  #qm-campaign-modal.qm-campaign-modal{align-items:center!important;padding:12px!important}
  #qm-campaign-modal .qm-campaign-modal__dialog{width:95vw!important;max-height:80dvh!important;border-radius:18px!important}
  #qm-campaign-modal .qm-campaign-modal__body{padding:14px!important}
  #qm-campaign-modal .qm-campaign-product-link{grid-template-columns:64px minmax(0,1fr) 20px!important;min-height:66px!important;gap:10px!important}
  #qm-campaign-modal .qm-campaign-product-link__media{width:64px!important;min-height:64px!important}
  #qm-campaign-modal .qm-campaign-product-link:hover{transform:none!important}
}

/* Quick Menü 1.49.8: cart quantity capsule and unified modal backdrop motion. */
#qm-cart-modal .qm-cart-row--has-counter .qm-cart-qty-vertical{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  align-self:stretch!important;
  justify-self:start!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:30px!important;
  min-width:30px!important;
  height:auto!important;
  min-height:0!important;
  margin-top:0!important;
  margin-left:0!important;
  margin-bottom:0!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--qm-primary) 78%,#000)!important;
  border-radius:11px 0 0 11px!important;
  background:var(--qm-primary)!important;
  box-shadow:none!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-btn,
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-value{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  line-height:1!important;
  text-align:center!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-btn{
  background:var(--qm-primary)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:500!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-plus{
  border-radius:10px 0 0 0!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-minus{
  border-radius:0 0 0 10px!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-value{
  background:#fff!important;
  color:var(--qm-primary)!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:inset 0 1px rgba(255,255,255,.22),inset 0 -1px rgba(15,23,42,.08)!important;
}
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-btn:hover,
#qm-cart-modal .qm-cart-qty-vertical .qm-cart-qty-btn:focus{
  background:var(--qm-primary)!important;
  color:#fff!important;
}
@media(max-width:640px){
  #qm-cart-modal .qm-cart-row.qm-cart-row--has-counter.qm-cart-row--has-image{
    grid-template-columns:38px 64px minmax(0,1fr) 30px!important;
  }
}

/* Mobile visible viewport standard: popups stay above the notification lane. */
@media (max-width: 767px) {
  :root {
    --qm-visible-viewport-height: 100dvh;
    --qm-visible-viewport-top: 0px;
    --qm-mobile-popup-top-gap: calc(env(safe-area-inset-top, 0px) + 8px);
    --qm-mobile-toast-lane: calc(82px + env(safe-area-inset-bottom, 0px));
    --qm-mobile-popup-gap: 10px;
  }
  body #qm-modal .qm-modal-dialog,
  body #qm-cart-modal .qm-cart-dialog,
  body #qm-store-modal .qm-store-dialog,
  body #qm-page-popup-modal .qm-page-popup-dialog,
  body #qm-campaign-modal .qm-campaign-modal__dialog,
  body #qm-exit-warning-modal .qm-exit-warning-dialog {
    position: fixed !important;
    top: calc(var(--qm-visible-viewport-top) + var(--qm-mobile-popup-top-gap)) !important;
    bottom: auto !important;
    left: 50% !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: calc(var(--qm-visible-viewport-height) - var(--qm-mobile-popup-top-gap) - var(--qm-mobile-toast-lane) - var(--qm-mobile-popup-gap)) !important;
    transform: translateX(-50%) !important;
  }
  body #qm-page-popup-modal .qm-page-popup-dialog,
  body #qm-campaign-modal .qm-campaign-modal__dialog,
  body #qm-exit-warning-modal .qm-exit-warning-dialog {
    height: auto !important;
  }
  body #qm-modal .qm-modal-dialog,
  body #qm-cart-modal .qm-cart-dialog,
  body #qm-store-modal .qm-store-dialog,
  body #qm-campaign-modal .qm-campaign-modal__dialog {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .qm-toast-stack {
    top: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    max-height: 68px;
  }
  body.qm-mobile-keyboard-open .qm-toast-stack {
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* v1.50.2: configurable product grid and soft in-cart card state */
.qm-front-wrap .qm-card{
  box-sizing:border-box;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.qm-front-wrap .qm-card-cart-badge{
  display:none!important;
}
.qm-front-wrap .qm-card.is-in-cart{
  border:2px solid #16a34a!important;
  box-shadow:0 0 0 3px rgba(22,163,74,.10),0 8px 22px rgba(22,163,74,.12)!important;
}
@media(min-width:1024px){
  .qm-front-wrap .qm-grid{
    grid-template-columns:repeat(var(--qm-product-columns-desktop,2),minmax(0,1fr))!important;
  }
}
@media(min-width:768px) and (max-width:1023px){
  .qm-front-wrap .qm-grid{
    grid-template-columns:repeat(var(--qm-product-columns-tablet,1),minmax(0,1fr))!important;
  }
}
@media(min-width:768px){
  .qm-front-wrap .qm-grid .qm-card{
    grid-template-columns:clamp(72px,38%,150px) minmax(0,1fr)!important;
    min-width:0!important;
  }
  .qm-front-wrap .qm-grid .qm-card-media{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:767px){
  .qm-front-wrap .qm-grid{
    grid-template-columns:repeat(var(--qm-product-columns-mobile,1),minmax(0,1fr))!important;
  }
  .qm-front-wrap.qm-grid-mobile-2 .qm-card,
  .qm-front-wrap.qm-grid-mobile-3 .qm-card,
  .qm-front-wrap.qm-grid-mobile-4 .qm-card{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    min-width:0!important;
  }
  .qm-front-wrap.qm-grid-mobile-2 .qm-card-media,
  .qm-front-wrap.qm-grid-mobile-3 .qm-card-media,
  .qm-front-wrap.qm-grid-mobile-4 .qm-card-media{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1;
  }
  .qm-front-wrap.qm-grid-mobile-2 .qm-card-body,
  .qm-front-wrap.qm-grid-mobile-3 .qm-card-body,
  .qm-front-wrap.qm-grid-mobile-4 .qm-card-body{
    padding:10px!important;
  }
  #qm-modal .qm-modal-gallery,
  #qm-modal .qm-modal-gallery-main,
  #qm-modal .qm-modal-gallery-stage,
  #qm-modal .qm-modal-magnifier-wrap,
  #qm-modal .qm-modal-magnifier-wrap img{
    touch-action:pan-y pinch-zoom!important;
  }
}

#qm-modal .qm-modal-backdrop,
#qm-cart-modal .qm-cart-backdrop,
#qm-store-modal .qm-store-backdrop,
#qm-page-popup-modal .qm-page-popup-backdrop,
#qm-campaign-modal .qm-campaign-modal__backdrop,
#qm-product-filter-modal .qm-product-filter-backdrop,
#qm-exit-warning-modal .qm-exit-warning-backdrop{
  background:rgba(15,23,42,.55)!important;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
#qm-modal[aria-hidden="false"] .qm-modal-backdrop,
#qm-cart-modal[aria-hidden="false"] .qm-cart-backdrop,
#qm-store-modal[aria-hidden="false"] .qm-store-backdrop,
#qm-page-popup-modal[aria-hidden="false"] .qm-page-popup-backdrop,
#qm-campaign-modal[aria-hidden="false"] .qm-campaign-modal__backdrop,
#qm-product-filter-modal.is-visible .qm-product-filter-backdrop,
#qm-exit-warning-modal.is-visible .qm-exit-warning-backdrop{
  animation:qmUnifiedModalBackdropIn .24s ease both!important;
}
@keyframes qmUnifiedModalBackdropIn{
  from{
    opacity:0;
    -webkit-backdrop-filter:blur(0);
    backdrop-filter:blur(0);
  }
  to{
    opacity:1;
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
  }
}
@media(prefers-reduced-motion:reduce){
  #qm-modal[aria-hidden="false"] .qm-modal-backdrop,
  #qm-cart-modal[aria-hidden="false"] .qm-cart-backdrop,
  #qm-store-modal[aria-hidden="false"] .qm-store-backdrop,
  #qm-page-popup-modal[aria-hidden="false"] .qm-page-popup-backdrop,
  #qm-campaign-modal[aria-hidden="false"] .qm-campaign-modal__backdrop,
  #qm-product-filter-modal.is-visible .qm-product-filter-backdrop,
  #qm-exit-warning-modal.is-visible .qm-exit-warning-backdrop{
    animation:none!important;
  }
}

/* Quick Menü 1.50.50: approved frontend refinements. */
.qm-cat-chip{font-size:14px}
.qm-mobile-footer{border-radius:12px 12px 0 0}
.qm-has-active-filter .qm-mobile-footer__label{color:#fff!important}
.qm-container{padding-bottom:0!important}
.qm-section h2{color:#4e3c32!important}
.qm-filter-accordion-toggle,
.qm-filter-accordion:not(.is-open) .qm-filter-accordion-toggle{background:#4e3c32!important}
@media(max-width:767px){
  .qm-front-wrap .qm-menu-header__logo{max-height:90px!important}
  .qm-menu-header{background:#faefdd!important;padding:0 12px!important}
}

/* Quick Menü 1.50.64: tablet category navigation follows and sticks below the header. */
@media(min-width:768px) and (max-width:1023px){
  .qm-front-wrap .qm-container{
    flex-direction:column;
    gap:12px;
    padding-top:0!important;
  }
  .qm-front-wrap .qm-sidebar{
    display:none!important;
  }
  .qm-front-wrap .qm-topbar{
    display:block;
    position:sticky;
    top:63px;
    z-index:999!important;
    margin-top:0;
  }
  .qm-front-wrap .qm-topbar-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-x:contain;
  }
  .qm-front-wrap .qm-topbar-scroll::-webkit-scrollbar{
    display:none;
  }
}
