/* =========================
   Restaurant Menu – Optimized CSS
   (Görsel sonuç korunarak sadeleştirilmiş)
   ========================= */

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

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

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

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

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

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

/* Arama alanı + spinner + meta */
.rm-search-wrap{position:relative;margin:8px 0 16px}
#rm-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 */
#rm-search.is-loading{padding-left:36px}
.rm-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 .6s linear infinite
}
/* input is-loading iken spinner görünür */
#rm-search.is-loading + .rm-spinner{display:block}
@keyframes rmspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rm-spinner{animation:none;border-top-color:#94a3b8}}
.rm-search-meta{margin-top:6px;font-size:12px;color:var(--rm-gray-400)}

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

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

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

/* Aktif kategori vurguları */
.rm-cat-link.is-active{background:#bc987363;border-left:3px solid var(--rm-primary);font-weight:600}
.rm-cat-link.is-active:hover{color:var(--rm-accent)}
.rm-cat-chip.is-active{color:#fff; background:var(--rm-text);border-color:#cbd5e1;font-weight:600}

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


/* Tag öneri dropdown */
.rm-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,.08);
  max-height: 280px;
  overflow-y: auto;
  z-index: 40;
}

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

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

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

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

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

/* Desc. mobilde 2 satır sonra kes */
@media (max-width: 768px){
  .rm-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) ===== */
.rm-modal{position:fixed;inset:0;display:none;z-index:9999}
.rm-modal.is-open{display:block}
.rm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.rm-modal-dialog{
  position:relative; z-index:1; max-width:820px; margin:5vh auto; background:#fff;
  border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.25)
}
.rm-modal-close{
    right: 10px;
    position: absolute;
    top: 10px;
    border-radius: 50% !important;
    border: 1px solid #000 !important;
    padding: 0px 6px 0px 6px !important;
    background: #000 !important;
    color: #fff !important;
}
.rm-modal-close:hover{
	background: var(--rm-accent)!important;
}
.rm-modal-body{font-family:var(--rm-font); padding:16px 16px 24px}
.rm-modal-loading,.rm-modal-error{padding:40px;text-align:center;color:#444}

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

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

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

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

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

/* Arkaplan görsel alanı; JS arka plan atayınca .show() ile görünür */
.rm-modal-media{
  width: 100%;
  padding-top: 40%;                 /* 16:9 ~ 40% oran */
  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) */
.rm-modal-title{ margin:0 0 6px; font-size:22px; color: var(--rm-text); }
.rm-modal-price{ margin:0 0 8px; font-weight:700; color: var(--rm-primary); }
.rm-modal-desc{ color: var(--rm-text); }

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


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

}

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

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

/* Loader/Modal açıkken body scroll kilidi */
body.rm-modal-lock{overflow:hidden}


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

/* Modal görünürken (aria-hidden="false") açılış animasyonlarını çalıştır */
.rm-modal[aria-hidden="false"] .rm-modal-backdrop{
  animation: rmBackdropIn .22s ease both;
}
.rm-modal[aria-hidden="false"] .rm-modal-dialog{
  animation: rmDialogIn .26s cubic-bezier(.22,.61,.36,1) both;
}

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

