
.v2-catalog-page { gap:1.8rem; }
.v2-catalog-header { position:relative; z-index:3; padding:1.5rem; border:1px solid #ffffff10; border-radius:16px; background:linear-gradient(135deg,#151718,#101112); }
.v2-catalog-title-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.35rem; }
.v2-catalog-header .v2-kicker { color:#8ac8ad; font-size:.65rem; letter-spacing:.12em; margin:0 0 .4rem; }
.v2-catalog-header .v2-title { font-size:2rem; line-height:1.2; margin:0; }
.v2-catalog-status { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.v2-catalog-status button { padding:.65rem 1rem; border:1px solid #ffffff12; border-radius:9px; background:#ffffff04; color:#91949e; font:inherit; font-size:.8rem; font-weight:500; cursor:pointer; transition:background .2s,color .2s; }
.v2-catalog-status button:hover { color:#e7e9ed; background:#ffffff08; }
.v2-catalog-status button[aria-pressed=true] { color:#b3e7cf; border-color:#8ac8ad38; background:#8ac8ad10; }
.v2-catalog-filter-row { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:.5rem; }
.v2-filter-field { position:relative; min-width:0; }
.v2-filter-select-button { display:flex; align-items:center; justify-content:space-between; gap:.65rem; width:100%; min-height:48px; padding:.75rem 1rem; border:1px solid #ffffff0e; border-radius:10px; background:#08090b40; color:#dedfe5; font:inherit; font-size:.81rem; text-align:left; cursor:pointer; }
.v2-filter-value { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.v2-filter-caption { color:#747781; font-weight:400; }
.v2-filter-select-button:hover,.v2-filter-select-button[aria-expanded=true] { border-color:#ffffff25; background:#ffffff05; }
.v2-filter-select-button svg,.v2-catalog-more svg,.v2-pagination svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; transition:transform .2s; }
.v2-filter-select-button[aria-expanded=true] svg,.v2-catalog-more[open]>summary svg { transform:rotate(180deg); }
.v2-filter-select-menu { position:absolute; top:calc(100% + 7px); left:0; right:0; z-index:10; padding:6px; max-height:310px; overflow:auto; border:1px solid #ffffff16; border-radius:12px; background:#191a1ef7; box-shadow:0 14px 35px #0008; backdrop-filter:blur(16px); scrollbar-width:thin; scrollbar-color:#ffffff20 transparent; animation:catalog-pop .15s ease-out; }
.v2-catalog-page [hidden] { display:none!important; }
.v2-filter-select-option { display:block; width:100%; text-align:left; padding:.65rem .75rem; border:0; border-radius:7px; color:#b2b4bf; background:transparent; font:inherit; font-size:.8rem; cursor:pointer; }
.v2-filter-select-option:hover { color:#fff; background:#ffffff07; }
.v2-filter-select-option.is-selected { background:#9bd7ba0c; color:#b4e4ce; }
.v2-genre-menu { min-width:260px; }
.v2-filter-check { display:flex; align-items:center; gap:.65rem; padding:.6rem .7rem; border-radius:7px; color:#b2b4bf; font-size:.8rem; cursor:pointer; }
.v2-filter-check:hover { background:#ffffff05; }
.v2-filter-check input { appearance:none; width:16px; height:16px; margin:0; border:1px solid #ffffff25; border-radius:5px; background:#ffffff03; flex-shrink:0; }
.v2-filter-check input:checked { border-color:#a1d9bd60; background:#a1d9bd25; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8 3 3 5-6' fill='none' stroke='%23c3eed8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.v2-catalog-bottom-row { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-top:1rem; }
.v2-catalog-more { flex:1; min-width:0; }
.v2-catalog-more summary { display:flex; align-items:center; gap:.5rem; width:max-content; min-height:35px; font-size:.75rem; color:#777b86; cursor:pointer; list-style:none; }
.v2-catalog-more summary::-webkit-details-marker { display:none; }
.v2-catalog-extra { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.5rem; padding-top:.5rem; }
.v2-filter-input { min-width:0; width:100%; border:1px solid #ffffff0e; background:#08090b40; border-radius:10px; color:#dddfe5; font:inherit; font-size:.8rem; padding:.75rem; }
.v2-catalog-actions { display:flex; align-items:center; gap:1rem; padding-top:0; }
.v2-catalog-actions a { color:#717580; font-size:.73rem; }
.v2-catalog-actions button { padding:.6rem 1rem; color:#161719; background:#e5e7eb; border:0; border-radius:8px; font:inherit; font-weight:600; font-size:.75rem; cursor:pointer; }
.v2-catalog-actions button:hover { background:#fff; }
.v2-catalog-page .v2-pagination { display:flex; justify-content:center; align-items:center; gap:.4rem; flex-wrap:wrap; margin-top:.5rem; }
.v2-catalog-page .v2-pagination-link { display:flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 .65rem; border:1px solid #ffffff0c; border-radius:9px; background:#ffffff03; color:#989ca7; font-size:.8rem; font-weight:500; }
.v2-catalog-page .v2-pagination-link:hover { color:#f1f2f5; background:#ffffff09; border-color:#ffffff20; }
.v2-catalog-page .v2-pagination-link.is-current { color:#b8e9d1; background:#a1d9bd0c; border-color:#a1d9bd30; }
.v2-catalog-page .v2-pagination-link.is-disabled { opacity:.3; pointer-events:none; }
.v2-pagination-gap { color:#5e626b; padding:.25rem; }
.v2-catalog-page button:focus-visible,.v2-catalog-page a:focus-visible,.v2-filter-check input:focus-visible,.v2-filter-input:focus-visible,.v2-catalog-more summary:focus-visible { outline:2px solid #99d6b9; outline-offset:3px; }
@keyframes catalog-pop { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media(max-width:900px) { .v2-catalog-extra { grid-template-columns:1fr; } .v2-filter-caption { display:none; } }
@media(max-width:560px) { .v2-catalog-header { padding:1rem; border-radius:12px; } .v2-catalog-header .v2-title { font-size:1.6rem; } .v2-catalog-title-row .v2-section-note { display:none; } .v2-catalog-status { gap:.35rem; } .v2-catalog-status button { padding:.55rem .65rem; font-size:.72rem; } .v2-catalog-filter-row { grid-template-columns:1fr 1fr; } .v2-catalog-filter-row>.v2-filter-field:first-child { grid-column:1/-1; } .v2-filter-select-button { padding:.7rem .75rem; font-size:.76rem; min-height:44px; } .v2-genre-menu { left:auto; min-width:270px; } .v2-catalog-bottom-row { flex-wrap:wrap; gap:.5rem; } .v2-catalog-more { flex-basis:100%; } .v2-catalog-actions { margin-left:auto; } .v2-catalog-page .v2-pagination { gap:.25rem; } .v2-catalog-page .v2-pagination-link { min-width:32px; height:34px; padding:0 .4rem; font-size:.74rem; } }
@media(prefers-reduced-motion:reduce) { .v2-filter-select-menu { animation:none; } }

@media(max-width:560px) { .v2-catalog-more { flex-basis:auto; } .v2-catalog-more[open] { flex-basis:100%; } }

.v2-catalog-header { padding:1.6rem; background:radial-gradient(ellipse at 95% 0%,#86c9a709,transparent 55%),linear-gradient(135deg,#17191c,#101113); border-color:#ffffff12; box-shadow:inset 0 1px 0 #ffffff04; }
.v2-catalog-title-row { margin-bottom:1.4rem; }
.v2-catalog-header .v2-title { font-size:2.15rem; letter-spacing:-.035em; }
.v2-catalog-search { display:flex; align-items:center; gap:.65rem; width:min(420px,45%); padding:5px 6px 5px 14px; border:1px solid #ffffff15; border-radius:11px; background:#07080a65; transition:border-color .2s,box-shadow .2s; }
.v2-catalog-search:focus-within { border-color:#9cdbb94a; box-shadow:0 0 0 3px #9cdbb907; }
.v2-catalog-search svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.v2-catalog-search-icon { color:#727884; flex-shrink:0; }
.v2-catalog-search input { width:100%; min-width:0; min-height:34px; padding:0; border:0; background:transparent; color:#e6e8ed; font:inherit; font-size:.86rem; outline:0; }
.v2-catalog-search input::placeholder { color:#737986; }
.v2-catalog-search input::-webkit-search-cancel-button { display:none; }
.v2-catalog-search button { display:grid; place-items:center; width:32px; height:32px; padding:0; flex-shrink:0; color:#aeb7b2; border:1px solid #ffffff09; border-radius:7px; background:#ffffff05; cursor:pointer; }
.v2-catalog-search button:hover { color:#d4eee1; background:#a1d9bd0e; }
.v2-catalog-status { gap:4px; width:max-content; max-width:100%; padding:4px; border:1px solid #ffffff0b; border-radius:11px; background:#07080a35; margin-bottom:1.15rem; }
.v2-catalog-status button { border-color:transparent; background:transparent; border-radius:7px; padding:.6rem 1rem; }
.v2-catalog-status button[aria-pressed=true] { background:#ffffff08; border-color:#ffffff0d; color:#bce4d0; box-shadow:0 1px 3px #0002; }
.v2-filter-select-button { font-size:.86rem; background:#08090b55; }
.v2-catalog-extra { grid-template-columns:1fr 1fr; }
.v2-catalog-actions button { padding:.65rem 1.15rem; }
@media(max-width:760px) { .v2-catalog-title-row { flex-wrap:wrap; gap:1rem; } .v2-catalog-search { width:100%; } }
@media(max-width:560px) { .v2-catalog-header { padding:1.1rem; } .v2-catalog-header .v2-title { font-size:1.75rem; } .v2-catalog-status { gap:2px; } .v2-catalog-status button { padding:.55rem .55rem; font-size:.72rem; } .v2-filter-select-button { font-size:.78rem; } .v2-catalog-extra { grid-template-columns:1fr; } }

/* Align catalogue controls into three consistent rows. */
.v2-catalog-header { padding:1.5rem; background:linear-gradient(135deg,#16181a,#111214); }
.v2-catalog-title-row { margin-bottom:1.2rem; }
.v2-catalog-header .v2-title { font-size:1.85rem; }
.v2-catalog-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; align-items:stretch; margin-bottom:.65rem; }
.v2-catalog-toolbar .v2-catalog-status { width:100%; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-radius:10px; }
.v2-catalog-toolbar .v2-catalog-status button { min-width:0; padding:.65rem .5rem; }
.v2-catalog-toolbar .v2-catalog-search { width:100%; min-width:0; border-radius:10px; }
.v2-catalog-filter-row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.v2-catalog-bottom-row { margin-top:1rem; padding-top:.8rem; border-top:1px solid #ffffff08; align-items:flex-start; gap:1rem; }
.v2-catalog-actions { gap:.8rem; }
.v2-catalog-actions a { display:flex; align-items:center; min-height:36px; }
.v2-catalog-more summary { min-height:36px; }
@media(max-width:760px) { .v2-catalog-toolbar { grid-template-columns:1fr; } .v2-catalog-toolbar .v2-catalog-search { order:-1; } .v2-catalog-title-row { margin-bottom:1rem; } }
@media(max-width:560px) { .v2-catalog-header { padding:1rem; } .v2-catalog-header .v2-title { font-size:1.6rem; } .v2-catalog-filter-row { grid-template-columns:1fr; gap:.5rem; } .v2-catalog-filter-row>.v2-filter-field:first-child { grid-column:auto; } .v2-catalog-toolbar { gap:.5rem; margin-bottom:.5rem; } .v2-catalog-toolbar .v2-catalog-status button { padding:.6rem .3rem; } .v2-filter-caption { display:inline; } .v2-catalog-bottom-row { gap:.5rem; margin-top:.7rem; padding-top:.7rem; } }

.v2-compact-sort { width:220px; flex:0 0 220px; align-self:flex-end; }
.v2-compact-sort .v2-filter-select-button { min-height:36px; padding:.55rem .7rem; font-size:.72rem; background:#ffffff03; border-radius:8px; }
.v2-compact-sort .v2-filter-select-menu { padding:4px; border-radius:9px; }
.v2-compact-sort .v2-filter-select-option { padding:.55rem .6rem; font-size:.74rem; }
@media(max-width:560px) { .v2-catalog-page>.v2-section-head { flex-wrap:wrap; gap:.8rem; } .v2-compact-sort { margin-left:auto; flex-basis:200px; width:200px; } }
