/* N&M Slide Cart — isolated styles, compatible with Elementor custom HTML header */
.nmjsc-lock-scroll { overflow: hidden !important; }
.nmjsc-trigger {
  appearance: none; position: relative; display: inline-flex; align-items: center;
  justify-content: center; gap: 8px; height: 46px; min-width: 44px;
  padding: 0 10px; flex: 0 0 auto; cursor: pointer; text-transform: none;
  border: 1px solid #e5dcd2; border-radius: 7px; background: #fff;
  color: #20191a; box-shadow: 0 3px 12px rgba(20,18,18,.035);
  font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1;
  transition: background .2s,border-color .2s,box-shadow .2s;
}
.nmjsc-trigger:hover { background: #fffaf5; border-color: #b79761; box-shadow: 0 6px 15px rgba(20,18,18,.085); }
.nmjsc-trigger:focus-visible, .nmjsc-drawer button:focus-visible, .nmjsc-drawer a:focus-visible { outline: 2px solid #946f42; outline-offset: 3px; }
.nmjsc-trigger svg { display:block; width:22px; height:22px; flex: 0 0 22px; pointer-events:none; }
.nmjsc-badge { position:absolute; top:-7px; right:-7px; display:inline-flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#a7222b;
  color:#fff; font:700 10px/1 Arial,sans-serif; box-shadow:0 0 0 2px #fffefa; pointer-events:none; }
#nmjsc-automatic-trigger[hidden], .nmjsc-trigger[hidden] { display:none!important; }
.nmjsc-backdrop { position:fixed; inset:0; z-index:2147483000; background:rgba(15,14,14,.52);
  opacity:0; transition:opacity .32s ease; }
.nmjsc-backdrop[hidden] { display:none!important; }
.nmjsc-backdrop.nmjsc-open {opacity:1;}
.nmjsc-drawer { position:fixed; top:0; right:0; bottom:0; z-index:2147483001;
  width:min(100vw,440px); max-width:100%; display:flex; flex-direction:column;
  background:#fffdf9; box-shadow:-12px 0 48px rgba(0,0,0,.14);
  color:#201b19; font-family:inherit; transform:translateX(104%); transition:transform .33s cubic-bezier(.2,.8,.25,1);
  visibility:hidden; pointer-events:none; }
.nmjsc-drawer.nmjsc-open { transform:translateX(0); visibility:visible; pointer-events:auto; }
.nmjsc-drawer, .nmjsc-drawer * { box-sizing:border-box; }
.nmjsc-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  flex:0 0 auto; padding:28px 26px 23px; border-bottom:1px solid #e9e4dc; }
.nmjsc-eyebrow { font-size:9px; letter-spacing:2.2px; color:#a07e50; font-weight:800; margin-bottom:9px; }
.nmjsc-heading h2 { font-family:Georgia,'Times New Roman',serif; font-size:26px; line-height:1.2; font-weight:600;
  margin:0!important; color:#211a19; }
.nmjsc-heading-count { display:inline-flex; vertical-align:middle; align-items:center; justify-content:center;
  border-radius:999px; background:#f4eee4; min-width:25px; height:25px; padding:0 6px;
  font:700 12px/1 Arial,sans-serif; color:#8d6d45; margin-left:6px; }
.nmjsc-close { flex:0 0 38px; display:inline-flex; justify-content:center; align-items:center;
  width:38px; height:38px; padding:0; border:1px solid #e7e1d9; border-radius:50%;
  background:#fff; color:#322a27; cursor:pointer; font:400 30px/1 Arial,sans-serif; }
.nmjsc-close:hover {background:#f8f2eb;}
.nmjsc-message { display:none; flex:0 0 auto; margin:12px 22px 0; font-size:12px; line-height:1.55;
  padding:10px 12px; border-left:3px solid #a7222b; background:#fdf1f0; color:#7a171c; }
.nmjsc-message-visible { display:block; }
.nmjsc-cart-content { flex:1; min-height:0; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; }
.nmjsc-busy .nmjsc-cart-content {opacity:.65; cursor:progress;}
.nmjsc-cart-items { padding:4px 25px 10px; }
.nmjsc-item {display:flex; align-items:flex-start; gap:15px; padding:21px 0; border-bottom:1px solid #eee8e0; }
.nmjsc-thumb { width:100px; height:112px; flex:0 0 100px; display:flex; align-items:center; justify-content:center;
  border-radius:7px; border:1px solid #eee9e1; background:#f8f6f2; overflow:hidden; }
.nmjsc-thumb img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.nmjsc-item-info { min-width:0; flex:1; }
.nmjsc-item-name { display:block; font-size:13px; line-height:1.5; font-weight:750; color:#211c1b!important;
  text-decoration:none!important; margin-bottom:6px; }
.nmjsc-item-name:hover {color:#a7222b!important;}
.nmjsc-variation {font-size:11px; color:#777; margin:4px 0 7px;}
.nmjsc-variation dl {margin:0; display:flex; flex-wrap:wrap; gap:2px 5px;}
.nmjsc-variation dt, .nmjsc-variation dd {display:inline;margin:0;}
.nmjsc-unit-price { color:#9a723e; font-weight:750; font-size:13px; margin:6px 0 11px; }
.nmjsc-item-bottom { display:flex; align-items:center; justify-content:space-between; gap:7px; flex-wrap:wrap; }
.nmjsc-qty-control { display:inline-flex; align-items:center; height:32px; border:1px solid #e5ddd4; border-radius:5px; overflow:hidden; background:#fff; }
.nmjsc-qty-control button { display:flex; justify-content:center; align-items:center; width:30px; height:30px;
  color:#28211c; background:transparent; border:0; padding:0; cursor:pointer; font:500 19px/1 Arial,sans-serif; }
.nmjsc-qty-control button:hover {background:#f6f0e8;}
.nmjsc-qty-control input { text-align:center; display:block; width:36px; height:30px; border:0!important; outline:0!important;
  color:#302823; font:700 12px/1 Arial,sans-serif; background:transparent; padding:0; box-shadow:none!important; -moz-appearance:textfield; }
.nmjsc-qty-control input::-webkit-inner-spin-button, .nmjsc-qty-control input::-webkit-outer-spin-button {-webkit-appearance:none; margin:0;}
.nmjsc-fixed-qty {font-size:12px; color:#746a62;}
.nmjsc-remove {border:0; background:none; padding:5px 0; cursor:pointer; color:#9a514d; font-size:11px; text-decoration:underline;}
.nmjsc-remove:hover {color:#a7222b;}
.nmjsc-footer { margin-top:auto; padding:22px 25px 26px; background:#fffdf9; border-top:1px solid #ebe3dc; }
.nmjsc-subtotal { display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-size:16px; font-weight:700; margin:0 0 9px; }
.nmjsc-subtotal strong {font-size:18px;color:#211b19;}
.nmjsc-fineprint {color:#79726b; font-size:11px; line-height:1.5; margin:0 0 19px;}
.nmjsc-primary { display:flex; align-items:center; justify-content:center; gap:18px; width:100%; min-height:50px;
  padding:12px; border-radius:5px; background:#231e1c; color:#fff!important; text-decoration:none!important;
  font-size:11px; font-weight:800; letter-spacing:1.2px; transition:background .2s; }
.nmjsc-primary:hover {background:#8e1c24; color:#fff!important;}
.nmjsc-primary span {font-size:20px; line-height:1;}
.nmjsc-view-cart { display:block; text-align:center; margin:18px 0 0; font-size:12px; font-weight:650;
  text-decoration:underline!important; color:#61534a!important; }
.nmjsc-view-cart:hover {color:#a7222b!important;}
.nmjsc-empty {display:flex; flex:1; align-items:center; justify-content:center; flex-direction:column; padding:45px 28px; text-align:center;}
.nmjsc-empty-icon { color:#cbbba5; padding-bottom:19px; }
.nmjsc-empty h3 {font:500 25px/1.25 Georgia,serif; margin:0 0 12px; color:#241e1d;}
.nmjsc-empty p {max-width:275px; font-size:13px; line-height:1.7; color:#7c736c; margin:0 0 26px; }
.nmjsc-shop-link {max-width:265px;}
@media (min-width:1025px) and (max-width:1320px) {
  #nmv6Root .nmjsc-trigger { min-width:38px; width:38px; height:44px; padding:0; }
  #nmv6Root .nmv6-actions { gap:5px!important; }
}
@media (max-width:1024px) {
  #nmv6Root .nmjsc-trigger.nmjsc-mobile-header {position:absolute!important; left:42px; top:50%;
    transform:translateY(-50%); z-index:4; height:40px; width:39px; min-width:39px; padding:0;
    border:0; background:transparent; box-shadow:none; border-radius:50%; }
  #nmv6Root .nmjsc-trigger.nmjsc-mobile-header:hover {background:#f4f0ed;}
  #nmv6Root .nmjsc-trigger.nmjsc-mobile-header .nmjsc-badge { top:0; right:0; min-width:16px; height:16px; font-size:9px; }
}
@media (max-width:390px) { #nmv6Root .nmjsc-trigger.nmjsc-mobile-header { left:37px; } }
@media (max-width:575px) {
  .nmjsc-drawer {width:100vw;}
  .nmjsc-heading {padding:25px 21px 20px;}
  .nmjsc-heading h2 {font-size:24px;}
  .nmjsc-cart-items {padding:2px 20px 10px;}
  .nmjsc-item {gap:12px;}
  .nmjsc-thumb {width:88px; height:100px; flex-basis:88px;}
  .nmjsc-footer {padding:20px 21px 25px;}
}
@media(prefers-reduced-motion:reduce){.nmjsc-drawer,.nmjsc-backdrop,.nmjsc-trigger{transition:none!important;}}