/* Dialog için aşağıdan hafif yükselip görünme */
@keyframes rmDialogIn{
  from { transform: translateY(12px) scale(.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){
  .rm-modal[aria-hidden="false"] .rm-modal-backdrop,
  .rm-modal[aria-hidden="false"] .rm-modal-dialog{
    animation: none;
  }
}

/* ==== Modal Sadece KAPANIŞ Animasyonu ==== */
/* Kapanış tetiklemek için .is-closing sınıfı yeterlidir */
.rm-modal.is-closing .rm-modal-backdrop{
  animation: rmBackdropOut .22s ease both;
}
.rm-modal.is-closing .rm-modal-dialog{
  animation: rmDialogOut .26s cubic-bezier(.22,.61,.36,1) both;
}

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

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

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


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

.rm-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;
}
.rm-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>");
}
.rm-clear:hover{ background:#000!important; }

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

/* Yerleşik WebKit X butonunu gizle (çakışmasın) */
#rm-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)
   =============================== */
.rm-search-wrap{
  /* mevcut position/margin korunur; ayrıca grid yapıyoruz */
  display: grid;
  grid-template-areas: "field" "meta";
  grid-auto-rows: auto;
}
#rm-search{ grid-area: field; }
.rm-search-meta{ grid-area: meta; }

/* Clear: input satırına sabitlenir, absolute gerekmez */
.rm-search-wrap .rm-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;
  display: block !important;             /* hep yerinde dursun */
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .12s ease, visibility .12s ease,
              background .12s ease, border-color .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) */
.rm-search-wrap.has-value .rm-clear,
#rm-search:not(:placeholder-shown) ~ .rm-clear{
  opacity: 1; visibility: visible; pointer-events: auto;
}


