/* Noor Naksha v1.11.14 — Mobile runtime stabilization + cart drawer.
 * Mobile-only visual layer. Desktop remains on the v1.11.10+ approved baseline.
 */

.nn-v11114-mobile-cart-drawer,
.nn-v11114-mobile-cart-backdrop{display:none}

@media (max-width:720px){
  body.nn-mobile-cart-open-v11114{overflow:hidden!important;overscroll-behavior:none!important}
  /* Authoritative menu surface now lives directly under <body>; no JS portal. */
  body > .nn-mobile-drawer{
    position:fixed!important;
    inset:0 0 0 auto!important;
    width:min(86vw,340px)!important;
    max-width:calc(100vw - 20px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0 max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) 18px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fffdf9!important;
    z-index:100302!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s ease!important;
    box-shadow:-18px 0 46px rgba(7,35,27,.18)!important;
    contain:layout paint!important;
    isolation:isolate!important;
  }
  body > .nn-mobile-drawer.is-open{
    transform:translate3d(0,0,0)!important;
    box-shadow:-22px 0 54px rgba(7,35,27,.22)!important;
  }
  body > .nn-drawer-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:100301!important;
    background:rgba(8,31,25,.48)!important;
    backdrop-filter:blur(1.5px)!important;
    -webkit-backdrop-filter:blur(1.5px)!important;
  }
  body > .nn-mobile-drawer .nn-mobile-drawer-head{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    min-height:58px!important;
    margin:0!important;
    padding:max(14px,env(safe-area-inset-top)) 0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    box-sizing:border-box!important;
    background:#fffdf9!important;
    border-bottom:1px solid #e9dfd1!important;
  }
  body > .nn-mobile-drawer .nn-mobile-nav-list,
  body > .nn-mobile-drawer .nn-nav-list{
    width:100%!important;
    margin:0!important;
    padding:8px 0 18px!important;
  }
  body > .nn-mobile-drawer .nn-mobile-nav-list>li,
  body > .nn-mobile-drawer .nn-nav-list>li{
    position:relative!important;
    width:100%!important;
    margin:0!important;
    border-bottom:1px solid #eee5d8!important;
  }
  body > .nn-mobile-drawer .nn-mobile-nav-list>li>a,
  body > .nn-mobile-drawer .nn-nav-list>li>a{
    min-height:46px!important;
    width:100%!important;
    padding:11px 4px!important;
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
    font-size:13.5px!important;
    line-height:1.3!important;
  }

  /* One Categories icon only: hide every legacy inline/pseudo indicator and
     use the functional submenu button as the approved circular chevron. */
  body > .nn-mobile-drawer .nn-auto-categories>a:after,
  body > .nn-mobile-drawer .nn-v111-mini-mega>a:after,
  body > .nn-mobile-drawer .nn-auto-categories>a .nn-category-chevron-v1111,
  body > .nn-mobile-drawer .nn-v111-mini-mega>a .nn-category-chevron-v1111{
    content:none!important;
    display:none!important;
  }
  body > .nn-mobile-drawer .nn-auto-categories>a{padding-right:42px!important}
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle{
    position:absolute!important;
    right:4px!important;
    top:23px!important;
    transform:translateY(-50%)!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1.5px solid #12372c!important;
    border-radius:50%!important;
    background:#fffdf9!important;
    color:#12372c!important;
    box-shadow:none!important;
    line-height:1!important;
    transition:background-color .16s ease,border-color .16s ease,transform .16s ease!important;
  }
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle:before{
    content:""!important;
    display:block!important;
    width:7px!important;
    height:7px!important;
    border:0!important;
    border-right:1.7px solid currentColor!important;
    border-bottom:1.7px solid currentColor!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transform-origin:center!important;
    transition:transform .16s ease!important;
  }
  body > .nn-mobile-drawer .nn-auto-categories.is-submenu-open-v19>.nn-v19-submenu-toggle:before{
    transform:translateY(2px) rotate(225deg)!important;
  }
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle:hover,
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle:focus-visible{
    background:rgba(18,55,44,.06)!important;
  }

  /* Mobile Cart drawer. */
  .nn-v11114-mobile-cart-drawer{
    display:block;
    position:fixed;
    inset:0 0 0 auto;
    width:min(92vw,390px);
    max-width:calc(100vw - 12px);
    height:100dvh;
    max-height:100dvh;
    z-index:100502;
    background:#fffdf9;
    transform:translate3d(104%,0,0);
    transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease;
    box-shadow:-20px 0 52px rgba(7,35,27,.2);
    overflow:hidden;
    contain:layout paint;
    isolation:isolate;
  }
  .nn-v11114-mobile-cart-drawer.is-open-v11114{transform:translate3d(0,0,0);box-shadow:-24px 0 58px rgba(7,35,27,.24)}
  .nn-v11114-mobile-cart-backdrop[hidden]{display:none!important}
  .nn-v11114-mobile-cart-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:100501;
    background:rgba(7,29,23,.5);
    backdrop-filter:blur(1.5px);
    -webkit-backdrop-filter:blur(1.5px);
  }
  .nn-v11114-mobile-cart-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fffdf9;color:#17372e}
  .nn-v11114-mobile-cart-head{
    min-height:72px;
    padding:max(14px,env(safe-area-inset-top)) 18px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid #eadfce;
    background:#fffdf9;
  }
  .nn-v11114-mobile-cart-head>div{display:flex;flex-direction:column;gap:2px}
  .nn-v11114-cart-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a66a00;font-weight:700}
  .nn-v11114-mobile-cart-head strong{font-family:var(--nn-heading-font,"Cormorant Garamond"),serif;font-size:23px;line-height:1.05;color:#0f4a3c}
  .nn-v11114-cart-close,.nn-v11114-cart-remove{
    display:grid;place-items:center;border:1px solid #dfd4c5;background:#fffdf9;color:#23483e;border-radius:50%;cursor:pointer
  }
  .nn-v11114-cart-close{width:40px;height:40px;min-width:40px}
  .nn-v11114-cart-close .nn-icon{width:18px;height:18px}
  .nn-v11114-mobile-cart-body{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 18px 18px}
  .nn-v11114-cart-items{display:flex;flex-direction:column}
  .nn-v11114-cart-item{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #eee4d7}
  .nn-v11114-cart-thumb img{display:block;width:78px;height:78px;object-fit:cover;border-radius:10px;border:1px solid #eadfce;background:#f7f2e9}
  .nn-v11114-cart-copy{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
  .nn-v11114-cart-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .nn-v11114-cart-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:700;font-size:13px;line-height:1.35;color:#143b31;text-decoration:none}
  .nn-v11114-cart-variation{margin-top:4px;font-size:11.5px;line-height:1.35;color:#68756f}
  .nn-v11114-cart-variation dl,.nn-v11114-cart-variation p{margin:0}
  .nn-v11114-cart-remove{width:28px;height:28px;min-width:28px;border-color:transparent;background:transparent;color:#7a7f7b}
  .nn-v11114-cart-remove .nn-icon{width:14px;height:14px}
  .nn-v11114-cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .nn-v11114-cart-qty{display:grid;grid-template-columns:30px 32px 30px;align-items:center;border:1px solid #d9d0c3;border-radius:8px;overflow:hidden;background:#fff}
  .nn-v11114-cart-qty button,.nn-v11114-cart-qty span{height:30px;display:grid;place-items:center;border:0;background:transparent;color:#153f34;font-size:14px}
  .nn-v11114-cart-qty button{cursor:pointer;font-weight:700}
  .nn-v11114-cart-qty span{border-left:1px solid #e3dbcf;border-right:1px solid #e3dbcf;font-weight:700}
  .nn-v11114-cart-line-total{font-size:13px;color:#12372c;white-space:nowrap}
  .nn-v11114-mobile-cart-foot{padding:14px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #e7ddcf;background:#fffdf9;box-shadow:0 -12px 30px rgba(25,56,47,.05)}
  .nn-v11114-cart-subtotal{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}
  .nn-v11114-cart-subtotal strong{font-size:18px;color:#0f4a3c}
  .nn-v11114-mobile-cart-foot p{margin:5px 0 12px;font-size:11px;line-height:1.45;color:#78817d}
  .nn-v11114-cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .nn-v11114-cart-actions a,.nn-v11114-cart-shop{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-weight:700;font-size:13px;text-decoration:none;box-sizing:border-box}
  .nn-v11114-cart-view{border:1.5px solid #0f4a3c;color:#0f4a3c;background:#fffdf9}
  .nn-v11114-cart-checkout{border:1.5px solid #0f4a3c;color:#fff;background:#0f4a3c}
  .nn-v11114-cart-empty{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 18px;box-sizing:border-box}
  .nn-v11114-cart-empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#eef6ef;color:#0f6b50;margin-bottom:14px}
  .nn-v11114-cart-empty-icon .nn-icon{width:28px;height:28px}
  .nn-v11114-cart-empty h3{margin:0 0 8px;font-family:var(--nn-heading-font,"Cormorant Garamond"),serif;font-size:25px;line-height:1.1;color:#0f4a3c}
  .nn-v11114-cart-empty p{max-width:270px;margin:0 0 18px;font-size:13px;line-height:1.55;color:#69756f}
  .nn-v11114-cart-shop{padding:0 20px;background:#0f4a3c;color:#fff;min-width:150px}
  .nn-v11114-mobile-cart-drawer.is-loading-v11114:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:nnV11114CartLoad 1s linear infinite}
  @keyframes nnV11114CartLoad{to{transform:translateX(100%)}}
}

@media (max-width:720px) and (prefers-reduced-motion:reduce){
  body > .nn-mobile-drawer,
  .nn-v11114-mobile-cart-drawer,
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle,
  body > .nn-mobile-drawer .nn-auto-categories>.nn-v19-submenu-toggle:before{transition:none!important}
  .nn-v11114-mobile-cart-drawer.is-loading-v11114:after{animation:none}
}
