/* ── ApnaStore — shared marketplace styles (Phase 1) ──
   Relies on apnashow-theme-vars.css custom properties already loaded on the page. */
.ms-body{background:var(--dark);color:var(--fg);font-family:'DM Sans',sans-serif;padding-bottom:calc(64px + 30px + env(safe-area-inset-bottom));}
.ms-wrap{max-width:1200px;margin:0 auto;padding:0 1.1rem;}

/* Sticky search */
.ms-search-bar{position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:.6rem;background:rgba(var(--dark-rgb),.96);backdrop-filter:blur(14px);padding:calc(.75rem + env(safe-area-inset-top,0px)) 1.1rem .75rem;border-bottom:.5px solid rgba(var(--gold-rgb),.15);}
.ms-search-input-wrap{flex:1;display:flex;align-items:center;gap:.5rem;background:rgba(var(--fg-rgb),.06);border:1px solid rgba(var(--gold-rgb),.2);border-radius:12px;padding:.6rem .9rem;}
.ms-search-input-wrap input{flex:1;background:none;border:none;outline:none;color:var(--fg);font-family:'DM Sans',sans-serif;font-size:.88rem;}
.ms-search-input-wrap input::placeholder{color:rgba(var(--fg-rgb),.35);}
.ms-city-chip{display:flex;align-items:center;gap:.25rem;background:rgba(var(--gold-rgb),.08);border:1px solid rgba(var(--gold-rgb),.25);color:var(--gold);font-size:.72rem;font-weight:700;padding:.5rem .7rem;border-radius:10px;white-space:nowrap;cursor:pointer;flex-shrink:0;}

/* Section scaffolding */
.ms-section{padding:1.5rem 0 .25rem;}
.ms-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.9rem;padding:0 1.1rem;}
.ms-section-title{font-family:'Cinzel',serif;font-size:1.05rem;font-weight:700;}
.ms-section-link{font-size:.76rem;color:var(--gold);font-weight:600;white-space:nowrap;}
.ms-scroll-row{display:flex;gap:.85rem;overflow-x:auto;padding:0 1.1rem .35rem;scrollbar-width:none;}
.ms-scroll-row::-webkit-scrollbar{display:none;}
.ms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;padding:0 1.1rem;}
@media(min-width:700px){.ms-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1000px){.ms-grid{grid-template-columns:repeat(4,1fr);}}