/* Discount styles */
.rm-old-price{opacity:.5;text-decoration:line-through;margin-right:8px;font-weight:500}
.rm-discount-price{color:#d63638;font-weight:700}
.rm-discount-badge{position:absolute;top:10%;right:20%;transform: translate(50%);background:#d63638;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.2;box-shadow:0 4px 12px rgba(214,54,56,.2)}
@media(max-width:767px){
	.rm-discount-badge{
		right: 50%;
		transform: translate(50%);
		top:12px;
	}
}
.rm-modal-price .rm-old-price{display:inline-block}
.rm-modal-price .rm-discount-price{display:inline-block}

.rm-menu-wrap{position:relative;}
.rm-lang-switcher{position:absolute;top:0;left:0;z-index:30;}
.rm-lang-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:110px;padding:8px 34px 8px 12px;border:1px solid var(--rm-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,.08);font-weight:700;letter-spacing:.04em;cursor:pointer;line-height:1.2;}
.rm-lang-select:focus{outline:none;border-color:var(--rm-primary,#111);box-shadow:0 0 0 2px rgba(0,0,0,.08);}
@media (max-width: 767px){.rm-lang-switcher{top:8px;left:8px;}.rm-lang-select{padding:6px 30px 6px 10px;}}



/* Front language dropdown (custom, emoji-safe) */
.rm-lang-switcher{position:absolute;top:0;left:20px;z-index:40}
.rm-lang-dropdown{position:relative}

.rm-lang-summary::-webkit-details-marker{display:none}
.rm-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;
}
.rm-lang-dropdown[open] .rm-lang-summary{border-color:var(--rm-primary,#111)}
.rm-lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:110px;
  background:#fff;
  border:1px solid var(--rm-border,#ddd);
  border-radius:10px;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  overflow:hidden;
}
.rm-lang-option{
  display:block;
  padding:10px 12px;
  text-decoration:none;
  color:var(--rm-text,#111);
  background:#fff;
  font-weight:700;
}
.rm-lang-option:hover,.rm-lang-option.is-active{background:var(--rm-gray-50,#f7f7f9);color:var(--rm-primary,#111)}
@media (max-width: 767px){
  .rm-lang-switcher{top:2px;left:8px}
  .rm-lang-summary{padding:6px 30px 6px 10px}
}


/* Hero / store info */
.rm-front-wrap{position:relative}
.rm-hero-overlay{position:absolute;inset:0;background:#000;opacity:.58}
.rm-hero-controls{width:100%;position:absolute;top:20px;z-index:3;display:flex;align-items:center;gap:12px}
.rm-lang-switcher{position:relative;z-index:3}
.rm-lang-dropdown{position:relative}
.rm-lang-summary{
	list-style: none;
    cursor: pointer;
    background: rgba(255, 255, 255, .95);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    padding: 0px 12px;
    color: #222;
    font-weight: 600;
    min-width: 85px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);}
.rm-lang-summary::-webkit-details-marker{display:none}
.rm-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:130px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:8px;display:flex;flex-direction:column;gap:4px}
.rm-lang-option{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;color:#222;font-weight:600}
.rm-lang-option:hover,.rm-lang-option.is-active{background:rgba(188,152,115,.14);color:#111}
.rm-info-btn{
	position: absolute;
    right: 5px;
    width: 30px !important;
    height: 30px;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .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, .18);
}
.rm-store-modal[hidden]{display:none!important}
.rm-store-modal{position:fixed;inset:0;z-index:9999}
.rm-store-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.rm-store-dialog{font-family:var(--rm-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,.28)}
.rm-store-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:32px;line-height:1;cursor:pointer;color:#111}
.rm-store-logo-wrap{text-align:center;margin-bottom:18px}
.rm-store-logo{max-width:220px!important;max-height:120px;width:auto;height:auto;object-fit:contain}
.rm-store-dialog h3{font-family:var(--rm-font);margin:0 0 14px;font-size:24px;color:var(--rm-primary);text-align:center;}
.rm-store-bio{color:var(--rm-text);line-height:1.7;margin-bottom:18px}
.rm-store-hours h4{font-family:var(--rm-font);margin:0 0 8px;color:var(--rm-primary);font-size:18px;text-align:center;}
.rm-store-hours{color:var(--rm-text);line-height:1.8}
@media (max-width: 767px){
  .rm-hero{max-height:215px!important;min-height:215px!important}
  .rm-hero-controls{top:12px;gap:8px}
  .rm-store-dialog{margin:4vh 12px 0;padding:22px 18px}
}


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

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


.rm-mobile-footer{
  display:none;
}
@media (max-width: 767px){
  .rm-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,.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,.10);
  }
  body{ padding-bottom:88px; }
  .rm-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;
  }
  .rm-mobile-footer__item .dashicons{
    font-size:22px;
    width:22px;
    height:22px;
    line-height:22px;
  }
  .rm-mobile-footer__item.is-active{
    background:#3f3f46;
    color:#fff;
  }
  .rm-mobile-footer__label{
    display:block;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    width:100%;
  }
}


/* Cart feature */
.rm-mobile-footer__item.is-active{
  background:transparent !important;
  color:inherit !important;
}
.rm-mobile-footer__icon-wrap{
  position:relative;
  display:inline-flex;
}
.rm-cart-badge{
  position:absolute;
  top:-6px;
  right:-10px;
  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;
}.rm-card-cart{
  margin-top:auto;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:8px;
  align-items:stretch;
}
.rm-qty-box{
  display:grid;
  grid-template-columns:28px 1fr 28px;
  border:1px solid var(--rm-primary);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.rm-qty-btn{
  border:0!important;
  background:#f8fafc;
  cursor:pointer!important;
  font-size:18px!important;
  padding:0!important;
}

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

.rm-qty-plus{
  background: var(--rm-primary)!important;
  color: #fff!important;
  border-radius: 0 !important;
}
.rm-add-cart-btn{
  border: 0 !important;
  border-radius: 10px !important;
  background: #4e3c32 !important;
  color: #fff !important;
  font-weight: 500 !important;
  letter-spacing: .02em;
  cursor: pointer !important;
  min-height: 44px;
}
.rm-add-cart-btn:hover{ opacity:.95; }

.rm-cart-modal[hidden]{ display:none !important; }
.rm-cart-modal{
  position:fixed;
  inset:0;
  z-index:10000;
}
.rm-cart-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}
.rm-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,.18);
}
.rm-cart-close{
  position:absolute;
  right:10px; top:8px;
  border:0; background:transparent; font-size:26px; cursor:pointer;
}
.rm-cart-items{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:16px 0;
}
.rm-cart-row{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px;
}
.rm-cart-thumb{
  width:56px; height:56px; object-fit:cover; border-radius:10px; background:#f3f4f6;
}
.rm-cart-meta{
  min-width:0;
}
.rm-cart-title{ font-weight:700; margin-bottom:4px; }
.rm-cart-sub{ font-size:12px; color:#6b7280; }
.rm-cart-footer{
  display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e5e7eb; padding-top:12px;
}


.rm-card-cart{
  margin-top:10px;
  display:grid;
  grid-template-columns:86px 1fr;
  gap:8px;
  align-items:stretch;
}
.rm-card-tags + .rm-card-cart{
  margin-top:10px;
}
.rm-card-desc + .rm-card-cart{
  margin-top:10px;
}



/* card layout stabilization */
.rm-card{
  display:grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.rm-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;
}
.rm-card-body{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.rm-card-title,
.rm-card-price,
.rm-card-desc,
.rm-card-tags,
.rm-card-cart{
  width:100%;
}
.rm-card-title{
  margin:0 0 6px;
  line-height:1.15;
}
.rm-card-price{
  margin-bottom:6px;
}
.rm-card-desc{
  margin:0 0 8px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.rm-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 10px;
}
.rm-card-cart{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  margin-top:auto;
}
.rm-qty-box{
  width:96px;
  min-width:96px;
  height:48px;
  display:grid;
  grid-template-columns:32px 1fr 32px;
  overflow:hidden;
  border-radius:12px;
}
.rm-qty-btn{
  min-height:48px;
}
.rm-qty-input{
  min-height:48px;
  height:48px;
}

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

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




/* rm-card-cart 35px compact layout */
.rm-card-cart{
  grid-template-columns:82px minmax(0,1fr) !important;
  gap:8px !important;
  min-height:35px !important;
  height:auto !important;
  align-items:stretch !important;
}
.rm-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;
}
.rm-qty-btn{
  min-height:35px !important;
  height:35px !important;
  line-height:35px !important;
  font-size:16px !important;
  padding:0 !important;
}
.rm-qty-input{
  min-height:35px !important;
  height:35px !important;
  line-height:35px !important;
  font-size:14px !important;
  padding:0 2px !important;
  border:0!important;
  text-align:center;
  width:100%!important;
  min-width:0;
  padding:0 4px!important;
}
.rm-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){
  .rm-card-cart{
    grid-template-columns:82px minmax(0,1fr) !important;
  }
}



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


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


.rm-card{
  position:relative;
}
.rm-card-cart-badge{
  position:absolute;
  top:10px;
  right:10px;
  width:28px;
  height:28px;
  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,.15);
}
.rm-card-cart-badge .dashicons,
.rm-modal-cart-badge .dashicons{
  font-size:16px;
  width:16px;
  height:16px;
  line-height:16px;
}

.rm-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,.15);
}


