/* KABOS Forge Industrial — PrestaShop 1.7.8.x */
:root {
  --kf-ink: #0b0d0e;
  --kf-graphite: #111416;
  --kf-steel: #1b2023;
  --kf-steel-2: #272d31;
  --kf-line: rgba(255,255,255,.11);
  --kf-muted: #a7adb0;
  --kf-paper: #f2f1ed;
  --kf-white: #fff;
  --kf-hot: #f36b21;
  --kf-hot-2: #ff9a3d;
  --kf-shadow: 0 22px 50px rgba(0,0,0,.22);
}

html { scroll-behavior: smooth; }
body { background: var(--kf-paper); color: #202427; font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--kf-hot); text-decoration: none; }
.kf-shell { width: min(1320px, calc(100% - 48px)); margin: 0 auto; }
.kf-eyebrow { color: var(--kf-hot); font-size: .78rem; font-weight: 800; letter-spacing: .19em; margin: 0 0 16px; text-transform: uppercase; }

/* Header */
#header { background: var(--kf-graphite); color: var(--kf-white); position: relative; z-index: 50; }
#header .header-nav { background: var(--kf-ink); border-bottom: 1px solid var(--kf-line); color: #c7cbcd; font-size: .78rem; max-height: none; }
#header .header-nav .container, #header .header-top .container { width: min(1320px, calc(100% - 48px)); max-width: none; }
#header .header-nav a { color: #c7cbcd; }
#header .header-nav a:hover { color: var(--kf-hot-2); }
#header .header-top { background: var(--kf-graphite); padding: 21px 0; }
#header .header-top a[data-depth="0"] { color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
#header .header-top a[data-depth="0"]:hover { color: var(--kf-hot); }
#header .logo { background: transparent; filter: invert(1) grayscale(1); max-height: 66px; mix-blend-mode: screen; object-fit: contain; width: auto; }
#header .top-menu a[data-depth="0"] { padding: 12px 14px; }
#header .menu > ul > li:first-child a[data-depth="0"] { padding-left: 0; }
#header .header-top .search-widgets, #header .header-top .search-widget { float: right; max-width: 310px; width: 31%; }
#header .search-widgets form input[type=text], #header .search-widget form input[type=text] { background: #090b0c; border: 1px solid #343a3e; border-radius: 0; color: #fff; height: 44px; padding: 10px 44px 10px 42px; width: 100%; }
#header .search-widgets form .material-icons.search, #header .search-widget form .material-icons.search { color: var(--kf-hot); left: 13px; position: absolute; top: 11px; }
#header .search-widgets form .material-icons.clear, #header .search-widget form .material-icons.clear { color: #aaa; right: 12px; top: 11px; }
#header .search-widgets form input[type=text]::placeholder, #header .search-widget form input[type=text]::placeholder { color: #858c90; opacity: 1; }
#header .search-widgets form input[type=text]:focus, #header .search-widget form input[type=text]:focus { border-color: var(--kf-hot); outline: none; }
#header .dropdown-menu { background: #171a1c; border: 1px solid #30363a; border-radius: 0; box-shadow: var(--kf-shadow); }
#header .dropdown-item { color: #e6e8e9; }
#header .dropdown-item:hover { background: #22272a; color: var(--kf-hot); }
#header .top-menu .popover.sub-menu { background: #15191b; border: 0; border-top: 3px solid var(--kf-hot); border-radius: 0; box-shadow: 0 20px 46px rgba(0,0,0,.42); color: #fff; padding: 22px 24px; }
#header .top-menu .popover.sub-menu a[data-depth="1"], #header .top-menu .popover.sub-menu a[data-depth="2"] { background: transparent; color: #d9dddf; font-size: .78rem; font-weight: 800; letter-spacing: .035em; padding: 8px 12px; }
#header .top-menu .popover.sub-menu a[data-depth="1"]:hover, #header .top-menu .popover.sub-menu a[data-depth="2"]:hover { background: #23282b; color: var(--kf-hot-2); }
#header .top-menu .popover.sub-menu .top-menu[data-depth="1"] { display: grid; gap: 4px 10px; grid-template-columns: repeat(4, minmax(175px, 1fr)); height: auto; }
#header .top-menu .popover.sub-menu .top-menu[data-depth="2"] { border-left: 2px solid #343a3e; margin: 5px 0 4px 12px; padding-left: 7px; }
#header.kf-header--scrolled .header-top { box-shadow: 0 8px 26px rgba(0,0,0,.22); }

/* Hero */
.page-index #wrapper { background: var(--kf-paper); padding-top: 0; }
.page-index #wrapper > .container { width: 100%; max-width: none; padding: 0; }
.page-index #content-wrapper { width: 100%; padding: 0; }
.kf-hero { background: var(--kf-ink); color: var(--kf-white); min-height: 650px; overflow: hidden; position: relative; }
.kf-hero::before { background: repeating-linear-gradient(117deg, transparent 0, transparent 42px, rgba(255,255,255,.018) 43px, transparent 44px); content: ""; inset: 0; position: absolute; }
.kf-hero::after { background: linear-gradient(90deg, var(--kf-ink) 0%, rgba(11,13,14,.93) 45%, rgba(11,13,14,.15) 78%); content: ""; inset: 0; position: absolute; }
.kf-hero__glow { background: radial-gradient(circle, rgba(255,124,39,.72) 0, rgba(243,107,33,.27) 26%, transparent 66%); filter: blur(16px); height: 700px; position: absolute; right: -70px; top: -40px; width: 760px; }
.kf-hero__inner { align-items: center; display: grid; grid-template-columns: 57% 43%; min-height: 650px; position: relative; z-index: 2; }
.kf-hero__copy { padding: 76px 0 70px; position: relative; z-index: 2; }
.kf-hero h1 { color: #fff; font-size: clamp(3.2rem, 6.4vw, 6.7rem); font-stretch: condensed; font-weight: 900; letter-spacing: -.055em; line-height: .91; margin: 0 0 26px; text-transform: uppercase; }
.kf-hero h1 span { color: var(--kf-hot); }
.kf-hero__lead { color: #c2c7c9; font-family: Arial, sans-serif; font-size: 1.05rem; line-height: 1.7; margin: 0 0 32px; max-width: 640px; }
.kf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.kf-button { align-items: center; border: 1px solid transparent; display: inline-flex; font-size: .86rem; font-weight: 800; justify-content: center; letter-spacing: .08em; min-height: 52px; padding: 0 24px; text-transform: uppercase; }
.kf-button--hot { background: var(--kf-hot); color: #fff; }
.kf-button--hot:hover { background: var(--kf-hot-2); color: #111; transform: translateY(-2px); }
.kf-button--hot span { font-size: 1.25rem; margin-left: 18px; }
.kf-button--ghost { border-color: rgba(255,255,255,.28); color: #fff; }
.kf-button--ghost:hover { border-color: var(--kf-hot); color: var(--kf-hot); }
.kf-proof { border-top: 1px solid var(--kf-line); display: flex; gap: 46px; list-style: none; margin: 54px 0 0; max-width: 610px; padding: 28px 0 0; }
.kf-proof li { display: flex; flex-direction: column; }
.kf-proof strong { color: #fff; font-size: 1.42rem; letter-spacing: .03em; }
.kf-proof span { color: #8f969a; font-family: Arial, sans-serif; font-size: .69rem; margin-top: 4px; text-transform: uppercase; }
.kf-hero__visual { height: 100%; min-height: 650px; position: relative; }
.kf-anvil { background: linear-gradient(155deg, #596167 0%, #181c1f 50%, #050606 100%); clip-path: polygon(1% 30%, 54% 22%, 78% 4%, 100% 6%, 93% 19%, 72% 34%, 68% 49%, 81% 59%, 74% 67%, 62% 64%, 57% 100%, 23% 100%, 29% 63%, 13% 57%); filter: drop-shadow(0 40px 35px rgba(0,0,0,.65)); height: 430px; position: absolute; right: -25px; top: 108px; transform: rotate(-5deg); width: 540px; }
.kf-anvil::before { background: linear-gradient(90deg, #f36b21, #ffbc6b, #f36b21); box-shadow: 0 0 22px #f36b21; content: ""; height: 7px; left: 9%; position: absolute; top: 27%; transform: rotate(-7deg); width: 69%; }
.kf-anvil::after { background: repeating-linear-gradient(100deg, transparent 0 21px, rgba(255,255,255,.08) 22px 23px); content: ""; inset: 0; }
.kf-stamp { border: 2px solid rgba(255,255,255,.22); bottom: 56px; color: rgba(255,255,255,.72); font-size: 1.8rem; font-weight: 900; letter-spacing: .18em; padding: 13px 17px 10px; position: absolute; right: 4px; text-align: center; transform: rotate(-3deg); }
.kf-stamp small { display: block; font-size: .48rem; letter-spacing: .2em; margin-top: 4px; }
.kf-spark { background: var(--kf-hot-2); border-radius: 100%; box-shadow: 0 0 12px var(--kf-hot); height: 4px; position: absolute; width: 4px; }
.kf-spark--1 { right: 54%; top: 24%; }.kf-spark--2 { right: 18%; top: 19%; }.kf-spark--3 { right: 40%; top: 12%; }

/* Categories */
.kf-categories { padding: 86px 0 92px; }
.kf-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 34px; }
.kf-section-heading h2, .kf-capabilities h2 { color: #121516; font-size: clamp(2.2rem, 4vw, 3.9rem); font-weight: 900; letter-spacing: -.045em; line-height: .96; margin: 0; text-transform: uppercase; }
.kf-section-heading > a, .kf-text-link { border-bottom: 2px solid var(--kf-hot); color: #1b1f21; font-size: .8rem; font-weight: 800; letter-spacing: .08em; padding-bottom: 8px; text-transform: uppercase; }
.kf-section-heading > a span, .kf-text-link span { color: var(--kf-hot); font-size: 1.1rem; margin-left: 12px; }
.kf-category-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); background: #d7d5d0; }
.kf-category-card { background: #fff; color: #171a1c; display: flex; flex-direction: column; min-height: 330px; overflow: hidden; padding: 28px; position: relative; }
.kf-category-card:hover { background: var(--kf-steel); color: #fff; transform: translateY(-6px); z-index: 2; box-shadow: var(--kf-shadow); }
.kf-category-card__index { color: #a7abad; font-size: .69rem; font-weight: 800; letter-spacing: .15em; }
.kf-category-card__icon { align-self: center; border: 10px solid #30363a; border-radius: 22%; box-shadow: inset 0 0 0 8px #c8cbcc, 9px 12px 0 rgba(0,0,0,.06); display: block; height: 88px; margin: 45px auto 41px; position: relative; transform: rotate(28deg); width: 88px; }
.kf-category-card__icon::before { border: 5px solid var(--kf-hot); border-radius: 18%; content: ""; inset: 18px; position: absolute; }
.kf-category-card--adapter .kf-category-card__icon { border-radius: 50%; height: 82px; width: 82px; }
.kf-category-card--bit .kf-category-card__icon { border: 0; border-radius: 0; box-shadow: none; background: linear-gradient(90deg, #30363a 0 25%, #727a7e 25% 70%, #30363a 70%); clip-path: polygon(34% 0, 66% 0, 84% 20%, 66% 100%, 34% 100%, 16% 20%); height: 102px; width: 62px; }
.kf-category-card--bit .kf-category-card__icon::before { display: none; }
.kf-category-card--wrench .kf-category-card__icon { border-width: 8px; border-radius: 50% 50% 15% 15%; height: 70px; width: 70px; }
.kf-category-card--wrench .kf-category-card__icon::after { background: #4c5357; content: ""; height: 85px; left: 26px; position: absolute; top: 57px; width: 9px; }
.kf-category-card strong { font-size: 1.16rem; font-weight: 900; letter-spacing: -.01em; text-transform: uppercase; }
.kf-category-card small { color: #7c8285; font-family: Arial, sans-serif; font-size: .75rem; margin-top: 7px; }
.kf-category-card:hover small { color: #aeb4b7; }
.kf-category-card i { bottom: 24px; color: var(--kf-hot); font-size: 1.25rem; font-style: normal; opacity: 0; position: absolute; right: 27px; transform: translateX(-8px); transition: .2s ease; }
.kf-category-card:hover i { opacity: 1; transform: translateX(0); }

/* Native home modules and products */
.kf-home-modules { margin: 0 auto; max-width: 1320px; padding: 0 24px 88px; }
.kf-home-modules .carousel { box-shadow: none; margin: 0 0 70px; }
.kf-home-modules .featured-products, .kf-home-modules .product-accessories, .kf-home-modules .products-section-title { margin-top: 0; }
.products-section-title, .featured-products h2, .product-accessories h2 { color: #131617; font-size: 2.25rem; font-weight: 900; letter-spacing: -.035em; margin-bottom: 32px; text-transform: uppercase; }
.kf-home-modules .products.row { align-items: stretch; display: flex; flex-wrap: wrap; margin-left: -10px; margin-right: -10px; }
.kf-home-modules .products.row > .product { display: flex; margin-bottom: 26px; padding-left: 10px; padding-right: 10px; }
.product-miniature { max-width: 100%; width: 100%; }
.product-miniature .thumbnail-container { background: #fff; box-shadow: none; box-sizing: border-box; height: 430px; margin: 0; max-width: 100%; overflow: hidden; position: relative; transition: box-shadow .25s ease, transform .25s ease; width: 100%; }
.product-miniature .thumbnail-container:hover { box-shadow: var(--kf-shadow); transform: none; }
.product-miniature .product-thumbnail { align-items: center; display: flex; height: 260px; justify-content: center; overflow: hidden; }
.product-miniature .product-thumbnail img { display: block; height: 250px; max-height: 100%; max-width: 100%; object-fit: contain; width: auto; }
.product-miniature .product-thumbnail img.kf-image-fallback { background: #e9e8e4; height: 260px; object-fit: cover; width: 100%; }
.product-miniature .product-description { background: #fff; bottom: 0; box-sizing: border-box; font-family: Arial, Helvetica, sans-serif; height: 170px; left: 0; padding: 17px 14px 12px; position: absolute; right: 0; width: 100%; }
.product-miniature .product-title { margin: 0 0 8px; min-height: 34px; overflow: hidden; }
.product-miniature .product-title a { color: #111416; display: block; font-size: .98rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.35; overflow-wrap: anywhere; text-rendering: optimizeLegibility; }
.product-miniature .product-price-and-shipping { color: #d95312; font-family: Arial, Helvetica, sans-serif; font-size: 1.16rem; font-weight: 900; letter-spacing: .01em; }
.product-miniature .highlighted-informations { display: none !important; }
.product-miniature .quick-view { display: none !important; }
.product-miniature .product-description form, .product-miniature .product-add-to-cart { align-items: flex-end; box-sizing: border-box; display: flex; justify-content: center; max-width: 100%; min-height: 56px; width: 100%; }
.product-miniature .product-description .btn { font-family: Arial, Helvetica, sans-serif; font-size: .76rem; font-weight: 800; letter-spacing: .025em; line-height: 1.2; max-width: 100%; white-space: normal; }
.product-miniature .product-description .add-to-cart { align-items: center !important; border-radius: 7px !important; display: inline-flex !important; gap: 8px; height: 42px !important; justify-content: center !important; line-height: 1.1 !important; margin: 8px auto 0 !important; min-width: 190px; padding: 8px 14px !important; text-align: center; white-space: nowrap; }
.product-miniature .product-description .add-to-cart .material-icons { flex: 0 0 auto; font-size: 21px; line-height: 1; margin: 0 !important; vertical-align: middle; }
.product-flags li.product-flag { background: var(--kf-hot); box-shadow: none; font-size: .67rem; letter-spacing: .08em; }
.btn-primary { background: var(--kf-hot); border-color: var(--kf-hot); border-radius: 0; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.btn-primary:hover, .btn-primary:focus { background: #d95613; border-color: #d95613; }

/* Manufacturing */
.kf-capabilities { background: var(--kf-graphite); color: #fff; padding: 90px 0; position: relative; }
.kf-capabilities::before { background: linear-gradient(90deg, var(--kf-hot) 0 26%, transparent 26%); content: ""; height: 4px; left: 0; position: absolute; top: 0; width: 100%; }
.kf-capabilities__grid { display: grid; gap: 9%; grid-template-columns: 42% 49%; }
.kf-capabilities h2 { color: #fff; margin-bottom: 25px; }
.kf-capabilities__grid > div:first-child > p:not(.kf-eyebrow) { color: #aeb4b7; font-family: Arial, sans-serif; line-height: 1.75; margin: 0 0 32px; max-width: 520px; }
.kf-capabilities .kf-text-link { color: #fff; display: inline-block; }
.kf-capabilities__steps { border-top: 1px solid var(--kf-line); }
.kf-capabilities__steps article { border-bottom: 1px solid var(--kf-line); display: grid; gap: 25px; grid-template-columns: 45px 1fr; padding: 25px 0; }
.kf-capabilities__steps article > span { color: var(--kf-hot); font-size: .72rem; font-weight: 900; letter-spacing: .12em; padding-top: 4px; }
.kf-capabilities__steps strong { color: #fff; font-size: 1.06rem; letter-spacing: .02em; text-transform: uppercase; }
.kf-capabilities__steps p { color: #899095; font-family: Arial, sans-serif; font-size: .82rem; margin: 6px 0 0; }

/* Inner pages */
#wrapper { background: var(--kf-paper); }
.breadcrumb { font-size: .72rem; padding-top: 22px; }
.breadcrumb li a { color: #6f7578; }
.page-header h1, #main h1, #main .h1 { color: #151819; font-weight: 900; letter-spacing: -.035em; text-transform: uppercase; }
.block-category { background: var(--kf-steel); border: 0; box-shadow: none; color: #fff; min-height: 180px; }
.block-category h1 { color: #fff !important; }
.block-category .block-category-inner #category-description p { color: #b8bdc0; }
#left-column .block-categories, #search_filters { background: #fff; box-shadow: none; }
#search_filters .facet .facet-title { font-weight: 900; text-transform: uppercase; }
.pagination .current a { color: var(--kf-hot); }
.card, .tabs, .product-information, .cart-summary { border-radius: 0; box-shadow: none; }
.product-price { color: var(--kf-hot); font-weight: 900; }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { border-bottom-color: var(--kf-hot); color: var(--kf-hot); }

/* Footer */
#footer { background: var(--kf-ink); color: #a9afb2; padding-top: 0; }
#footer .footer-container { background: var(--kf-ink); box-shadow: none; margin-top: 0; padding: 62px 0 35px; }
#footer .footer-container .h3, #footer .footer-container .h4, #footer .footer-container .h3 a { color: #fff; font-size: .85rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
#footer .footer-container li a { color: #959c9f; }
#footer .footer-container li a:hover { color: var(--kf-hot); }
#footer .block-contact { color: #959c9f; }
#footer .block-contact a { color: #fff; }
#footer .block_newsletter, #footer .block-social, #footer .ps-emailsubscription, #footer .ps-socialfollow, .footer-before .block_newsletter, .footer-before .block-social { display: none !important; }

/* Progressive reveal */
.kf-js .kf-category-card, .kf-js .kf-capabilities__steps article { opacity: 0; transform: translateY(16px); transition: opacity .45s ease, transform .45s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.kf-js .kf-category-card.is-visible, .kf-js .kf-capabilities__steps article.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 991px) {
  .kf-shell, #header .header-nav .container, #header .header-top .container { width: min(100% - 32px, 960px); }
  #header .header-top { padding: 14px 0; }
  .kf-hero, .kf-hero__inner { min-height: 570px; }
  .kf-hero__inner { grid-template-columns: 62% 38%; }
  .kf-anvil { opacity: .72; right: -230px; }
  .kf-category-grid { grid-template-columns: repeat(2, 1fr); }
  .kf-capabilities__grid { gap: 55px; grid-template-columns: 1fr; }
  #header .top-menu .popover.sub-menu .top-menu[data-depth="1"] { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
  .product-miniature .thumbnail-container { height: 420px; }
}

@media (max-width: 767px) {
  .kf-shell, #header .header-nav .container, #header .header-top .container { width: calc(100% - 28px); }
  #header .header-nav { background: var(--kf-ink); }
  #header .header-top { background: var(--kf-graphite); }
  #header .header-top .container > .row:first-of-type { align-items: center; }
  #header .header-top .search-widgets, #header .header-top .search-widget { float: none; max-width: none; width: 100%; }
  #header .logo { max-height: 50px; }
  .kf-hero { min-height: auto; }
  .kf-hero::after { background: linear-gradient(90deg, rgba(11,13,14,.98), rgba(11,13,14,.75)); }
  .kf-hero__inner { display: block; min-height: auto; }
  .kf-hero__copy { padding: 66px 0 54px; }
  .kf-hero h1 { font-size: clamp(2.7rem, 13vw, 4.4rem); }
  .kf-hero__lead { font-size: .94rem; }
  .kf-hero__visual { inset: 0; min-height: 0; opacity: .34; position: absolute; }
  .kf-anvil { right: -270px; top: 80px; }
  .kf-stamp { display: none; }
  .kf-proof { gap: 21px; justify-content: space-between; margin-top: 40px; }
  .kf-proof strong { font-size: 1.15rem; }
  .kf-proof span { font-size: .57rem; }
  .kf-categories { padding: 62px 0; }
  .kf-section-heading { align-items: flex-start; display: block; }
  .kf-section-heading > a { display: inline-block; margin-top: 22px; }
  .kf-category-grid { grid-template-columns: 1fr; }
  .kf-category-card { min-height: 250px; }
  .kf-category-card__icon { height: 64px; margin: 27px auto 29px; width: 64px; }
  .kf-category-card--bit .kf-category-card__icon { height: 75px; width: 46px; }
  .kf-capabilities { padding: 65px 0; }
  .products-section-title, .featured-products h2, .product-accessories h2 { font-size: 1.8rem; }
  #header .top-menu .popover.sub-menu { background: #15191b; border-top-width: 1px; box-shadow: none; padding: 8px 12px; }
  #header .top-menu .popover.sub-menu .top-menu[data-depth="1"] { display: block; }
  .kf-home-modules { padding-left: 14px; padding-right: 14px; }
  .kf-home-modules .products.row { margin-left: 0; margin-right: 0; }
  .kf-home-modules .products.row > .product { flex: 0 0 100%; max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; }
  .product-miniature .thumbnail-container { height: 430px; margin-left: auto; margin-right: auto; max-width: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
