.shine-categories-page{--sc-primary:#ff6699;--sc-primary-soft:rgba(255,102,153,.09);--sc-line:rgba(35,25,30,.09);--sc-text:#241f22;--sc-muted:#766c72;background:#fbf9fa;width:100%;min-height:40vh;box-sizing:border-box;padding:clamp(18px,3vw,42px) 0 88px;overflow:clip}
.shine-categories-shell{width:min(1280px,calc(100% - 32px));margin:0 auto}
.shine-categories-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 clamp(22px,3vw,34px);padding:0 2px}
.shine-categories-heading{min-width:0}
.shine-categories-kicker{display:block;margin:0 0 6px;color:var(--sc-primary);font-size:9px;font-weight:950;letter-spacing:.18em;line-height:1}
.shine-categories-heading h1{margin:0;color:var(--sc-text);font-size:clamp(28px,4vw,46px);font-weight:950;line-height:1.15;letter-spacing:-.035em}
.shine-categories-heading p{margin:9px 0 0;color:var(--sc-muted);font-size:11px;line-height:1.9}
.shine-categories-count{flex:0 0 auto;min-width:78px;padding:10px 14px;border:1px solid var(--sc-line);border-radius:16px;background:#fff;text-align:center;box-shadow:0 7px 24px rgba(43,25,34,.035)}
.shine-categories-count strong{display:block;color:var(--sc-primary);font-size:22px;line-height:1;font-weight:950}
.shine-categories-count span{display:block;margin-top:5px;color:var(--sc-muted);font-size:8px;font-weight:800}
.shine-categories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.shine-category-card-v2{display:flex;min-width:0;flex-direction:column;text-decoration:none;color:var(--sc-text);border:1px solid var(--sc-line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(43,25,34,.045);transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease}
.shine-category-card-v2:hover{transform:translateY(-5px);border-color:rgba(255,102,153,.25);box-shadow:0 18px 40px rgba(43,25,34,.10)}
.shine-category-card-v2:focus-visible{outline:3px solid rgba(255,102,153,.22);outline-offset:3px}
.shine-category-card-v2-media{position:relative;display:grid;place-items:center;aspect-ratio:1/1;min-width:0;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fbf5f7 100%);isolation:isolate}
.shine-category-card-v2-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:10px;box-sizing:border-box;position:relative;z-index:1;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.shine-category-card-v2:hover .shine-category-card-v2-image{transform:scale(1.035)}
.shine-category-card-v2-overlay{position:absolute;inset:auto 0 0;height:34%;z-index:2;background:linear-gradient(to top,rgba(36,31,34,.12),transparent);pointer-events:none;opacity:.45}
.shine-category-card-v2-go{position:absolute;z-index:3;left:12px;bottom:12px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--sc-primary);box-shadow:0 7px 18px rgba(43,25,34,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.shine-category-card-v2-go .shine-icon{width:15px;height:15px}
.shine-category-card-v2-fallback{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:var(--sc-primary-soft);color:var(--sc-primary)}
.shine-category-card-v2-fallback .shine-icon{width:34px;height:34px}
.shine-category-card-v2-body{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;padding:14px 15px 16px}
.shine-category-card-v2-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;line-height:1.65}
.shine-category-card-v2-meta{display:flex;align-items:center;gap:7px;margin-top:3px;color:var(--sc-muted);font-size:8.5px;font-weight:700;line-height:1.7}
.shine-category-card-v2-meta i{width:3px;height:3px;border-radius:50%;background:rgba(118,108,114,.5);flex:0 0 auto}
.shine-categories-empty{padding:70px 20px;text-align:center;border:1px dashed rgba(255,102,153,.25);border-radius:24px;background:#fff}
.shine-categories-empty-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:var(--sc-primary-soft);color:var(--sc-primary)}
.shine-categories-empty-icon .shine-icon{width:27px;height:27px}
.shine-categories-empty h2{margin:0;font-size:17px;font-weight:950;color:var(--sc-text)}
.shine-categories-empty p{margin:7px 0 0;color:var(--sc-muted);font-size:10px}
@media (min-width:1600px){.shine-categories-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}}
@media (max-width:1000px){.shine-categories-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.shine-category-card-v2{border-radius:21px}.shine-category-card-v2-body{padding:12px 13px 14px}}
@media (max-width:767px){.shine-categories-page{padding-top:18px;padding-bottom:74px}.shine-categories-shell{width:calc(100% - 20px)}.shine-categories-head{align-items:center;gap:12px;margin-bottom:18px}.shine-categories-heading h1{font-size:27px}.shine-categories-heading p{font-size:9px;margin-top:6px}.shine-categories-count{min-width:62px;padding:9px 10px;border-radius:14px}.shine-categories-count strong{font-size:19px}.shine-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shine-category-card-v2{border-radius:18px;box-shadow:0 6px 20px rgba(43,25,34,.045)}.shine-category-card-v2-media{aspect-ratio:1/1}.shine-category-card-v2-image{padding:7px}.shine-category-card-v2-go{left:8px;bottom:8px;width:29px;height:29px;border-radius:10px}.shine-category-card-v2-go .shine-icon{width:13px;height:13px}.shine-category-card-v2-body{padding:10px 10px 12px}.shine-category-card-v2-title{font-size:10.5px}.shine-category-card-v2-meta{font-size:7.5px;gap:5px;margin-top:2px}.shine-category-card-v2-meta i{width:2px;height:2px}.shine-category-card-v2-overlay{height:28%}}
@media (max-width:370px){.shine-categories-shell{width:calc(100% - 14px)}.shine-categories-grid{gap:8px}.shine-category-card-v2-body{padding-inline:8px}.shine-category-card-v2-title{font-size:10px}.shine-category-card-v2-meta span:last-child,.shine-category-card-v2-meta i{display:none}}
@media (prefers-reduced-motion:reduce){.shine-category-card-v2,.shine-category-card-v2-image{transition:none!important}}