.rm-modal-dialog{
  position:relative;
  padding-top: 20px;
}
.rm-modal-close{
  z-index:30 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}
.rm-modal-media{
  position:relative;
  z-index:1;
}
.rm-modal-content{
  position:relative;
  z-index:1;
}


.rm-cart-row{
  grid-template-columns: 40px 56px minmax(0,1fr) auto;
}
.rm-cart-qty-vertical{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 0px;
  border: 2px solid var(--rm-primary);
  width: 30px;
  min-width: 30px;
}
.rm-cart-qty-value{
  min-width:20px;
  text-align:center;
  font-size:12px;
  font-weight:700;
}
.rm-cart-line-total{
  font-weight:700;
}
.rm-cart-line-unit{
  color:#6b7280;
  font-size:11px;
}

/* cart modal button override against theme button styles */
.rm-cart-modal button,
.rm-cart-modal [type=button],
.rm-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 .2s ease;
  user-select: none;
  white-space: nowrap;
  line-height: 1;
  min-width: auto;
  box-shadow: none;
}



.rm-cart-row{
  grid-template-columns: 40px 56px minmax(0,1fr) 32px !important;
  align-items: center !important;
  gap: 10px !important;
}
.rm-cart-meta{
  min-width: 0;
}
.rm-cart-title{
  font-weight: 700;
  margin-bottom: 4px;
}
.rm-cart-sub{
  color: #6b7280;
  font-size: 12px;
  white-space: nowrap;
}
.rm-cart-line-total{
  font-weight:700;
  color:#111827;
}
.rm-cart-qty-btn{
  width: 28px;
  height: 24px;
  min-width: 28px!important;
  min-height: 24px;
}

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

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

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

