/* Dynamic Yii2 integration layer. The visual foundation lives in the approved static styles. */
.dynamic-cover{background-image:var(--cover)!important;background-position:center;background-repeat:no-repeat;background-size:contain}
.blog-card__image.dynamic-cover,.article-cover.dynamic-cover{background-size:cover}
.blog-card__cover{display:block;width:100%;height:100%;object-fit:cover}
.blog-main .blog-card{overflow:hidden}.blog-main .blog-card>div{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.blog-main .blog-card h2{display:-webkit-box;flex:0 0 auto;margin:6px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}.blog-main .blog-card p{display:-webkit-box;margin:2px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}.blog-main .blog-card__more{display:none}
.product-card__photo{background-position:center;background-repeat:no-repeat;background-size:contain}
.cp-product-card h3 a,.blog-card h2 a,.blog-card h3 a{color:inherit;text-decoration:none}
.dynamic-price{margin:14px 0 4px;font-size:20px;font-weight:700;color:#ef3f23}
.cp-product-price{margin:0;color:#ef3f23;font-size:24px;font-weight:800}.cp-product-price-block{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:18px}.cp-product-price-label{color:#737981;font-size:12px;font-weight:700;text-transform:uppercase}.cp-product-price-note{max-width:470px;margin:2px 0 0;color:#737981;font-size:12px;line-height:1.45}.cp-product-price--request{color:#4d535a}
.cp-product-card__price-wrap{display:flex;max-width:190px;flex-direction:column;align-items:flex-end;gap:3px;margin-left:auto}.cp-product-card__price-wrap .cp-product-card__price{margin-left:0}.cp-product-card__price-label{color:#777d84;font-size:10px;font-weight:700;text-transform:uppercase}.cp-product-card__price-note{color:#777d84;font-size:9px;line-height:1.35;text-align:right}
.cp-button--compact{display:inline-flex;margin-top:14px;padding:11px 18px}
.cp-products-grid{display:flex;align-items:stretch;flex-wrap:wrap;gap:18px;margin:10px -12px -12px;padding:12px}.cp-products-grid>.cp-product-card{flex:0 1 calc((100% - 54px)/4)}
.cp-products-grid--three>.cp-product-card{flex-basis:calc((100% - 36px)/3)}
.cp-sidebar-group summary{gap:12px}.cp-sidebar-group summary>.cp-sidebar-label{display:flex;min-width:0;flex:1 1 auto;align-items:center;overflow:visible;line-height:1.3;white-space:normal}.cp-sidebar-group summary>.cp-sidebar-label.is-current{font-weight:800}.cp-sidebar-subnav strong{color:#191919}.cp-sidebar-subnav a:hover{color:#e97800;background:#fff}
.catalog-toolbar,.search-page-form{display:flex;align-items:flex-end;gap:16px;margin-bottom:28px}
.catalog-toolbar label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#53575f}
.catalog-toolbar select,.search-page-form input,.lead-form input,.lead-form textarea{width:100%;border:1px solid #d9dde3;border-radius:4px;background:#fff;padding:13px 14px;font:inherit;color:#17191c}
.search-page-form input{max-width:620px}
.lead-form{display:flex;flex:1 1 430px;max-width:620px;flex-wrap:wrap;gap:16px}
.lead-form>label{display:flex;flex:1 1 210px;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
.lead-form>label:has(textarea),.lead-form>.lead-form__consent{flex-basis:100%}
.lead-form textarea{resize:vertical;min-height:110px}
.lead-form__consent{flex-direction:row!important;align-items:flex-start;font-weight:400!important}
.lead-form__consent input{width:auto;margin-top:3px}
.lead-form__honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lead-form__status{flex-basis:100%;margin:0;min-height:22px}
.lead-form.is-success .lead-form__status{color:#15803d}.lead-form.is-error .lead-form__status{color:#b42318}
.request-panel{display:flex!important;align-items:flex-start;justify-content:space-between;gap:50px;padding:48px!important;border-radius:8px;background:#f2f4f6}
.request-panel>div:first-child{max-width:510px}
.product-spec-list{display:flex;flex-direction:column;margin:24px 0}
.product-spec-list div{display:flex;justify-content:space-between;gap:24px;padding:11px 0;border-bottom:1px solid #e4e6e9}
.product-spec-list dt{color:#656a72}.product-spec-list dd{margin:0;text-align:right;font-weight:600}
.product-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.cp-button--outline{background:transparent!important;border:1px solid currentColor!important;color:#202327!important}
.prose{font-size:17px;line-height:1.75;color:#33383f}.prose h2,.prose h3{margin-top:1.8em}.prose img{max-width:100%;height:auto}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.prose td,.prose th{padding:10px;border:1px solid #ddd}
.pagination{display:flex;flex-wrap:wrap;gap:7px;margin:36px 0 0;padding:0;list-style:none}.pagination li a,.pagination li span{display:flex;min-width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #d9dde3;border-radius:3px;color:#25282d;text-decoration:none}.pagination .active a{border-color:#ef3f23;background:#ef3f23;color:#fff}.pagination .disabled span{opacity:.45}
.empty-state{padding:56px 32px;border:1px solid #e5e7ea;border-radius:6px;text-align:center}.empty-state h2{margin-top:0}
.article-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;margin:30px 0;border-radius:6px;object-fit:cover}
.article-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:70px 0;padding:36px 40px;border-radius:6px;background:#20242a;color:#fff}.article-cta h2{margin:0 0 8px}.article-cta p{margin:0}
.error-page{padding-top:110px;padding-bottom:140px;text-align:center}.error-page__code{display:block;font-size:clamp(88px,16vw,220px);font-weight:800;line-height:.85;color:#ef3f23}.error-page div{display:flex;justify-content:center;gap:12px;margin-top:30px}
.cp-category-card__child{display:block;margin:7px 0;color:#5d626a;text-decoration:none}.cp-category-card__more{display:inline-flex;margin-top:16px;color:#ef3f23;font-weight:700;text-decoration:none}
.contact-row{height:auto;min-height:225px}.contact-row__map-wrap{position:relative;min-width:0;min-height:225px;flex:1 1 auto;overflow:hidden;border-radius:22px}.contact-row__map-wrap .contact-row__map{display:block;width:100%;height:100%;min-height:225px;border:0;border-radius:inherit}.contact-row__map-link{position:absolute;right:12px;bottom:12px;display:inline-flex;min-height:38px;align-items:center;padding:0 14px;border-radius:8px;color:#fff;background:#ff9113;font-size:13px;font-weight:700;box-shadow:0 6px 18px #0003}.contact-row__description{margin-top:8px;color:#5f646b;font-size:14px;line-height:20px}.contact-row__hours{padding-left:24px;color:#5f646b}.contact-row__social>span:first-child{display:inline-flex;width:16px;height:16px;flex:0 0 16px;justify-content:center;color:#ff9113;background-size:contain;font-weight:800}.contact-row__map-link:focus-visible{outline:3px solid #ff9113;outline-offset:3px}
@media(min-width:768px){.contact-row__map-wrap,.contact-row__map-wrap .contact-row__map{height:450px;min-height:450px}}
.contacts-request{margin:70px 0}.mw-main .lead-form{color:#202327}.mw-main .lead-form .cp-button{border:0}
.reviews-list{display:flex;flex-direction:column;gap:20px;margin:36px 0 80px}.review-card{padding:28px 32px;border:1px solid #e1e4e8;border-radius:6px;background:#fff}.review-card h2{margin:0 0 12px;font-size:22px}
.catalog-filters{margin-top:28px;padding-top:24px;border-top:1px solid #e1e4e8}.catalog-filters fieldset{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;padding:0;border:0}.catalog-filters legend{margin-bottom:10px;font-weight:700}.catalog-filters label{display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}.catalog-filters input{margin-top:3px}.catalog-filters__actions{display:flex;align-items:center;gap:14px}.catalog-filters__actions a{color:#656a72;font-size:14px}
.cp-filters{flex-wrap:wrap}.cp-filter{min-width:180px;flex:1 1 calc(33.333% - 12px)}
.rack-calculator-banner{display:flex;align-items:center;justify-content:space-between;gap:26px;margin:0 0 24px;padding:24px 28px;border-radius:14px;background:#202429;color:#fff}.rack-calculator-banner div{display:flex;min-width:0;flex-direction:column;gap:6px}.rack-calculator-banner strong{font-size:18px}.rack-calculator-banner span{color:#c6c9cd;font-size:14px}.rack-calculator-banner .cp-button{flex:0 0 auto}
@media(max-width:1100px){.cp-products-grid>.cp-product-card{flex-basis:calc((100% - 36px)/3)}.cp-products-grid--three>.cp-product-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:900px){.metalworking-page .mw-hero__inner{flex-direction:column;align-items:stretch}.metalworking-page .mw-hero__copy{max-width:none;flex-basis:auto}.metalworking-page .mw-hero__card{width:100%;max-width:none;flex-basis:auto}}
@media(max-width:767px){.cp-listing-main .cp-container,.cp-listing-layout,.cp-products-area,.cp-mobile-listing-controls,.catalog-toolbar,.catalog-toolbar label{width:calc(100vw - 48px);max-width:calc(100vw - 48px);min-width:0}.cp-mobile-select{width:calc(100% - 60px);flex:0 1 auto}.catalog-toolbar,.search-page-form,.request-panel,.article-cta{align-items:stretch;flex-direction:column}.catalog-toolbar select{max-width:100%;min-width:0}.request-panel{padding:28px 20px!important}.lead-form{width:100%}.product-spec-list div{gap:12px}.error-page div{flex-direction:column}.cp-products-grid{display:flex!important;width:calc(100vw - 24px);max-width:calc(100vw - 24px);min-width:0;flex-direction:column;margin-left:-12px;margin-right:-12px;padding:12px}.cp-products-grid>.cp-product-card,.cp-product-card{width:calc(100vw - 48px);max-width:calc(100vw - 48px);min-width:0;flex-basis:auto}.cp-product-card__image{max-width:100%}.contact-row__map-wrap{width:100%;height:336px;min-height:336px;flex:0 0 336px;border-radius:12px}.contact-row__map-wrap .contact-row__map{height:336px}.rack-calculator-banner{align-items:stretch;flex-direction:column;margin-bottom:18px;padding:22px 20px}.rack-calculator-banner .cp-button{width:100%}}
@media(max-width:767px){.metalworking-page .mw-section-head>div{width:100%;max-width:100%}.metalworking-page .mw-hero h1,.metalworking-page .mw-section-head h2{max-width:100%;overflow-wrap:anywhere;word-break:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dynamic-cover{transition:none!important}}

/* Consistent interaction feedback for clickable elements across the site. */
.article-cta__button {
  min-width: 218px;
  flex: 0 0 auto;
  gap: 14px;
  padding-inline: 26px;
  color: #fff;
  background: #ff9113;
  box-shadow: 0 14px 34px rgba(255, 145, 19, 0.25);
  font-weight: 800;
}

.article-cta__button:hover,
.article-cta__button:focus-visible {
  color: #fff;
  background: #e97800;
  box-shadow: 0 18px 42px rgba(255, 145, 19, 0.34);
}

.article-cta__arrow {
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.article-cta__button:hover .article-cta__arrow,
.article-cta__button:focus-visible .article-cta__arrow {
  transform: translateX(5px);
}

.btn,
.cp-button,
.content-btn,
.mw-button,
.shell-btn,
.contact-row__map-link,
.pagination a,
.cp-pagination a,
.content-pagination a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease,
    box-shadow 240ms ease, filter 200ms ease, transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.btn::after,
.cp-button::after,
.content-btn::after,
.mw-button::after,
.shell-btn::after,
.contact-row__map-link::after {
  position: absolute;
  top: -60%;
  bottom: -60%;
  left: -55%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.38), transparent);
  content: "";
  pointer-events: none;
  transform: translateX(-220%) skewX(-18deg);
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}

.btn:hover,
.cp-button:hover,
.content-btn:hover,
.mw-button:hover,
.shell-btn:hover,
.contact-row__map-link:hover,
.pagination a:hover,
.cp-pagination a:hover,
.content-pagination a:hover {
  filter: saturate(1.08) brightness(0.98);
  transform: translateY(-3px);
}

.btn:hover::after,
.cp-button:hover::after,
.content-btn:hover::after,
.mw-button:hover::after,
.shell-btn:hover::after,
.contact-row__map-link:hover::after {
  transform: translateX(560%) skewX(-18deg);
}

.btn:active,
.cp-button:active,
.content-btn:active,
.mw-button:active,
.shell-btn:active,
.contact-row__map-link:active,
.pagination a:active,
.cp-pagination a:active,
.content-pagination a:active {
  filter: none;
  transform: translateY(0) scale(0.98);
  transition-duration: 90ms;
}

.site-main-nav a,
.content-breadcrumbs a,
.cp-breadcrumbs a,
.contact-row__item a,
.site-contact-strip a,
.site-footer__contact-card a,
.site-footer__bottom a,
.site-footer__branch-socials a,
.article-copy a {
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: color 180ms ease, opacity 180ms ease, text-decoration-color 180ms ease;
}

.content-breadcrumbs a:hover,
.cp-breadcrumbs a:hover,
.contact-row__item a:hover,
.site-contact-strip a:hover,
.site-footer__contact-card a:hover,
.site-footer__bottom a:hover,
.site-footer__branch-socials a:hover,
.article-copy a:hover {
  color: #ff9113;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
}

.site-main-nav a {
  position: relative;
}

.site-main-nav a:not(.site-main-nav__metalworking)::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: #ff9113;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-main-nav a:not(.site-main-nav__metalworking):hover::after,
.site-main-nav a:not(.site-main-nav__metalworking):focus-visible::after,
.site-main-nav a:not(.site-main-nav__metalworking)[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

.blog-main .blog-card,
.cp-category-card {
  transition: border-color 240ms ease, box-shadow 240ms ease,
    transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-main .blog-card:hover,
.blog-main .blog-card:focus-within,
.cp-category-card:hover,
.cp-category-card:focus-visible {
  box-shadow: 0 18px 42px rgba(17, 17, 17, 0.14);
  transform: translateY(-6px);
}

.blog-card__cover {
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), filter 260ms ease;
}

.blog-card__image:hover .blog-card__cover,
.blog-card__image:focus-visible .blog-card__cover {
  filter: saturate(1.04);
  transform: scale(1.045);
}

.cp-product-card h2 a,
.cp-product-card h3 a,
.blog-main .blog-card h2 a,
.blog-main .blog-card h3 a {
  transition: color 180ms ease;
}

.cp-product-card h2 a:hover,
.cp-product-card h3 a:hover,
.blog-main .blog-card h2 a:hover,
.blog-main .blog-card h3 a:hover {
  color: #e97800;
}

.cp-back-link,
.content-back-link,
.cp-category-card__more {
  transition: color 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.cp-back-link:hover,
.content-back-link:hover {
  color: #e97800;
  transform: translateX(-4px);
}

.cp-category-card__more:hover {
  color: #e97800;
  transform: translateX(4px);
}

.site-footer__city-tabs button {
  transition: color 180ms ease, background-color 180ms ease, box-shadow 200ms ease,
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer__city-tabs button:hover {
  color: #ff9113;
  background: rgba(255, 145, 19, 0.1);
  transform: translateY(-2px);
}

:where(a, button, summary):focus-visible {
  outline: 3px solid rgba(255, 145, 19, 0.48);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .article-cta__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .cp-button,
  .content-btn,
  .mw-button,
  .shell-btn,
  .contact-row__map-link,
  .pagination a,
  .cp-pagination a,
  .content-pagination a,
  .site-main-nav a,
  .article-cta__arrow,
  .blog-main .blog-card,
  .cp-category-card,
  .blog-card__cover,
  .cp-product-card h2 a,
  .cp-product-card h3 a,
  .blog-main .blog-card h2 a,
  .blog-main .blog-card h3 a,
  .cp-back-link,
  .content-back-link,
  .cp-category-card__more,
  .site-footer__city-tabs button {
    transition: none !important;
  }

  .btn::after,
  .cp-button::after,
  .content-btn::after,
  .mw-button::after,
  .shell-btn::after,
  .contact-row__map-link::after {
    display: none;
  }
}