/* Banner slider */
.ms-banner-slider{display:flex;gap:.75rem;overflow-x:auto;padding:0 1.1rem;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ms-banner-slider::-webkit-scrollbar{display:none;}
.ms-banner{flex:0 0 88%;scroll-snap-align:start;border-radius:16px;padding:1.2rem 1.3rem;min-height:110px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;color:#fff;cursor:pointer;}
.ms-banner-emoji{font-size:1.6rem;margin-bottom:.35rem;}
.ms-banner-title{font-family:'Cinzel',serif;font-weight:700;font-size:1.05rem;margin-bottom:.15rem;}
.ms-banner-sub{font-size:.78rem;opacity:.85;}

/* Explore large cards */
.ms-explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;padding:0 1.1rem;}
.ms-explore-card{background:var(--card);border:.5px solid var(--border);border-radius:16px;padding:1.1rem;text-align:center;transition:transform .2s,border-color .2s;cursor:pointer;}
.ms-explore-card:active{transform:scale(.97);}
.ms-explore-emoji{font-size:1.9rem;margin-bottom:.5rem;}
.ms-explore-name{font-family:'Cinzel',serif;font-weight:700;font-size:.85rem;margin-bottom:.2rem;}
.ms-explore-desc{font-size:.68rem;color:var(--muted);line-height:1.4;}

/* Category chips (round) */
.ms-cat-pill{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;width:64px;cursor:pointer;}
.ms-cat-pill-icon{width:52px;height:52px;border-radius:16px;background:var(--card);border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:border-color .2s,background .2s;}
.ms-cat-pill:active .ms-cat-pill-icon,.ms-cat-pill.active .ms-cat-pill-icon{border-color:var(--gold);background:rgba(var(--gold-rgb),.1);}
.ms-cat-pill-label{font-size:.66rem;color:var(--muted);text-align:center;line-height:1.2;}

/* Category filter pills (horizontal, listing pages) */
.ms-chip-row{display:flex;gap:.4rem;overflow-x:auto;padding:.1rem 1.1rem .8rem;scrollbar-width:none;}
.ms-chip-row::-webkit-scrollbar{display:none;}
.ms-chip{flex-shrink:0;padding:.4rem 1rem;border-radius:2rem;border:.5px solid rgba(var(--fg-rgb),.14);color:var(--muted);font-size:.76rem;font-weight:600;background:transparent;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:'DM Sans',sans-serif;}
.ms-chip.active,.ms-chip:hover{background:rgba(var(--gold-rgb),.1);border-color:rgba(var(--gold-rgb),.4);color:var(--gold);}

/* Product card */
.ms-pcard{flex-shrink:0;width:150px;background:var(--card);border:.5px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s;position:relative;}
.ms-grid .ms-pcard{width:100%;}
.ms-pcard:active{transform:scale(.97);}
.ms-pcard-media{aspect-ratio:1/1;background:var(--dark3);display:flex;align-items:center;justify-content:center;font-size:2.4rem;position:relative;}
.ms-pcard-badge{position:absolute;top:.45rem;left:.45rem;font-size:.6rem;font-weight:800;padding:.18rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;z-index:2;}
.st-live{background:rgba(74,222,128,.16);color:#4ade80;border:1px solid rgba(74,222,128,.3);}
.st-limited{background:rgba(255,168,33,.16);color:var(--gold);border:1px solid rgba(var(--gold-rgb),.35);}
.st-soon{background:rgba(var(--fg-rgb),.1);color:rgba(var(--fg-rgb),.6);border:1px solid rgba(var(--fg-rgb),.15);}
.st-wish{background:rgba(var(--gold2-rgb),.14);color:var(--gold2);border:1px solid rgba(var(--gold2-rgb),.3);}
.st-sold{background:rgba(255,107,107,.14);color:#ff6b6b;border:1px solid rgba(255,107,107,.28);}
.ms-wish-btn{position:absolute;top:.4rem;right:.4rem;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);border:none;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;z-index:2;transition:transform .15s;}
.ms-wish-btn:active{transform:scale(.85);}
.ms-wish-btn.active{color:#ff5c7a;}
.ms-cart-btn{position:absolute;bottom:.4rem;right:.4rem;width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--on-accent);border:none;display:flex;align-items:center;justify-content:center;font-size:.82rem;cursor:pointer;z-index:2;transition:transform .15s;box-shadow:0 2px 8px rgba(0,0,0,.35);}
.ms-cart-btn:active{transform:scale(.85);}
.ms-cart-btn:disabled{background:rgba(var(--fg-rgb),.15);color:rgba(var(--fg-rgb),.4);cursor:not-allowed;}
.ms-pcard-body{padding:.65rem .7rem .75rem;}
.ms-pcard-store{font-size:.63rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ms-pcard-title{font-size:.8rem;font-weight:600;line-height:1.3;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1em;}
.ms-pcard-rating{font-size:.68rem;color:var(--muted);margin-bottom:.35rem;}
.ms-pcard-rating strong{color:var(--gold);}
.ms-pcard-price-row{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap;}
.ms-pcard-price{font-weight:800;font-size:.9rem;color:var(--fg);}
.ms-pcard-mrp{font-size:.68rem;color:var(--muted);text-decoration:line-through;}
.ms-pcard-off{font-size:.68rem;color:#4ade80;font-weight:700;}

/* Store / Artist / Festival cards */
.ms-scard{flex-shrink:0;width:150px;background:var(--card);border:.5px solid var(--border);border-radius:14px;padding:1rem .85rem;text-align:center;cursor:pointer;}
.ms-scard-emoji{width:50px;height:50px;border-radius:50%;background:rgba(var(--gold-rgb),.1);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto .55rem;}
.ms-scard-name{font-size:.8rem;font-weight:700;line-height:1.3;margin-bottom:.2rem;}
.ms-scard-sub{font-size:.66rem;color:var(--muted);}

.ms-fcard{flex-shrink:0;width:110px;border-radius:14px;padding:1rem .5rem;text-align:center;cursor:pointer;color:#fff;}
.ms-fcard-emoji{font-size:1.6rem;margin-bottom:.4rem;}
.ms-fcard-name{font-size:.76rem;font-weight:700;}

/* Skeleton loading */
.ms-skel{background:linear-gradient(90deg,rgba(var(--fg-rgb),.05) 25%,rgba(var(--fg-rgb),.1) 37%,rgba(var(--fg-rgb),.05) 63%);background-size:400% 100%;animation:msShimmer 1.4s ease infinite;border-radius:8px;}
@keyframes msShimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* Filter sheet (bottom sheet) */
.ms-sheet-overlay{display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);}
.ms-sheet-overlay.open{display:block;}
.ms-sheet{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--dark2);border-radius:20px 20px 0 0;border-top:1px solid rgba(var(--gold-rgb),.25);max-height:78vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .25s ease;}
.ms-sheet-overlay.open .ms-sheet{transform:translateY(0);}
.ms-sheet-handle{width:36px;height:4px;background:rgba(var(--fg-rgb),.2);border-radius:3px;margin:.7rem auto;}
.ms-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem .75rem;border-bottom:.5px solid rgba(var(--fg-rgb),.07);}
.ms-sheet-title{font-family:'Cinzel',serif;font-weight:700;font-size:1rem;}
.ms-sheet-close{background:rgba(var(--fg-rgb),.08);border:none;color:var(--fg);width:28px;height:28px;border-radius:50%;cursor:pointer;}
.ms-sheet-body{overflow-y:auto;padding:1rem 1.25rem 1.5rem;}
.ms-filter-group{margin-bottom:1.25rem;}
.ms-filter-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(var(--fg-rgb),.4);margin-bottom:.6rem;}
.ms-filter-opts{display:flex;flex-wrap:wrap;gap:.5rem;}
.ms-sheet-footer{padding:.9rem 1.25rem;border-top:.5px solid rgba(var(--fg-rgb),.07);display:flex;gap:.7rem;}
.ms-btn-outline{flex:1;padding:.75rem;border-radius:10px;background:transparent;border:1px solid rgba(var(--fg-rgb),.2);color:var(--fg);font-weight:700;font-size:.85rem;cursor:pointer;font-family:'DM Sans',sans-serif;}
.ms-btn-gold{flex:2;padding:.75rem;border-radius:10px;background:var(--gold);border:none;color:var(--on-accent);font-weight:800;font-size:.85rem;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* Sort/filter action row on listing pages */
.ms-toolbar{display:flex;gap:.6rem;padding:.2rem 1.1rem .9rem;}
.ms-toolbar-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem;border-radius:10px;background:var(--card);border:.5px solid var(--border);color:var(--fg);font-size:.8rem;font-weight:600;cursor:pointer;}

/* Empty / coming-soon states */
.ms-empty{text-align:center;padding:3rem 1.5rem;color:var(--muted);}
.ms-empty-emoji{font-size:2.5rem;margin-bottom:.75rem;}

/* Toast reuse (matches site .toast) */

@media(min-width:701px){
  .ms-explore-grid{grid-template-columns:repeat(4,1fr);}
}
