.catalogue-filters { position:relative; z-index:2; margin:2.5rem 0; color:#edf6f9; }
.catalogue-filter-section { min-width:0; margin:0; padding:0; border:0; }
.catalogue-filter-section legend { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalogue-rail { display:grid; grid-template-columns:140px minmax(0,1fr); min-height:112px; border:1px solid rgba(46,209,244,.48); border-radius:10px; background:linear-gradient(115deg,rgba(8,24,38,.92),rgba(5,15,28,.92)); box-shadow:inset 0 1px 0 rgba(218,246,255,.025); }
.catalogue-size-section { margin-top:18px; }
.catalogue-section-label { display:flex; align-items:center; gap:14px; padding:24px; border-right:1px solid rgba(46,209,244,.16); font-size:1.125rem; color:#f1f8fb; }
.catalogue-icon { display:inline-block; flex:none; width:20px; height:20px; background:currentColor; mask:var(--catalogue-icon) center/contain no-repeat; -webkit-mask:var(--catalogue-icon) center/contain no-repeat; }
.catalogue-section-label .catalogue-icon { width:28px; height:28px; color:#2ed1f4; }
.catalogue-icon-shoe { --catalogue-icon:url('/images/shoe.svg'); }
.catalogue-section-label .catalogue-icon-shoe { width:32px; }
.catalogue-icon-ruler { --catalogue-icon:url('/images/catalogue-filters/ruler.svg'); }
.catalogue-icon-adjustments { --catalogue-icon:url('/images/catalogue-filters/adjustments.svg'); }
.catalogue-icon-chevron { --catalogue-icon:url('/images/catalogue-filters/chevron-down.svg'); width:16px; height:16px; }
.catalogue-filter-bar,.catalogue-size-filters { display:grid; align-items:center; padding:20px 8px; min-width:0; }
.catalogue-filter-bar { grid-template-columns:1fr 1.2fr 1.05fr 1.5fr .7fr; }
.catalogue-size-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
#shoeCatalogueSizing,#shoeSizeSystemFilter { display:contents; }
.catalogue-filters label,.catalogue-price-field { display:flex; flex-direction:column; gap:8px; color:#a2b4c0; font-size:.875rem; min-width:0; }
.catalogue-filter-bar > :not(:first-child),.catalogue-size-filters label:not([for=shoeCategorySelect]) { border-left:1px solid rgba(46,209,244,.2); }
.catalogue-filter-bar > *,.catalogue-size-filters label { padding:0 16px; }
.catalogue-filters input,.catalogue-filters select,.catalogue-filters button { color:#edf6f9; font:inherit; min-width:0; min-height:40px; }
.catalogue-filters input,.catalogue-filters select { width:100%; font-size:1rem; }
.catalogue-filters select { appearance:none; -webkit-appearance:none; padding:8px 24px 8px 0; border:0; border-radius:4px; background:transparent; text-overflow:ellipsis; cursor:pointer; }
.catalogue-filters label:has(select) { position:relative; }
.catalogue-filters label:has(select)::after,.catalogue-brand-filter summary::after { content:''; position:absolute; width:14px; height:14px; right:16px; bottom:13px; background:#b9ced9; mask:url('/images/catalogue-filters/chevron-down.svg') center/contain no-repeat; -webkit-mask:url('/images/catalogue-filters/chevron-down.svg') center/contain no-repeat; pointer-events:none; }
.catalogue-filters select option { background:#091d2c; color:#edf6f9; }
.catalogue-filters input { padding:8px; border:1px solid rgba(46,209,244,.16); border-radius:5px; background:rgba(3,15,27,.4); }
.catalogue-filters input::placeholder { color:#8299a8; }
.catalogue-filters :is(input,select,button,summary):focus-visible { outline:2px solid #2ed1f4; outline-offset:4px; }
.catalogue-filters select:focus-visible { outline:0; box-shadow:0 2px 0 #2ed1f4; }
.catalogue-filters :disabled { opacity:.4; cursor:default; }
.catalogue-filters [hidden] { display:none!important; }
.catalogue-filters label.catalogue-select-field::after { content:none; }
.catalogue-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; padding:8px 6px; margin:0 -6px; border-radius:7px; border:1px solid transparent; font-size:1rem; font-weight:400; color:#e8f3f6; cursor:pointer; outline:0; transition:background .18s,border-color .18s,box-shadow .18s,color .18s; }
.catalogue-select-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.catalogue-select-trigger::after { content:''; flex:none; width:14px; height:14px; background:#b0c8d4; mask:url('/images/catalogue-filters/chevron-down.svg') center/contain no-repeat; -webkit-mask:url('/images/catalogue-filters/chevron-down.svg') center/contain no-repeat; transition:transform .2s; }
.catalogue-select-trigger[aria-expanded=true]::after { transform:rotate(180deg); }
.catalogue-select-trigger[aria-expanded=true],.catalogue-select-trigger:focus-visible { background:rgba(46,209,244,.07); border-color:rgba(46,209,244,.5); box-shadow:0 2px 0 rgba(46,209,244,.7); }
.catalogue-select-trigger[aria-disabled=true] { opacity:.4; cursor:default; }
.catalogue-select-menu { box-sizing:border-box; position:fixed; z-index:1200; top:0; padding:6px; border:1px solid #235368; border-radius:12px; background:#091b2a; color:#e8f3f6; font:14px/1.4 Arial,sans-serif; box-shadow:0 18px 48px #0008,0 2px 8px #0005; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#376578 transparent; }
.catalogue-select-menu[hidden] { display:none; }
.catalogue-select-menu [role=option] { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; padding:9px 12px; border-radius:7px; cursor:pointer; transition:background .12s,color .12s; }
.catalogue-select-menu [aria-selected=true] { color:#c4f3fc; background:rgba(46,209,244,.09); }
.catalogue-select-menu [aria-selected=true]::after { content:'✓'; color:#2ed1f4; font-size:16px; }
.catalogue-select-menu .is-highlighted { background:rgba(46,209,244,.17); }
.catalogue-select-menu [aria-disabled=true] { opacity:.4; cursor:default; }
.catalogue-brand-filter { position:relative; min-width:0; }
.catalogue-brand-filter summary { display:flex; flex-direction:column; gap:8px; color:#a2b4c0; font-size:.875rem; cursor:pointer; list-style:none; }
.catalogue-filters summary::-webkit-details-marker { display:none; }
.catalogue-brand-filter summary strong { display:block; padding:8px 28px 8px 6px; margin:0 -6px; min-height:40px; border:1px solid transparent; border-radius:7px; color:#edf6f9; font-size:1rem; font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:background .18s,border-color .18s,box-shadow .18s; }
.catalogue-brand-filter summary:focus-visible { outline:0; }
.catalogue-brand-filter[open] summary strong,.catalogue-brand-filter summary:focus-visible strong { background:rgba(46,209,244,.07); border-color:rgba(46,209,244,.5); box-shadow:0 2px 0 rgba(46,209,244,.7); }
.catalogue-brand-filter [data-filter-brands] { position:absolute; z-index:5; left:8px; top:calc(100% + 14px); width:230px; max-width:calc(100vw - 80px); max-height:290px; overflow:auto; background:#091b2a; border:1px solid #235368; border-radius:12px; padding:10px; box-shadow:0 15px 30px #0006; }
.catalogue-brand-filter label { flex-direction:row; align-items:center; min-height:38px; gap:10px; padding:4px 8px; color:#e0f0f5; border-radius:6px; }
.catalogue-brand-filter input { width:16px; min-height:16px; accent-color:#2ed1f4; }
.catalogue-brand-filter input[type=checkbox] { appearance:none; flex:none; display:grid; place-items:center; height:16px; padding:0; border:1px solid #507183; border-radius:4px; background:#0a2232; cursor:pointer; }
.catalogue-brand-filter input[type=checkbox]:checked { border-color:#2ed1f4; background:#2ed1f4; }
.catalogue-brand-filter input[type=checkbox]:checked::after { content:'✓'; color:#04131e; font-size:12px; line-height:1; font-weight:bold; }
.catalogue-brand-filter[open] summary::after { transform:rotate(180deg); }
.catalogue-price-slider { min-width:0; }
.catalogue-price-values { display:flex; justify-content:space-between; gap:8px; font-size:.875rem; line-height:1.4; font-variant-numeric:tabular-nums; color:#d8f4fb; }
.catalogue-price-values span:last-child { color:#a8c4d2; text-align:right; }
.catalogue-price-rail { position:relative; height:30px; cursor:pointer; }
.catalogue-price-track { position:absolute; top:13px; left:10px; right:10px; height:5px; border-radius:8px; background:#183243; box-shadow:inset 0 1px 2px #020912; }
.catalogue-price-track span { position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,#168daa,#2ed1f4); box-shadow:0 0 8px #2ed1f425; }
.catalogue-filters .catalogue-price-rail input[type=range] { appearance:none; -webkit-appearance:none; position:absolute; inset:0; width:100%; height:30px; min-height:30px; margin:0; padding:0; border:0; outline:0; box-shadow:none; background:transparent; pointer-events:none; z-index:2; }
.catalogue-price-rail input::-webkit-slider-runnable-track { height:5px; background:transparent; }
.catalogue-price-rail input::-moz-range-track { height:5px; background:transparent; }
.catalogue-price-rail input::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:20px; height:20px; margin-top:-7.5px; border:2px solid #a9f0fb; border-radius:50%; background:#12394b; box-shadow:0 0 0 3px #071621,0 2px 7px #0005; cursor:grab; pointer-events:auto; }
.catalogue-price-rail input::-moz-range-thumb { width:16px; height:16px; border:2px solid #a9f0fb; border-radius:50%; background:#12394b; box-shadow:0 0 0 3px #071621,0 2px 7px #0005; cursor:grab; pointer-events:auto; }
.catalogue-price-rail input:focus-visible::-webkit-slider-thumb { background:#2ed1f4; box-shadow:0 0 0 4px #2ed1f433,0 0 12px #2ed1f450; }
.catalogue-price-rail input:focus-visible::-moz-range-thumb { background:#2ed1f4; box-shadow:0 0 0 4px #2ed1f433,0 0 12px #2ed1f450; }
.catalogue-price-rail input:active::-webkit-slider-thumb { cursor:grabbing; background:#2ed1f4; }
.catalogue-price-rail input:active::-moz-range-thumb { cursor:grabbing; background:#2ed1f4; }
.catalogue-price-slider[data-disabled=true] { opacity:.4; }
.catalogue-price-slider[data-disabled=true] .catalogue-price-rail,.catalogue-price-slider[data-disabled=true] input::-webkit-slider-thumb { cursor:default; }
.catalogue-filter-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:24px 0 20px; }
.catalogue-filters button { cursor:pointer; padding:9px 14px; border:1px solid rgba(46,209,244,.2); border-radius:7px; background:rgba(7,31,46,.45); color:#8ee1f0; font-size:.95rem; }
.catalogue-filters [data-more-filters] { display:inline-flex; align-items:center; gap:10px; }
.catalogue-filters [data-more-filters][aria-expanded=true] .catalogue-icon-chevron { transform:rotate(180deg); }
.catalogue-filters .catalogue-reset { border-color:transparent; background:transparent; text-decoration:underline; text-underline-offset:3px; }
.catalogue-extra-panel { display:flow-root; }
.catalogue-extra-panel.is-animating { overflow:hidden; }
.catalogue-extra-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:24px; margin:0 0 20px; border:1px solid rgba(46,209,244,.22); border-radius:10px; background:rgba(6,22,36,.5); }
.catalogue-extra-filters .catalogue-select-trigger { border-color:rgba(46,209,244,.16); padding-left:9px; padding-right:9px; margin:0; background:rgba(3,15,27,.4); }
.catalogue-extra-filters select { padding-left:8px; border:1px solid rgba(46,209,244,.16); }
.catalogue-extra-filters label:has(select)::after { right:10px; }
.catalogue-filter-results { display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding-top:22px; border-top:1px solid rgba(46,209,244,.2); font-size:.95rem; }
.catalogue-filter-results p { margin:0; }
.catalogue-filter-results [data-filter-count] { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.catalogue-filter-results [data-filter-count]:empty { display:none; }
.catalogue-filter-results [data-filter-count] strong { font-weight:600; color:#edf6f9; }
.catalogue-filter-results [data-filter-count] span { color:#99aeba; }
.catalogue-filter-results [data-filter-chips] { display:flex; flex-wrap:wrap; gap:8px; }
.catalogue-filter-results button { min-height:32px; padding:5px 10px; font-size:.875rem; }
.catalogue-filter-note { margin:12px 0 0; font-size:.8rem; line-height:1.7; color:#a2b6c2; }
.catalogue-filter-error { color:#ffbe94; margin:16px 0 0; font-size:.85rem; }
.catalogue-filters :is(button,input,.catalogue-icon-chevron),.catalogue-brand-filter summary::after { transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .22s; }
.catalogue-filters input:focus { box-shadow:none; }
.catalogue-filters input:focus-visible { outline:1px solid #2ed1f4; outline-offset:2px; }
.catalogue-filters [data-more-filters][aria-expanded=true] { border-color:rgba(46,209,244,.55); background:rgba(46,209,244,.1); }
.catalogue-brand-filter label:has(input:checked) { color:#cbf4fc; background:rgba(46,209,244,.09); }
@media(hover:hover) { .catalogue-filters button:hover,.catalogue-brand-filter label:hover,.catalogue-select-trigger:not([aria-disabled=true]):hover,.catalogue-brand-filter summary:hover strong { background:rgba(46,209,244,.1); } .catalogue-filters select:hover,.catalogue-brand-filter summary:hover strong { color:#b8f0fa; } }
@media(prefers-reduced-motion:reduce) { .catalogue-filters *, .catalogue-select-menu * { transition:none!important; } }
@media(max-width:1100px) {
  .catalogue-rail { grid-template-columns:120px minmax(0,1fr); border-radius:10px; }
  .catalogue-section-label { padding:20px 16px; gap:10px; }
  .catalogue-filter-bar { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:20px; }
  .catalogue-filter-bar > .catalogue-price-field { grid-column:span 2; border-left:0; }
  .catalogue-filter-bar > *,.catalogue-size-filters label { padding:0 14px; }
  .catalogue-extra-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .catalogue-rail,.catalogue-extra-filters { border-radius:16px; }
}
@media(max-width:640px) {
  .catalogue-filters { margin:2rem 0; }
  .catalogue-rail { display:block; border-radius:16px; }
  .catalogue-section-label { padding:16px 18px; border-right:0; border-bottom:1px solid rgba(46,209,244,.16); }
  .catalogue-section-label .catalogue-icon { width:24px; height:24px; }
  .catalogue-filter-bar,.catalogue-size-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 4px; row-gap:20px; }
  .catalogue-filter-bar > .catalogue-price-field { grid-column:1 / -1; border-left:0; }
  .catalogue-filter-bar > label:last-child { grid-column:2; grid-row:2; border-left:1px solid rgba(46,209,244,.2); }
  .catalogue-size-filters { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .catalogue-size-filters label { padding:0 12px; }
  .catalogue-filter-bar > :nth-child(odd),.catalogue-size-filters label:nth-of-type(1) { border-left:0; }
  .catalogue-size-filters label[for=shoeSizeSystemSelect],.catalogue-size-filters > label:last-child { border-left:1px solid rgba(46,209,244,.2); }
  .catalogue-filters select,.catalogue-filters input { font-size:16px; }
  .catalogue-select-trigger { gap:6px; }
  .catalogue-filters label,.catalogue-price-field,.catalogue-brand-filter summary { font-size:.75rem; }
  .catalogue-brand-filter summary strong { font-size:16px; }
  .catalogue-extra-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:18px; }
  .catalogue-extra-filters label:has([name=search]),.catalogue-extra-filters label:has([name=drop]),.catalogue-extra-filters label:has([name=support]) { grid-column:1 / -1; }
  .catalogue-filter-results { gap:12px; }
}

.shoe-empty-state{display:flex;align-items:center;gap:22px;padding:32px;margin:24px 0 8px;border:1px solid #203c4c;border-radius:10px;background:linear-gradient(115deg,#081723,#050d19);text-align:left}
.shoe-empty-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:12px;background:#0b2534;border:1px solid #245365;color:#80dcec}
.shoe-empty-icon svg{width:26px;height:26px}
#shoeList .shoe-empty-copy{flex:1;min-width:0}
#shoeList .shoe-empty-copy h3{margin:0 0 8px;font-size:18px;font-weight:400;color:#e7f3f8;line-height:1.4}
#shoeList .shoe-empty-copy p{margin:0;color:#9db2c2;font-size:13px;line-height:1.6}
.shoe-empty-reset{flex:none;display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid #327387;border-radius:8px;background:#0b2a3a;color:#9be6f2;font-size:13px;cursor:pointer}
.shoe-empty-reset:hover{background:#10394b;border-color:#2ed1f4}
.shoe-empty-reset:focus-visible{outline:2px solid #2ed1f4;outline-offset:3px}
@media(max-width:650px){.shoe-empty-state{flex-wrap:wrap;padding:24px 20px;gap:16px;border-radius:16px}.shoe-empty-icon{width:42px;height:42px}.shoe-empty-copy{flex-basis:calc(100% - 60px)!important}.shoe-empty-reset{margin-left:58px}#shoeList .shoe-empty-copy h3{font-size:16px}}

/* Model and Size share one desktop row, with space proportional to their fields. */
.catalogue-columns{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(220px,1fr);gap:18px}
.catalogue-columns .catalogue-size-section{margin-top:0}
.catalogue-columns .catalogue-rail{display:flex;flex-direction:column;height:100%;min-height:0;padding:0 22px 22px}
.catalogue-columns .catalogue-section-label{padding:20px 0 16px;border-right:0;border-bottom:1px solid rgba(46,209,244,.16)}
.catalogue-columns .catalogue-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;padding:20px 0 0;flex:1}
.catalogue-columns .catalogue-filter-bar>*{padding:0;border-left:0}
.catalogue-columns .catalogue-price-field{grid-column:span 2}
.catalogue-columns .catalogue-size-filters{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 0 0;flex:1}
.catalogue-columns .catalogue-size-filters label{padding:0;border-left:0}
.catalogue-columns .catalogue-select-trigger,.catalogue-columns .catalogue-brand-filter summary strong{margin:0;padding:9px 10px;background:rgba(10,31,46,.55);border:1px solid rgba(46,209,244,.2)}
.catalogue-columns .catalogue-brand-filter summary::after{right:12px}
@media(max-width:900px){
 .catalogue-columns{grid-template-columns:minmax(0,1fr)}
 .catalogue-columns .catalogue-size-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .catalogue-columns{gap:16px}
 .catalogue-columns .catalogue-rail{padding:0 16px 18px}
 .catalogue-columns .catalogue-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
 .catalogue-columns .catalogue-filter-bar>label:last-child{grid-column:2;grid-row:2;border-left:0}
 .catalogue-columns .catalogue-price-field{grid-column:1/-1}
 .catalogue-columns .catalogue-size-filters label[for=shoeSizeSystemSelect]{border-left:0}
}
