/* Product-first marketplace catalogue. */
:root,:root[data-theme="light"] { --bg:#f7f7f7; --ink:#202124; --ink2:#53565b; --ink3:#727983; --line:#e2e3e5; }
.pc { display:flex; flex-direction:column; height:100%; border-radius:15px; }
.pc .pb { flex:1; padding:17px 15px 18px; gap:8px; }
.pc .pn { font-size:14px; line-height:1.5; font-weight:650; min-height:42px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pc .pm { font-size:12px; gap:5px; }
.pc .pm b { line-height:1.6; }
.pc .stx { display:none; }
.pc .prow { margin-top:auto; padding-top:23px; }
.pc .ppr { font-size:22px; letter-spacing:-.4px; }
.pc .pold { font-size:11px; }
.pc .ptop { font-size:10px; padding:0 9px 7px; min-height:25px; background:var(--bg); }
.pc .art { aspect-ratio:var(--ar,3/4); }
.pc .wish { transition:opacity .15s,color .15s,background .15s; }
.pc .addb { width:35px; height:35px; flex-shrink:0; }
.pc .price-off { border-radius:1px; }
@media (hover:hover) {
  .pc .wish { opacity:0; }
  .pc:hover .wish,.pc:focus-within .wish,.pc .wish.on { opacity:1; }
  .pc:hover { transform:translateY(-3px); box-shadow:0 6px 22px #162c4510; }
}

.catalog-page .crumb { padding-top:25px; padding-bottom:22px; font-size:12px; gap:12px; }
.catalog-page .crumb a:hover { color:var(--acc); }
.catalog-heading { border-bottom:1px solid #d9dbde; padding:14px 0 28px; }
.catalog-heading h1,.catalog-heading h2 { font-family:var(--body); color:var(--ink); font-size:36px; line-height:1.2; letter-spacing:-1px; margin:0; font-weight:750; }
.catalog-heading p { margin:15px 0 0; font-size:15px; line-height:1.4; color:var(--ink2); }
.catalog-page .catpg { display:grid; grid-template-columns:276px minmax(0,1fr); gap:36px; margin-top:32px; align-items:start; }
.catalog-page .fside { display:block; position:static; width:auto; min-width:0; }
.catalog-page .fbox { display:block; padding:0 10px 0 0; background:transparent; border:0; border-radius:0; }
.filter-group { margin:0 0 23px; border:0; padding:0 0 22px; border-bottom:1px solid var(--line); }
.filter-group:last-child { border-bottom:0; }
.filter-group>summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; color:var(--ink); font-size:15px; font-weight:700; min-height:26px; }
.filter-group>summary::-webkit-details-marker { display:none; }
.filter-group>summary>svg { width:18px; height:18px; fill:none; stroke:var(--ink3); stroke-width:1.6; transform:rotate(-90deg); }
.filter-group[open]>summary>svg { transform:none; }
.filter-group-body { padding-top:12px; }
.category-tree,.category-tree ul { list-style:none; padding:0; margin:0; }
.category-tree ul { margin:5px 0 0 3px; padding-left:12px; border-left:1px solid var(--line); }
.category-tree a,.category-tree button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:7px 0; min-height:34px; color:var(--ink); text-align:left; font-size:13px; line-height:1.45; }
.category-tree .category-parent { font-weight:700; }
.category-tree small { font-size:12px; color:var(--ink3); font-weight:400; }
.category-tree .on,.category-tree a:hover,.category-tree button:hover { color:var(--acc); }
.category-tree .on { font-weight:650; }
.category-tree .category-back a { color:var(--ink3); font-size:12px; padding-top:0; }
.catalog-page .prange { gap:9px; }
.catalog-page .prange input { padding:12px; min-height:46px; border:1px solid #cbd0d6; border-radius:8px; background:var(--surf); width:100%; min-width:0; font-size:13px; }
.prange button { width:32px; height:42px; flex-shrink:0; color:var(--acc); font-size:24px; border:1px solid var(--line); border-radius:7px; background:var(--surf); }
.prange button:hover { background:var(--accSoft); }
.filter-error { font-size:12px; line-height:1.5; color:#bb2929; margin:9px 0 0; }
.facet-option { display:flex; align-items:center; gap:10px; position:relative; font-size:13px; line-height:1.4; padding:7px 0; cursor:pointer; min-height:37px; color:var(--ink2); }
.facet-option input { appearance:none; -webkit-appearance:none; width:21px; height:21px; flex:none; margin:0; background:var(--surf); border:1.5px solid #9399a1; border-radius:5px; display:grid; place-items:center; cursor:pointer; }
.facet-option input:checked { background:#0866ee; border-color:#0866ee; }
.facet-option input:checked:before { content:''; height:9px; width:5px; border:solid white; border-width:0 2px 2px 0; transform:rotate(45deg) translate(-1px,-1px); }
.facet-option input:focus-visible { outline:3px solid #8cb8f2; outline-offset:3px; }
.facet-option small { color:var(--ink3); font-size:12px; margin-left:auto; padding-right:3px; }
.facet-option.is-unavailable { color:var(--ink3); opacity:.58; cursor:default; }
.facet-option.is-unavailable input { cursor:default; }
.facet-search { width:100%; min-height:40px; border:1px solid #d6d9de; border-radius:7px; background:var(--surf); color:var(--ink); padding:8px 11px; margin:0 0 8px; font-size:12px; }
.facet-search:focus { outline:2px solid #8cb8f2; outline-offset:1px; }
.facet-options { max-height:228px; overflow:auto; scrollbar-width:thin; scrollbar-color:#c7ccd3 transparent; padding-right:6px; }
.filter-drawer-head,.filter-drawer-foot,.filter-shade { display:none; }

.catalog-page .cmain { min-width:0; width:100%; }
.catalog-page .ctop { display:flex; align-items:center; gap:16px; margin-bottom:28px; min-height:48px; flex-wrap:nowrap; }
.catalog-page .cnt { font-size:12px; color:var(--ink3); margin-right:auto; }
.catalog-page .vtog { display:flex; gap:5px; margin-left:auto; flex-shrink:0; border:0; padding:0; background:transparent; }
.catalog-page .vtog button { width:35px; height:42px; padding:7px; border:0; background:transparent; color:#5a6573; border-radius:5px; }
.catalog-page .vtog button.on { color:#0866ee; background:transparent; }
.catalog-page .vtog svg { width:25px; height:25px; }
.sort-control { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--ink2); font-weight:650; }
.catalog-page .sort-control .mini { min-height:47px; min-width:205px; max-width:none; padding-left:16px; font-size:13px; border-radius:8px; font-weight:400; }
.catalog-page .fopen { display:none; }
.active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:20px; }
.filter-chip { display:flex; align-items:center; gap:10px; padding:7px 10px; min-height:34px; font-size:12px; line-height:1.3; border:1px solid #bfd2ee; background:var(--accSoft); color:var(--ink); border-radius:5px; }
.filter-chip span { color:var(--acc); font-size:17px; }
.clear-filters { font-size:12px; color:var(--acc); padding:8px 4px; text-decoration:underline; }
.catalog-page .grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 20px; }
.catalog-page .rows { display:flex; flex-direction:column; gap:14px; }
.catalog-page .prow2 { display:grid; grid-template-columns:182px minmax(0,1fr) 174px; gap:0 24px; min-height:243px; border:1px solid transparent; border-radius:16px; overflow:hidden; padding:0; align-items:stretch; background:var(--surf); }
.catalog-page .prow2:hover { border-color:#cfdef1; box-shadow:0 5px 18px #132c4808; }
.catalog-page .rmedia { width:182px; min-width:0; height:auto; min-height:243px; border-radius:14px; grid-column:auto; grid-row:auto; }
.catalog-page .rmedia .art { width:100%; height:100%; min-height:243px; aspect-ratio:3/4; }
.catalog-page .rmedia .fgim { object-fit:cover; }
.catalog-page .rbody { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:22px 0; grid-column:auto; }
.catalog-page .rn { font-size:19px; line-height:1.45; font-weight:700; letter-spacing:-.3px; color:var(--ink); }
.catalog-page .rn:hover { color:var(--acc); }
.catalog-page .rkv { display:grid; grid-template-columns:67px minmax(0,1fr); font-size:13px; gap:5px 12px; margin:12px 0 0; }
.catalog-page .rkv dd { font-weight:400; }
.row-stock { font-size:12px; line-height:1.5; margin:11px 0; display:flex; align-items:center; gap:6px; }
.row-stock>span { display:grid; place-items:center; width:17px; height:17px; border:1px solid currentColor; border-radius:50%; font-size:11px; }
.row-offers { font-size:10px; color:var(--ink2); line-height:1.4; margin-top:auto; padding-top:8px; text-transform:uppercase; }
.catalog-page .rbuy { width:auto; min-width:0; display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; padding:23px 20px 19px 0; margin:0; border:0; grid-column:auto; }
.catalog-page .rbuy .ppr { font-size:24px; margin:0; }
.catalog-page .rbuy .price-was { margin-top:8px; justify-content:flex-end; gap:6px; }
.catalog-page .rbuy .pold { font-size:12px; }
.catalog-page .rbtns { width:100%; margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:9px; padding-top:20px; }
.catalog-page .rbtns .rwish { width:37px; min-width:37px; height:37px; background:transparent; border:0; color:var(--ink2); }
.catalog-page .rbtns .rwish.on { color:#d73a51; }
.catalog-page .rbtns .rwish svg { width:24px; height:24px; }
.catalog-page .rbtns .btn { font-size:11px; min-height:37px; padding:9px 12px; }
.catalog-empty { text-align:center; padding:70px 24px; background:var(--surf); border-radius:14px; border:1px solid var(--line); }
.catalog-empty>span { color:var(--ink3); }
.catalog-empty svg { width:48px; height:48px; }
.catalog-empty h2 { font-size:24px; margin:17px 0 10px; }
.catalog-empty p { color:var(--ink2); font-size:14px; margin:0 0 22px; }
.catalog-page .morew { display:flex; flex-direction:column; align-items:center; gap:14px; padding:30px 0; }
.catalog-page .morew>span { font-size:12px; color:var(--ink3); }
#app:has(.catalog-page) { animation:none; }

@media (max-width:1399px) {
  .catalog-page .catpg { grid-template-columns:242px minmax(0,1fr); gap:30px; }
  .catalog-page .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .catalog-page .prow2 { grid-template-columns:166px minmax(0,1fr) 156px; gap:0 20px; min-height:224px; }
  .catalog-page .rmedia { width:166px; min-height:224px; }
  .catalog-page .rmedia .art { min-height:224px; }
  .catalog-page .rn { font-size:17px; }
  .catalog-page .rkv { font-size:12px; grid-template-columns:58px minmax(0,1fr); }
  .catalog-page .rbuy .ppr { font-size:23px; }
  .pc .pb { padding:15px 12px; }
}
@media (max-width:1099px) and (min-width:1000px) {
  .catalog-page .catpg { grid-template-columns:218px minmax(0,1fr); gap:25px; }
  .catalog-page .prow2 { grid-template-columns:135px minmax(0,1fr) 132px; gap:0 16px; }
  .catalog-page .rmedia { width:135px; }
  .catalog-page .rbody { padding:19px 0; }
  .catalog-page .rbuy { padding-right:14px; }
  .catalog-page .rkv { font-size:11px; gap:5px 8px; grid-template-columns:52px minmax(0,1fr); }
  .catalog-page .rn { font-size:16px; }
  .catalog-page .rbuy .ppr { font-size:21px; }
}
@media (max-width:999px) {
  .catalog-page .catpg { display:block; margin-top:23px; }
  .catalog-page .fside { display:none; }
  .catalog-page .fopen { display:inline-flex; align-items:center; gap:7px; margin:0 auto 0 0; min-height:43px; padding:8px 14px; font-size:13px; background:var(--surf); }
  .fopen svg { width:20px; height:20px; }
  .fopen b { background:var(--acc); color:#fff; border-radius:12px; min-width:19px; padding:2px 5px; font-size:10px; }
  .catalog-page .cnt { display:none; }
  .catalog-page .fside.open { position:fixed; inset:0 0 0 auto; display:block; width:min(440px,100%); height:100dvh; max-height:100dvh; padding:0; margin:0; overflow:auto; overscroll-behavior:contain; background:var(--bg); z-index:142; }
  body.filters-open { overflow:hidden!important; }
  .filters-open .filter-shade { display:block; position:fixed; inset:0; background:#0a15256b; z-index:141; backdrop-filter:blur(2px); }
  .filter-drawer-head { display:flex; position:sticky; top:0; z-index:1; align-items:center; justify-content:space-between; padding:16px 22px; background:var(--surf); border-bottom:1px solid var(--line); }
  .filter-drawer-head h2 { font-size:22px; margin:0; }
  .filter-drawer-head button { width:40px; height:40px; border-radius:50%; background:var(--surf2); font-size:26px; color:var(--ink2); }
  .catalog-page .fbox { padding:24px; }
  .filter-group { margin-bottom:22px; }
  .filter-group>summary { font-size:16px; }
  .category-tree a,.category-tree button { font-size:14px; min-height:40px; }
  .facet-option { font-size:14px; min-height:42px; }
  .filter-drawer-foot { position:sticky; bottom:0; display:flex; gap:12px; padding:15px 22px calc(15px + env(safe-area-inset-bottom,0px)); background:var(--surf); border-top:1px solid var(--line); }
  .filter-drawer-foot .btn { min-height:44px; }
  .filter-drawer-foot .btn-a { flex:1; }
  .catalog-page .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:599px) {
  .catalog-page .crumb { font-size:10px; gap:9px; padding:18px 0; }
  .catalog-heading { padding:8px 0 22px; }
  .catalog-heading h1,.catalog-heading h2 { font-size:29px; letter-spacing:-.7px; }
  .catalog-heading p { font-size:13px; margin-top:11px; }
  .catalog-page .catpg { margin-top:19px; }
  .catalog-page .ctop { gap:9px; flex-wrap:wrap; margin-bottom:20px; }
  .catalog-page .fopen { min-height:42px; font-size:12px; padding:8px 10px; }
  .catalog-page .vtog { gap:0; margin-left:0; }
  .catalog-page .vtog button { width:28px; height:39px; padding:4px; }
  .catalog-page .vtog svg { width:21px; height:21px; }
  .sort-control { gap:0; }
  .sort-control>span { display:none; }
  .catalog-page .sort-control .mini { min-width:0; width:143px; max-width:143px; min-height:42px; font-size:11px; padding-left:10px; }
  .active-filters { gap:6px; margin-bottom:17px; }
  .filter-chip { font-size:11px; }
  .catalog-page .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .pc .pn,.grid .pc .pn { font-size:12px; min-height:36px; }
  .pc .pb,.grid .pc .pb { padding:12px 11px 15px; }
  .pc .pm { font-size:10px; }
  .pc .ptop,.grid .pc .ptop { font-size:8px; padding:0 3px 6px; min-height:21px; }
  .pc .ppr,.grid .pc .ppr { font-size:20px; }
  .pc .prow { padding-top:18px; }
  .pc .addb { width:30px; height:32px; }
  .catalog-page .prow2 { grid-template-columns:102px minmax(0,1fr); padding:13px; gap:0 14px; min-height:0; border-radius:13px; }
  .catalog-page .rmedia { width:102px; min-height:140px; height:140px; grid-column:1; grid-row:1/3; border-radius:8px; align-self:start; }
  .catalog-page .rmedia .art { width:102px; height:140px; min-height:140px; }
  .catalog-page .rbody { padding:0; grid-column:2; }
  .catalog-page .rn { font-size:14px; letter-spacing:-.1px; line-height:1.45; }
  .catalog-page .rkv { grid-template-columns:47px minmax(0,1fr); font-size:10px; gap:4px 8px; margin-top:9px; }
  .row-stock { font-size:10px; margin:9px 0 0; }
  .row-stock>span { width:14px; height:14px; font-size:9px; }
  .row-offers { font-size:8px; padding-top:10px; }
  .catalog-page .rbuy { grid-column:2; width:100%; padding:13px 0 0; align-items:flex-start; }
  .catalog-page .rbuy .ppr { font-size:22px; }
  .catalog-page .rbuy .price-was { margin-top:4px; gap:5px; }
  .catalog-page .rbuy .pold { font-size:10px; }
  .catalog-page .rbtns { padding-top:10px; gap:8px; justify-content:space-between; flex-wrap:nowrap; }
  .catalog-page .rbtns .btn { min-height:37px; font-size:10px; padding:8px 10px; }
  .catalog-page .rbtns .rwish { width:33px; min-width:33px; }
  .catalog-empty { padding:40px 20px; }
  .catalog-empty h2 { font-size:21px; }
  .catalog-empty p { font-size:12px; }
}
@media (max-width:359px) {
  .catalog-page .ctop { gap:6px; }
  .catalog-page .sort-control .mini { width:122px; max-width:122px; font-size:10px; }
  .catalog-page .fopen { padding-inline:8px; }
  .catalog-page .vtog button { width:26px; }
  .catalog-page .prow2 { grid-template-columns:82px minmax(0,1fr); gap:0 11px; padding:11px; }
  .catalog-page .rmedia,.catalog-page .rmedia .art { width:82px; height:117px; min-height:117px; }
  .catalog-page .rn { font-size:13px; }
  .pc .ppr,.grid .pc .ppr { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) { .pc:hover { transform:none; } }
/* Keep price and cart actions on one full-width row on small screens. */
@media (max-width:599px) {
  .catalog-page .rbuy { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; padding-top:13px; margin-top:13px; border-top:1px solid var(--line); }
  .catalog-page .rbuy .ppr { grid-column:1; grid-row:1; }
  .catalog-page .rbuy .price-was { grid-column:1; grid-row:2; justify-content:flex-start; margin:0; }
  .catalog-page .rbtns { grid-column:2; grid-row:1/3; width:auto; padding:0; margin:0; gap:8px; }
  .catalog-page .rbtns .btn { min-height:40px; padding-inline:12px; }
  .catalog-page .rmedia { grid-row:1; }
}

/* Each primary category exposes its own real subcategories and platforms. */
.nav-category { display:flex; align-items:center; gap:3px; flex:none; }
.crail .wrap { gap:22px; }
.nav-category-toggle { display:grid; place-items:center; width:20px; height:42px; color:#9399a3; flex:none; }
.nav-category-toggle svg { display:block!important; width:12px; height:12px; }
.nav-category-toggle:hover,.nav-category-toggle[aria-expanded="true"] { color:#fff; }
.nav-category-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.category-flyout { position:absolute; top:100%; left:48px; right:48px; display:grid; grid-template-columns:1.4fr .8fr 1.2fr; gap:34px; padding:30px; border:1px solid var(--line); border-radius:0 0 12px 12px; background:var(--surf); color:var(--ink); box-shadow:0 18px 38px #0003; z-index:71; }
.category-flyout h3 { font-size:16px; font-weight:700; margin:0 0 15px; color:var(--ink); letter-spacing:-.2px; }
.crail .category-flyout a { color:var(--ink2); font-size:13px; font-weight:400; line-height:1.4; display:flex; align-items:center; justify-content:space-between; min-height:36px; padding:8px 0; border:0; white-space:normal; }
.crail .category-flyout a:hover { color:var(--acc); }
.category-flyout a small { color:var(--ink3); font-size:11px; }
.flyout-categories>div { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.crail .category-flyout .flyout-all { color:var(--acc); display:inline-flex; gap:15px; font-weight:650; margin-top:17px; }
.flyout-platforms { padding-left:28px; border-left:1px solid var(--line); }
.flyout-featured { padding:20px; border-radius:9px; background:var(--surf2); align-self:start; }
.flyout-featured>span { display:block; font-size:9px; letter-spacing:.7px; font-weight:650; color:var(--ink3); margin-bottom:12px; }
.crail .flyout-featured>a { justify-content:flex-start; align-items:stretch; gap:16px; padding:0; }
.flyout-featured img { width:85px; height:113px; object-fit:cover; border-radius:6px; }
.flyout-featured a>div { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.flyout-featured b { color:var(--ink); font-size:14px; line-height:1.5; }
.flyout-featured small { margin-top:7px; }
.flyout-featured strong { color:var(--ink); font-size:21px; margin-top:auto; padding-top:12px; }
@media(max-width:1279px) {
  .crail .wrap { gap:17px; }
  .crail .nav-deals { display:none; }
  .category-flyout { left:32px; right:32px; gap:25px; padding:25px; }
  .flyout-categories>div { gap:0 20px; }
}
@media(max-width:999px) {
  .category-flyout { left:24px; right:24px; grid-template-columns:1.2fr 1fr; max-height:65vh; overflow:auto; }
  .flyout-featured { display:none; }
  .flyout-categories>div { display:block; }
}
@media(max-width:819px) {
  .crail .wrap { gap:20px; }
  .category-flyout { left:0; right:0; padding:24px; gap:20px; }
  .category-flyout h3 { font-size:14px; }
  .flyout-platforms { padding-left:20px; }
  .crail .category-flyout a { font-size:12px; min-height:38px; }
  .nav-category { gap:1px; }
  .nav-category-toggle { width:18px; }
}
