/* Additive navigation styles. Preserve Retmay's existing palette, logo, and type. */
:root { --catalog-sidebar-width: 252px; }
.clearance-tree { margin-bottom:8px; }
.clearance-toggle { color:var(--color-primary); font-weight:700; }
.clearance-tree a.filter-leaf { text-decoration:none; }
.clearance-tree .clearance-subgroup > .filter-group-toggle { font-size:13px; }
.clearance-mode main > :not(.clearance-panel) { display:none !important; }
.clearance-mode .all-products.active { background:transparent; color:var(--color-text); border-color:var(--tile-border); }
.clearance-panel { padding:24px 32px 64px; }
.clearance-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--color-text-muted); }
.clearance-breadcrumbs a { color:inherit; }
.clearance-heading { margin:28px 0; }
.clearance-heading h1 { font-size:clamp(28px,3vw,36px); line-height:1.15; margin:12px 0; max-width:none; width:auto; text-wrap:wrap; }
.clearance-heading > p:last-child { color:var(--color-text-muted); font-size:15px; }
.clearance-status { margin-bottom:18px; font-size:13px; color:var(--color-text-muted); }
.clearance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.clearance-card { background:var(--color-surface); border:1px solid var(--tile-border-strong); border-radius:5px; overflow:hidden; display:flex; flex-direction:column; }
.clearance-image { display:flex; align-items:center; justify-content:center; height:195px; background:#fff; padding:20px; border-bottom:1px solid var(--tile-border); }
.clearance-image img { width:100%; height:100%; object-fit:contain; }
.clearance-card-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.clearance-type { font-size:12px; color:var(--color-primary); margin-bottom:8px; }
.clearance-card h2 { font-size:19px; line-height:1.35; margin:0 0 10px; }
.clearance-card h2 a { color:var(--color-text); text-decoration:none; }
.clearance-sku { font-size:12px; color:var(--color-text-muted); }
.clearance-price { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:18px; }
.clearance-price strong { font-size:22px; color:var(--color-primary); }
.clearance-price s { font-size:14px; color:var(--color-text-muted); }
.clearance-item-link { display:flex; justify-content:space-between; padding-top:16px; margin-top:16px; border-top:1px solid var(--tile-border); color:var(--color-primary); font-size:13px; font-weight:700; text-decoration:none; }
.clearance-empty { grid-column:1/-1; padding:36px 0; }
.clearance-empty h2 { font-size:24px; }
.clearance-empty .button { margin-top:20px; }
@media(max-width:1200px) { .clearance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .clearance-panel { padding:22px 20px 40px; } .clearance-grid { grid-template-columns:1fr; } }
.review-banner { min-height:34px; padding:7px 24px; background:#1f3039; color:#faf5e9; font:12px/1.5 'Satoshi',sans-serif; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.review-banner strong { color:#e4c7a7; letter-spacing:.1em; font-size:12px; margin-right:12px; }
.review-banner nav { display:flex; gap:20px; }
.review-banner a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.site-header .container { max-width:1440px; }
.site-header { position:relative; z-index:50; }
.catalog-search-strip { border-top:1px solid var(--tile-border); border-bottom:1px solid var(--tile-border-strong); background:var(--color-surface); }
.catalog-search-inner { display:flex; align-items:center; gap:24px; min-height:76px; padding-block:14px; }
.browse-toggle { width:228px; flex-shrink:0; display:flex; gap:12px; align-items:center; text-align:left; font-weight:700; font-size:15px; color:var(--color-text); border:0; background:transparent; padding:10px 0; cursor:pointer; }
.browse-icon { font-size:19px; color:var(--color-primary); }
.browse-chevron { display:block; margin-left:auto; font-size:20px; line-height:1; }
.header-product-search { display:flex; align-items:center; width:100%; max-width:860px; background:var(--color-bg); border:1px solid var(--color-border); border-radius:6px; padding:4px; gap:8px; }
.header-product-search:focus-within { outline:2px solid var(--color-primary); outline-offset:2px; }
.header-product-search input { width:100%; min-width:0; border:0; padding:7px 4px; background:transparent; box-shadow:none; outline:none; color:var(--color-text); font:15px/1.5 'Satoshi',sans-serif; }
.header-product-search input:focus { outline:none; box-shadow:none; }
.header-product-search .button { min-height:40px; padding:8px 24px; border-radius:4px; }
.search-symbol { width:15px; height:15px; border:1.7px solid var(--color-text-muted); border-radius:50%; position:relative; margin:0 10px 0 14px; flex-shrink:0; }
.search-symbol::after { content:''; width:7px; height:1.7px; background:var(--color-text-muted); position:absolute; right:-5px; bottom:-3px; transform:rotate(45deg); }
.search-strip-note { color:var(--color-text-muted); font-size:13px; white-space:nowrap; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.catalog-site-layout { display:grid; grid-template-columns:var(--catalog-sidebar-width) minmax(0,1fr); max-width:1488px; margin-inline:auto; min-height:70vh; }
.catalog-site-layout main { min-width:0; }
.catalog-sidebar { padding:28px 18px 24px 20px; border-right:1px solid var(--tile-border-strong); background:var(--color-surface); position:sticky; top:0; align-self:start; height:100vh; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.sidebar-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:12px; }
.all-products { width:100%; padding:11px 12px; display:flex; align-items:center; justify-content:space-between; border-radius:4px; font-size:14px; font-weight:700; background:transparent; border:1px solid var(--tile-border); color:var(--color-text); cursor:pointer; }
.all-products.active { background:var(--color-primary); color:#fff8ec; border-color:var(--color-primary); }
.filter-group { border-bottom:1px solid var(--tile-border); }
.filter-group-toggle { width:100%; min-height:43px; display:flex; align-items:center; gap:10px; border:0; padding:10px 8px; background:transparent; color:var(--color-text); text-align:left; font:500 14px/1.4 'Satoshi',sans-serif; cursor:pointer; }
.filter-group-toggle small, .filter-leaf small { margin-left:auto; font-size:12px; color:var(--color-text-muted); font-variant-numeric:tabular-nums; }
.filter-group-toggle:hover, .filter-leaf:hover { background:var(--tile-hover); }
.filter-group-toggle.has-selection { color:var(--color-primary); font-weight:700; }
.drill-arrow { width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); flex-shrink:0; margin-right:2px; transition:transform .16s; }
[aria-expanded="true"] > .drill-arrow { transform:rotate(45deg); }
.filter-children { border-left:1px solid var(--color-divider); margin:0 0 12px 11px; padding-left:9px; }
.filter-children[hidden] { display:none !important; }
.filter-leaf { display:flex; align-items:center; justify-content:space-between; gap:7px; width:100%; border:0; border-radius:3px; padding:8px 8px; background:transparent; color:var(--color-text); font:400 12px/1.5 'Satoshi',sans-serif; text-align:left; cursor:pointer; }
.filter-leaf.is-selected { background:var(--tile-hover); color:var(--color-primary); font-weight:700; box-shadow:inset 2px 0 var(--color-primary); }
.view-group { font-weight:700; color:var(--color-primary); }
.sidebar-help { margin:24px 8px 0; padding-top:20px; border-top:1px solid var(--tile-border-strong); font-size:12px; line-height:1.6; }
.sidebar-help p { margin:5px 0 10px; color:var(--color-text-muted); }
.sidebar-help a { color:var(--color-primary); font-weight:700; display:flex; justify-content:space-between; }
.sidebar-loading { font-size:13px; padding:14px 8px; }
.close-filters { display:block; flex-shrink:0; width:32px; height:40px; border:1px solid var(--tile-border-strong); border-radius:4px; background:transparent; color:var(--color-text); font-size:24px; cursor:pointer; }
.filters-backdrop { display:none; }
.primary-nav .nav-dropdown-toggle { gap:9px; }
.primary-nav .nav-dropdown:hover .nav-dropdown-toggle,
.primary-nav .nav-dropdown:focus-within .nav-dropdown-toggle,
.primary-nav > a:hover,
.primary-nav > button:hover { background:transparent; color:var(--color-text-muted); }
.primary-nav .nav-dropdown.is-open .nav-dropdown-toggle { color:var(--color-primary); }
.primary-nav .nav-dropdown .top-drilldown { display:none; }
.primary-nav .nav-dropdown.is-open .top-drilldown { display:block; }
.top-drilldown { position:absolute; top:100%; left:0; width:292px; max-width:calc(100vw - 32px); max-height:65vh; overflow:auto; padding:10px 12px; background:var(--color-surface); border:1px solid var(--tile-border-strong); border-radius:0 0 5px 5px; box-shadow:0 10px 24px #0002; z-index:80; }
.primary-nav .top-drilldown a { min-height:39px; display:flex; align-items:center; justify-content:space-between; gap:12px; white-space:normal; padding:9px 10px; border-left:1px solid var(--color-divider); border-bottom:1px solid var(--tile-border); font:500 13px/1.5 'Satoshi',sans-serif; color:var(--color-text); }
.primary-nav .top-drilldown a:hover { color:var(--color-primary); background:var(--tile-hover); }
.primary-nav .top-drilldown .leaf-arrow { color:var(--color-text-muted); flex-shrink:0; }
.primary-nav .nav-dropdown-toggle:focus-visible,
.browse-toggle:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
@media(min-width:901px) {
  .sidebar-collapsed .catalog-site-layout { grid-template-columns:minmax(0,1fr); }
  .sidebar-collapsed .catalog-sidebar { display:none; }
}
@media(min-width:981px) and (max-width:1200px) {
  .primary-nav > a, .primary-nav .nav-dropdown-toggle { padding-inline:8px; font-size:14px; }
}
@media(max-width:980px) {
  body.is-nav-open .site-header { backdrop-filter:none; }
  body.is-nav-open .header-actions { position:fixed; top:12px; right:16px; z-index:90; }
  body.is-nav-open .header-actions .theme-toggle { display:none; }
  body.is-nav-open .primary-nav { padding-top:60px; }
  body.is-nav-open .primary-nav .nav-dropdown { display:block; }
  body.is-nav-open .primary-nav .nav-dropdown-toggle { justify-content:flex-start; gap:12px; }
  body.is-nav-open .primary-nav .top-drilldown { position:static; width:auto; max-width:none; max-height:none; box-shadow:none; border:0; padding:0 0 8px 14px; background:transparent; }
  body.is-nav-open .primary-nav .top-drilldown a { min-height:42px; font-size:13px; }
}
.catalog-site-layout main > .section > .container { width:calc(100% - 64px); }
.catalog-site-layout .hero { padding-top:48px; padding-bottom:54px; }
.catalog-site-layout .hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr); gap:28px; }
.catalog-site-layout .hero h1 { font-size:clamp(36px,3.9vw,60px); line-height:1.06; max-width:13ch; }
.catalog-site-layout .hero-lede { font-size:17px; line-height:1.65; }
.catalog-site-layout .hero .eyebrow { font-size:11px; }
.catalog-site-layout .hero-actions { gap:8px; }
.catalog-site-layout .hero-actions .button { font-size:12px; padding-inline:14px; }
.catalog-site-layout .hero-panel { margin-top:0; }
.catalog-site-layout .hero-side { align-self:center; }
.catalog-site-layout .metric strong { font-size:32px; }
.catalog-site-layout .metric span { font-size:11px; }
.catalog-breadcrumbs { padding:22px 32px 0; display:flex; align-items:center; gap:9px; flex-wrap:wrap; font-size:12px; color:var(--color-text-muted); }
.catalog-breadcrumbs button { background:none; border:0; padding:0; color:var(--color-text-muted); cursor:pointer; }
.catalog-breadcrumbs button:hover { color:var(--color-primary); text-decoration:underline; }
.catalog-site-layout .rfq-hero { padding:25px 0 28px; background:none; }
.catalog-site-layout .rfq-hero-grid { display:block; }
.catalog-site-layout .rfq-hero h1 { font-size:40px; line-height:1.1; max-width:none; margin-bottom:12px; }
.catalog-site-layout .rfq-hero .eyebrow { font-size:11px; margin-bottom:10px; }
.catalog-site-layout .rfq-hero .hero-lede { max-width:680px; font-size:15px; }
.catalog-site-layout .rfq-hero-card, .catalog-site-layout .rfq-hero .hero-actions { display:none; }
.catalog-site-layout .rfq-builder { padding-top:0; }
.catalog-site-layout .rfq-layout { grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.catalog-site-layout .catalog-panel > .section-heading, .catalog-site-layout .category-index { display:none; }
.catalog-site-layout .rfq-search-form { padding:0; margin-bottom:16px; border:0; background:transparent; box-shadow:none; }
.catalog-site-layout .rfq-search-form > label, .catalog-site-layout .rfq-search-row, .catalog-site-layout .rfq-filter-row > button { display:none; }
.catalog-site-layout .rfq-filter-row { margin-top:0; }
.catalog-site-layout .rfq-filter-row label { font-size:12px; }
.catalog-site-layout .ticket-panel { position:static; padding:20px; }
.catalog-site-layout .ticket-header h2 { font-size:22px; }
.catalog-site-layout .ticket-header { flex-wrap:wrap; }
.catalog-site-layout .ticket-header > span { font-size:12px; }
.catalog-site-layout .product-results { grid-template-columns:1fr; }
.catalog-site-layout .rfq-status { font-size:13px; margin:0 0 18px; }
.catalog-site-layout .product-result { padding:18px; }
.active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:40px; margin-bottom:14px; font-size:13px; color:var(--color-text-muted); }
.filter-chip { padding:5px 9px; background:var(--tile-hover); border:1px solid var(--tile-border-strong); border-radius:4px; color:var(--color-text); display:flex; align-items:center; gap:9px; font-size:12px; }
.filter-chip button { background:none; border:0; color:inherit; padding:0 3px; font-size:19px; cursor:pointer; }
.clear-all-filters { background:none; border:0; color:var(--color-primary); text-decoration:underline; padding:7px; cursor:pointer; font-size:12px; }
.preview-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); max-width:620px; width:calc(100% - 40px); background:var(--color-industrial); color:#fff8ec; border:1px solid #847e73; box-shadow:0 8px 30px #0003; padding:16px 20px; border-radius:6px; z-index:150; opacity:0; visibility:hidden; font-size:14px; line-height:1.6; transition:.15s; }
.preview-toast.visible { opacity:1; visibility:visible; transform:translateX(-50%); }
.preview-map-note { padding:40px 20px; background:var(--color-surface); color:var(--color-text-muted); line-height:1.8; font-size:14px; }
.catalog-site-layout button:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; }
.brands-logo-grid { grid-template-columns:repeat(8,minmax(0,1fr)); min-width:0; }
.brands-more { min-width:0; }
.brands-menu, .services-menu { max-width:100vw; overflow-x:clip; }
.brands-menu > *, .services-menu > * { min-width:0; max-width:100%; }
[data-theme="dark"] .header-product-search .button,
[data-theme="dark"] .catalog-site-layout .button:not(.button-secondary),
[data-theme="dark"] .all-products.active { color:#fff8ec; background:#9e2d25; }
[data-theme="dark"] .site-header .utility-bar,
[data-theme="dark"] .site-header .utility-bar a,
[data-theme="dark"] .site-header .utility-bar p { color:#263841; }
@media(max-width:1200px) {
  .catalog-site-layout .vmi-grid { grid-template-columns:minmax(0,1fr); }
  .catalog-site-layout .vmi-cards { min-width:0; }
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .site-footer .policy-links { flex-wrap:wrap; min-width:0; }
  :root { --catalog-sidebar-width:230px; }
  .catalog-search-inner { gap:16px; }
  .browse-toggle { width:202px; }
  .search-strip-note { display:none; }
  .catalog-site-layout .hero-grid { grid-template-columns:1fr; }
  .catalog-site-layout .hero h1 { max-width:17ch; }
  .catalog-site-layout .hero-side { max-width:540px; }
  .catalog-site-layout .rfq-layout { grid-template-columns:minmax(0,1fr); }
  .catalog-site-layout .ticket-panel { max-width:none; }
}
@media(max-width:900px) {
  .review-banner { padding:7px 16px; }
  .review-banner > span { font-size:10px; }
  .review-banner nav { font-size:11px; gap:12px; }
  .review-banner strong { margin-right:5px; }
  .catalog-site-layout { display:block; }
  .catalog-search-inner { padding-block:12px; gap:14px; flex-wrap:wrap; }
  .browse-toggle { width:auto; pointer-events:auto; cursor:pointer; font-size:14px; padding:2px 0; }
  .browse-chevron { display:block; }
  .header-product-search { max-width:none; }
  .catalog-sidebar { display:none; position:fixed; top:0; bottom:0; left:0; width:min(340px,88vw); height:100dvh; z-index:110; padding-top:24px; box-shadow:5px 0 30px #0003; }
  .filters-open { overflow:hidden; }
  .filters-open .catalog-sidebar { display:block; }
  .filters-open .filters-backdrop { display:block; position:fixed; inset:0; background:#0006; border:0; z-index:100; }
  .close-filters { display:block; flex-shrink:0; border:1px solid var(--tile-border-strong); background:transparent; color:var(--color-text); border-radius:4px; width:38px; height:38px; font-size:25px; cursor:pointer; }
  .filter-group-toggle { min-height:46px; }
  .filter-leaf { min-height:42px; font-size:13px; }
  .catalog-site-layout main > .section > .container { width:calc(100% - 40px); }
  .catalog-site-layout .hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr); }
  .catalog-site-layout .hero h1 { font-size:42px; }
  .catalog-breadcrumbs { padding-inline:20px; }
}
@media(max-width:620px) {
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); }
  .review-banner { display:block; text-align:center; padding:7px 12px; }
  .review-banner nav { justify-content:center; margin-top:3px; }
  .catalog-search-inner { width:calc(100% - 32px); }
  .header-product-search input { font-size:16px; }
  .header-product-search input::placeholder { font-size:12px; }
  .header-product-search .button { padding-inline:14px; font-size:13px; }
  .search-symbol { margin-left:8px; margin-right:5px; }
  .catalog-site-layout .hero { padding-top:30px; padding-bottom:36px; }
  .catalog-site-layout .hero-grid { grid-template-columns:1fr; gap:32px; }
  .catalog-site-layout .hero h1 { font-size:41px; max-width:14ch; }
  .catalog-site-layout .hero-lede { font-size:16px; }
  .catalog-site-layout .hero .eyebrow { font-size:10px; }
  .catalog-site-layout .hero-actions .button { font-size:12px; }
  .catalog-site-layout .rfq-hero h1 { font-size:34px; }
  .catalog-site-layout .rfq-layout { gap:28px; }
  .catalog-site-layout .ticket-panel { padding:16px; }
  .catalog-site-layout .product-result { padding:14px; }
}
@media(prefers-reduced-motion:reduce) { .drill-arrow, .preview-toast { transition:none; } }

