/* Accessories collection and its additional results in the main shop search. */
.gear-shop-page.xfg-accessories-page [data-accessories-catalog] {
    --accessories-shell:min(1376px,calc(100% - 64px));
    width:100%;
    margin:0;
    padding:0 0 60px;
    background:#1b1b1b;
}
.xfg-accessories-page .xfg-accessories-intro {
    width:100%;
    margin:0;
    padding:26px max(32px,calc((100% - 1376px)/2)) 28px;
    background:#242629;
}
.xfg-accessories-page .xfg-accessories-back {
    display:inline-block;
    margin:0 0 14px;
    font:600 11px/1.4 "Segoe UI",sans-serif;
    text-decoration:none;
}
.xfg-accessories-page .xfg-accessories-intro > small {
    display:block;
    margin-top:10px;
    color:#b8b9ba;
    font:11px/1.4 "Segoe UI",sans-serif;
}
.xfg-accessories-page .xfg-accessories-intro h1 {
    margin:0;
    color:#f4f3ef;
    font:700 32px/1.1 "XFG Condensed","Arial Narrow",sans-serif;
    letter-spacing:0;
}
.xfg-accessories-page .xfg-accessories-intro p {
    max-width:650px;
    margin:8px 0 0;
    color:#c6c5c0;
    font:13px/1.5 "Segoe UI",sans-serif;
}
.xfg-accessories-page .xfg-accessories-intro a {
    color:#edc673;
    text-underline-offset:4px;
}
.xfg-accessories-page .xfg-accessories-toolbar {
    position:sticky;
    top:var(--accessories-header-height,178px);
    z-index:500;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"filter sort" ". count";
    align-items:center;
    gap:5px 20px;
    width:100%;
    margin:0 0 12px;
    padding:14px max(32px,calc((100% - 1376px)/2)) 12px;
    border-bottom:1px solid #ffffff18;
    background:#1b1b1b;
    color:#f4f3ef;
    font:12px/1.4 "Segoe UI",sans-serif;
    transition:top 260ms cubic-bezier(.22,.61,.36,1);
}
/* Stay below the visible header and reclaim its space when it slides away. */
.xfg-accessories-page:not(.xfg-shop-drawer-open):not(:has(.xfg-shop-drawer.is-open)):has(.xfg-shop-header.is-hidden:not(:focus-within):not([data-shop-mega-open])) .xfg-accessories-toolbar { top:0; }
.xfg-accessories-page.xfg-shop-drawer-open .xfg-accessories-toolbar { top:var(--accessories-header-height,178px); }
.xfg-accessories-page [data-accessories-filters] { position:relative; grid-area:filter; justify-self:start; }
.xfg-accessories-page [data-accessories-filters][open] { z-index:1; }
.xfg-accessories-page [data-accessories-filters] > summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:44px;
    padding:9px 14px;
    border:1px solid var(--shop-button,#ffd000);
    border-radius:0;
    background:var(--shop-button,#ffd000);
    color:#121212;
    font:600 15px/1.2 "XFG Condensed","Arial Narrow",sans-serif;
    list-style:none;
    cursor:pointer;
}
.xfg-accessories-page [data-accessories-filters] > summary::-webkit-details-marker { display:none; }
.xfg-accessories-page [data-accessories-filters] > summary::after {
    content:"+";
    width:12px;
    font:400 19px/1 "Segoe UI",sans-serif;
    text-align:center;
}
.xfg-accessories-page [data-accessories-filters][open] > summary::after { content:"−"; }
.xfg-accessories-page [data-accessories-filter-form] {
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    width:min(520px,calc(100vw - 64px));
    max-width:none;
    max-height:calc(100dvh - var(--accessories-header-height,178px) - 110px);
    overflow:auto;
    overscroll-behavior:contain;
    margin:0;
    padding:22px;
    border:1px solid #ffffff40;
    border-radius:0;
    background:#242629;
    box-shadow:0 14px 32px #0006;
}
.xfg-accessories-page [data-accessories-filter-form] label {
    display:grid;
    min-width:0;
    gap:8px;
    font-weight:600;
}
.xfg-accessories-page .xfg-accessories-toolbar > label {
    grid-area:sort;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.xfg-accessories-page .xfg-accessories-toolbar select {
    min-width:0;
    max-width:100%;
    min-height:44px;
    padding:9px 30px 9px 12px;
    border:1px solid #ffffff4d;
    border-radius:0;
    color:#f4f3ef;
    background:#1b1b1b;
    font:400 12px/1.4 "Segoe UI",sans-serif;
    color-scheme:dark;
    cursor:pointer;
}
.xfg-accessories-page [data-accessories-filter-form] select { width:100%; }
.xfg-accessories-page [data-accessories-count] {
    grid-area:count;
    justify-self:end;
    margin:0;
    color:#cccac4;
    font-size:11px;
    font-variant-numeric:tabular-nums;
}
.xfg-accessories-page [data-accessories-clear] {
    min-height:44px;
    padding:10px 0;
    border:0;
    border-radius:0;
    color:#edc673;
    background:transparent;
    font:600 13px/1.4 "Segoe UI",sans-serif;
    text-decoration:underline;
    text-underline-offset:4px;
    cursor:pointer;
}
.xfg-accessories-page [data-accessories-filter-form] [data-accessories-clear] {
    grid-column:1/-1;
    justify-self:start;
}
.gear-shop-page .xfg-accessories-grid,
.gear-shop-page .xfg-accessory-search-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    gap:18px 16px;
    margin:0;
    padding:0;
    list-style:none;
}
.xfg-accessories-page .xfg-accessories-grid,
.xfg-accessories-page [data-accessories-empty] { width:var(--accessories-shell); margin-inline:auto; }
.xfg-accessories-page .xfg-accessory-card,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product {
    min-width:0;
    margin:0;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#242629;
}
.xfg-accessories-page .xfg-accessory-card > a,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product > a {
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:0;
    height:auto;
    padding:0 0 12px;
    color:#f4f3ef;
    text-decoration:none;
}
.xfg-accessories-page .xfg-accessory-card__image,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product__media {
    position:relative;
    display:block;
    flex:none;
    width:100%;
    min-height:0;
    aspect-ratio:1;
    overflow:hidden;
    border-radius:0;
    background:#f2f1ed;
}
.xfg-accessories-page .xfg-accessory-card__image > img,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product__media > img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    transform:none;
    transition:none;
}
.xfg-accessories-page .xfg-accessory-card :is(small,h2,p),
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product :is(small,h3,p) {
    margin-inline:10px;
    overflow-wrap:anywhere;
}
.xfg-accessories-page .xfg-accessory-card small,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product small {
    display:block;
    margin-top:10px;
    margin-bottom:0;
    color:#cfcdc6;
    font:500 10px/1.4 "Segoe UI",sans-serif;
    letter-spacing:.3px;
    text-transform:uppercase;
}
.xfg-accessories-page .xfg-accessory-card h2,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product h3 {
    min-height:2.4em;
    margin-top:5px;
    margin-bottom:0;
    color:#f4f3ef;
    font:700 18px/1.2 "XFG Condensed","Arial Narrow",sans-serif;
    letter-spacing:0;
    text-transform:none;
}
.xfg-accessories-page .xfg-accessory-card p,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product p { display:none; }
.xfg-accessories-page [data-accessories-empty] {
    padding:50px 20px;
    text-align:center;
    color:#d8d6cf;
    font:14px/1.6 "Segoe UI",sans-serif;
}
.xfg-accessories-page [data-accessories-empty] h2 {
    margin:0 0 10px;
    color:#f4f3ef;
    font:700 28px/1.2 "XFG Condensed","Arial Narrow",sans-serif;
}
.gear-shop-page .xfg-accessory-search-results { display:none; }
.gear-shop-page.xfg-searching .xfg-accessory-search-results {
    display:block;
    padding-block:36px 44px;
    background:#1b1b1b;
}
.gear-shop-page .xfg-accessory-search-results > h2,
.gear-shop-page .xfg-accessory-search-results > .xfg-shop-shell > h2 {
    margin:0 0 22px;
    color:#f4f3ef;
    font:700 32px/1.1 "XFG Condensed","Arial Narrow",sans-serif;
}
.xfg-accessories-page [data-accessories-catalog] :is(a,button,select,summary):focus-visible,
.gear-shop-page .xfg-accessory-search-grid a:focus-visible {
    outline:2px solid #f3d084;
    outline-offset:3px;
}
.xfg-accessories-page .xfg-accessory-card > a:focus-visible,
.gear-shop-page .xfg-accessory-search-grid .xfg-shop-product > a:focus-visible { outline-offset:-3px; }
/* Explicit hidden states always win over grid/card display rules. */
.xfg-accessories-page [data-accessories-catalog] [hidden],
.gear-shop-page .xfg-accessory-search-results[hidden],
.gear-shop-page .xfg-accessory-search-results [hidden] { display:none!important; }
@media(max-width:1050px) {
    .gear-shop-page .xfg-accessories-grid,
    .gear-shop-page .xfg-accessory-search-grid { gap:18px 14px; }
    .xfg-accessories-page .xfg-accessory-card h2,
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product h3 { font-size:18px; }
}
@media(max-width:820px) {
    .gear-shop-page.xfg-accessories-page [data-accessories-catalog] { --accessories-shell:calc(100% - 36px); padding-bottom:44px; }
    .xfg-accessories-page .xfg-accessories-intro { padding:22px 18px 24px; }
    .xfg-accessories-page .xfg-accessories-toolbar { top:var(--accessories-header-height,132px); padding-inline:18px; }
    .gear-shop-page .xfg-accessories-grid,
    .gear-shop-page .xfg-accessory-search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .xfg-accessories-page [data-accessories-filter-form] { width:min(520px,calc(100vw - 36px)); }
}
@media(max-width:560px) {
    .xfg-accessories-page .xfg-accessories-intro h1 { font-size:28px; }
    .xfg-accessories-page .xfg-accessories-intro p { font-size:13px; }
    .xfg-accessories-page .xfg-accessories-toolbar { gap:5px 12px; margin-bottom:12px; }
    .xfg-accessories-page .xfg-accessories-toolbar > label { display:grid; grid-template-columns:auto; gap:3px; font-size:11px; }
    .xfg-accessories-page .xfg-accessories-toolbar > label select { width:146px; font-size:16px; padding:8px 24px 8px 8px; }
    .xfg-accessories-page [data-accessories-filters] > summary { gap:8px; padding-inline:10px; font-size:14px; }
    .xfg-accessories-page [data-accessories-filter-form] { grid-template-columns:minmax(0,1fr); gap:14px; padding:18px; }
    .gear-shop-page .xfg-accessories-grid,
    .gear-shop-page .xfg-accessory-search-grid { gap:16px 12px; }
    .xfg-accessories-page .xfg-accessory-card > a,
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product > a { padding-bottom:10px; }
    .xfg-accessories-page .xfg-accessory-card :is(small,h2,p),
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product :is(small,h3,p) { margin-inline:10px; }
    .xfg-accessories-page .xfg-accessory-card small,
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product small { margin-top:9px; font-size:9px; letter-spacing:.2px; }
    .xfg-accessories-page .xfg-accessory-card h2,
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product h3 { font-size:16px; line-height:1.25; min-height:2.5em; }
}
@media(prefers-reduced-motion:reduce) {
    .xfg-accessories-page .xfg-accessories-toolbar { transition:none; }
    .xfg-accessories-page .xfg-accessory-card__image > img,
    .gear-shop-page .xfg-accessory-search-grid .xfg-shop-product__media > img { transition:none; }
}
