/* ZygoMarket / Marketplace public feed 20261029-v8 — single, scoped presentation layer.
   Real prices, cart, stock, favorites, location and checkout remain server-owned.
   The layout intentionally uses a neutral editorial marketplace language. */
:root { --zm-font:'Figtree','Inter',system-ui,-apple-system,sans-serif; }
body.zygo-refined.zm-web {
  --zm-side:224px; --zm-header:76px; --zm-ink:#171717; --zm-muted:#616161;
  --zm-subtle:#858585; --zm-soft:#f5f5f5; --zm-border:#e8e8e8;
  --zm-accent:#078747; --zm-radius:14px;
  margin:0; padding:0!important; background:#fff!important; color:var(--zm-ink);
  font:400 15px/1.45 var(--zm-font)!important; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility; overflow-x:clip;
}
body.zm-web *,body.zm-web *::before,body.zm-web *::after{box-sizing:border-box;}
body.zm-web :is(button,input,select,textarea){font:inherit;}
body.zm-web a{color:inherit;text-decoration:none;}
body.zm-web :is(button,a,summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
body.zm-web :is(a,button,input,summary):focus-visible{outline:3px solid var(--zm-accent);outline-offset:3px;}
body.zm-web .zm-skip{position:fixed;top:-100px;left:16px;z-index:160;background:#171717;color:white;padding:12px 16px;border-radius:6px;}
body.zm-web .zm-skip:focus{top:12px;}
/* Main desktop header */
body.zm-web .zm-header{
  position:sticky;top:0;z-index:95;min-height:76px;padding:12px 28px;
  display:flex;align-items:center;gap:clamp(12px,1.3vw,22px);background:#fff;
  border-bottom:1px solid #ededed;box-shadow:none;
}
body.zm-web .zm-menu{border:0;background:transparent;width:40px;height:44px;display:grid;place-items:center;flex:none;border-radius:8px;cursor:pointer;color:var(--zm-ink);}
body.zm-web .zm-menu:hover{background:var(--zm-soft);}
body.zm-web .zm-menu svg{width:25px;height:25px;stroke-width:2.4;}
body.zm-web .zm-header .zm-brand{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;min-width:0;}
body.zm-web .zm-header .zm-brand .zygo-market-logo{display:block;width:155px;max-width:100%;max-height:45px;height:auto;object-fit:contain;}
body.zm-web .zm-mode{display:flex;align-items:center;gap:2px;flex:none;padding:4px;background:#f4f4f4;border-radius:999px;}
body.zm-web .zm-mode a{display:inline-flex;justify-content:center;align-items:center;min-height:34px;padding:0 14px;white-space:nowrap;font-size:14px;font-weight:600;border-radius:999px;transition:background-color .16s,color .16s;}
body.zm-web .zm-mode .selected{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.11);}
body.zm-web .zm-mode a:not(.selected):hover{background:#e8e8e8;}
body.zm-web .zm-location{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:185px;flex:none;border:0;background:transparent;padding:9px 0;border-radius:8px;font-size:14px;font-weight:600;color:var(--zm-ink);cursor:pointer;}
body.zm-web .zm-location span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
body.zm-web .zm-location svg:first-child{width:20px;height:20px;flex:none;}
body.zm-web .zm-location svg:last-child{width:15px;height:15px;flex:none;}
body.zm-web .zs-search{display:flex;align-items:center;position:relative;flex:1 1 240px;min-width:140px;max-width:none;min-height:44px;gap:10px;margin:0;padding:0 12px 0 18px;border:0;border-radius:999px;background:var(--zm-soft);box-shadow:none;}
body.zm-web .zs-search .si{flex:none;font-size:18px;color:#222;}
body.zm-web .zs-search input{width:100%;flex:1 1 auto;min-width:0;min-height:44px;outline:0;border:0;background:transparent;color:var(--zm-ink);font-size:14px;padding:9px 0;box-shadow:none;}
body.zm-web .zs-search input::placeholder{color:#666;opacity:1;}
body.zm-web .zs-search:focus-within{box-shadow:0 0 0 2px rgba(7,135,71,.3);}
body.zm-web .zs-search .zs-filtros{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;cursor:pointer;border:0;background:transparent;border-radius:50%;font-size:16px;padding:0;color:#353535;}
body.zm-web .zs-search .zs-filtros:hover{background:#e6e6e6;}
body.zm-web .zs-search .zs-filtros span{display:none;}
body.zm-web .zm-login{display:inline-flex;align-items:center;gap:7px;min-height:44px;flex:none;font-weight:600;font-size:14px;white-space:nowrap;}
body.zm-web .zm-login svg{width:21px;height:21px;}
body.zm-web .zm-login:hover{color:var(--zm-accent);}
body.zm-web .zm-cart{position:relative;flex:none;}
body.zm-web .zm-cart summary{display:grid;place-items:center;list-style:none;position:relative;width:45px;height:45px;background:transparent;color:#171717;border:0;border-radius:50%;cursor:pointer;}
body.zm-web .zm-cart summary::-webkit-details-marker{display:none;}
body.zm-web .zm-cart summary:hover{background:var(--zm-soft);}
body.zm-web .zm-cart summary svg{width:25px;height:25px;}
body.zm-web .zm-cart summary span{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;background:#078747;border:1px solid #fff;border-radius:999px;color:#fff;font-size:11px;font-weight:700;}
body.zm-web .zm-cart-panel{position:absolute;right:0;top:54px;width:min(360px,92vw);max-height:min(65vh,540px);overflow-y:auto;padding:20px;background:#fff;border:1px solid var(--zm-border);border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.14);z-index:110;}
body.zm-web .zm-cart-panel>strong{font-size:19px;font-weight:700;}
body.zm-web .zm-cart-panel p{margin:12px 0;color:var(--zm-muted);font-size:14px;}
body.zm-web .zm-cart-panel a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--zm-border);padding:12px 0;font-size:14px;}
body.zm-web .zm-cart-panel small{display:block;font-size:12px;color:var(--zm-muted);margin-top:2px;}
/* Persistent desktop sidebar */
body.zm-web .zm-sidebar{position:fixed;left:0;top:var(--zm-header);bottom:0;z-index:55;width:var(--zm-side);padding:13px 16px 24px 20px;overflow-x:hidden;overflow-y:auto;background:#fff;border-right:1px solid #f1f1f1;scrollbar-width:thin;scrollbar-color:#ddd transparent;}
body.zm-web .zm-sidebar>a,body.zm-web .zm-side-account>a{display:flex;align-items:center;gap:15px;min-height:45px;margin:1px 0;padding:9px 12px 9px 17px;border:0;border-left:4px solid transparent;border-radius:0;font-size:15px;font-weight:500;line-height:1.25;transition:background-color .16s;}
body.zm-web .zm-sidebar>a:hover,body.zm-web .zm-side-account>a:hover{background:#f7f7f7;}
body.zm-web .zm-sidebar>a.selected{background:#ebebeb;border-left-color:#171717;font-weight:700;}
body.zm-web .zm-sidebar svg,body.zm-web .zm-sidebar img{width:22px;height:22px;flex:none;object-fit:contain;}
body.zm-web .zm-sidebar img{filter:grayscale(1) brightness(.5);}
body.zm-web .zm-side-account{border-top:1px solid var(--zm-border);margin-top:16px;padding-top:12px;}
body.zm-web .mp-menu-backdrop{display:none;}
/* Full-width commercial canvas to the right of the sidebar */
body.zm-web main.zs-container{width:calc(100% - var(--zm-side));max-width:none;min-width:0;margin:0 0 0 var(--zm-side);padding:9px 22px 42px;}
body.zm-web .zs-section{padding:0;}
body.zm-web .zs-cats-wrap{position:relative;min-width:0;margin:0 0 4px;}
body.zm-web .zs-cats{display:flex;align-items:flex-start;gap:clamp(7px,.9vw,16px);min-width:0;overflow-x:auto;overflow-y:hidden;padding:0 44px 8px 0;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain;}
body.zm-web .zs-cats::-webkit-scrollbar{display:none;}
body.zm-web .zs-cat{display:flex;align-items:center;flex-direction:column;flex:0 0 clamp(84px,6.1vw,104px);min-width:0;min-height:105px;padding:5px 2px 8px;text-align:center;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;transform:none;}
body.zm-web .zs-cat:hover{background:#f9f9f9;box-shadow:none;transform:none;}
body.zm-web .zs-cat.active{border-bottom-color:var(--zm-accent);background:transparent;box-shadow:none;}
body.zm-web .zs-cat .ico{height:69px;width:76px;display:grid;place-items:center;flex:none;margin:0;}
body.zm-web .zs-cat .ico img{display:block;width:64px;height:64px;max-width:64px;max-height:64px;object-fit:contain;filter:none;}
body.zm-web .zs-cat .nm{display:block;width:100%;max-width:100%;margin:4px 0 0;font-size:13.5px;line-height:1.25;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#242424;}
body.zm-web .zs-cats-arrow{position:absolute;right:0;top:23px;width:38px;height:43px;display:grid;place-items:center;border:0;background:#fff;border-radius:999px;box-shadow:0 2px 12px #0002;cursor:pointer;font-size:14px;}
body.zm-web .zs-cats-arrow:hover{background:#f5f5f5;}
body.zm-web .zs-cats-arrow[hidden]{display:none;}
body.zm-web .zs-cats-arrow i{display:grid;place-items:center;width:100%;height:100%;}
/* Compact quick filters; only supported server-side filters are exposed. */
body.zm-web .zs-chips{display:flex;align-items:center;justify-content:flex-start;gap:9px;flex-wrap:nowrap;min-width:0;max-width:100%;padding:9px 0 20px;margin:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;}
body.zm-web .zs-chips::-webkit-scrollbar{display:none;}
body.zm-web .zs-chip,body.zm-web .zs-chips .zs-chip.zs-filter{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:7px;min-height:43px;padding:0 17px;margin:0;border:0;border-radius:999px;background:#f4f4f4;color:#252525;font-family:var(--zm-font);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:none;text-decoration:none;scroll-snap-align:start;transition:background-color .16s,color .16s;cursor:pointer;}
body.zm-web .zs-chip:hover,body.zm-web .zs-chips .zs-chip.zs-filter:hover{background:#e8e8e8;color:#161616;box-shadow:none;transform:none;}
body.zm-web .zs-chip.active,body.zm-web .zs-chips .zs-chip.zs-filter.active{background:#212121;color:#fff;border:0;box-shadow:none;}
body.zm-web .zs-chip.active:hover,body.zm-web .zs-chips .zs-chip.zs-filter.active:hover{background:#343434;color:#fff;}
body.zm-web .zs-filter-icon{width:17px;height:17px;flex:none;stroke:currentColor;opacity:.95;}
/* Discount and offer banners: editorial tone, three across when content allows. */
body.zm-web .zm-discover{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:0;padding:0;margin:0 0 23px;}
body.zm-web .zm-promo{display:block;position:relative;isolation:isolate;min-width:0;min-height:195px;padding:20px 20px 18px;overflow:hidden;border-radius:15px;transition:filter .16s;}
body.zm-web .zm-promo:hover{filter:brightness(.975);transform:none;}
body.zm-web .zm-promo-lime{background:#e9f0ca;}
body.zm-web .zm-promo-peach{background:#ffd1bd;}
body.zm-web .zm-promo-lilac{background:#e2def1;}
body.zm-web .zm-promo>div{position:relative;z-index:1;width:75%;max-width:280px;}
body.zm-web .zm-promo span{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.4;}
body.zm-web .zm-promo h2{margin:7px 0 8px;font-size:clamp(19px,1.6vw,24px);line-height:1.16;letter-spacing:-.035em;font-weight:700;color:#171717;}
body.zm-web .zm-promo p{margin:0;color:#343434;font-size:12px;line-height:1.4;max-width:215px;}
body.zm-web .zm-promo b{display:inline-flex;align-items:center;gap:7px;margin-top:13px;padding:8px 11px;border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:#1a1a1a;}
body.zm-web .zm-promo b svg{width:15px;height:15px;}
body.zm-web .zm-promo>img{position:absolute;z-index:0;right:-4%;bottom:5%;width:44%;height:70%;max-height:155px;object-fit:contain;transform:rotate(-7deg);filter:none;}
body.zm-web .zm-admin-banners{display:flex;align-items:stretch;gap:18px;min-width:0;padding:0 0 22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;}
body.zm-web .zm-admin-banner{position:relative;isolation:isolate;display:block;flex:0 0 calc((100% - 36px)/3);height:196px;min-width:0;overflow:hidden;border-radius:15px;background:#f2f2f2;scroll-snap-align:start;}
body.zm-web .zm-admin-banner img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s;}
body.zm-web .zm-admin-banner:hover img{transform:scale(1.025);}
body.zm-web .zm-admin-banner strong{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:8px 12px;border-radius:999px;background:#fff;color:#171717;font-size:13px;font-weight:700;}
body.zm-web .mp-rail-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:4px 0 8px;}
body.zm-web .mp-rail-tools[hidden]{display:none;}
body.zm-web .mp-rail-tools button{display:grid;place-items:center;width:35px;height:35px;background:#f4f4f4;color:#171717;border:0;border-radius:50%;cursor:pointer;}
body.zm-web .mp-rail-tools button:disabled{opacity:.35;cursor:default;}
body.zm-web .mp-rail-tools svg{width:18px;height:18px;}
/* Featured product rails */
body.zm-web .zm-product-section{margin:20px 0 30px;min-width:0;}
body.zm-web .zm-product-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 14px;}
body.zm-web .zm-product-heading span{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;color:#747474;margin-bottom:4px;}
body.zm-web .zm-product-heading h2{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.04em;line-height:1.2;margin:0;color:#171717;}
body.zm-web .zm-section-count{font-size:13px;color:#777;}
body.zm-web .zm-product-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,200px);gap:18px;min-width:0;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;}
body.zm-web .zm-product-card{display:block;min-width:0;scroll-snap-align:start;}
body.zm-web .zm-product-image{aspect-ratio:1.2;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#f5f5f5;}
body.zm-web .zm-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s;}
body.zm-web .zm-product-card:hover img{transform:scale(1.025);}
body.zm-web .zm-product-meta{display:flex;flex-direction:column;gap:3px;padding-top:9px;}
body.zm-web .zm-product-meta strong{font-size:14px;line-height:1.3;font-weight:650;}
body.zm-web .zm-product-meta span{color:#696969;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.zm-web .zm-product-meta b{font-size:15px;font-weight:700;}
/* Editorial section headings and clean restaurant-style store cards */
body.zm-web .zm-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:5px 0 0;padding:0;scroll-margin-top:calc(var(--zm-header) + 20px);}
body.zm-web .zm-section-heading p{margin:0 0 3px;font-size:10px;font-weight:700;letter-spacing:.09em;color:#858585;}
body.zm-web .zm-section-heading h1{font-size:clamp(24px,2.2vw,29px);line-height:1.2;letter-spacing:-.045em;font-weight:700;color:#171717;margin:0;}
body.zm-web .zm-section-heading>a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:14px;font-weight:600;}
body.zm-web .zm-section-heading>a:hover{text-decoration:underline;text-underline-offset:4px;}
body.zm-web .zm-section-heading>a svg{width:16px;height:16px;}
body.zm-web .zs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:25px 19px;min-width:0;padding:17px 0 20px;}
body.zm-web .zs-card,body.zm-web .zs-grid .zmc-clean-card{display:flex;flex-direction:column;min-width:0;position:relative;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transition:none;transform:none;}
body.zm-web .zs-card:hover,body.zm-web .zs-grid .zmc-clean-card:hover{transform:none;box-shadow:none;border:0;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover{display:block;position:relative;overflow:hidden;aspect-ratio:2.1/1;background:#f2f2f2;border-radius:14px;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover::before{display:none;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s;}
body.zm-web .zs-grid .zmc-clean-card:hover .zmc-clean-cover>img{transform:scale(1.025);}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover .ph{position:absolute;inset:0;display:grid;place-items:center;background:#edf2e9;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover .ph img{width:88px;height:88px;object-fit:contain;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-body{padding:10px 0 0;gap:3px;min-width:0;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header{display:flex;min-width:0;align-items:center;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header h2{flex:1;min-width:0;margin:0;font-size:19px;line-height:1.3;letter-spacing:-.025em;font-weight:650;color:#171717;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header h2 a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header h2 a:hover{color:var(--zm-accent);}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-favorite{appearance:none;position:absolute;top:9px;right:9px;z-index:3;display:grid;place-items:center;width:35px;height:35px;min-height:35px;flex:none;padding:0;border:0;border-radius:50%;background:#fff;color:#626262;box-shadow:0 2px 9px #0002;cursor:pointer;transition:color .16s,background-color .16s;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-favorite:hover{background:#f6f6f6;color:var(--zm-accent);}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-favorite svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-favorite.is-favorite{color:var(--zm-accent);}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-favorite.is-favorite svg{fill:var(--zm-accent);}
body.zm-web .zm-store-badge{position:absolute;top:10px;left:10px;z-index:2;max-width:calc(100% - 66px);padding:5px 9px;background:#fff;border-radius:5px;font-size:11px;font-weight:700;line-height:1.25;color:#252525;box-shadow:0 1px 6px #0002;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.zm-web .zm-store-badge.hot{background:#d9f1de;color:#166533;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-line{display:flex;flex-wrap:wrap;align-items:center;min-width:0;gap:5px;min-height:21px;margin:2px 0 0;font-size:13px;line-height:1.4;font-weight:400;color:#5c5c5c;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-line svg{width:15px;height:15px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-line .zmc-clean-delivery-price{color:#171717;font-weight:600;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-quote{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-time{color:#585858;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-star{width:13px;height:13px;fill:#171717;stroke:#171717;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-rating{display:inline-flex;align-items:center;gap:4px;color:#171717;font-weight:650;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-reviews{color:#767676;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-dot{color:#a4a4a4;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-status{color:#767676;font-size:12.5px;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-status.closed{color:#a34229;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-location{display:inline-flex;align-items:center;min-height:25px;padding:0;margin:0;border:0;background:transparent;color:var(--zm-accent);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-location[hidden]{display:none;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-delivery-note{display:none;}
body.zm-web .zs-grid .zmc-clean-card .zmc-clean-delivery-note.is-warning:not(:empty){display:block;color:#8e4c38;font-size:11px;}
body.zm-web .zs-grid .zmc-clean-card.is-unavailable .zmc-clean-cover img{filter:saturate(.7);}
/* Resuming baskets, empty states, pagination and async searches */
body.zm-web .zs-resume{padding:15px;margin:7px 0 18px;border:1px solid #e7e7e7;border-radius:14px;background:#fafafa;box-shadow:none;}
body.zm-web .zs-resume-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
body.zm-web .zs-resume-head h2{font-size:17px;font-weight:700;}
body.zm-web .zs-resume-head p{font-size:12px;color:#727272;margin:3px 0 0;}
body.zm-web .zs-resume-list{display:flex;gap:12px;overflow-x:auto;scrollbar-width:thin;}
body.zm-web .zs-resume-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:min(320px,84vw);padding:10px;background:white;border:1px solid #e9e9e9;border-radius:11px;}
body.zm-web .zs-resume-card img{width:46px;height:46px;border-radius:10px;object-fit:cover;}
body.zm-web .zs-resume-copy{min-width:0;}
body.zm-web .zs-resume-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
body.zm-web .zs-resume-copy span{display:block;margin-top:3px;font-size:12px;color:#727272;}
body.zm-web .zs-resume-link{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#171717;color:#fff;padding:9px 12px;font-size:12px;font-weight:700;}
body.zm-web .zs-empty{grid-column:1/-1;text-align:center;color:#666;padding:50px 20px;border:1px dashed #dedede;border-radius:14px;background:#fafafa;}
body.zm-web .zs-empty i{display:block;font-size:30px;color:#999;}
body.zm-web .zs-empty strong{display:block;margin-top:10px;font-size:18px;color:#171717;}
body.zm-web .zs-empty span{display:block;margin-top:4px;font-size:13px;}
body.zm-web .zs-pagination{padding:14px 0;}
body.zm-web .zs-pagination .pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;}
body.zm-web .zs-pagination .page-link{display:grid;place-items:center;min-width:39px;min-height:39px;padding:6px 10px;border:1px solid var(--zm-border);border-radius:9px;background:#fff;font-size:13px;}
body.zm-web .zs-pagination .page-item.active .page-link{background:#171717;color:white;border-color:#171717;}
body.zm-web .zs-pagination .page-item.disabled .page-link{opacity:.4;}
body.zm-web #dirResults{min-width:0;padding:16px 0 25px;}
body.zm-web #dirResults .sr-head{margin:4px 0 18px;font-size:26px;font-weight:700;letter-spacing:-.04em;}
body.zm-web #dirResults .sr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
body.zm-web #dirResults .sr-card,body.zm-web #dirResults .sr-store-result{box-shadow:none;}
body.zm-web #dirResults :is(.sr-card,.sr-store-result):hover{transform:none;box-shadow:none;}
/* Footer belongs to the content column, not to the fixed navigation. */
body.zm-web > .sf-foot{display:none!important;}
body.zm-web .zm-site-footer{position:relative;z-index:1;clear:both;width:calc(100% - var(--zm-side));margin:0 0 0 var(--zm-side);border-top:1px solid var(--zm-border);background:#fafafa;color:#242424;min-width:0;}
body.zm-web .zm-site-footer__inner{width:calc(100% - 44px);max-width:none;margin:0 auto;}
body.zm-web .zm-site-footer__main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0;}
body.zm-web .zm-site-footer__identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;}
body.zm-web .zm-site-footer__brand img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain;}
body.zm-web .zm-site-footer__tagline{font-size:12px;color:#777;margin:0;}
body.zm-web .zm-site-footer__links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 25px;}
body.zm-web .zm-site-footer__links a,body.zm-web .zm-site-footer__bottom a{font-size:12px;font-weight:550;line-height:1.35;color:#515151;}
body.zm-web .zm-site-footer__links a:hover,body.zm-web .zm-site-footer__bottom a:hover{color:var(--zm-accent);text-decoration:underline;}
body.zm-web .zm-site-footer__links .zm-site-footer__merchant{display:inline-flex;align-items:center;gap:5px;color:#078747;font-weight:700;}
body.zm-web .zm-site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 23px;border-top:1px solid var(--zm-border);font-size:11px;color:#858585;}
body.zm-web .zm-site-footer__bottom nav{display:flex;gap:20px;flex-wrap:wrap;}
body.zm-web .zm-mobile-nav{display:none;}
/* Desktop < 1440: balance search area against the sidebar and catalog. */
@media(max-width:1439px){
 body.zm-web .zm-header{gap:12px;padding:12px 20px;}
 body.zm-web .zm-header .zm-brand .zygo-market-logo{width:135px;}
 body.zm-web .zm-mode a{padding:0 11px;font-size:13px;}
 body.zm-web .zm-login span{display:none;}
 body.zm-web .zs-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 body.zm-web #dirResults .sr-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1199px){
 body.zm-web{--zm-side:196px;}
 body.zm-web .zm-location span{max-width:80px;}
 body.zm-web main.zs-container{padding:12px 20px 34px;}
 body.zm-web .zm-discover{gap:12px;}
 body.zm-web .zm-promo{min-height:202px;padding:16px;}
 body.zm-web .zm-promo>div{width:83%;}
 body.zm-web .zm-admin-banner{flex-basis:calc((100% - 18px)/2);}
}
/* Tablet: drawer, two-column feed and compact top bar. */
@media(max-width:1023px){
 body.zm-web{--zm-side:0px;--zm-header:125px;}
 body.zm-web .zm-header{flex-wrap:wrap;min-height:125px;gap:9px 13px;padding:11px 18px;}
 body.zm-web .zm-header .zm-brand{margin-right:auto;}
 body.zm-web .zm-header .zm-brand .zygo-market-logo{width:148px;}
 body.zm-web .zm-mode{order:2;}
 body.zm-web .zm-location{order:3;}
 body.zm-web .zm-login{order:4;}
 body.zm-web .zm-cart{order:5;}
 body.zm-web .zs-search{flex:1 0 100%;order:10;}
 body.zm-web .zm-sidebar{z-index:88;width:min(280px,86vw);padding:18px 16px;transform:translateX(-105%);visibility:hidden;transition:transform .2s,visibility .2s;box-shadow:16px 12px 32px #0002;}
 body.zm-web.zm-menu-open .zm-sidebar{transform:translateX(0);visibility:visible;}
 body.zm-web.zm-menu-open .mp-menu-backdrop{display:block;position:fixed;inset:var(--zm-header) 0 0;z-index:80;width:100%;height:calc(100dvh - var(--zm-header));border:0;background:rgba(0,0,0,.35);}
 body.zm-web main.zs-container{width:100%;margin-left:0;padding:14px 20px 34px;}
 body.zm-web .zs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.zm-web #dirResults .sr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.zm-web .zm-discover{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;}
 body.zm-web .zm-promo{flex:0 0 min(350px,65vw);min-height:205px;scroll-snap-align:start;}
 body.zm-web .zm-site-footer{width:100%;margin-left:0;}
}
/* Small screens: preserve every shopping flow, but reorganize into separate header rows. */
@media(max-width:767px){
 body.zm-web{--zm-header:150px;}
 body.zm-web .zm-header{min-height:150px;gap:8px 10px;padding:10px 15px;}
 body.zm-web .zm-menu{width:34px;height:36px;}
 body.zm-web .zm-header .zm-brand .zygo-market-logo{width:136px;max-height:36px;}
 body.zm-web .zm-mode{order:8;flex:1 1 auto;justify-content:flex-start;min-width:0;background:transparent;padding:0;}
 body.zm-web .zm-mode a{min-height:33px;font-size:12px;padding:0 11px;background:#f5f5f5;}
 body.zm-web .zm-mode .selected{background:#171717;color:white;box-shadow:none;}
 body.zm-web .zm-location{order:9;max-width:145px;}
 body.zm-web .zm-location span{max-width:110px;font-size:12px;}
 body.zm-web .zm-login{display:none;}
 body.zm-web .zm-cart{order:4;margin-left:auto;}
 body.zm-web .zs-search{order:11;min-height:42px;flex-basis:100%;}
 body.zm-web .zs-search input{min-height:42px;font-size:14px;}
 body.zm-web .zm-sidebar{top:var(--zm-header);}
 body.zm-web main.zs-container{padding:10px 15px 45px;}
 body.zm-web .zs-cat{flex-basis:88px;min-height:100px;}
 body.zm-web .zs-cat .ico{height:60px;width:67px;}
 body.zm-web .zs-cat .ico img{width:57px;height:57px;}
 body.zm-web .zs-cat .nm{font-size:12px;}
 body.zm-web .zs-chips{padding:8px 0 17px;}
 body.zm-web .zs-chip,body.zm-web .zs-chips .zs-chip.zs-filter{min-height:40px;padding:0 14px;font-size:12.5px;}
 body.zm-web .zm-promo{flex-basis:min(330px,87vw);min-height:200px;}
 body.zm-web .zm-admin-banner{flex-basis:83%;height:178px;}
 body.zm-web .zm-product-scroll{grid-auto-columns:minmax(145px,47vw);gap:13px;}
 body.zm-web .zm-section-heading h1{font-size:24px;}
 body.zm-web .zm-section-heading p{font-size:9px;}
 body.zm-web .zs-grid{gap:23px 14px;}
 body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header h2{font-size:17px;}
 body.zm-web .zs-grid .zmc-clean-card .zmc-clean-line{font-size:12px;}
 body.zm-web .zm-site-footer__inner{width:calc(100% - 30px);}
 body.zm-web .zm-site-footer__main{align-items:flex-start;flex-direction:column;gap:21px;}
 body.zm-web .zm-site-footer__links{justify-content:flex-start;gap:13px 20px;}
 body.zm-web .zm-site-footer__bottom{flex-direction:column;align-items:flex-start;}
 body.zm-web .zm-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:89;display:flex;justify-content:space-around;align-items:center;gap:2px;min-height:calc(58px + env(safe-area-inset-bottom));padding:6px 8px max(6px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8e8e8;box-shadow:0 -5px 18px #0000000a;}
 body.zm-web .zm-mobile-nav a{display:flex;flex:1;flex-direction:column;align-items:center;gap:2px;justify-content:center;min-height:44px;text-align:center;color:#616161;font-size:10px;font-weight:600;}
 body.zm-web .zm-mobile-nav a[aria-current="page"]{color:var(--zm-accent);}
 body.zm-web .zm-mobile-nav svg{width:20px;height:20px;}
 body.zm-web .zm-site-footer{padding-bottom:65px;}
}
@media(max-width:479px){
 body.zm-web .zm-header .zm-brand .zygo-market-logo{width:126px;}
 body.zm-web .zm-mode a{font-size:11.5px;padding-inline:10px;}
 body.zm-web .zm-location span{max-width:78px;}
 body.zm-web .zm-promo h2{font-size:22px;}
 body.zm-web .zs-grid,body.zm-web #dirResults .sr-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
 body.zm-web .zs-grid .zmc-clean-card .zmc-clean-cover{aspect-ratio:2.05/1;}
 body.zm-web .zs-grid .zmc-clean-card .zmc-clean-header h2{font-size:19px;}
 body.zm-web .zs-grid .zmc-clean-card .zmc-clean-line{font-size:13px;}
 body.zm-web .zs-resume-card{min-width:min(320px,88vw);}
}
@media(prefers-reduced-motion:reduce){body.zm-web *,body.zm-web *::before,body.zm-web *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
/* Search endpoint returns its own partial; keep it styled independently of feed cards. */
body.zm-web .sr-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px;font-size:15px;font-weight:700;}
body.zm-web .sr-subhead span{color:#777;font-size:12px;font-weight:400;}
body.zm-web .sr-card{min-width:0;background:#fff;border:0;border-radius:0;overflow:hidden;display:flex;flex-direction:column;}
body.zm-web .sr-img{position:relative;aspect-ratio:1.28;background:#f3f3f3;overflow:hidden;border-radius:13px;}
body.zm-web .sr-img img{width:100%;height:100%;object-fit:cover;transition:transform .2s;}
body.zm-web .sr-card:hover .sr-img img{transform:scale(1.025);}
body.zm-web .sr-img .ph{width:100%;height:100%;display:grid;place-items:center;color:#aaa;font-size:30px;}
body.zm-web .sr-body{display:flex;flex-direction:column;gap:5px;flex:1;padding:10px 0;}
body.zm-web .sr-name{font-size:15px;font-weight:650;line-height:1.3;}
body.zm-web .sr-price{font-size:16px;font-weight:700;color:#171717;}
body.zm-web .sr-store{display:flex;align-items:center;gap:7px;min-width:0;margin-top:auto;padding-top:9px;border-top:1px solid #eee;font-size:12px;color:#777;}
body.zm-web .sr-store img{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none;}
body.zm-web .sr-store .nm{min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
body.zm-web .sr-store i{margin-left:auto;color:var(--zm-accent);}
body.zm-web .sr-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.zm-web .sr-store-result{display:grid;grid-template-columns:50px minmax(0,1fr) 20px;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #eee;border-radius:12px;background:#fff;}
body.zm-web .sr-store-result:hover{border-color:#ccc;}
body.zm-web .sr-store-result>img{width:50px;height:50px;border-radius:10px;object-fit:cover;}
body.zm-web .sr-store-result strong,body.zm-web .sr-store-result span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
body.zm-web .sr-store-result strong{font-size:13px;font-weight:700;}
body.zm-web .sr-store-result span{margin-top:3px;font-size:12px;color:#777;}
body.zm-web .sr-store-result>i{color:var(--zm-accent);}
body.zm-web .sr-empty{text-align:center;padding:45px 20px;color:#777;font-size:14px;}
body.zm-web .sr-empty i{font-size:28px;opacity:.55;}
body.zm-web .sr-empty p{margin-top:10px;}
body.zm-web .sr-suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:15px;}
body.zm-web .sr-suggestions a{display:inline-flex;align-items:center;min-height:38px;border-radius:999px;background:#f4f4f4;padding:0 13px;font-size:12px;}
/* Large desktop menu can expand the browsing canvas; mobile uses a modal drawer. */
@media(min-width:1024px){
 body.zm-web.zm-menu-open{--zm-side:0px;}
 body.zm-web.zm-menu-open .zm-sidebar{visibility:hidden;pointer-events:none;}
 body.zm-web.zm-menu-open .zm-menu{background:#efefef;}
}
@media(max-width:1023px){body.zm-web .sr-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:479px){body.zm-web .sr-store-grid{grid-template-columns:minmax(0,1fr);}}


/* ===============================================================
   ZygoMarket V8: grupos comerciales + giros (subcategorías)
   Las categorías vienen de BD; el desplegable usa HTML nativo.
   Alcance exclusivamente al marketplace público.
   =============================================================== */
body.zm-web .zm-side-navigation{display:flex;flex-direction:column;gap:4px;min-width:0;}
body.zm-web .zm-side-navigation .zm-side-home{display:flex;align-items:center;gap:11px;min-height:46px;padding:10px 11px;border:0;border-radius:9px;background:transparent;font-size:14px;font-weight:650;line-height:1.35;color:#282828;}
body.zm-web .zm-side-navigation .zm-side-home:hover{background:#f5f5f5;}
body.zm-web .zm-side-navigation .zm-side-home.selected{background:#ededed;color:#171717;}
body.zm-web .zm-side-navigation .zm-side-home svg{width:20px;height:20px;}
body.zm-web .zm-side-section-heading{margin:17px 10px 7px;padding:0;font-size:10px;font-weight:800;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;color:#777;}
body.zm-web .zm-nav-group{min-width:0;border:0;border-radius:10px;overflow:visible;}
body.zm-web .zm-nav-group>summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:49px;padding:8px 8px 8px 10px;border:0;border-radius:9px;background:transparent;color:#242424;cursor:pointer;user-select:none;transition:background .15s ease;}
body.zm-web .zm-nav-group>summary::-webkit-details-marker{display:none;}
body.zm-web .zm-nav-group>summary::marker{content:'';}
body.zm-web .zm-nav-group>summary:hover{background:#f5f5f5;}
body.zm-web .zm-nav-group[open]>summary{background:#f6f6f6;}
body.zm-web .zm-nav-group.has-active-category>summary{color:#078747;font-weight:700;}
body.zm-web .zm-nav-group>summary>svg:first-child{width:20px;height:20px;flex:0 0 20px;stroke-width:1.9;}
body.zm-web .zm-nav-group .zm-group-title{flex:1;min-width:0;font-size:13px;font-weight:650;line-height:1.27;overflow-wrap:anywhere;}
body.zm-web .zm-nav-group .zm-group-count{flex:none;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#ebebeb;color:#656565;font-size:10px;font-weight:700;line-height:1;}
body.zm-web .zm-nav-group .zm-group-chevron{flex:none;width:15px;height:15px;stroke-width:2;transition:transform .15s ease;}
body.zm-web .zm-nav-group[open] .zm-group-chevron{transform:rotate(180deg);}
body.zm-web .zm-nav-children{display:flex;flex-direction:column;gap:1px;margin:5px 0 7px 18px;padding:0 0 0 9px;border-left:1px solid #e9e9e9;min-width:0;}
body.zm-web .zm-nav-children .zm-nav-child{display:flex;align-items:center;gap:9px;min-height:40px;padding:8px 7px;border-radius:7px;border:0;background:transparent;color:#616161;font-size:12.5px;font-weight:500;line-height:1.3;min-width:0;}
body.zm-web .zm-nav-children .zm-nav-child:hover{background:#f6f6f6;color:#191919;}
body.zm-web .zm-nav-children .zm-nav-child.selected{background:#e8f3eb;color:#087640;font-weight:700;}
body.zm-web .zm-nav-children .zm-nav-child>img{width:18px;height:18px;flex:0 0 18px;object-fit:contain;filter:grayscale(1) brightness(.55);}
body.zm-web .zm-nav-children .zm-nav-child.selected>img{filter:none;}
body.zm-web .zm-nav-children .zm-nav-child>span{min-width:0;overflow-wrap:anywhere;flex:1;}
body.zm-web .zm-nav-children .zm-nav-child .zm-child-check{width:15px;height:15px;flex:0 0 15px;color:#078747;stroke-width:2.6;}
body.zm-web .zm-side-navigation .zm-side-account{margin-top:16px;border-top:1px solid #eee;padding-top:10px;}
body.zm-web .zm-side-navigation .zm-side-account>a{display:flex;align-items:center;gap:11px;margin:0;min-height:45px;padding:10px 11px;border:0;border-radius:8px;font-size:13px;font-weight:600;}
body.zm-web .zm-side-navigation .zm-side-account>a:hover{background:#f6f6f6;}
body.zm-web .zm-side-empty{margin:12px 10px;color:#777;font-size:12px;line-height:1.5;}
body.zm-web .zm-sidebar{overscroll-behavior:contain;}
@media(max-width:1023px){
 body.zm-web .zm-sidebar{width:min(335px,90vw);padding:17px 14px 30px 17px;}
 body.zm-web .zm-nav-group>summary{min-height:48px;}
 body.zm-web .zm-nav-children .zm-nav-child{min-height:44px;font-size:13px;}
}
@media(prefers-reduced-motion:reduce){body.zm-web .zm-nav-group .zm-group-chevron{transition:none;}}


/* ===============================================================
   V9: Franja superior SOLO grupos principales, nunca subcategorías.
   El menú izquierdo conserva todos los giros/subcategorías.
   =============================================================== */
body.zm-web .zs-main-groups-wrap{margin:2px 0 11px;}
body.zm-web .zs-main-groups{gap:clamp(10px,1.3vw,23px);padding:3px 48px 11px 0;}
body.zm-web .zs-main-cat{flex:0 0 clamp(112px,9.5vw,156px);min-height:110px;max-width:160px;padding:8px 4px 10px;border-bottom:3px solid transparent;gap:2px;transition:background-color .15s,border-color .15s;}
body.zm-web .zs-main-cat:hover{background:#f7f7f7;}
body.zm-web .zs-main-cat.active{border-bottom-color:var(--zm-accent);background:#f2f9f4;}
body.zm-web .zs-main-cat .ico{display:grid;place-items:center;flex:0 0 65px;width:72px;height:72px;margin:0 auto 1px;border-radius:19px;background:#f1f3f1;box-shadow:inset 0 0 0 1px #e9ece9;}
body.zm-web .zs-main-cat:nth-child(4n+2) .ico{background:#f0f7ef;}
body.zm-web .zs-main-cat:nth-child(4n+3) .ico{background:#f5f2ed;}
body.zm-web .zs-main-cat:nth-child(4n+4) .ico{background:#eff4f7;}
body.zm-web .zs-main-cat.active .ico{background:#ddf2e4;box-shadow:inset 0 0 0 1px #c0e2cc;}
body.zm-web .zs-main-cat .ico svg{display:block;width:40px;height:40px;stroke:#192920;stroke-width:1.75;fill:none;flex:none;}
body.zm-web .zs-main-cat.active .ico svg{stroke:#087640;}
body.zm-web .zs-main-cat .nm{font-size:13px;line-height:1.25;font-weight:650;white-space:normal;overflow:visible;text-overflow:clip;max-width:154px;word-break:normal;overflow-wrap:break-word;}
body.zm-web .zs-main-cat:focus-visible{outline:2px solid var(--zm-accent);outline-offset:1px;}
body.zm-web .zm-nav-children .zm-nav-child-all{font-weight:700;color:#333;}
body.zm-web .zm-nav-children .zm-nav-child-all svg{width:18px;height:18px;flex:0 0 18px;}
@media(max-width:767px){
 body.zm-web .zs-main-groups{gap:10px;padding:1px 43px 8px 0;}
 body.zm-web .zs-main-cat{flex-basis:100px;min-height:101px;padding:5px 2px 8px;}
 body.zm-web .zs-main-cat .ico{width:59px;height:59px;flex-basis:59px;border-radius:15px;}
 body.zm-web .zs-main-cat .ico svg{width:35px;height:35px;}
 body.zm-web .zs-main-cat .nm{font-size:12px;line-height:1.25;}
}