/* Shine Store — dedicated Category Drawer. Built from scratch; does not use app-drawer classes. */
.shine-category-drawer{position:fixed;inset:0;z-index:8990;display:block;visibility:hidden;opacity:0;pointer-events:none;isolation:isolate;}
.shine-category-drawer.is-open{visibility:visible;opacity:1;pointer-events:auto;}
.shine-category-drawer-backdrop{position:absolute;inset:0;background:rgba(25,18,22,.38);opacity:0;transition:opacity .18s ease;}
.shine-category-drawer.is-open .shine-category-drawer-backdrop{opacity:1;}
.shine-category-drawer-panel{position:absolute;right:0;bottom:0;left:0;margin:0 auto;width:min(520px,100vw);height:min(84vh,calc(100dvh - 86px - env(safe-area-inset-bottom)));max-height:calc(100dvh - 86px - env(safe-area-inset-bottom));background:var(--app-surface,#fff);border-radius:28px 28px 0 0;box-shadow:0 -18px 60px rgba(43,25,34,.20);transform:translate3d(0,105%,0);transition:transform .18s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow:hidden;will-change:transform;}
.shine-category-drawer.is-open .shine-category-drawer-panel{transform:translate3d(0,0,0);}
.shine-category-drawer-grabber{width:42px;height:4px;border-radius:99px;background:#d9d0d5;margin:10px auto 2px;flex:0 0 auto;}
.shine-category-drawer-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px 12px;min-height:70px;border-bottom:1px solid var(--app-line);flex:0 0 auto;}
.shine-category-drawer-eyebrow{display:block;color:var(--app-primary);font-size:8px;font-weight:900;letter-spacing:.12em;line-height:1.2;}
.shine-category-drawer-head h3{margin:3px 0 0;font-size:16px;font-weight:900;line-height:1.35;}
.shine-category-drawer-close{width:38px;height:38px;border:1px solid var(--app-line);border-radius:12px;background:var(--app-surface-2,#faf8f9);color:var(--app-text);display:grid;place-items:center;flex:0 0 auto;}
.shine-category-drawer-close .shine-icon{width:17px;height:17px;}
.shine-category-drawer-toolbar{min-height:44px;padding:0 16px;border-bottom:1px solid var(--app-line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;background:#fff;}
.shine-category-drawer-toolbar strong{font-size:11px;line-height:1.4;}
.shine-category-back{border:0;background:transparent;color:var(--app-primary);font:inherit;font-size:10px;font-weight:900;display:flex;align-items:center;gap:4px;padding:6px 0;}
.shine-category-back[hidden]{display:none!important;}
.shine-category-back .shine-icon{width:15px;height:15px;}
.shine-category-drawer-body{flex:1 1 auto;min-height:0;overflow:hidden;}
.shine-category-drawer-pages{height:100%;overflow-y:auto;overflow-x:hidden;padding:10px 13px calc(90px + env(safe-area-inset-bottom) + var(--shine-mobile-nav-clearance,0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.shine-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.shine-category-list.is-subcategory{grid-template-columns:1fr;}
.shine-category-row{min-width:0;min-height:76px;border:1px solid var(--app-line);border-radius:16px;padding:8px;text-decoration:none;color:inherit;display:grid;grid-template-columns:42px minmax(0,1fr) 14px;gap:7px;align-items:center;background:#fff;transition:border-color .16s ease,background .16s ease,transform .16s ease;}
.shine-category-row:active{transform:scale(.985);}
.shine-category-row-media{width:42px;height:42px;border-radius:12px;overflow:hidden;background:var(--app-surface-2);display:grid;place-items:center;}
.shine-category-row-media img{width:100%;height:100%;object-fit:cover;display:block;}
.shine-category-row-fallback{color:var(--app-primary);font-size:18px;}
.shine-category-row-copy{min-width:0;overflow:hidden;}
.shine-category-row-copy b,.shine-category-row-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.shine-category-row-copy b{font-size:10px;line-height:1.55;}
.shine-category-row-copy small{font-size:8px;color:var(--app-muted);margin-top:2px;}
.shine-category-row-chevron{width:14px;height:14px;display:grid;place-items:center;color:var(--app-primary);font-size:14px;font-style:normal;line-height:1;}
.shine-category-row-chevron .shine-icon{width:13px;height:13px;color:currentColor;}
body.shine-category-drawer-open{overflow:hidden!important;}
html.shine-category-drawer-open{overscroll-behavior:none;}
@media(min-width:768px){
 .shine-category-drawer{align-items:stretch;}
 .shine-category-drawer-panel{right:24px;left:auto;bottom:24px;width:min(430px,calc(100vw - 48px));height:min(78vh,700px);max-height:calc(100vh - 48px);border-radius:26px;transform:translateY(16px) scale(.985);opacity:0;transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease;}
 .shine-category-drawer.is-open .shine-category-drawer-panel{transform:none;opacity:1;}
 .shine-category-drawer-grabber{display:none;}
 .shine-category-drawer-head{padding-top:16px;}
}
@media(max-width:767px){
 .shine-category-drawer{z-index:8990;}
 .shine-category-drawer-panel{bottom:0;height:min(84vh,100dvh);max-height:100dvh;}
}
@media(prefers-reduced-motion:reduce){.shine-category-drawer,.shine-category-drawer-panel,.shine-category-drawer-backdrop{transition:none!important;}}

/* Lazy category payload: keep the drawer visually stable while its tree loads. */
.shine-category-loading{min-height:180px;display:flex;align-items:center;justify-content:center}.shine-spinner{width:32px;height:32px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--app-primary,#e91e63);border-radius:50%;animation:shine-spin .7s linear infinite}@keyframes shine-spin{to{transform:rotate(360deg)}}
