@import url('/demo-v2/legacy-catalog.css');
body.catalog-v2>.wrap{max-width:1500px;margin:auto;padding:0 4vw 70px}
.catalog-v2 .legacy-page{--bg:#050807;--panel:#101512;--text:#edf3ef;--muted:#92a198;font-family:Inter,Arial,sans-serif}
.catalog-v2 .page-banner{background-color:var(--surface)}
.catalog-v2 .filter-group.collapsed .filter-tags{display:none}
.catalog-v2 .data-state{font-size:12px;letter-spacing:.08em}
.catalog-v2 a{text-decoration:none;color:inherit}
.catalog-v2>header{position:sticky;top:0;z-index:20;background:#050807d9;backdrop-filter:blur(24px);border-bottom:1px solid #ffffff15}
.catalog-header{max-width:1600px;margin:auto;padding:0 4vw;min-height:88px;display:flex;align-items:center;gap:36px}
.catalog-header .identity{display:flex;align-items:center;gap:8px;position:relative}
.catalog-logo{border:0;background:none;padding:0;display:flex;align-items:center}
.catalog-logo img{width:64px;height:64px;object-fit:contain}
.catalog-header .worldswitch{border:0;background:none;padding:10px;color:var(--accent)}
.catalog-header .worldswitch svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.catalog-main-nav{display:flex;align-self:stretch;align-items:stretch;gap:8px;flex:1;overflow:auto}
.catalog-main-nav button{position:relative;isolation:isolate;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:0 20px;font-size:12px;font-weight:700;white-space:nowrap;text-transform:uppercase}
.catalog-main-nav button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--rgb),.23),transparent 80%);opacity:0;transition:opacity .25s}
.catalog-main-nav button.active,.catalog-main-nav button:hover{color:var(--accent);border-bottom-color:var(--accent)}
.catalog-main-nav button.active:before,.catalog-main-nav button:hover:before{opacity:1}
.catalog-search-toggle{border:0;background:none;padding:8px;color:var(--text,#edf3ef);display:grid;place-items:center}
.catalog-search-toggle svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7}
.catalog-header .worldmenu{position:absolute;top:calc(100% + 14px);left:0;width:min(410px,90vw);padding:16px;background:#07100dec;border:1px solid #ffffff26;border-radius:14px;backdrop-filter:blur(24px);box-shadow:0 20px 70px #0008;z-index:30}
.catalog-header .worldmenu .world-menu-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;width:100%;min-height:112px;padding:18px;border:1px solid #ffffff20;border-radius:10px;margin-top:10px;background-size:cover;background-position:center;color:#fff}
.world-menu-card strong{font-family:Bebas,Arial,sans-serif;font-size:26px}.world-menu-card small{font-size:11px;color:#eee;line-height:1.5}.world-menu-card span{font-size:max(9px,var(--mobile-font-floor,0px));letter-spacing:1px;margin-top:10px}.catalog-header .world-menu-card.selected{border-color:var(--accent)}
.world-menu-all{width:100%;padding:15px 0 0;border:0;background:none;text-align:left;color:var(--accent);font-size:11px}
@media(max-width:800px){.catalog-header{gap:10px;min-height:74px}.catalog-logo img{width:46px;height:46px}.catalog-main-nav button{padding:0 10px;font-size:10px}.catalog-header .worldswitch{padding:4px}}
.catalog-v2 [hidden]{display:none!important}

/* Keep the original content width without adding a second outer gutter. */
body.catalog-v2>.wrap{max-width:none;padding:0 0 70px;overflow-x:clip}
.catalog-v2 .legacy-page{--accent:inherit;--rgb:inherit;--surface:inherit;--line:inherit;--muted:inherit}
/* Floating capsule header, with compact brand and search controls. */
.catalog-v2>header{top:20px;width:min(1400px,calc(100% - 64px));margin:20px auto 18px;border:1px solid #ffffff26;border-radius:999px;box-shadow:0 12px 40px #0005;background:#070c09cc}
.catalog-header{min-height:68px;padding:0 22px;gap:24px}
.catalog-logo img{width:44px;height:44px}
.catalog-main-nav button{padding:0 18px}
.catalog-search-toggle{padding:10px}
.catalog-search-toggle svg{width:24px;height:24px}
.catalog-header .worldmenu{top:calc(100% + 20px)}
.catalog-header .worldmenu .world-menu-card{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px;min-height:102px}
.world-menu-copy{display:flex;flex-direction:column;gap:5px}
.world-menu-card .world-menu-arrow{font-size:25px;line-height:1;margin:0;flex-shrink:0}
.catalog-search-categories{display:flex;flex-wrap:wrap;gap:10px;padding:24px 0 0}
.catalog-search-categories button{padding:11px 20px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px}
.catalog-search-categories button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:linear-gradient(0deg,rgba(var(--rgb),.18),transparent)}
body.catalog-v2>footer.footer{display:block;width:100%;margin:0;padding:0;border:0;text-align:left;background:transparent;letter-spacing:.1em}
.catalog-v2 .site-footer{margin-top:64px;border-top:1px solid var(--line);background:#070b08;overflow:hidden}
.catalog-v2 .brand-marquee{padding:25px 0;border-bottom:1px solid var(--line);overflow:hidden}
.catalog-v2 .brand-marquee>div{width:max-content;display:flex;animation:catalog-brand-scroll 35s linear infinite}
.catalog-v2 .brand-set{display:flex;align-items:center;gap:55px;padding-right:55px;flex-shrink:0}
.catalog-v2 .brand-marquee img{width:72px;height:52px;object-fit:contain;filter:saturate(.75);opacity:.82}
.catalog-v2 .footer-content{width:min(1500px,92vw);margin:0 auto;padding:28px 0 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#657168;font-size:10px}
.catalog-v2 .footer-brand{display:flex;align-items:center;gap:14px}
.catalog-v2 .footer-brand img{width:52px;height:52px;object-fit:contain}
.catalog-v2 .footer-brand p{margin:5px 0 0;color:#69746d;font-size:10px;letter-spacing:0}
.catalog-v2 .footer-brand .public-legal-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;padding:0;border:0;font-size:max(9px,var(--mobile-font-floor,0px))}
.catalog-v2 .public-legal-links button{background:none;padding:0;border:0;color:#87958c;font-size:max(9px,var(--mobile-font-floor,0px));font-weight:700;letter-spacing:.07em;cursor:pointer}
.catalog-v2 .public-legal-links button:hover{color:var(--accent)}
.catalog-v2 .social-links{display:flex;gap:9px}
.catalog-v2 .social-links a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#9ca79f;transition:.2s}
.catalog-v2 .social-links a:hover{color:#07120c;background:var(--accent);border-color:var(--accent)}
.catalog-v2 .social-links svg{width:18px;height:18px;fill:currentColor}
.catalog-v2 .social-links svg rect,.catalog-v2 .social-links svg circle{fill:none;stroke:currentColor;stroke-width:2}
@keyframes catalog-brand-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.catalog-v2 .brand-marquee>div{animation:none}}
@media(max-width:800px){.catalog-v2>header{top:12px;width:calc(100% - 24px);margin-top:12px}.catalog-header{min-height:60px;padding:0 12px;gap:10px}.catalog-logo img{width:36px;height:36px}.catalog-main-nav button{padding:0 10px}.catalog-search-toggle{padding:10px}.catalog-v2 .brand-set{gap:35px;padding-right:35px}.catalog-v2 .brand-marquee img{width:58px;height:42px}.catalog-v2 .footer-content{flex-wrap:wrap}.catalog-v2 .footer-brand p{display:none}}

/* The banner starts at the viewport edge behind the floating glass header. */
.catalog-v2>header{position:fixed;left:50%;transform:translateX(-50%);margin:0;top:20px;border:0;background:#09100b55;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:none}
.catalog-header .worldswitch{display:flex;align-items:center;gap:10px;white-space:nowrap}
.current-world-name{font-size:12px;font-weight:600;color:#edf3ef;text-transform:none}
.catalog-header .world-menu-card .world-menu-arrow{font:400 24px/1 Arial,sans-serif;width:24px;height:24px;text-align:center;margin:0}
.catalog-header .worldmenu .world-menu-all{border:0;box-shadow:none;text-transform:none;font-weight:400}
.catalog-header .worldmenu .world-menu-all:after{content:none}
.catalog-v2 .detail-page{padding-top:120px}
@media(max-width:800px){.catalog-v2>header{top:12px;margin:0}.catalog-header{gap:6px}.current-world-name{font-size:10px;max-width:90px;white-space:normal}.catalog-header .worldswitch{gap:5px}.catalog-v2 .detail-page{padding-top:96px}}

/* Shared bright Future Warfare identity and compact world picker. */
body.catalog-v2[data-world=future]{--accent:#59bdff;--rgb:89,189,255}
.catalog-header .catalog-logo{padding-right:16px;margin-right:6px;border-right:1px solid #ffffff26}
.catalog-header .world-menu-card strong{color:#fff}
.catalog-header .world-menu-card.selected strong{color:var(--accent)}
.catalog-header .world-menu-card .world-menu-arrow{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.catalog-header .worldswitch svg{stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.catalog-v2 .page-banner.banner-search{min-height:260px;padding-top:120px;padding-bottom:32px}
.catalog-search-categories{padding:0 0 24px}

body.world-search-active>header,body.world-search-active>footer{display:none}
.world-search-page{position:relative;min-height:100dvh;padding-top:72px!important;padding-bottom:60px!important}
.world-search-close{position:absolute;right:0;top:18px;border:0;background:none;color:#edf3ef;padding:8px;cursor:pointer}
.world-search-close svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}
.world-search-form{display:flex;align-items:center;gap:20px;padding:20px;background:#ffffff0d;border:1px solid #ffffff20;border-radius:14px;margin-bottom:16px}
.world-search-form input{flex:1;min-width:0;background:none;border:0;outline:0;color:#edf3ef;font:inherit;font-size:22px;caret-color:var(--accent)}
.world-search-form:focus-within{border-color:var(--accent)}
.world-search-form button{background:var(--accent);color:#07120c;border:0;border-radius:9px;padding:14px 28px;cursor:pointer;font-size:16px}
.world-search-page #catalog-count{color:var(--muted);margin:0 0 18px;font-size:16px}
.world-search-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.world-search-form{padding:12px;gap:8px}.world-search-form input{font-size:14px}.world-search-form button{padding:12px;font-size:12px}.world-search-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.catalog-v2.world-search-active>footer.footer{display:none}

/* Keep the original brand color in Military Builds; use white in other worlds. */
body.catalog-v2[data-world=future] .catalog-header .catalog-logo img,
body.catalog-v2[data-world=combat] .catalog-header .catalog-logo img{filter:brightness(0) invert(1)}

/* Keep related products swipeable without a visible scrollbar. */
.catalog-v2 .related-track{scrollbar-width:none}
.catalog-v2 .related-track::-webkit-scrollbar{display:none}
.catalog-v2 .detail-panel .mini-product-note{margin:15px 0 0}
.catalog-v2 .detail-panel .mini-product-note+.instagram-cta{margin-top:15px}

/* Use one footer gap instead of stacking page, rail and footer spacing. */
body.catalog-v2>.wrap{padding-bottom:0}
.catalog-v2 .detail-page{padding-bottom:0}
.catalog-v2 .related-section{padding-bottom:0}
.catalog-v2 .related-track{padding-bottom:0}
.catalog-v2 .site-footer{margin-top:40px}

.catalog-v2 .filter-panel-toggle{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);padding:12px 18px;white-space:nowrap;cursor:pointer}
.filter-panel-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.filter-panel-toggle[aria-expanded=false] svg{transform:rotate(180deg)}
.catalog-v2 .catalog-layout.filters-hidden{grid-template-columns:130px minmax(0,1fr)}
.catalog-v2 .filter-group .filter-group-toggle{padding:0;min-height:0}

.catalog-v2 .filter-heading{gap:10px}
.catalog-v2 .filter-heading .filter-panel-toggle{padding:10px 12px;font-size:12px}
.catalog-v2 .filters-hidden .filter-heading{border-bottom:0}

.catalog-header .worldmenu .world-coming-soon{background:#ffffff05;cursor:default}
.catalog-header .worldmenu .world-coming-soon strong{color:#fff;opacity:.4}

.catalog-v2 .product-image-wrap .catalog-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catalog-gallery-image{position:relative;min-width:0;aspect-ratio:4/5}
.catalog-v2 .catalog-gallery-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:4/5;object-fit:contain}

.catalog-v2 .dual-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.catalog-v2 .catalog-gallery-image .detail-placeholder{height:100%;aspect-ratio:4/5}

.catalog-hamburger{display:none}
.mobile-catalog-menu{box-sizing:border-box;position:fixed;inset:0 auto 0 0;margin:0;width:66.6667vw;max-width:none;height:100dvh;max-height:100dvh;padding:64px 18px calc(24px + env(safe-area-inset-bottom));border:0;border-right:1px solid var(--line);border-radius:0;background:#09100ff5;color:#edf3ef;overflow-y:auto}
.mobile-catalog-menu[open]{animation:mobile-menu-enter .25s ease-out}
.mobile-catalog-menu::backdrop{background:#0009}
.mobile-catalog-menu nav{display:flex;flex-direction:column;gap:8px}
.mobile-catalog-menu nav button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:14px 0;text-align:left;border:0;background:none;color:#fff;font-size:14px;cursor:pointer}
.mobile-catalog-menu nav button.active{color:var(--accent)}
.mobile-catalog-menu nav button:disabled{color:#fff;opacity:.4;cursor:default}
.mobile-catalog-menu nav .mobile-world-all{font-size:12px}
.mobile-catalog-menu hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.mobile-menu-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;background:none;color:#fff;font-size:32px;cursor:pointer}
body.mobile-menu-open{overflow:hidden}
@keyframes mobile-menu-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:650px){
 .catalog-header>.identity,.catalog-header>.catalog-main-nav{display:none}
 .catalog-header{justify-content:space-between}
 .catalog-hamburger{display:grid;place-items:center;width:44px;height:44px;background:none;border:0;color:#edf3ef;cursor:pointer}
 .catalog-hamburger svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
 .catalog-search-toggle{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.mobile-catalog-menu[open]{animation:none}}

.catalog-back-top{display:none}
.mobile-filter-modal{box-sizing:border-box;width:calc(100% - 24px);max-width:500px;max-height:85dvh;margin:auto;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:#edf3ef;overflow:auto}
.mobile-filter-modal::backdrop{background:#000a}
.mobile-filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.mobile-filter-title button{width:44px;height:44px;border:0;background:none;color:inherit;font-size:30px}
.mobile-filter-modal .filter-clear{margin-bottom:16px}
.mobile-filter-done{width:100%;padding:14px;margin-top:16px;border:0;border-radius:10px;background:var(--accent);color:#07120c}
.filter-total{font-size:12px;min-width:20px;border-radius:20px;background:var(--accent);color:#07120c;text-align:center;padding:2px 5px}
@media(max-width:650px){
 .catalog-v2 .catalog-layout,.catalog-v2 .catalog-layout.filters-hidden{grid-template-columns:minmax(0,1fr)}
 .catalog-layout #catalog-filter-groups,.catalog-layout .filter-heading>.filter-clear{display:none}
 .catalog-v2 .catalog-layout .filters{width:100%;padding:0;border:0;position:static}
 .catalog-v2 .catalog-layout .filter-heading{margin:0;padding:0;border:0}
 .catalog-back-top:not([hidden]){display:grid;place-items:center;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--accent);color:#07120c;font-size:24px;z-index:30;box-shadow:0 4px 16px #0005}
}

/* Phone filter bottom sheet. */
.mobile-menu-close:focus,.mobile-menu-close:focus-visible{outline:none;box-shadow:none;border:0;background:#ffffff12;border-radius:50%}
.mobile-filter-modal{inset:auto 0 0;width:100%;max-width:none;max-height:88dvh;margin:0;padding:10px 16px 0;border-radius:22px 22px 0 0;border-bottom:0;overflow:hidden}
.mobile-filter-modal[open]{display:flex;flex-direction:column;animation:mobile-sheet-enter .25s ease-out}
.mobile-sheet-handle{width:42px;height:4px;flex-shrink:0;border-radius:4px;background:#ffffff40;margin:0 auto 12px}
.mobile-filter-title{flex-shrink:0;border-bottom:1px solid var(--line);padding-bottom:12px;margin:0}
.mobile-filter-title .mobile-filter-reset{width:auto;height:44px;font-size:12px;color:var(--accent);padding:0 4px}
#mobile-filter-groups{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding-top:16px}
.mobile-filter-actions{display:flex;gap:12px;flex-shrink:0;padding:16px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.mobile-filter-actions button{min-height:46px;border-radius:10px;font-size:14px;margin:0;padding:12px}
.mobile-filter-cancel{flex:1;border:1px solid var(--line);background:transparent;color:#edf3ef}
.mobile-filter-actions .mobile-filter-done{flex:2;width:auto;background:var(--accent);color:#07120c}
@keyframes mobile-sheet-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-filter-modal[open]{animation:none}}

/* Explicit sheet styles also apply outside the catalogue's page wrapper. */
.mobile-filter-modal .filter-group{padding:18px 0;border-bottom:1px solid var(--line);max-height:none;overflow:visible}
.mobile-filter-modal .filter-group-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:0;background:transparent;color:#dfe5e1;text-align:left;padding:0;min-height:24px;cursor:pointer}
.mobile-filter-modal .filter-group-toggle>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em}
.mobile-filter-modal .filter-group-toggle i{font-style:normal;font-size:20px;line-height:1;transition:transform .2s}
.mobile-filter-modal .filter-group.collapsed .filter-group-toggle i{transform:rotate(180deg)}
.mobile-filter-modal .filter-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.mobile-filter-modal .filter-group.collapsed .filter-tags{display:none}
.mobile-filter-modal .filter-tags button{width:auto;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:12px;line-height:1.3;cursor:pointer}
.mobile-filter-modal .filter-tags button.selected{border-color:var(--accent);color:var(--accent);background:rgba(var(--rgb),.12)}
.mobile-filter-modal .mobile-filter-cancel,.mobile-filter-modal .mobile-filter-cancel:focus,.mobile-filter-modal .mobile-filter-cancel:focus-visible{border:0;outline:0;box-shadow:none;background:transparent;border-radius:0}
@media(max-width:650px){
 .catalog-v2 input,.catalog-v2 select,.catalog-v2 textarea,.world-search-form input{font-size:16px}
}

.mobile-filter-modal{--mobile-font-floor:12px}
.mobile-filter-modal .filter-group-toggle b{font-size:12px}

@media(max-width:650px){
 .mobile-filter-modal{height:75dvh;max-height:75dvh;padding-top:6px}
 .mobile-filter-modal .mobile-sheet-handle{margin-bottom:4px;height:3px}
 .mobile-filter-modal .mobile-filter-title{padding-bottom:4px}
 .mobile-filter-modal .mobile-filter-title .mobile-filter-reset{height:32px}
 .mobile-filter-modal #mobile-filter-groups{flex:1;min-height:0;padding-top:4px}
 .mobile-filter-modal .mobile-filter-actions{padding:6px 0 calc(6px + env(safe-area-inset-bottom));gap:12px}
 .mobile-filter-modal .mobile-filter-actions button{min-height:40px;padding:8px 12px}
}

/* The legacy page scope sets min-height:100vh; a sheet must not inherit it. */
dialog#mobile-filter-modal{min-height:0;min-width:0}
@media(max-width:650px){
 dialog#mobile-filter-modal{height:75dvh;max-height:75dvh;min-height:0}
}

@media(max-width:650px){
 .catalog-v2 .catalog-layout,.catalog-v2 .catalog-layout.filters-hidden{row-gap:24px}
 .catalog-v2 .footer-content{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left}
 .catalog-v2 .footer-brand{align-items:flex-start;justify-content:flex-start;text-align:left}
 .catalog-v2 .footer-brand .public-legal-links,.catalog-v2 .social-links{justify-content:flex-start;text-align:left}
}

/* Mobile legacy layout is block, so use spacing on the products themselves. */
@media(max-width:650px){
 .catalog-v2 .catalog-layout,.catalog-v2 .catalog-layout.filters-hidden{row-gap:0}
 .catalog-v2 .catalog-layout>#catalog-filters+.products-area{margin-top:24px}
}

/* Native Windows option popups need explicit foreground/background colors. */
.catalog-v2 .sort-box select{color-scheme:dark}
.catalog-v2 .sort-box select option{color:#edf3ef;background-color:#0c1410}
.catalog-v2 .banner-new h1{white-space:nowrap;font-size:clamp(36px,8vw,108px)}

/* Explicit brand typography instead of inherited system fonts. */
.catalog-header .catalog-main-nav button,.catalog-header .worldswitch,.catalog-header .world-menu-all{font-family:Inter,Arial,sans-serif;font-weight:700}
