/* MM Side Cart — all selectors namespaced. Native <dialog> stays in the Elementor
 * widget tree so the editor's generated CSS selectors keep working in top layer. */
.mmsc-widget,
.mmsc-widget * { box-sizing: border-box; }
.mmsc-widget [hidden] { display: none !important; }
.mmsc-widget { --mmsc-primary: #29233c; --mmsc-ink: #221c35; --mmsc-muted: #858195; --mmsc-line: #ece9f0; --mmsc-surface: #fff; --mmsc-secondary: #f8f7fa; font-family: inherit; direction: rtl; text-align:right; }
.mmsc-widget :is(button, input) { font-family: inherit; }
.mmsc-widget button { appearance: none; -webkit-appearance: none; cursor: pointer; }
.mmsc-widget a { text-decoration: none; }
.mmsc-widget :is(button, a, input):focus-visible { outline: 2px solid #6c57b5; outline-offset: 3px; }
.mmsc-widget .mmsc-trigger {
  display: inline-flex; direction: rtl; align-items: center; justify-content: center; gap: 11px;
  padding: 10px 13px; min-height: 44px; width: auto;
  border: 1px solid transparent; border-radius: 12px; background-color: transparent;
  box-shadow: none; color: var(--mmsc-ink); font-size: 14px; font-weight: 600;
  line-height: 1.5; text-align: center; transition: color .23s ease, background-color .23s ease, border-color .23s ease;
  transform: none; margin: 0; white-space: nowrap;
}
.mmsc-widget .mmsc-trigger:hover { background-color: #f3f1f8; color: var(--mmsc-ink); transform: none; }
.mmsc-widget .mmsc-trigger-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 27px; height: 27px; line-height: 1; color: inherit; }
.mmsc-widget .mmsc-trigger-icon :is(svg, img) { display: block; width: 27px; height: 27px; max-width: none; object-fit: contain; fill: none; }
.mmsc-widget .mmsc-trigger-icon svg { stroke: currentColor; }
.mmsc-widget .mmsc-trigger-icon i { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; font-size: 27px; }
.mmsc-widget .mmsc-trigger-icon svg,
.mmsc-widget .mmsc-trigger-icon img,
.mmsc-widget .mmsc-trigger-icon i { transform: none !important; transition: color .23s ease; }
.mmsc-widget .mmsc-badge,
.mmsc-widget .mmsc-text-badge { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 19px; height: 19px; padding: 0 4px; border: 2px solid #fff; border-radius: 30px; background-color: #6c57b5; color: #fff; font-size: 10px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.mmsc-widget .mmsc-badge { position: absolute; top: -8px; right: -9px; z-index: 2; }
.mmsc-widget .mmsc-trigger-total { white-space: nowrap; font-weight: 600; font-size: 12px; }
.mmsc-widget .mmsc-trigger-label { white-space: nowrap; }

/* Native modal: escapes sticky header stacking contexts and overflow:hidden. */
.mmsc-widget .mmsc-drawer {
  position: fixed; inset: 0; margin: 0 0 0 auto; padding: 0; width: min(440px, 100vw);
  max-width: 100vw; max-height: 100dvh; height: 100dvh; min-height: 0;
  border: 0; border-radius: 20px 0 0 20px; outline: 0;
  background: #fff; color: var(--mmsc-ink); box-shadow: -16px 0 65px rgba(31, 25, 53, .17);
  overflow: hidden; flex-direction: column; direction: rtl; text-align: right;
  font-size: 14px; line-height: 1.7; font-family: inherit; isolation: isolate;
}
.mmsc-widget .mmsc-drawer[open] { display: flex; }
.mmsc-widget .mmsc-drawer[data-side="left"] { margin: 0 auto 0 0; border-radius: 0 20px 20px 0; }
.mmsc-widget .mmsc-drawer::backdrop { background-color: rgba(14, 12, 25, .54); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.mmsc-widget .mmsc-drawer[open]:not(.mmsc-closing)[data-side="right"] { animation: mmsc-enter-right .34s cubic-bezier(.16, 1, .3, 1) both; }
.mmsc-widget .mmsc-drawer[open]:not(.mmsc-closing)[data-side="left"] { animation: mmsc-enter-left .34s cubic-bezier(.16, 1, .3, 1) both; }
.mmsc-widget .mmsc-drawer[open]:not(.mmsc-closing)::backdrop { animation: mmsc-fade-in .32s ease both; }
.mmsc-widget .mmsc-drawer.mmsc-closing[data-side="right"] { animation: mmsc-leave-right .25s ease-in both; }
.mmsc-widget .mmsc-drawer.mmsc-closing[data-side="left"] { animation: mmsc-leave-left .25s ease-in both; }
.mmsc-widget .mmsc-drawer.mmsc-closing::backdrop { animation: mmsc-fade-out .25s ease both; }
@keyframes mmsc-enter-right { from { opacity:.75; transform: translateX(103%); } to { opacity:1; transform:translateX(0); } }
@keyframes mmsc-enter-left { from { opacity:.75; transform: translateX(-103%); } to { opacity:1; transform:translateX(0); } }
@keyframes mmsc-leave-right { from { transform:translateX(0); opacity:1; } to { transform:translateX(103%); opacity:.85; } }
@keyframes mmsc-leave-left { from { transform:translateX(0); opacity:1; } to { transform:translateX(-103%); opacity:.85; } }
@keyframes mmsc-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes mmsc-fade-out { from { opacity:1; } to { opacity:0; } }

.mmsc-widget .mmsc-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex: 0 0 auto; min-height: 91px; padding: 21px 28px; background: #fff; border-bottom: 1px solid var(--mmsc-line); }
.mmsc-widget .mmsc-header-title-wrap { display:flex; align-items:center; gap: 10px; min-width:0; }
.mmsc-widget .mmsc-header-title { margin: 0; padding: 0; color:var(--mmsc-ink); font-family:inherit; font-size: 20px; font-weight: 750; line-height:1.5; }
.mmsc-widget .mmsc-header-count { display:inline-flex; align-items:center; justify-content:center; min-width:25px; height:25px; border-radius:8px; padding:0 5px; background:#f0edf6; color:#554675; font-size:12px; font-weight:700; }
.mmsc-widget .mmsc-close { display:flex; align-items:center; justify-content:center; flex-shrink:0; margin:0; padding:0; width:39px; height:39px; border:0; border-radius:12px; color:var(--mmsc-ink); background:#f5f4f7; box-shadow:none; transition:background-color .2s ease, color .2s ease; }
.mmsc-widget .mmsc-close:hover { background-color:#eae7f1; color:var(--mmsc-primary); }
.mmsc-widget .mmsc-close :is(svg, img, i) { display:block; width:19px; height:19px; object-fit:contain; }
.mmsc-widget .mmsc-close svg { fill:none; stroke:currentColor; }
.mmsc-widget .mmsc-close i { font-size:19px; line-height:1; }
.mmsc-widget .mmsc-feedback { flex:0 0 auto; margin:0; padding:9px 25px; color:#843721; background:#fff3ec; font-size:12px; line-height:1.8; }
.mmsc-widget .mmsc-body { display:block; flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:24px 28px; background:#fff; }
.mmsc-widget .mmsc-body::-webkit-scrollbar { width:6px; }
.mmsc-widget .mmsc-body::-webkit-scrollbar-thumb { background:#dfdce7; border-radius:20px; }
/* Private cart data arrives asynchronously, never embedded in full-page cache. */
.mmsc-widget .mmsc-loading-view { display:none; align-items:flex-start; gap:14px; padding:15px; background:#fbfafc; border:1px solid #efedf3; border-radius:15px; }
.mmsc-widget .mmsc-loading-thumb { display:block; width:84px; height:84px; flex-shrink:0; border-radius:10px; background:#eeebf2; }
.mmsc-widget .mmsc-loading-lines { display:flex; flex:1; flex-direction:column; gap:11px; padding-top:9px; }
.mmsc-widget .mmsc-loading-lines i { display:block; height:10px; width:100%; border-radius:20px; background:#eeebf2; }
.mmsc-widget .mmsc-loading-lines i:nth-child(2) { width:70%; }
.mmsc-widget .mmsc-loading-lines i:nth-child(3) { width:43%; }
.mmsc-widget .mmsc-initializing .mmsc-loading-view { display:flex; }
.mmsc-widget .mmsc-initializing .mmsc-loading-thumb,
.mmsc-widget .mmsc-initializing .mmsc-loading-lines i { animation:mmsc-shimmer 1.1s ease-in-out infinite alternate; }
@keyframes mmsc-shimmer { to { background-color:#ddd8e4; } }
.mmsc-widget .mmsc-initializing .mmsc-empty { display:none !important; }
.mmsc-widget .mmsc-initializing .mmsc-items-area { display:none !important; }
.mmsc-widget .mmsc-initializing .mmsc-footer { opacity:.65; pointer-events:none; }
.mmsc-widget .mmsc-items-area { display:flex; flex-direction:column; gap:14px; }
.mmsc-widget .mmsc-item { display:flex; align-items:flex-start; gap:15px; width:100%; min-width:0; padding:13px; background:#fbfafc; border:1px solid #efedf3; border-radius:15px; box-shadow:none; animation:mmsc-item-appear .25s ease both; }
@keyframes mmsc-item-appear { from { opacity:.65; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.mmsc-widget .mmsc-item-image { display:block; flex:0 0 auto; width:84px; overflow:hidden; border-radius:10px; background:#fff; aspect-ratio:1 / 1; }
.mmsc-widget .mmsc-item-image a { display:block; width:100%; height:100%; }
.mmsc-widget .mmsc-item-image img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; border-radius:10px; }
.mmsc-widget .mmsc-item-details { display:block; flex:1; min-width:0; }
.mmsc-widget .mmsc-item-heading { display:flex; align-items:flex-start; gap:5px; justify-content:space-between; min-width:0; }
.mmsc-widget .mmsc-item-title { color:var(--mmsc-ink); font-size:14px; font-weight:650; line-height:1.8; overflow-wrap:anywhere; }
.mmsc-widget .mmsc-item-title a { color:inherit; text-decoration:none; }
.mmsc-widget .mmsc-item-title a:hover { color:#6c57b5; }
.mmsc-widget .mmsc-remove { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:27px; height:27px; padding:4px; border:0; border-radius:8px; background-color:transparent; color:#a39cae; box-shadow:none; }
.mmsc-widget .mmsc-remove:hover { color:#bd4646; background:#f9eced; }
.mmsc-widget .mmsc-remove svg { width:17px; height:17px; stroke:currentColor; }
.mmsc-widget .mmsc-item-meta { margin-top:3px; font-size:11px; color:var(--mmsc-muted); }
.mmsc-widget .mmsc-item-meta :is(dl, dt, dd, p) { display:inline; margin:0; padding:0; font-size:inherit; color:inherit; }
.mmsc-widget .mmsc-item-meta dt::after { content:' '; }
.mmsc-widget .mmsc-item-meta dd::after { content:' · '; }
.mmsc-widget .mmsc-item-unit-price { font-size:12px; margin-top:4px; color:#777083; line-height:1.7; }
.mmsc-widget .mmsc-item-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.mmsc-widget .mmsc-quantity { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; height:33px; border:1px solid #e1dfe8; background:#fff; border-radius:9px; overflow:hidden; }
.mmsc-widget .mmsc-qty-btn { display:flex; align-items:center; justify-content:center; width:29px; height:100%; min-height:0; padding:0; margin:0; border:0; background:transparent; color:var(--mmsc-ink); box-shadow:none; border-radius:0; font-family:inherit; font-size:17px; font-weight:500; line-height:1; }
.mmsc-widget .mmsc-qty-btn:hover { color:var(--mmsc-ink); background:#f1eef7; }
.mmsc-widget .mmsc-qty-input { appearance:textfield; -moz-appearance:textfield; display:block; width:33px; min-width:0; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; text-align:center; font-size:12px; line-height:1; font-weight:700; color:var(--mmsc-ink); direction:ltr; }
.mmsc-widget .mmsc-qty-input::-webkit-inner-spin-button, .mmsc-widget .mmsc-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mmsc-widget .mmsc-qty-input:focus { border:0; box-shadow:none; }
.mmsc-widget .mmsc-fixed-qty { display:inline-flex; align-items:center; padding:0 8px; color:#6b6773; font-size:12px; }
.mmsc-widget .mmsc-item-line-price { flex:0 1 auto; min-width:0; text-align:left; color:var(--mmsc-ink); font-size:12px; font-weight:750; line-height:1.5; }
.mmsc-widget .mmsc-woocommerce-price { white-space:nowrap; }

.mmsc-widget .mmsc-empty { display:none; flex:1; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:300px; padding:25px 10px; }
.mmsc-widget .mmsc-empty-icon { display:flex; align-items:center; justify-content:center; width:89px; height:89px; margin-bottom:23px; border-radius:27px; background:#f5f3f9; color:#a093b9; }
.mmsc-widget .mmsc-empty-icon :is(svg, img, i) { display:block; width:48%; height:48%; object-fit:contain; }
.mmsc-widget .mmsc-empty-icon i { font-size:44px; line-height:1; }
.mmsc-widget .mmsc-empty-title { margin:0 0 8px; padding:0; font-size:17px; line-height:1.8; font-weight:700; color:var(--mmsc-ink); }
.mmsc-widget .mmsc-empty-description { margin:0; max-width:260px; font-size:12px; line-height:2; color:var(--mmsc-muted); }
.mmsc-widget .mmsc-drawer.mmsc-is-empty .mmsc-body { display:flex; flex-direction:column; justify-content:center; }
.mmsc-widget .mmsc-drawer.mmsc-is-empty .mmsc-items-area { display:none; }
.mmsc-widget .mmsc-drawer.mmsc-is-empty .mmsc-empty { display:flex; }

.mmsc-widget .mmsc-footer { flex:0 0 auto; padding:22px 28px 25px; border-top:1px solid var(--mmsc-line); background:#fff; box-shadow:0 -9px 26px rgba(36,28,58,.025); }
.mmsc-widget .mmsc-subtotal { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:4px; }
.mmsc-widget .mmsc-subtotal-label { color:#6b6575; font-size:14px; font-weight:550; }
.mmsc-widget .mmsc-subtotal-value { color:var(--mmsc-ink); font-size:17px; font-weight:800; white-space:nowrap; }
.mmsc-widget .mmsc-footer-note { color:#9992a2; font-size:10.5px; line-height:1.9; margin:0 0 17px; }
.mmsc-widget .mmsc-actions { display:flex; flex-direction:column; gap:10px; margin-top:15px; }
.mmsc-widget .mmsc-actions :is(a, button) { display:flex; align-items:center; justify-content:center; gap:10px; flex:1 1 auto; text-align:center; width:100%; min-height:49px; padding:11px 14px; margin:0; font-size:14px; font-weight:650; line-height:1.6; cursor:pointer; border:1px solid transparent; border-radius:11px; box-shadow:none; transition:background-color .23s ease, color .23s ease, border-color .23s ease; text-decoration:none; transform:none; }
.mmsc-widget .mmsc-actions :is(a, button):hover { transform:none; text-decoration:none; }
.mmsc-widget .mmsc-checkout { background-color:var(--mmsc-primary); color:#fff; border-color:var(--mmsc-primary); }
.mmsc-widget .mmsc-checkout:hover { background-color:#423656; color:#fff; }
.mmsc-widget .mmsc-checkout svg { width:17px; height:17px; flex-shrink:0; }
.mmsc-widget .mmsc-continue { background-color:#f6f4f9; color:var(--mmsc-ink); border-color:#efedf3; }
.mmsc-widget .mmsc-continue:hover { background-color:#eae6f3; color:var(--mmsc-ink); }
.mmsc-widget .mmsc-checkout[aria-disabled="true"] { pointer-events:none; opacity:.45; }
.mmsc-widget .mmsc-drawer[data-buttons-layout="horizontal"] .mmsc-actions { flex-direction:row; }
.mmsc-widget .mmsc-drawer[data-hide-footer-empty="yes"].mmsc-is-empty .mmsc-footer { display:none; }
.mmsc-widget .mmsc-drawer.mmsc-busy .mmsc-item, .mmsc-widget .mmsc-drawer.mmsc-busy .mmsc-subtotal { opacity:.55; pointer-events:none; }
.mmsc-widget .mmsc-drawer.mmsc-busy .mmsc-remove, .mmsc-widget .mmsc-drawer.mmsc-busy .mmsc-qty-btn { cursor:wait; }
.mmsc-widget .mmsc-drawer.mmsc-busy .mmsc-close { cursor:pointer; }
.mmsc-widget .mmsc-drawer[data-show-images="no"] .mmsc-item-image,
.mmsc-widget .mmsc-drawer[data-show-meta="no"] .mmsc-item-meta,
.mmsc-widget .mmsc-drawer[data-show-unit-price="no"] .mmsc-item-unit-price,
.mmsc-widget .mmsc-drawer[data-show-quantity="no"] .mmsc-quantity,
.mmsc-widget .mmsc-drawer[data-show-line-price="no"] .mmsc-item-line-price,
.mmsc-widget .mmsc-drawer[data-show-remove="no"] .mmsc-remove { display:none; }
.mmsc-widget .mmsc-drawer[data-show-quantity="no"][data-show-line-price="no"] .mmsc-item-bottom { display:none; }
@media (max-width:767px) {
  .mmsc-widget .mmsc-drawer { width:100vw; max-width:100vw; border-radius:0; }
  .mmsc-widget .mmsc-header { min-height:78px; padding:17px 19px; }
  .mmsc-widget .mmsc-header-title { font-size:18px; }
  .mmsc-widget .mmsc-body { padding:19px 16px; }
  .mmsc-widget .mmsc-item { padding:11px; gap:11px; }
  .mmsc-widget .mmsc-loading-thumb { width:74px; height:74px; }
  .mmsc-widget .mmsc-item-image { width:74px; }
  .mmsc-widget .mmsc-item-title { font-size:13px; }
  .mmsc-widget .mmsc-footer { padding:18px 18px max(19px, env(safe-area-inset-bottom)); }
}
@media (max-width:365px) {
  .mmsc-widget .mmsc-item-image { width:62px; }
  .mmsc-widget .mmsc-item-bottom { gap:5px; }
  .mmsc-widget .mmsc-item-line-price { font-size:10.5px; }
  .mmsc-widget .mmsc-qty-btn { width:25px; }
  .mmsc-widget .mmsc-qty-input { width:26px; }
}
@media (prefers-reduced-motion:reduce) {
  .mmsc-widget .mmsc-drawer[open], .mmsc-widget .mmsc-drawer[open]::backdrop,
  .mmsc-widget .mmsc-item { animation-duration:.01ms !important; }
  .mmsc-widget .mmsc-initializing .mmsc-loading-thumb, .mmsc-widget .mmsc-initializing .mmsc-loading-lines i { animation:none !important; }
  .mmsc-widget :is(button, a, input) { transition:none !important; }
}
