/* ShopCMS v1.12.3 — cascade-safe mobile menu + image + sticky header fixes.
   Loaded AFTER menu-promptall-1120.css on both store and admin pages. */
@media (max-width: 900px) {
  /* Closer to AppSaz's compact, right-side drawer: leave a visible backdrop. */
  .storefront .mobile-menu-drawer {
    width: min(72vw, 294px) !important;
    max-width: 294px !important;
    border-radius: 0 !important;
  }
  .storefront .mobile-menu-head {
    min-height: 76px !important;
    padding: 12px 12px !important;
    gap: 9px !important;
    margin: 0 0 5px !important;
  }
  .storefront .mobile-menu-head .logo {gap: 8px !important;}
  .storefront .mobile-menu-head .logo img,
  .storefront .mobile-menu-head .logo-mark {
    width: 40px !important; height: 40px !important;
    max-width: 40px !important; max-height: 40px !important;
    flex: 0 0 40px !important; border-radius: 12px !important;
  }
  .storefront .mobile-menu-head .drawer-brand-text b {font-size: 13px !important;}
  .storefront .mobile-menu-head .drawer-brand-text small {font-size: 9px !important;}
  .storefront .mobile-menu-head button {
    width: 36px !important; height: 36px !important;
    flex: 0 0 36px !important; border-radius: 11px !important;
  }
  .storefront .mobile-drawer-intro {padding: 7px 12px 7px !important;}
  .storefront .mobile-drawer-intro b {font-size: 10px !important;}
  .storefront .mobile-drawer-nav {padding: 4px 10px 16px !important;}
  .storefront .mobile-custom-menu,
  .storefront .mobile-custom-menu ul {gap: 7px !important;}
  .storefront .mobile-custom-menu > li > a {
    min-height: 57px !important; padding: 7px 9px !important;
    border-radius: 14px !important; gap: 8px !important;
  }
  .storefront .prompt-menu-icon {
    width: 37px !important; height: 37px !important;
    flex: 0 0 37px !important; border-radius: 12px !important;
  }
  .storefront .prompt-menu-icon svg {width: 19px !important; height: 19px !important;}
  .storefront .prompt-menu-copy {gap: 1px !important;}
  .storefront .prompt-menu-copy b {font-size: 12px !important; line-height: 1.45 !important;}
  .storefront .prompt-menu-copy small {font-size: 9px !important; line-height: 1.4 !important;}
  .storefront .prompt-menu-arrow {width: 15px !important; height: 15px !important; flex: 0 0 15px !important;}
  .storefront .prompt-menu-arrow svg {width: 14px !important; height: 14px !important;}
  .storefront .mobile-custom-menu .submenu {margin: 6px 18px 4px 0 !important;}
  .storefront .mobile-custom-menu .submenu a {min-height: 40px !important; padding: 6px !important; border-radius: 10px !important;}
  .storefront .mobile-custom-menu .submenu .prompt-menu-copy b {font-size: 11px !important;}
  .storefront .mobile-menu-footer {padding: 11px 10px max(15px,env(safe-area-inset-bottom)) !important; gap: 7px !important;}
  .storefront .mobile-menu-footer a {min-height: 42px !important; padding: 6px 5px !important; font-size: 11px !important; border-radius: 12px !important; gap: 3px !important;}
  .storefront .mobile-menu-footer svg {width: 16px !important; height: 16px !important; flex: 0 0 16px !important;}
  .admin-interface .sidebar {
    width: min(72vw, 296px) !important;
    max-width: 296px !important;
    padding: 14px 10px calc(14px + env(safe-area-inset-bottom)) !important;
  }
  .admin-interface .admin-drawer-brandrow {min-height: 68px !important; margin-bottom: 8px !important; padding-bottom: 10px !important;}
  .admin-interface .admin-brand-symbol {width: 40px !important; height: 40px !important; flex-basis: 40px !important; border-radius: 12px !important; font-size: 18px !important;}
  .admin-interface .admin-brand b {font-size: 14px !important;}
  .admin-interface .admin-brand small {font-size: 9px !important;}
  .admin-interface .sidebar nav {gap: 3px !important;}
  .admin-interface .sidebar nav > small {font-size: 9px !important; margin: 10px 10px 3px !important;}
  .admin-interface .sidebar nav > a,
  .admin-interface .sidebar .nav-group-title {
    min-height: 42px !important;
    padding: 9px 10px !important;
    gap: 8px !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }
  .admin-interface .sidebar .cms-nav-icon {width: 18px !important; height: 18px !important; flex: 0 0 18px !important;}
  .admin-interface .sidebar .nav-sub {margin: 4px 16px 6px 5px !important; padding-right: 8px !important;}
  .admin-interface .sidebar .nav-sub a {font-size: 10.5px !important; min-height: 32px !important; padding: 6px 8px !important;}
  .admin-interface .sidebar-foot {padding: 10px 6px !important; margin-top: 12px !important;}
}
@media (max-width: 760px) {
  /* The entire mobile header remains in normal document geometry. */
  .storefront .mobile-commerce-head,
  .storefront .mobile-service-rail,
  .storefront .mobile-location-row {
    transform: none !important; will-change: auto !important;
    transition: none !important;
  }
  .storefront .mobile-service-rail {
    height: auto !important; max-height: none !important;
    opacity: 1 !important; overflow-x: auto !important;
    padding-top: 2px !important; padding-bottom: 9px !important;
  }
  .storefront .mobile-location-row {
    height: 42px !important; max-height: 42px !important;
    opacity: 1 !important; overflow: visible !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
  }
  .storefront .mobile-commerce-head.collapse-services .mobile-service-rail {
    height: auto !important; max-height: none !important; opacity: 1 !important;
    transform: none !important; padding-top: 2px !important;
    padding-bottom: 9px !important; pointer-events: auto !important;
  }
  .storefront .mobile-commerce-head.collapse-location .mobile-location-row {
    height: 42px !important; max-height: 42px !important; opacity: 1 !important;
    transform: none !important; pointer-events: auto !important;
  }
  /* Slider cards should show the complete product image, never cover the text. */
  .storefront .neo-product-rail {align-items: stretch !important; gap: 9px !important;}
  .storefront .neo-product-rail .neo-product-card {
    flex: 0 0 62vw !important; width: 62vw !important;
    min-width: 184px !important; max-width: 248px !important;
    min-height: 385px !important;
    border-radius: 16px !important;
    display: flex !important; flex-direction: column !important;
  }
  .storefront .neo-product-rail .neo-product-image {
    display: flex !important; align-items: center !important; justify-content: center !important;
    height: 194px !important; min-height: 194px !important;
    width: 100% !important; padding: 10px !important;
    box-sizing: border-box !important; overflow: hidden !important;
  }
  .storefront .neo-product-rail .neo-product-image img {
    width: 100% !important; height: 100% !important;
    padding: 0 !important; margin: 0 !important;
    max-width: 100% !important; max-height: 100% !important;
    display: block !important; object-fit: contain !important;
    object-position: center center !important;
  }
  .storefront .neo-product-rail .neo-product-info {
    flex: 1 1 auto !important; min-width: 0 !important;
    padding: 10px 11px 12px !important; display: flex !important; flex-direction: column !important;
  }
  .storefront .neo-product-rail .neo-product-info h3 {font-size: 12px !important; min-height: 3.6em !important; margin: 0 0 7px !important;}
  .storefront .neo-product-rail .neo-card-price {margin-top: auto !important;}
  .storefront .neo-product-rail .neo-card-actions {display: flex !important;}
  .storefront .neo-grid-products .neo-grid-card {flex: 0 0 62vw !important; width: 62vw !important; max-width: 248px !important;}
  .storefront .neo-grid-card .neo-grid-media {height: 198px !important; overflow: hidden !important; padding: 9px !important;}
  .storefront .neo-grid-card .neo-grid-media img {width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 0 !important;}
}
@media (max-width: 365px) {
  .storefront .mobile-menu-drawer {width: 78vw !important;}
  .admin-interface .sidebar {width: 78vw !important;}
  .storefront .prompt-menu-copy b {font-size: 11.5px !important;}
  .storefront .prompt-menu-copy small {font-size: 8.8px !important;}
}
