/* Moso Foods - inner pages (category, product, search, listing) v1 */
.mx-page{padding:22px 0 56px;background:var(--cream);min-height:60vh}
.mx-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px;color:var(--muted);margin:0 0 16px;padding:0;list-style:none}
.mx-crumbs a{color:var(--muted);text-decoration:none}
.mx-crumbs a:hover{color:var(--red)}
.mx-crumbs li+li::before{content:"/";margin-right:6px;color:#bbb}
.mx-crumbs [aria-current]{color:var(--ink);font-weight:600}
.mx-pagehead{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;margin:0 0 22px;text-align:center}
.mx-pagehead h1{font-family:var(--font-head);font-size:clamp(24px,4vw,36px);line-height:1.15;margin:0 0 6px}
.mx-pagehead p{margin:0;color:var(--muted)}
.mx-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.mx-chip{padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}
.mx-chip:hover{border-color:var(--red);color:var(--red)}
.mx-chip.is-on{background:var(--red);border-color:var(--red);color:#fff}
.mx-empty{grid-column:1/-1;text-align:center;padding:48px 16px;color:var(--muted)}
.mx-empty a{color:var(--red);font-weight:600}
.mx-more{text-align:center;margin:32px 0 0}
.mx-more button{min-width:220px}
.mx-more button:disabled{opacity:.7;cursor:not-allowed}
.mx-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:700px){.mx-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:1050px){.mx-listing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}

/* product detail */
.mx-pd{display:grid;gap:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
@media(min-width:900px){.mx-pd{grid-template-columns:1.05fr 1fr;gap:44px;padding:28px}}
.mx-gallery-main{position:relative;aspect-ratio:1/1;border-radius:var(--r-sm);overflow:hidden;background:var(--cream);cursor:zoom-in}
.mx-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.mx-gallery-ph{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted)}
.mx-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.mx-thumb{flex:0 0 64px;height:64px;border-radius:10px;overflow:hidden;border:2px solid transparent;opacity:.7;cursor:pointer;padding:0;background:var(--cream);transition:all .2s}
.mx-thumb.is-on,.mx-thumb:hover{border-color:var(--red);opacity:1}
.mx-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mx-pd-info h1{font-family:var(--font-head);font-size:clamp(22px,3.4vw,32px);line-height:1.2;margin:0 0 10px}
.mx-pd-short{color:var(--muted);margin:0 0 16px;white-space:pre-line}
.mx-stock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.mx-stock.in{background:var(--red-soft);color:var(--red)}
.mx-stock.out{background:#FDECEA;color:var(--sale)}
.mx-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 4px}
.mx-price-now{font-size:30px;font-weight:700}
.mx-price-old{font-size:16px;color:#9a9a9a;text-decoration:line-through}
.mx-save{display:inline-block;background:var(--sale);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.mx-tax{font-size:12.5px;color:var(--muted);margin:0 0 18px}
.mx-qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.mx-qty button{width:44px;height:46px;border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--ink)}
.mx-qty button:hover{background:var(--red-soft)}
.mx-qty input{width:52px;height:46px;border:0;text-align:center;font:600 16px var(--font);-moz-appearance:textfield}
.mx-qty input::-webkit-outer-spin-button,.mx-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.mx-pd-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.mx-pd-actions .mx-btn{flex:1 1 180px}
.mx-icon-sq{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-size:18px;color:var(--ink);transition:all .2s}
.mx-icon-sq:hover,.mx-icon-sq.active{border-color:var(--sale);color:var(--sale)}
.mx-assure{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:12.5px;text-align:center;color:var(--muted)}
.mx-assure b{display:block;color:var(--ink);font-size:13px}
.mx-block{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-top:18px}
.mx-block h2{font-family:var(--font-head);font-size:20px;margin:0 0 12px}
.mx-block p{margin:0 0 10px;color:var(--muted);white-space:pre-line}
.mx-spec{width:100%;border-collapse:collapse;font-size:14.5px}
.mx-spec th,.mx-spec td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.mx-spec th{width:36%;color:var(--muted);font-weight:600;background:var(--cream)}
.mx-related{margin-top:30px}
.mx-related h2{font-family:var(--font-head);font-size:24px;margin:0 0 16px}
.mx-zoom{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.mx-zoom.is-open{display:flex}
.mx-zoom img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.mx-zoom button{position:absolute;top:16px;right:16px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:22px;cursor:pointer}
.mx-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;opacity:0;transition:all .3s var(--ease);z-index:4000;max-width:90vw;box-shadow:var(--shadow-lg)}
.mx-toast.show{opacity:1;transform:translate(-50%,0)}
.mx-toast.ok{background:var(--red)}
.mx-toast.err{background:var(--sale)}
@media(max-width:899px){.mx-sticky-buy{position:fixed;left:0;right:0;bottom:62px;z-index:1450;background:#fff;border-top:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 -6px 20px rgba(28,25,23,.08)}.mx-sticky-buy .mx-btn{flex:1;height:46px}.mx-sticky-buy strong{font-size:18px}.mx-whatsapp-up{bottom:140px}}
@media(min-width:900px){.mx-sticky-buy{display:none}}
