/* SemSub mobile compatibility v1 — shared Android, iPhone, dashboard and admin shell */
:root{--sem-safe-top:env(safe-area-inset-top,0px);--sem-safe-right:env(safe-area-inset-right,0px);--sem-safe-bottom:env(safe-area-inset-bottom,0px);--sem-safe-left:env(safe-area-inset-left,0px);--sem-mobile-header:72px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip;scroll-padding-top:calc(var(--sem-mobile-header) + 12px)}
body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none;-webkit-tap-highlight-color:rgba(0,71,187,.12)}
main,header,footer,section,article,aside,nav,form,fieldset,div{min-width:0}
img,video,canvas,svg,iframe{max-width:100%}
img,video{height:auto}
pre,code,.break-mobile{overflow-wrap:anywhere;word-break:break-word}
button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(0,71,187,.38)!important;outline-offset:2px}
.semsub-mobile-table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;border-radius:inherit}
.semsub-mobile-table-scroll:focus-visible{outline:2px solid #0047bb!important;outline-offset:2px}
.semsub-responsive-table{margin-bottom:0}

/* Public mobile navigation */
.site-mobile-menu-btn{width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #dbe1ea;border-radius:10px;background:#fff;color:#334155}
.site-mobile-menu-overlay{position:fixed;inset:0;z-index:78;background:rgba(15,23,42,.5);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.site-mobile-menu{position:fixed;z-index:79;top:0;right:0;width:min(88vw,360px);height:var(--sem-mobile-vh,100dvh);padding:calc(14px + var(--sem-safe-top)) calc(16px + var(--sem-safe-right)) calc(18px + var(--sem-safe-bottom)) 16px;background:#fff;box-shadow:-14px 0 50px rgba(15,23,42,.22);transform:translateX(105%);visibility:hidden;transition:transform .24s ease,visibility .24s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}
.site-mobile-menu-overlay.is-open{opacity:1;visibility:visible}.site-mobile-menu.is-open{transform:translateX(0);visibility:visible}
.site-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 14px;border-bottom:1px solid #e2e8f0}.site-mobile-menu-head strong{font-size:18px;color:#0f172a}.site-mobile-menu-head button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:#f1f5f9;color:#334155}
.site-mobile-menu-links{display:grid;padding:10px 0}.site-mobile-menu-links a{display:flex;align-items:center;min-height:48px;padding:11px 12px;border-bottom:1px solid #eef2f6;color:#334155;font-size:15px;font-weight:600;text-decoration:none}.site-mobile-menu-links a:active{background:#eff6ff;color:#0047bb}.site-mobile-menu-links .site-mobile-menu-primary{justify-content:center;margin-top:12px;border:0;background:#0047bb;color:#fff;border-radius:10px}
body.site-mobile-menu-open{overflow:hidden!important;touch-action:none}

@media(max-width:1023px){
  .max-w-site{width:100%!important;max-width:100%!important}
  .site-desktop-nav{display:none!important}
  [class~="ml-56"],.lg\:ml-56,.lg\:ml-64{margin-left:0!important}
  body.has-seller-sidebar main.ml-56,body.has-buyer-sidebar .lg\:ml-56{margin-left:0!important}
  .app-dashboard-sidebar.sidebar-collapsible{width:min(86vw,320px)!important;max-width:320px;padding-bottom:calc(12px + var(--sem-safe-bottom))!important}
  .app-sidebar-overlay{bottom:0;padding-bottom:var(--sem-safe-bottom)}
  [data-sidebar-toggle="buyer-sidebar"],[data-sidebar-toggle="seller-sidebar"]{width:46px!important;height:46px!important;left:calc(12px + var(--sem-safe-left))!important}
  body.has-public-nav [data-sidebar-toggle="seller-sidebar"]{top:calc(var(--sem-mobile-header) + 8px)!important}
  body.dashboard-body main[class*="p-10"],body.dashboard-body main.ml-56{padding:22px 18px 40px!important}
  body.dashboard-body .site-footer-wrap{margin-left:0!important}
  .site-public-header{padding-top:var(--sem-safe-top)}
  .site-public-header-inner{min-height:64px;padding:10px calc(14px + var(--sem-safe-right)) 10px calc(14px + var(--sem-safe-left))!important;gap:10px}
  .site-public-header .site-logo{width:auto!important;max-width:118px!important;height:36px!important;object-fit:contain}
  .site-header-actions{margin-left:auto;gap:4px!important}
  .site-header-actions>*{flex:0 0 auto}
  .site-header-actions .site-header-desktop-auth{display:none!important}
  .site-header-actions .site-header-cart,.site-header-actions .site-header-notification,.site-header-actions .site-header-account{width:42px!important;height:42px!important}
  .site-mobile-menu-btn{display:inline-flex!important}
  .site-header-popover{position:fixed!important;top:calc(var(--sem-mobile-header) + var(--sem-safe-top) + 4px)!important;right:calc(10px + var(--sem-safe-right))!important;left:calc(10px + var(--sem-safe-left))!important;width:auto!important;max-height:calc(var(--sem-mobile-vh,100dvh) - var(--sem-mobile-header) - var(--sem-safe-top) - 20px);overflow:auto;margin:0!important}
  main.pt-24{padding-top:calc(var(--sem-mobile-header) + 8px)!important}
  .site-footer-wrap footer>div{padding-left:18px!important;padding-right:18px!important;padding-bottom:calc(36px + var(--sem-safe-bottom))!important}
  .listing-carousel{-webkit-mask-image:none!important;mask-image:none!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.listing-carousel-track{animation:none!important}
}

@media(max-width:767px){
  :root{--sem-mobile-header:64px}
  body{font-size:15px}
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{font-size:16px!important;max-width:100%!important}
  button,.btn,[role="button"],input[type="submit"],input[type="button"]{min-height:44px}
  h1,.text-5xl,.text-6xl{font-size:clamp(1.8rem,9vw,2.35rem)!important;line-height:1.12!important;overflow-wrap:anywhere}
  h2,.text-4xl{font-size:clamp(1.55rem,7vw,2rem)!important;line-height:1.2!important;overflow-wrap:anywhere}
  h3,.text-3xl{font-size:clamp(1.25rem,6vw,1.65rem)!important;line-height:1.25!important}
  .px-8,.px-10,.px-12{padding-left:16px!important;padding-right:16px!important}.p-8,.p-10,.p-12{padding:18px!important}.py-12,.py-14,.py-16,.py-20{padding-top:34px!important;padding-bottom:34px!important}.gap-12,.gap-10{gap:24px!important}
  .rounded-3xl{border-radius:16px!important}
  .grid>*{min-width:0}
  .flex[class*="justify-between"]{row-gap:10px}
  .sticky.top-24{position:static!important}
  .w-\[320px\]{width:min(88vw,320px)!important}.w-\[260px\]{width:min(78vw,260px)!important}
  .fixed.bottom-8.right-6,.fixed.sm\:bottom-10.sm\:right-10{right:calc(12px + var(--sem-safe-right))!important;bottom:calc(12px + var(--sem-safe-bottom))!important}

  /* Buyer and seller consoles */
  body.dashboard-body main,body.dashboard-body>div[class*="lg:ml-56"]{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important}
  body.dashboard-body header[class*="justify-between"],body.dashboard-body main>header{align-items:flex-start!important}
  body.dashboard-body header .flex.flex-wrap.gap-2,body.dashboard-body main>header>div:last-child{width:100%}
  body.dashboard-body header .flex.flex-wrap.gap-2>a{flex:1 1 130px;text-align:center;padding-left:12px!important;padding-right:12px!important}
  body.dashboard-body table{font-size:13px}
  body.dashboard-body .semsub-mobile-table-scroll,body.dashboard-body .overflow-x-auto{margin-left:-2px;margin-right:-2px;padding-bottom:5px}
  .app-dashboard-sidebar.sidebar-collapsible{top:0!important;height:var(--sem-mobile-vh,100dvh)!important;padding-top:calc(14px + var(--sem-safe-top))!important}
  body.has-public-nav .app-dashboard-sidebar.sidebar-collapsible,#buyer-sidebar{top:calc(var(--sem-mobile-header) + var(--sem-safe-top))!important;height:calc(var(--sem-mobile-vh,100dvh) - var(--sem-mobile-header) - var(--sem-safe-top))!important;padding-top:12px!important}
  [data-sidebar-toggle="buyer-sidebar"]{top:calc(var(--sem-mobile-header) + var(--sem-safe-top) + 8px)!important}
  [data-sidebar-toggle="seller-sidebar"]{top:calc(10px + var(--sem-safe-top))!important}

  /* Marketplace, listing, cart and checkout */
  .checkout-page-wrap{padding:18px 14px calc(40px + var(--sem-safe-bottom))!important}.checkout-container{width:100%!important;max-width:100%!important}.checkout-grid{display:flex!important;flex-direction:column!important;gap:18px!important}.checkout-sidebar{order:2;position:static!important;width:100%!important}.checkout-main{order:1;width:100%!important}
  .checkout-progress{overflow-x:auto;justify-content:flex-start!important}.checkout-breadcrumb{overflow-x:auto;white-space:nowrap;padding-bottom:4px}
  .order-summary-mini,.order-summary-row,.order-summary-total{gap:12px}.order-summary-mini>*:first-child{min-width:0;overflow-wrap:anywhere}
  .listing-detail-grid,.listing-layout,.cart-grid{grid-template-columns:1fr!important}
  .home-show-scroll{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px;scroll-snap-type:x proximity}.home-show-scroll>*{scroll-snap-align:start}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stats-grid>div{padding:16px!important}.stats-grid strong,.stats-grid [class*="text-4xl"]{font-size:1.8rem!important}

  /* Modals, messages and account forms */
  [role="dialog"],dialog,.modal-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;margin:12px auto!important;max-height:calc(var(--sem-mobile-vh,100dvh) - 24px)!important}
  .semsub-chat-shell,.semsub-chat-layout{height:calc(var(--sem-mobile-vh,100dvh) - var(--sem-mobile-header) - var(--sem-safe-top))!important;max-height:none!important}
  .auth-split-page .auth-split-shell{width:100%!important;max-width:100%!important;margin:0!important}
  .auth-split-page .auth-split-main,.auth-split-page .auth-split-side{padding-left:18px!important;padding-right:18px!important}

  /* Admin console */
  body.admin-ll-body{padding-top:calc(64px + var(--sem-safe-top))!important;overflow-x:hidden}
  .admin-ll-navbar{height:calc(64px + var(--sem-safe-top))!important;padding-top:var(--sem-safe-top)!important;padding-left:calc(12px + var(--sem-safe-left))!important;padding-right:calc(10px + var(--sem-safe-right))!important}
  .admin-ll-navbar .navbar-brand{max-width:125px;overflow:hidden}.admin-ll-navbar .navbar-brand img,.admin-ll-navbar .admin-brand-logo{max-width:118px!important;height:34px!important}.admin-ll-navbar .ms-auto{gap:6px!important}.admin-ll-navbar .ms-auto>span:not(.material-symbols-outlined),.admin-ll-navbar .ms-auto>a[target="_blank"]{display:none!important}.admin-ll-navbar .ms-auto .material-symbols-outlined{font-size:20px}.admin-ll-navbar .btn{padding:6px 9px;font-size:12px;min-height:38px}
  .admin-ll-sidebar-toggle{top:calc(72px + var(--sem-safe-top))!important;left:calc(10px + var(--sem-safe-left))!important;width:46px;height:46px;padding:0!important;display:grid!important;place-items:center}
  .admin-ll-sidebar{width:min(88vw,310px)!important;max-width:310px;padding-top:calc(64px + var(--sem-safe-top))!important;padding-bottom:var(--sem-safe-bottom)!important}
  .admin-ll-content{margin-left:0!important;padding:66px calc(12px + var(--sem-safe-right)) calc(38px + var(--sem-safe-bottom)) calc(12px + var(--sem-safe-left))!important;min-height:calc(var(--sem-mobile-vh,100dvh) - 64px)!important}
  .admin-mp-card,.admin-ll-card,.admin-ll-content .card{padding:14px!important;border-radius:10px!important}.admin-ll-content .card-header{margin:-14px -14px 14px;padding:12px 14px}
  .admin-page-title{font-size:1.45rem!important}.admin-page-sub{font-size:.9rem;margin-bottom:14px}.admin-ll-content .container,.admin-ll-content .container-fluid{padding-left:0!important;padding-right:0!important}
  .admin-ll-content .row{--bs-gutter-x:1rem}.admin-ll-content .form-control,.admin-ll-content .form-select{font-size:16px!important;min-height:44px}
  .admin-ll-content .nav-tabs,.admin-ll-content .nav-pills{flex-wrap:nowrap;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:3px}.admin-ll-content .nav-link{white-space:nowrap}
  .admin-listing-wizard .wizard-hero{padding:18px 16px}.admin-listing-wizard .wizard-sticky-footer{bottom:var(--sem-safe-bottom);padding:10px 0}.admin-listing-wizard .wizard-sticky-footer .btn{flex:1 1 140px}
  .admin-listing-actions{min-width:240px!important;max-width:260px!important}.admin-listing-toolbar{justify-content:flex-start}.admin-mp-card .table-responsive,.admin-ll-content .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .admin-status-grid,.admin-filter-grid{grid-template-columns:1fr!important}
}

@media(max-width:420px){
  .site-public-header-inner{padding-left:10px!important;padding-right:10px!important}.site-public-header .site-logo{max-width:102px!important}.site-header-actions{gap:1px!important}.site-header-actions .site-header-cart,.site-header-actions .site-header-notification,.site-header-actions .site-header-account{width:38px!important;height:40px!important}.site-mobile-menu-btn{width:40px;height:40px}
  .stats-grid{grid-template-columns:1fr!important}
  .site-header-popover{left:6px!important;right:6px!important}
  .admin-ll-navbar .navbar-brand{max-width:105px}.admin-ll-navbar .navbar-brand img{max-width:100px!important}
}

@media(hover:none) and (pointer:coarse){
  a:hover,button:hover,.group:hover{transform:none!important}.group:hover img{transform:none!important}
  .listing-carousel-track{animation-play-state:paused!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@supports(-webkit-touch-callout:none){input,textarea,select{border-radius:8px}.site-public-header,.admin-ll-navbar{transform:translateZ(0)}body{min-height:-webkit-fill-available}}
