/* Atom Prices — all categories page only */
.categories-page{background:var(--page-bg,#f4f6f1);color:var(--ink)}
.categories-page .categories-breadcrumbs{background:#fff;border-bottom:1px solid var(--line)}
.categories-page .categories-breadcrumbs .page-breadcrumbs{padding:16px 0}
.categories-page .categories-intro{background:#fff;padding:26px 0 30px;border-bottom:1px solid var(--line)}
.categories-page .categories-intro-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:48px;align-items:end}
.categories-page .categories-kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:8px}
.categories-page .categories-intro h1{font-size:clamp(40px,4.7vw,64px);line-height:.96;letter-spacing:-.055em;margin:0}
.categories-page .categories-intro p{font-size:14px;line-height:1.55;color:#666c63;margin:14px 0 0;max-width:700px}
.categories-page .category-directory-search{height:54px;border:1px solid #111;background:#fff;display:grid;grid-template-columns:1fr auto}
.categories-page .category-directory-search input{border:0;outline:0;min-width:0;padding:0 16px;font-size:14px;background:#fff}
.categories-page .category-directory-search button{border:0;background:#111;color:#fff;min-width:106px;padding:0 18px;font-weight:900}
.categories-page .category-directory-search button:hover{background:var(--green)}

.categories-page .department-jump-wrap{background:var(--yellow);border-bottom:1px solid rgba(0,0,0,.18)}
.categories-page .department-jump{display:flex;gap:7px;overflow-x:auto;padding:12px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain}
.categories-page .department-jump::-webkit-scrollbar{display:none}
.categories-page .department-jump a{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid rgba(0,0,0,.2);background:rgba(255,255,255,.55);display:inline-flex;align-items:center;font-size:11px;font-weight:900;white-space:nowrap}
.categories-page .department-jump a:hover{background:#111;color:#fff;border-color:#111}

.categories-page .departments-section{padding:34px 0 58px}
.categories-page .departments-list{display:grid;gap:12px}
.categories-page .department-block{display:grid;grid-template-columns:250px minmax(0,1fr);background:#fff;border:1px solid var(--line);scroll-margin-top:90px}
.categories-page .department-head{padding:22px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:190px}
.categories-page .department-number{font-size:11px;font-weight:950;letter-spacing:.11em;color:var(--green);text-transform:uppercase}
.categories-page .department-head h2{font-size:25px;line-height:1.02;letter-spacing:-.04em;margin:16px 0 8px}
.categories-page .department-head p{font-size:11px;line-height:1.45;color:#737970;margin:0}
.categories-page .department-head>a{margin-top:auto;font-size:11px;font-weight:950;color:var(--green);display:inline-flex;align-items:center;gap:7px}
.categories-page .department-head>a:hover{color:#111}
.categories-page .subcategory-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}
.categories-page .subcategory-link{min-height:54px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;font-weight:800;background:#fff;transition:background-color .15s ease,color .15s ease}
.categories-page .subcategory-link:nth-child(3n){border-right:0}
.categories-page .subcategory-link span{min-width:0}
.categories-page .subcategory-link b{font-size:14px;font-weight:800;color:#858b82}
.categories-page .subcategory-link:hover{background:var(--yellow);color:#111}
.categories-page .subcategory-link:hover b{color:#111}
.categories-page .department-block.is-hidden,.categories-page .subcategory-link.is-hidden{display:none!important}
.categories-page .categories-empty{display:none;background:#fff;border:1px solid var(--line);padding:50px 20px;text-align:center;font-weight:900}
.categories-page .categories-empty.show{display:block}
.categories-page .categories-empty p{margin:8px 0 0;font-size:12px;font-weight:600;color:#72786f}

.categories-page .categories-seo{background:#fff;border-top:1px solid var(--line);padding:42px 0}
.categories-page .categories-seo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}
.categories-page .categories-seo h2{font-size:clamp(30px,3vw,42px);line-height:1;letter-spacing:-.045em;margin:0}
.categories-page .categories-seo p{font-size:13px;line-height:1.6;color:#676d64;margin:0}

@media (max-width:1100px){
  .categories-page .department-block{grid-template-columns:210px minmax(0,1fr)}
  .categories-page .subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .categories-page .subcategory-link:nth-child(3n){border-right:1px solid var(--line)}
  .categories-page .subcategory-link:nth-child(2n){border-right:0}
}
@media (max-width:680px){
  .categories-page .categories-breadcrumbs .page-breadcrumbs{padding:11px 0}
  .categories-page .categories-intro{padding:20px 0 22px}
  .categories-page .categories-intro-row{grid-template-columns:1fr;gap:18px}
  .categories-page .categories-intro h1{font-size:38px}
  .categories-page .categories-intro p{font-size:13px;margin-top:10px}
  .categories-page .category-directory-search{height:48px}
  .categories-page .category-directory-search button{min-width:90px;padding:0 12px}
  .categories-page .department-jump{padding:9px 0}
  .categories-page .department-jump a{min-height:36px;padding:0 11px;font-size:10px}
  .categories-page .departments-section{padding:22px 0 42px}
  .categories-page .departments-list{gap:9px}
  .categories-page .department-block{grid-template-columns:1fr}
  .categories-page .department-head{min-height:0;padding:16px;border-right:0;border-bottom:1px solid var(--line)}
  .categories-page .department-head h2{font-size:22px;margin:9px 0 5px}
  .categories-page .department-head p{font-size:10px;max-width:310px}
  .categories-page .department-head>a{margin-top:12px}
  .categories-page .subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .categories-page .subcategory-link{min-height:48px;padding:0 11px;font-size:11px}
  .categories-page .categories-seo{padding:30px 0}
  .categories-page .categories-seo-grid{grid-template-columns:1fr;gap:14px}
  .categories-page .categories-seo h2{font-size:30px}
  .categories-page .categories-seo p{font-size:12px}
}
@media (max-width:390px){
  .categories-page .subcategory-links{grid-template-columns:1fr}
  .categories-page .subcategory-link{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .categories-page .subcategory-link:last-child{border-bottom:0!important}
}
/* v32 surgical fix: correct bottom rules for uneven category columns.
   Default: every item has a bottom rule. We remove it only from cells that
   physically touch the department block's outer bottom border. */
@media (min-width:1101px){
  .categories-page .subcategory-links:has(> .subcategory-link:last-child:nth-child(3n)) > .subcategory-link:nth-last-child(-n+3),
  .categories-page .subcategory-links:has(> .subcategory-link:last-child:nth-child(3n+2)) > .subcategory-link:nth-last-child(-n+2),
  .categories-page .subcategory-links:has(> .subcategory-link:last-child:nth-child(3n+1)) > .subcategory-link:last-child{
    border-bottom:0;
  }
}
@media (min-width:391px) and (max-width:1100px){
  .categories-page .subcategory-links:has(> .subcategory-link:last-child:nth-child(2n)) > .subcategory-link:nth-last-child(-n+2),
  .categories-page .subcategory-links:has(> .subcategory-link:last-child:nth-child(2n+1)) > .subcategory-link:last-child{
    border-bottom:0;
  }
}
