/* RoVault V33 — custom sort menu + repaired compact marketplace layout. */

/* Custom sort control: never expose a browser-native select menu. */
.v33-sort{position:relative;flex:0 0 auto;z-index:65}
.v33-sort-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;overflow:hidden!important}
.v33-sort-button{height:36px;min-width:190px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:0 10px;display:flex;align-items:center;gap:9px;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease;white-space:nowrap}
.v33-sort-button:hover,.v33-sort-button[aria-expanded="true"]{border-color:var(--line2);background:var(--surface2)}
.v33-sort-button:active{transform:translateY(1px)}
.v33-sort-icon{width:20px;height:20px;border-radius:6px;background:var(--surface3);display:grid;place-items:center;color:var(--muted);font-size:11px;flex:0 0 20px}
.v33-sort-copy{display:flex;align-items:baseline;gap:7px;min-width:0;flex:1}
.v33-sort-copy small{font-size:7px;letter-spacing:.09em;font-weight:850;color:var(--muted2)}
.v33-sort-copy strong{font-size:9.5px;font-weight:780;overflow:hidden;text-overflow:ellipsis}
.v33-sort-chevron{font-size:9px;color:var(--muted2);transition:transform .15s ease}.v33-sort-button[aria-expanded="true"] .v33-sort-chevron{transform:rotate(180deg)}
.v33-sort-menu{display:none;position:absolute;left:0;top:43px;width:296px;padding:7px;border:1px solid var(--line2);border-radius:13px;background:color-mix(in srgb,var(--surface) 98%,transparent);box-shadow:0 22px 70px rgba(0,0,0,.34);backdrop-filter:blur(20px);z-index:80}
.v33-sort-menu.open{display:block;animation:v33SortIn .13s ease-out}
@keyframes v33SortIn{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}
.v33-sort-menu-head{padding:7px 9px 9px;border-bottom:1px solid var(--line);margin-bottom:5px;display:flex;flex-direction:column;gap:2px}
.v33-sort-menu-head strong{font-size:10px}.v33-sort-menu-head span{font-size:7.5px;color:var(--muted)}
.v33-sort-menu>button{width:100%;min-height:43px;border:0;border-radius:8px;background:transparent;color:var(--text);padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.v33-sort-menu>button:hover,.v33-sort-menu>button.active{background:var(--surface2)}
.v33-sort-menu>button>span{display:flex;flex-direction:column;gap:2px;min-width:0}.v33-sort-menu>button strong{font-size:9px}.v33-sort-menu>button small{font-size:7.5px;color:var(--muted)}
.v33-sort-menu>button i{font-style:normal;font-size:10px;color:var(--good);opacity:0}.v33-sort-menu>button.active i{opacity:1}
.v33-sort-separator{height:1px;background:var(--line);margin:5px 7px}

/* Compact mode is an intentional dense list, not squashed full-size cards. */
#page-market #productGrid[data-view="compact"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
#page-market #productGrid[data-view="compact"] .product-card.compact{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;grid-template-rows:92px!important;min-height:92px!important;height:92px!important;border-radius:11px!important;overflow:hidden!important;transform:none!important}
#page-market #productGrid[data-view="compact"] .product-card.compact:hover{transform:translateY(-1px)!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-visual{grid-column:1!important;grid-row:1!important;width:92px!important;height:92px!important;min-height:92px!important;aspect-ratio:auto!important;border-right:1px solid var(--line)!important;background:var(--surface2)!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-visual img{width:80%!important;height:80%!important;object-fit:contain!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-info{grid-column:2!important;grid-row:1!important;min-width:0!important;height:92px!important;padding:10px 42px 9px 11px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:hidden!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-name-row{min-width:0!important;gap:5px!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-name-row h3{font-size:10px!important;line-height:1.2!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .product-name-row span{font-size:6.5px!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-reference{margin-top:4px!important;font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .v31-card-marketmeta{margin-top:4px!important;gap:5px!important;font-size:6.8px!important;white-space:nowrap!important;overflow:hidden!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .v31-card-marketmeta .rep{display:none!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-price{margin-top:5px!important;padding-top:5px!important;min-width:0!important;align-items:end!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-price>div{min-width:0!important;display:flex!important;align-items:baseline!important;gap:5px!important;overflow:hidden!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-price small{display:none!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-price strong{font-size:12px!important;white-space:nowrap!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-price>span{font-size:7px!important;white-space:nowrap!important;margin-left:8px!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .v31-offer-cta{font-size:7px!important;margin:0!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-watch{right:7px!important;top:7px!important;width:27px!important;height:27px!important;border-radius:7px!important}
#page-market #productGrid[data-view="compact"] .product-card.compact .card-badges{display:none!important}

/* Keep both layout buttons synchronized visually when duplicate legacy controls exist in old markup. */
#page-market .view-button.active{background:var(--surface3)!important;color:var(--text)!important}

html[data-theme="light"] .v33-sort-button,html[data-theme="light"] .v33-sort-menu{background:#fff;border-color:var(--line)}
html[data-theme="light"] .v33-sort-menu{box-shadow:0 22px 60px rgba(40,48,58,.14)}
html[data-theme="light"] .v33-sort-menu>button:hover,html[data-theme="light"] .v33-sort-menu>button.active{background:#f4f6f8}

@media(max-width:900px){
  #page-market #productGrid[data-view="compact"]{grid-template-columns:1fr!important}
  .v33-sort-button{min-width:174px}
}
@media(max-width:560px){
  .v33-sort{flex:0 0 auto}.v33-sort-button{height:34px;min-width:158px;padding-inline:8px}.v33-sort-icon{display:none}.v33-sort-copy small{display:none}
  .v33-sort-menu{position:fixed;left:10px;right:10px;top:auto;bottom:14px;width:auto;max-height:72vh;overflow:auto;border-radius:14px;z-index:120}
  #page-market #productGrid[data-view="compact"] .product-card.compact{grid-template-columns:82px minmax(0,1fr)!important;grid-template-rows:82px!important;height:82px!important;min-height:82px!important}
  #page-market #productGrid[data-view="compact"] .product-card.compact .product-visual{width:82px!important;height:82px!important;min-height:82px!important}
  #page-market #productGrid[data-view="compact"] .product-card.compact .product-info{height:82px!important;padding:8px 38px 8px 9px!important}
}
