/* ESNOVI V27.5.50 — mobile-first app shell, isolated from desktop and commerce logic */
@media (max-width:820px), (pointer:coarse) and (max-width:1024px) {
  html[data-esnovi-device="phone"] { scroll-padding-top:calc(66px + env(safe-area-inset-top,0px)); -webkit-text-size-adjust:100%; }
  html[data-esnovi-device="phone"],body.v274MobileApp { width:100%;max-width:100%; }
  body.v274MobileApp {
    --v274-appbar:58px;--v274-bottomnav:66px;
    margin:0!important;overflow-x:clip!important;
    background:#f7f8fa!important;color:#171a20;
    padding-top:calc(var(--v274-appbar) + env(safe-area-inset-top,0px))!important;
    padding-bottom:calc(var(--v274-bottomnav) + env(safe-area-inset-bottom,0px) + 18px)!important;
    -webkit-font-smoothing:antialiased;
  }
  /* Checkout and legacy standalone pages have no injected five-tab shell. */
  body.v274MobileApp.v27550NoShell{padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;}
  body.v274MobileApp.v27550NoShell[data-v27550-page="checkout"]{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;}
  body.v274MobileApp.v27550NoShell[data-v27550-page="product"] .v274ProductDock{bottom:calc(10px + env(safe-area-inset-bottom,0px));}
  body.v274MobileApp * {box-sizing:border-box;}
  body.v274MobileApp :is(main,section,article,.wrap,.container,.content,.panel,.card,.productCard,.productGrid,.productsGrid,.catalogGrid,.grid,.row,.col) {max-width:100%;min-width:0;}
  body.v274MobileApp :is(h1,h2,h3,h4,p,small,strong,span,label,a) {overflow-wrap:break-word;}
  body.v274MobileApp :is(img,picture,video,canvas,svg){max-width:100%;}
  body.v274MobileApp :is(img,video){height:auto;}
  body.v274MobileApp :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px!important;}
  body.v274MobileApp :is(button,[role="button"],.btn){min-height:44px;touch-action:manipulation;}
  body.v274MobileApp :is(a,button,input,select,textarea):focus-visible {outline:3px solid #5678b8!important;outline-offset:2px;}
  body.v274MobileApp :is(main,.wrap,.container){min-width:0;}
  body.v274MobileApp :is(main>.wrap,main .wrap,main>.container){padding-left:max(14px,env(safe-area-inset-left,0px))!important;padding-right:max(14px,env(safe-area-inset-right,0px))!important;}
  body.v274MobileApp :is(h1,.pageTitle){font-size:clamp(24px,7vw,32px)!important;line-height:1.13!important;letter-spacing:-.025em;}
  body.v274MobileApp :is(h2,.sectionTitle){line-height:1.2;}
  body.v274MobileApp :is(.empty,.emptyState,.statusText,.message){max-width:100%;}
  /* A single fixed app bar and an accessible five-tab bottom navigation. */
  body.v274MobileApp .v274AppBar {height:calc(58px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));grid-template-columns:92px minmax(0,1fr) 92px;background:#fff!important;border-bottom:1px solid #e8eaee;box-shadow:0 2px 12px #15191e0a;}
  body.v274MobileApp .v274Wordmark{font-size:18px;font-weight:900;letter-spacing:.12em;white-space:nowrap;}
  body.v274MobileApp .v274BackBtn[hidden],body.v274MobileApp .v274CartBtn [data-v274-cart-badge][hidden]{display:none!important;}
  body.v274MobileApp .v274IconBtn{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 44px;}
  body.v274MobileApp .v274AppBarActions{gap:2px;justify-content:flex-end;}
  body.v274MobileApp .v274BottomNav {min-height:calc(66px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(5,minmax(0,1fr));padding:6px max(4px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-left,0px));background:#fff!important;border-top:1px solid #e7e9ee;box-shadow:0 -8px 22px #0000000a;gap:2px;}
  body.v274MobileApp .v274BottomNav a {min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 1px 3px;border-radius:12px;color:#777e89;font-size:10px;font-weight:700;line-height:1.1;white-space:nowrap;}
  body.v274MobileApp .v274BottomNav a svg {width:22px;height:22px;flex-shrink:0;}
  body.v274MobileApp .v274BottomNav a:is(.active,.is-current,[aria-current="page"]){background:#edf1f5;color:#101820;font-weight:850;}
  body.v274MobileApp .v274BottomNav a:is(.active,.is-current) span{font-weight:850;}
  /* Full-screen search sheet: reachable and scrollable even with the on-screen keyboard. */
  body.v274MobileApp .v274SearchOverlay {height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#f6f8fa;}
  body.v274MobileApp .v274SearchTop{position:sticky;top:0;z-index:2;min-width:0;}
  body.v274MobileApp .v274SearchTop form {min-width:0;}
  body.v274MobileApp .v274QuickSearch{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.v274MobileApp .v274QuickSearch a{min-width:0;}
  /* Real mobile product feed: consistent 2-column cards, no off-screen horizontal desktop grid. */
  body.v274MobileApp :is(.productGrid,.productsGrid,.catalogGrid,.resultsGrid,.searchResultsGrid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch;}
  body.v274MobileApp :is(.productGrid,.productsGrid,.catalogGrid,.resultsGrid,.searchResultsGrid)>*{min-width:0;max-width:100%;width:auto!important;}
  body.v274MobileApp :is(.productCard,.v26112QuadCard,.card){min-width:0;box-shadow:0 2px 8px #161f2808;border:1px solid #e8ebef;border-radius:16px!important;}
  body.v274MobileApp :is(.productCard,.card) :is(h3,h4,.name,.title){overflow-wrap:anywhere;white-space:normal;line-height:1.3;}
  body.v274MobileApp :is(.productCard,.card) img {max-width:100%;object-fit:contain;}
  /* Don't hide the fifth and subsequent collections: customers must reach all tabs/categories. */
  body.v274MobileApp .v275Collection:nth-child(n+5) {display:flex!important;}
  body.v274MobileApp .v275Collage{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
  body.v274MobileApp :is(.v275Collection,.v275CollectionWide){grid-column:auto!important;min-width:0;padding:13px!important;border-radius:18px!important;box-shadow:none!important;}
  body.v274MobileApp .v275Collection>header{min-width:0;}
  body.v274MobileApp .v275Collection>header h2{font-size:21px!important;line-height:1.15;}
  body.v274MobileApp .v275TileGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  body.v274MobileApp .v275Tile{min-width:0;}
  body.v274MobileApp .v275TileMedia img,
  body.v274MobileApp .v275QuickCard>span img,
  body.v274MobileApp .v26112MiniImage img{height:100%;object-fit:contain;}
  body.v274MobileApp .v275TileCopy {max-width:calc(100% - 12px);}
  body.v274MobileApp .v275TileCopy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  body.v274MobileApp .v275QuickRail{max-width:100%;overscroll-behavior-x:contain;scroll-padding-left:6px;}
  body.v274MobileApp .v275QuickCard{flex-basis:min(44vw,190px);}
  body.v274MobileApp .v26112MosaicGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  body.v274MobileApp .v26112QuadCard{padding:10px!important;}
  body.v274MobileApp .v26112QuadItems{min-width:0;}
  /* Search and category filters are real, dismissible bottom sheets. */
  body.v274MobileApp .v274FilterButton{min-height:44px;}
  body.v274MobileApp .v274FilterPanel{width:100%!important;max-width:100%!important;max-height:84dvh!important;overscroll-behavior:contain;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;}
  body.v274MobileApp .v27550SheetBackdrop{position:fixed;inset:0;z-index:1640;background:#0f172a78;opacity:0;pointer-events:none;transition:opacity .18s ease;}
  body.v274MobileApp .v27550SheetBackdrop.is-open{opacity:1;pointer-events:auto;}
  body.v274MobileApp :is(.v274FilterPanel,.v274SearchOverlay) :is(input,select){min-height:44px;}
  /* Closet wardrobe: grids, audience tabs and filters adapt without clipping. */
  body.v274MobileApp[data-v27550-page="closet"] :is(.closetGrid,.closetProducts,.wardrobeGrid,.closet-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  body.v274MobileApp[data-v27550-page="closet"] :is(.closetTabs,.audienceTabs,.categoryTabs,.tabs,[role="tablist"]){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  body.v274MobileApp[data-v27550-page="closet"] :is(.closetTabs,.audienceTabs,.categoryTabs,.tabs) > *{flex-shrink:0;}
  /* Account, orders, favorites, cart and general informational pages. */
  body.v274MobileApp[data-v27550-page="account"] :is(.accountGrid,.profileGrid,.addressGrid),
  body.v274MobileApp[data-v27550-page="orders"] :is(.ordersGrid,.orderGrid),
  body.v274MobileApp[data-v27550-page="cart"] :is(.cartGrid,.cartLayout,.cart-grid),
  body.v274MobileApp[data-v27550-page="login"] :is(.authGrid,.loginGrid),
  body.v274MobileApp[data-v27550-page="favorites"] :is(.favoritesGrid) {grid-template-columns:minmax(0,1fr)!important;}
  body.v274MobileApp :is(.accountGrid,.profileGrid,.addressGrid,.ordersGrid,.orderGrid,.cartGrid,.cartLayout,.checkoutGrid,.checkout-grid) >*{min-width:0;max-width:100%;}
  body.v274MobileApp :is(.panel,.accountCard,.orderCard,.cartItem,.checkoutCard,.orderSummary){max-width:100%;border-radius:16px;}
  body.v274MobileApp :is(.orderCard,.cartItem,.addressCard){overflow-wrap:anywhere;}
  body.v274MobileApp :is(table,.tableWrap,.tableContainer){max-width:100%;}
  body.v274MobileApp :is(.tableWrap,.tableContainer){overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
  /* Product detail uses stacked gallery/details and retains original commerce actions. */
  body.v274MobileApp[data-v27550-page="product"] :is(.productLayout,.productDetail,.product-detail,.productColumns,.productPageGrid){grid-template-columns:minmax(0,1fr)!important;}
  body.v274MobileApp[data-v27550-page="product"] :is(.gallery,.productGallery,.productMedia){max-width:100%;min-width:0;}
  body.v274MobileApp[data-v27550-page="product"] :is(.gallery img,.productGallery img,.productMedia img){max-width:100%;object-fit:contain;}
  body.v274MobileApp[data-v27550-page="product"] .v274ProductDock{left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:calc(66px + env(safe-area-inset-bottom,0px) + 8px);grid-auto-columns:minmax(0,1fr);z-index:1390;}
  body.v274MobileApp[data-v27550-page="product"]{padding-bottom:calc(156px + env(safe-area-inset-bottom,0px))!important;}
  /* Checkout stays uncluttered. Never change its payment JS or force fixed pay buttons. */
  body.v274MobileApp.v274CheckoutPage{padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))!important;}
  body.v274MobileApp.v274CheckoutPage .v274BottomNav{display:none!important;}
  body.v274MobileApp.v274CheckoutPage :is(.checkoutGrid,.checkout-grid,.checkoutLayout,.checkoutColumns,.paymentGrid){grid-template-columns:minmax(0,1fr)!important;}
  body.v274MobileApp.v274CheckoutPage :is(#checkoutForm,.checkoutCard,.orderSummary,#orderSummary){width:100%;max-width:100%;min-width:0;position:static!important;}
  body.v274MobileApp.v274CheckoutPage :is(.formRow,.formGrid,.shippingGrid,.addressGrid){grid-template-columns:minmax(0,1fr)!important;}
  body.v274MobileApp.v274CheckoutPage #payButton{width:100%;min-height:52px;}
  body.v274MobileApp.v274CheckoutPage .savedAddressActions{grid-template-columns:minmax(0,1fr)!important;}
  /* Dialogs, notices and fixed widgets must not cover payments/nav. */
  body.v274MobileApp :is([role="dialog"],.modalContent,.popupContent){max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);overflow-y:auto;}
  body.v274MobileApp .v274InstallCard{max-width:calc(100% - 24px);min-width:0;grid-template-columns:minmax(0,1fr) auto 28px;}
}
@media(max-width:360px){
  body.v274MobileApp .v274BottomNav a{font-size:9px;}
  body.v274MobileApp .v274BottomNav a svg{width:20px;height:20px;}
  body.v274MobileApp .v275Collection{padding:10px!important;}
  body.v274MobileApp .v275TileGrid{gap:6px!important;}
  body.v274MobileApp .v275QuickCard{flex-basis:46vw;}
}
@media(prefers-reduced-motion:reduce){
  .v27550SheetBackdrop{transition:none!important;}
}
