/* Scoped catalog controls; existing site navigation and product cards are reused. */
.phf-catalog{--phf-border:#ffffff24;--phf-muted:#aaa;color:#eee;font:var(--ph-type-spec);scroll-margin-top:105px}
.phf-catalog *{box-sizing:border-box}.phf-catalog a{text-decoration:none;color:inherit}.phf-catalog input,.phf-catalog select,.phf-catalog button{font:inherit;border-radius:0}
.phf-tabs{display:flex;gap:32px;border-bottom:1px solid var(--phf-border);margin-bottom:30px}.phf-tabs>a{display:block;padding:0 0 15px;font-size:var(--ph-ui-size);font-weight:var(--ph-ui-weight);color:#a8a8a8;border-bottom:3px solid transparent}.phf-tabs>a[aria-current]{color:#fff;border-color:#d90404}.phf-tabs>a:hover{color:#fff}
.phf-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:30px;align-items:start}.phf-sidebar{min-width:0;background:#111;border:1px solid var(--phf-border)}.phf-filter-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:20px;font:500 21px/1.2 var(--ph-font-display);text-transform:uppercase}.phf-filter-panel>summary::-webkit-details-marker{display:none}.phf-disclosure{display:none}.phf-filter-panel>summary small{font:var(--ph-type-caption);color:#aaa}.phf-filter-panel form{padding:0 20px 20px}
.phf-catalog .phf-label,.phf-catalog legend{font:var(--ph-type-label);letter-spacing:.07em;text-transform:uppercase;color:#ccc;display:block;margin:0 0 10px;padding:0}.phf-catalog fieldset{border:0;min-width:0;margin:0;padding:0}.phf-search,.phf-field,.phf-fieldset,.phf-categories{margin-bottom:22px!important}.phf-catalog input[type=search],.phf-catalog select{border:1px solid #ffffff30;background:#080808;color:#eee;padding:10px;width:100%;height:43px;min-width:0;outline:none}.phf-search>div{display:flex;position:relative}.phf-search input{padding-right:33px!important;font-size:var(--ph-control-size)!important}.phf-search button{position:absolute;right:0;top:0;bottom:0;width:33px;border:0;background:none;color:#ddd;font-size:23px;cursor:pointer}.phf-catalog input::placeholder{color:#909090}
.phf-catalog .phf-check{display:flex;align-items:flex-start;gap:10px;padding:6px 0;color:#bdbdbd;cursor:pointer;font-size:var(--ph-spec-size);line-height:var(--ph-spec-leading)}.phf-check input{appearance:auto;width:15px;height:15px;flex:none;accent-color:#d90404;margin:3px 0 0}.phf-check:has(input:checked){color:#fff}.phf-group-label{font-size:var(--ph-caption-size);color:#858585;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 4px}.phf-apply{padding-top:17px;border-top:1px solid var(--phf-border)}.phf-apply>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:43px;background:#d90404;color:#fff;border:0;font-size:var(--ph-ui-size);font-weight:var(--ph-ui-weight);padding:10px 12px;cursor:pointer}.phf-apply>a{display:block;text-align:center;color:#aaa;font-size:var(--ph-caption-size);padding:12px 0 0;text-decoration:underline;text-underline-offset:3px}
.phf-results{min-width:0}.phf-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;min-height:48px;border-bottom:1px solid var(--phf-border);padding-bottom:15px;margin-bottom:16px}.phf-scope{display:inline-flex;gap:3px;padding:3px;margin-right:auto;background:#111;border:1px solid var(--phf-border);border-radius:4px;max-width:100%}.phf-scope a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:6px 13px;font-size:var(--ph-ui-size);line-height:var(--ph-ui-leading);color:#a7a7a7;border:1px solid transparent;border-radius:2px;white-space:nowrap}.phf-scope a:hover{color:#fff;background:#1b1b1b}.phf-scope a[aria-current]{color:#fff;font-weight:600;background:#303030;border-color:#ffffff18;box-shadow:none}.phf-sort{display:flex;gap:8px;align-items:center;font-size:var(--ph-label-size)}.phf-sort label{color:#999}.phf-sort select{width:114px;height:37px;padding:6px 9px;font-size:var(--ph-control-size)}.phf-views{display:flex;border:1px solid var(--phf-border)}.phf-views a{width:35px;height:35px;display:grid;place-items:center;font-size:19px;color:#aaa}.phf-views a[aria-current]{color:#fff;background:#292929}
.phf-result-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.phf-result-meta p{margin:0;color:#ccc;font-size:var(--ph-caption-size)}.phf-result-meta strong{color:#fff;font-size:16px}.phf-result-meta p>span{color:#8f8f8f;margin-left:5px}.phf-loading{visibility:hidden;font-size:var(--ph-caption-size);color:#bbb}.phf-catalog[aria-busy=true] .phf-loading{visibility:visible}.phf-catalog[aria-busy=true] .ph-grid{opacity:.6}.phf-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}.phf-chip{padding:5px 9px;border:1px solid #ffffff35;background:#181818;font-size:var(--ph-ui-size);color:#ddd;display:flex;gap:10px;align-items:center}.phf-chip span{color:#aaa;font-size:17px;line-height:1}.phf-chip:hover{border-color:#ddd}.phf-guide-note{font-size:var(--ph-body-size);color:#aaa;margin:0 0 20px}.phf-empty{border:1px solid var(--phf-border);padding:45px 28px}.phf-empty h2{font:var(--ph-type-card-title);margin:0 0 10px;color:#fff}.phf-empty p{color:#aaa}.phf-empty a{color:#f28c8c;text-decoration:underline;text-underline-offset:4px}.phf-error{color:#ffb6b6;border:1px solid #b55454;padding:15px;margin-bottom:20px;font-size:var(--ph-caption-size)}.phf-error[hidden]{display:none}
.phf-pagination{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;margin:30px 0 5px}.phf-pagination>a,.phf-jump button{display:grid;place-items:center;min-width:37px;height:38px;background:#111;border:1px solid var(--phf-border);color:#ccc;font-size:var(--ph-ui-size)}.phf-pagination a[aria-current]{background:#d90404;border-color:#d90404;color:#fff}.phf-pagination>a:hover{border-color:#bbb}.phf-ellipsis{color:#999;padding:0 3px}.phf-jump{display:flex;gap:6px;align-items:center;margin-left:9px;font-size:var(--ph-label-size);color:#aaa}.phf-jump label{display:flex;align-items:center;gap:7px}.phf-jump input{width:49px;height:38px;padding:5px;border:1px solid var(--phf-border);background:#111;color:#eee}.phf-jump button{cursor:pointer;padding:0 9px}
.phf-catalog :is(a,button,input,select,summary):focus-visible{outline:2px solid #f8acac;outline-offset:3px}.phf-catalog .ph-card h3{font-size:var(--ph-card-title-size)}.phf-catalog .ph-card-meta{align-items:start}.phf-catalog .ph-part{white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:55%}.phf-series-badge{color:#c9c9c9;font-size:var(--ph-caption-size);letter-spacing:.05em;text-transform:uppercase}.phf-catalog .ph-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.phf-catalog .ph-grid.ph-list{grid-template-columns:1fr}.phf-catalog .ph-photo{height:165px}.phf-catalog .ph-list .ph-photo{height:100%}
@media(min-width:981px){.phf-filter-panel>summary{pointer-events:none}.phf-filter-panel:not([open])>form{display:block}}
@media(max-width:1100px) and (min-width:981px){.phf-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.phf-catalog .ph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.phf-layout{grid-template-columns:1fr;gap:22px}.phf-filter-panel>summary{cursor:pointer;padding:15px 18px;font:600 14px var(--ph-font-body);text-transform:none}.phf-disclosure{display:block}.phf-filter-panel[open] .phf-disclosure{transform:rotate(45deg)}.phf-filter-panel form{padding:4px 18px 18px}.phf-catalog .ph-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phf-catalog input[type=search],.phf-catalog select{font-size:var(--ph-control-size)}.phf-tabs{gap:26px;margin-bottom:24px}.phf-tabs>a{font-size:var(--ph-ui-size)}.phf-apply{position:sticky;bottom:0;background:#111;padding:15px 0 0}.phf-catalog{scroll-margin-top:90px}.phf-check{min-height:37px}}
@media(max-width:740px){.phf-catalog .ph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phf-toolbar{gap:12px}.phf-scope{flex-shrink:0}.phf-sort{margin-right:auto}.phf-catalog .ph-photo{height:155px}.phf-catalog .ph-card-body{padding:13px}.phf-catalog .ph-card h3{font-size:var(--ph-card-title-size)}.phf-catalog .ph-card-meta{gap:6px}}
@media(max-width:480px){.phf-catalog .ph-grid{grid-template-columns:1fr}.phf-catalog .ph-photo{height:190px}.phf-catalog .ph-list .ph-photo{height:135px}.phf-catalog .ph-card-body{padding:16px}.phf-catalog .ph-list .ph-card-body{padding:12px}.phf-tabs{gap:22px}.phf-tabs>a{font-size:var(--ph-ui-size)}.phf-result-meta p{font-size:var(--ph-caption-size)}.phf-result-meta p>span{margin-left:0}.phf-jump{margin:8px 0 0;justify-content:center;width:100%}.phf-catalog .ph-list .ph-card{grid-template-columns:86px minmax(0,1fr)}.phf-catalog .ph-list .ph-card h3{font-size:var(--ph-card-title-size)}.phf-catalog .ph-list .ph-part{display:none}}
@media(prefers-reduced-motion:reduce){.phf-catalog *{scroll-behavior:auto!important;transition:none!important}}

.phf-catalog :is(a,input,button,select){scroll-margin-top:110px}

/* Auto-apply needs no desktop submit button; preserve native GET fallback. */
@media(min-width:981px){.phf-enhanced .phf-apply>button{display:none}.phf-enhanced .phf-apply{padding-top:14px}.phf-enhanced .phf-apply>a{padding-top:0;text-align:left}}

/* Three page-scope choices wrap inside narrow viewports. */
.phf-scope{flex-wrap:wrap}.phf-scope a{flex:1 1 auto}

/* Keep the mobile control rows stable before/after the Manrope font arrives. */
@media(max-width:480px){
 .phf-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .phf-scope a:last-child{grid-column:1/-1}
 .phf-filter-panel>summary{line-height:20px}
}
/* Match the condensed heading's fallback width so font swap cannot add a line. */
@font-face{font-family:PH Oswald Fallback;src:local(Arial);size-adjust:75%;ascent-override:130%;descent-override:30%;line-gap-override:0%}
.ph-catalog-page .font-display{font-family:Oswald,"PH Oswald Fallback",sans-serif}