/* Restrained industrial accents: texture stays outside the reading surfaces. */
.site-header .utility-bar,
[data-theme="dark"] .site-header .utility-bar,
.site-footer,
[data-theme="dark"] .site-footer {
  background-color:#242729;
  background-image:linear-gradient(#161a1d99,#161a1db3),url("./assets/textures/diamond-plate.webp");
  background-size:auto,380px 380px;
  background-repeat:repeat;
  color:#f5f1e8;
  border-block:1px solid #858a8d;
  box-shadow:inset 0 1px 0 #ffffff18,inset 0 -1px 0 #0008;
}
.site-header .utility-bar a,
.site-header .utility-bar p,
[data-theme="dark"] .site-header .utility-bar a,
[data-theme="dark"] .site-header .utility-bar p,
.site-footer p,
.site-footer nav a { color:#f5f1e8; text-shadow:0 1px 2px #000; }
.site-footer { border-top:3px solid #8e2921; }
.site-footer .footer-brand .brand-logo img { filter:brightness(0) invert(1); }
.site-footer a:focus-visible { outline:2px solid #fff0cf; outline-offset:4px; }
.browse-toggle {
  padding:10px 12px;
  min-height:44px;
  border:1px solid #a6a7a2;
  border-radius:4px;
  color:#292b2b;
  background:
    repeating-linear-gradient(0deg,#ffffff10 0 1px,#00000003 1px 3px),
    linear-gradient(110deg,#e8e7e0,#f5f4ef 40%,#d9dad5 100%);
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #00000012,0 1px 2px #0000000c;
}
.browse-toggle .browse-icon { color:#952b23; }
[data-theme="dark"] .browse-toggle {
  color:#f5f1e8;
  border-color:#727778;
  background:
    repeating-linear-gradient(0deg,#ffffff07 0 1px,#00000006 1px 3px),
    linear-gradient(110deg,#363b3e,#4a5053 40%,#303538);
  box-shadow:inset 0 1px 0 #ffffff20,inset 0 -1px 0 #0005;
}
[data-theme="dark"] .browse-toggle .browse-icon { color:#f1aaa0; }
@media(max-width:900px) {
  .browse-toggle { padding:8px 12px; min-height:42px; }
}
/* One compact arrow treatment across every primary navigation item. */
.primary-nav > a,
.primary-nav .nav-dropdown-toggle,
body.is-nav-open .primary-nav > a,
body.is-nav-open .primary-nav .nav-dropdown-toggle {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
}
.primary-nav > a > .drill-arrow,
.primary-nav .nav-dropdown-toggle > .drill-arrow { margin-right:0; width:5px; height:5px; }

/* Shared column geometry for the logo, browse control, and category sidebar. */
@media(min-width:901px) {
  .site-header .header-main,
  .site-header .catalog-search-inner {
    width:100%;
    max-width:1488px;
    padding-inline:20px;
    display:grid;
    grid-template-columns:calc(var(--catalog-sidebar-width) - 40px) minmax(0,1fr) auto;
    column-gap:52px;
  }
  .site-header .header-main > .brand { min-width:0; }
  .site-header .header-main .brand-logo { width:100%; max-width:198px; justify-items:start; }
  .site-header .header-main .brand-logo img { width:100%; object-position:left center; }
  .site-header .header-actions { justify-self:end; }
  .site-header .catalog-search-inner .browse-toggle { width:100%; }
  .site-header .header-product-search { max-width:none; }
  .site-header .utility-inner { width:100%; max-width:1488px; padding-inline:20px; }
}
@media(min-width:901px) and (max-width:1200px) {
  .site-header .catalog-search-inner { grid-template-columns:calc(var(--catalog-sidebar-width) - 40px) minmax(0,1fr); }
}
@media(min-width:901px) and (max-width:980px) {
  .site-header .header-main { grid-template-columns:calc(var(--catalog-sidebar-width) - 40px) minmax(0,1fr); }
}
@media(max-width:900px) {
  .site-header .header-main,
  .site-header .catalog-search-inner,
  .site-header .utility-inner { width:calc(100% - 32px); }
  .site-header .header-main .brand-logo { justify-items:start; }
  .site-header .header-main .brand-logo img { width:100%; object-position:left center; }
  .catalog-sidebar { padding-inline:16px; }
}