.rm-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;
}
.rm-cart-close{
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  background: #000!important;
  color: #fff!important;
}

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


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



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

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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



.rm-cart-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.rm-cart-footer-total{
  display:flex;
  align-items:center;
  gap:8px;
}

.rm-quote-submit{
  border:0;
  border-radius:10px;
  background:var(--rm-primary,#111);
  color:#fff;
  padding:10px 16px;
  cursor:pointer;
  width: 100%;
}

.rm-cart-quote-btn{
  background: #16A34A!important;
  color: #fff!important;
  padding:10px 16px!important;
  width: 100%;
}
.rm-quote-modal[hidden]{display:none !important;}
.rm-quote-modal{
  position:fixed;
  inset:0;
  z-index:99999;
}
.rm-quote-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}
.rm-quote-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, .18);
}
.rm-quote-close{
  position:absolute;
  top:12px;
  right:12px;
  width: 20px!important;
  height: 20px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background: #000;
  justify-content: center;
  align-items: center;
  display: flex;
  color: #fff;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
}
.rm-quote-form{margin-top:12px;}
.rm-quote-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.rm-quote-field{display:flex;flex-direction:column;gap:6px;}
.rm-quote-field--full{grid-column:1/-1;}
.rm-quote-field input,
.rm-quote-field textarea{
  width:100%;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:10px 12px;
}
.rm-quote-products{
  margin-bottom:14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  background:#f8fafc;
}
.rm-quote-products__title{
  font-weight:700;
  margin-bottom:8px;
}
.rm-quote-product-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(0,0,0,.05);
}
.rm-quote-product-row:last-child{border-bottom:0;}
.rm-quote-alert{
  margin-top:12px;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
}
.rm-quote-alert.is-error{background:#fef2f2;color:#b91c1c;}
.rm-quote-alert.is-success{background:#ecfdf5;color:#047857;}
.rm-quote-actions{
  margin-top:14px;
  display:flex;
  justify-content:flex-end;
}
@media (max-width: 640px){
  .rm-quote-grid{grid-template-columns:1fr;}
}



/* Quote modal should stay above mobile footer */
.rm-quote-modal,
#rm-quote-modal,
.rm-quote-backdrop,
.rm-quote-dialog,
.rm-quote-wrap{
  z-index: 999999 !important;
}
.rm-quote-modal{
  position: fixed !important;
  inset: 0 !important;
}
.rm-quote-backdrop{
  position: absolute !important;
  inset: 0 !important;
  z-index: 999999 !important;
}
.rm-quote-dialog{
  position: relative !important;
  z-index: 1000000 !important;
}
.rm-mobile-footer{
  z-index: 9990 !important;
}
body.rm-modal-open #rm-quote-modal,
body.rm-modal-open .rm-quote-modal{
  z-index: 999999 !important;
}




/* stronger quote modal / footer stacking fix */
body.rm-quote-open{
  overflow: hidden;
}
body > #rm-quote-modal.rm-quote-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
}
body > #rm-quote-modal .rm-quote-backdrop{
  position: absolute !important;
  inset: 0 !important;
  z-index: 2147483001 !important;
}
body > #rm-quote-modal .rm-quote-dialog{
  position: relative !important;
  z-index: 2147483002 !important;
}
.rm-mobile-footer{
  z-index: 9999 !important;
}

