/* KDHI customer content: preserve the existing palette and template components. */
.site-header .navbar-header .navbar-brand{height:88px;padding:8px 0;display:flex;align-items:center}
.site-header .navbar-brand img{display:block;width:auto;max-width:76px;height:70px;object-fit:contain}
.hero-slider .slide-inner{position:relative;min-height:580px}
.hero-slider .slide-inner picture{display:block}
.hero-slider .slide-inner picture img{height:clamp(580px,46vw,700px);min-height:580px;object-fit:cover}

.hero-slider .slide-inner .container{z-index:2}
.hero-slider .slide-title{max-width:760px}
.hero-slider .slide-title .carousel-title{font-size:clamp(34px,4vw,60px);line-height:1.13;margin:0 0 22px;overflow-wrap:break-word}
.hero-slider .slide-text{max-width:640px}
.hero-slider .slide-text p{color:#fff;font-size:19px;line-height:1.6}
.top-carousel-bg{position:relative;background-position:center;isolation:isolate}
.top-carousel-title{overflow-wrap:break-word;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.team-section .team-grids .img-holder img{width:100%;aspect-ratio:16/9;object-fit:cover}
.portfolio-sigle-section .project-title{overflow-wrap:break-word}
.product-row-li table,.project-details table{display:block;max-width:100%;overflow-x:auto}
.product-row-li img,.project-details img{max-width:100%;height:auto}
.details-download li{min-width:0;flex-wrap:wrap;gap:14px}
.details-download li>span{overflow-wrap:anywhere}
.cta-section .video{width:100%}
.cta-section .cta-details{width:100%}
.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
.mobile-bottom-nav .nav-item{flex:1;min-width:0}
.wpcf7 .wpcf7-form-control{max-width:100%;box-sizing:border-box}
.wpcf7 .wpcf7-form-control.wpcf7-submit{min-height:44px}
@media(max-width:1399px) and (min-width:992px){.site-header.header-style-1 :is(#navbar,#navbar-sticky)>ul>li>a,.site-header.header-style-2 :is(#navbar,#navbar-sticky)>ul>li>a{padding-left:7px;padding-right:7px;font-size:clamp(11px,1.05vw,14px);white-space:nowrap}}
@media(max-width:991px){.site-header .navbar-header .navbar-brand{height:76px}.site-header .navbar-brand img{height:60px;max-width:55px}.hero-slider .slide-inner,.hero-slider .slide-inner picture img{min-height:570px;height:570px}.hero-slider .slide-title{max-width:680px}.hero-slider .slide-inner .container{padding-left:50px;padding-right:50px}.hero-slider .slide-text{max-width:600px}}
@media(max-width:767px){.hero-slider .slide-inner,.hero-slider .slide-inner picture img{min-height:570px;height:570px}.hero-slider .slide-inner .container{padding:20px 30px}.hero-slider .slide-title .carousel-title{font-size:34px;line-height:1.15}.hero-slider .slide-text p{font-size:16px}.hero-slider .slide-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.hero-slider .slide-btns>a{margin:0!important;padding:12px 18px}.hero-slider .swiper-button-prev,.hero-slider .swiper-button-next{display:none}.top-carousel-title{font-size:36px!important;line-height:1.15!important}.top-carousel .p{font-size:16px;line-height:1.6}.section-title h2,.section-title-s3 h2{font-size:32px;line-height:1.2}.project-title{font-size:32px!important}.site-footer .upper-footer{padding-bottom:20px}.details-download li{display:flex}.details-download li>span{width:100%}.sidebar-icons{display:none!important}}
@media(prefers-reduced-motion:reduce){.odometer *,.swiper-wrapper{transition-duration:.01ms!important}}

/* Keep technical content readable on narrow screens and show complete certificates. */
.product-details-row .gallery-filters ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.product-details-row .gallery-filters ul li{margin:0!important;max-width:100%}
.product-details-row .gallery-filters h2{font-size:22px;line-height:1.4;overflow-wrap:break-word}
.details-content,.project-details,.details-description-text{overflow-wrap:break-word}
.details-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.portfolio-sigle-section .prev-next-project{display:flex;flex-wrap:wrap;gap:24px}
.portfolio-sigle-section .prev-next-project>div{min-width:0;flex:1 1 240px;overflow-wrap:break-word}
.breadcumb-section li{max-width:100%;overflow-wrap:anywhere}
.top-carousel-text .p{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.site-footer .kdhi-enquiry-contact p{color:#d4d7dc}
.kdhi-enquiry-contact{padding:18px 0}
.site-header button:focus-visible,.site-header a:focus-visible,.gallery-filters h2:focus-visible{outline:3px solid #ff7b45;outline-offset:4px}
@media(max-width:767px){
 .product-details-row .gallery-filters h2{font-size:18px}
 .product-details-row .gallery-filters ul{gap:8px 16px}
 .details-download li>span{margin:0;width:100%}
 .portfolio-sigle-section .prev-next-project>div{flex-basis:100%}
 .fun-fact-section .info p{overflow-wrap:break-word}
 .fun-fact-section .info h3{font-size:30px}
 .site-header .navigation .navbar-nav>li>a{overflow-wrap:break-word}
 .hero-slider .slide-title .carousel-title{font-size:clamp(28px,8vw,34px)}
}


/* Uniform media system v2 — 2026-10-26 */
/* Keep section backgrounds stable regardless of the source bitmap dimensions. */
:is(.hero-slider .slide-bg-image,.top-carousel-bg,.page-title,.services-section[style*="background-image"],.about-history[style*="background-image"]){
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
}

/* Every listing card owns its media ratio; the uploaded file can no longer change card height. */
:is(
  .product-list .gallery-container,
  .product-section .testimonial-grids,
  .case-section .service-grids,
  .services-section .service-grids,
  .services-section-s2 .service-grids,
  .solution-section .team-grids,
  .search-section .team-grids,
  .blog-section .blog-grids
) > .grid :is(.img-holder,.entry-media,.icon,.client-pic>a,.client-pic-img){
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f4f6f8;
}

:is(
  .product-list .gallery-container,
  .product-section .testimonial-grids,
  .case-section .service-grids,
  .services-section .service-grids,
  .services-section-s2 .service-grids,
  .solution-section .team-grids,
  .search-section .team-grids,
  .blog-section .blog-grids
) > .grid :is(.img-holder,.entry-media,.icon,.client-pic>a,.client-pic-img) > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none;
  max-height:none;
  object-position:center center;
  object-fit:cover;
}

/* List thumbnails fill the same landscape frame; detail galleries retain contain. */
:is(.product-list,.index-product,.product-section) :is(.img-holder,.client-pic>a) > img{
  object-fit:cover!important;
  background:#fff;
}

/* Standalone content images must never stretch. */
:is(.details-description-img,.project-details,.product-row-li,.contact-section .img-holder,.about-image) > img,
:is(.details-description-img,.project-details,.product-row-li) img{
  display:block;
  max-width:100%;
  height:auto!important;
  object-fit:contain!important;
}

/* Feature images have their own layout. Rich-text images retain editor widths. */
.details-description-img img,
.contact-section .img-holder > img,
.about-image > img {
  width:100%;
}

/* Contact/about feature media use a predictable landscape frame without distortion. */
.contact-section .img-holder,
.about-us-section-s2 .about-image{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#f4f6f8;
}
.contact-section .img-holder>img,
.about-us-section-s2 .about-image>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center;
}

@media(max-width:600px){
  :is(
    .product-list .gallery-container,
    .product-section .testimonial-grids,
    .case-section .service-grids,
    .services-section .service-grids,
    .services-section-s2 .service-grids,
    .solution-section .team-grids,
    .search-section .team-grids,
    .blog-section .blog-grids
  ) > .grid :is(.img-holder,.entry-media,.icon,.client-pic>a,.client-pic-img){
    aspect-ratio:16/9;
  }
}

/* Inner-page banner edge fix v3 — 2026-10-26 */
.top-carousel{
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
  background:#020d26;
}
.top-carousel-bg{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin:0;
  background-color:#020d26;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:767px){
  .top-carousel-bg{
    min-height:300px;
    background-position:center center!important;
  }
}

/* Home hero true full-bleed fix v4 — 2026-10-26 */
.hero-slider .slide-inner{
  position:relative;
  overflow:hidden;
  width:100%;
  background:#020d26;
}
.hero-slider .slide-inner>picture{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  overflow:hidden;
}
.hero-slider .slide-inner>picture>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.hero-slider .slide-inner>.container{
  position:relative;
  z-index:2;
}


/* Home hero background-layer fix v5 — 2026-10-26 */
.hero-slider .slide-inner{
  background-image:var(--hero-desktop-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-slider .slide-inner>picture{
  display:none!important;
}
@media(max-width:768px){
  .hero-slider .slide-inner{
    background-image:var(--hero-mobile-image)!important;
  }
}

/* Crop source-image side mattes on desktop hero v6 — 2026-10-26 */
@media(min-width:769px){
  .hero-slider .slide-inner{
    background-size:133.333% auto!important;
    background-position:center center!important;
  }
}
@media(max-width:768px){
  .hero-slider .slide-inner{
    background-size:cover!important;
  }
}


/* Collection media and layout — 2026-10-26 */
:is(
 .index-product .inner>.img-holder,
 .product-list .inner>.img-holder,
 .product-section .client-pic>a,
 .services-section .service-grids>.grid>.icon,
 .services-section-s2 .service-grids>.grid>.img-holder,
 .team-section:not(.certificates-section) .team-grids .img-holder,
 .blog-section .blog-grids .entry-media,
 .blog-pg-section .blog-content>.post>.entry-media,
 .index-service-img .swiper-slide>a,
 .service-section .client-pic-img
){
 display:block!important;
 position:relative!important;
 box-sizing:content-box!important;
 width:100%!important;
 height:0!important;
 min-height:0!important;
 max-height:none!important;
 padding:56.25% 0 0!important;
 margin:0!important;
 aspect-ratio:auto!important;
 overflow:hidden!important;
 flex:0 0 auto!important;
 background:#f4f6f8;
}
:is(
 .index-product .inner>.img-holder,
 .product-list .inner>.img-holder,
 .product-section .client-pic>a,
 .services-section .service-grids>.grid>.icon,
 .services-section-s2 .service-grids>.grid>.img-holder,
 .team-section:not(.certificates-section) .team-grids .img-holder,
 .blog-section .blog-grids .entry-media,
 .blog-pg-section .blog-content>.post>.entry-media,
 .index-service-img .swiper-slide>a,
 .service-section .client-pic-img
)>img{
 position:absolute!important;
 inset:0!important;
 display:block!important;
 width:100%!important;
 height:100%!important;
 min-width:0!important;
 min-height:0!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 object-fit:cover!important;
 object-position:center!important;
 aspect-ratio:auto!important;
}
.index-product .swiper-wrapper{align-items:stretch}
.index-product .swiper-slide{height:auto}
.index-product .swiper-slide>.inner{height:100%;width:100%;min-width:0}
.index-product .owl-nav:has(.swiper-button-lock){display:none}
.index-product .owl-nav .swiper-button-disabled{opacity:.35;pointer-events:none}
.index-product .inner .details{width:100%;box-sizing:border-box}


/* Keep hero copy centered within the banner after moving media out of document flow. */
.hero-slider .slide-inner{height:clamp(580px,46vw,700px)}
.hero-slider .slide-inner>.container{
 position:absolute;
 top:50%;
 left:50%;
 transform:translate(-50%,-50%);
 width:calc(100% - 30px);
 max-width:1360px;
 margin:0;
 z-index:2;
}
@media(max-width:991px){
 .hero-slider .slide-inner{height:570px}
 .hero-slider .slide-inner>.container{width:100%}
}


/* Article body typography and uncropped technical figures — 2026-10-26 */
#text-content.kdhi-article{
 color:#445066;font-size:17px;line-height:1.85;overflow-wrap:anywhere;
}
#text-content.kdhi-article>p{margin:0 0 1.35em;color:inherit;line-height:inherit}
#text-content.kdhi-article .kdhi-article-lead{font-size:19px;line-height:1.75;color:#24354c}
#text-content.kdhi-article h2{font-size:28px;line-height:1.3;margin:1.8em 0 .7em;scroll-margin-top:130px}
#text-content.kdhi-article h3{font-size:22px;line-height:1.4;margin:1.5em 0 .65em;scroll-margin-top:130px}
#text-content.kdhi-article ul,#text-content.kdhi-article ol{padding-left:1.5em;margin:0 0 1.5em}
#text-content.kdhi-article li{margin:0 0 .55em}
#text-content.kdhi-article a{color:#b53c00;text-decoration:underline;text-underline-offset:3px}
#text-content.kdhi-article .kdhi-article-figure{display:block;max-width:100%;margin:30px 0;padding:0}
#text-content.kdhi-article .kdhi-article-figure img{
 display:block;height:auto!important;max-width:100%;max-height:none;object-fit:contain;position:static;
}
#text-content.kdhi-article .kdhi-article-figure figcaption{
 display:block;padding:12px 16px;margin:0;background:#f4f6f8;color:#596579;font-size:14px;line-height:1.6;
}
#text-content.kdhi-article .kdhi-article-table{width:100%;overflow-x:auto;margin:25px 0;-webkit-overflow-scrolling:touch}
#text-content.kdhi-article table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;text-align:left}
#text-content.kdhi-article th,#text-content.kdhi-article td{border:1px solid #dce3eb;padding:14px;text-align:left;vertical-align:top}
#text-content.kdhi-article thead{background:#13243d;color:#fff}
#text-content.kdhi-article .kdhi-article-resource{margin:32px 0;padding:22px 24px;background:#f4f6f8;border-left:4px solid var(--theme-color)}
#text-content.kdhi-article .kdhi-article-resource p{margin:10px 0 0}
#text-content.kdhi-article .kdhi-article-reference{font-size:14px}
@media(max-width:767px){
 #text-content.kdhi-article{font-size:16px;line-height:1.8}
 #text-content.kdhi-article .kdhi-article-lead{font-size:18px}
 #text-content.kdhi-article h2{font-size:24px;margin-top:1.5em}
 #text-content.kdhi-article h3{font-size:20px}
 #text-content.kdhi-article .kdhi-article-figure{margin:24px 0}
 #text-content.kdhi-article .kdhi-article-resource{padding:18px}
}


/* Template video opens in the existing Fancybox lightbox, never inline. */
.kdhi-popup-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}

/* Match the source certificate aspect without cropping the document. */
.certificates-section .img-holder img{width:100%;height:auto;aspect-ratio:310/438;object-fit:contain;background:#fff}

/* Restore the template's image-to-heading spacing on blog archives. */
.blog-pg-section .blog-content>.post>.entry-media{margin-bottom:30px!important}
@media(max-width:768px){
 .blog-pg-section .blog-content>.post>.entry-media{margin-bottom:25px!important}
}
/* Full-width service rows allow the native Bootstrap container to center. */
.service-section.testimonials-section-s2 .testimonial-grids{display:block}
.service-section.testimonials-section-s2 .testimonial-grids>.grid{width:100%;min-width:0}

/* Detail photos use a 4:3 picture centered in a 16:9 white canvas; reveal the picture at the column width. */
:is(.kdhi-detail-content,.project-details,#text-content.kdhi-article,.product-details) img[src*="-20261020"]:not([src*="presentation-slide"]):not(:where(#product-gallery img)){
 display:block;max-width:100%!important;height:auto!important;
 aspect-ratio:4/3;object-fit:cover!important;object-position:center;
}

.product-details img[src*="-20261020"]:not([src*="presentation-slide"], .kdhi-detail-content img, .project-details img, .product-row-li img, #text-content.kdhi-article img):not(:where(#product-gallery img)) {
 width:100%!important;
}

/* Homepage about feature follows the template's equal-height image and copy columns. */
@media (min-width: 992px){
 .about-us-section-s2>.container>.row{display:flex;align-items:stretch}
 .about-us-section-s2>.container>.row>.col{float:none}
 .about-us-section-s2 .about-image{height:100%;aspect-ratio:auto;min-height:100%}
 .about-us-section-s2 .about-image>img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center}
}

/* Targeted display corrections for the original homepage and About layout. */
.cta-section{background-position:center 67%!important}
.cta-section:before{background-color:rgba(2,13,38,.43)!important}
.about-history::before{background:rgba(2,13,38,.58)!important;z-index:0}
.about-history>.container,.about-history>.about-history-bottom{position:relative;z-index:1}
@media(min-width:992px){
 .services-section[style*="background-image"]{background-size:138% auto!important;background-position:center center!important}
}
.index-product-ul{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0}
.index-product .inner>.img-holder>img[src*="kdhi-low-noise-idler-card.jpg"],
.product-list .inner>.img-holder>img[src*="kdhi-low-noise-idler-card.jpg"]{object-fit:contain!important;background:#fff}
.certificates-section .certificates-pagination{position:relative;inset:auto;margin:24px auto 0;text-align:center}
.certificates-section .certificates-pagination .swiper-pagination-bullet-active{background:var(--theme-color)}

/* Product card images use uniform 1600x900 assets; keep the image inside its 16:9 frame at rest and on hover. */
.index-product .inner>.img-holder>img,
.product-list .inner>.img-holder>img{
 inset:0!important;left:0!important;top:0!important;
 width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center!important;
 transform:none!important;
}
.index-product .inner>.img-holder:hover>img,
.product-list .inner>.img-holder:hover>img{transform:none!important}

/* Keep the source template's compact product-card height on wide screens without cropping images. */
@media(min-width:1024px){
 html body .index-product .index-product-li .content-area .swiper-slide .inner>a.img-holder{
  height:clamp(300px,17.45vw,445px)!important;
  min-height:0!important;
  padding:0!important;
  box-sizing:border-box!important;
 }
 html body .index-product .index-product-li .content-area .swiper-slide .inner>a.img-holder>img{object-fit:contain!important;background:#fff}
}

/* Preserve every part of the supplied product photo in the template carousel. */
html body .index-product .index-product-li .content-area .swiper-slide .inner>a.img-holder>img{object-fit:contain!important;background:#fff}

/* Equal visible photo bounds in the source-style homepage rail. Technical diagrams retain their original proportions. */
@media(min-width:1024px){
 html body .index-product .index-product-li .content-area .swiper-slide .inner>a.img-holder>img[src*="/kdhi-home-equal-"]:not([src*="nonmetal-low-noise-idlers"]):not([src*="heavy-duty-belt-feeders"]){object-fit:fill!important}
}


/* Homepage case and service thumbnails use the original 4:3 photography, without
   the white side panels embedded in the later 16:9 derivative files. */
body.home .services-section .service-grids > .grid > .icon,
body.home .index-service .index-service-img .swiper-slide > a {
    height: 0 !important;
    padding: 75% 0 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
}
body.home .services-section .service-grids > .grid > .icon > img,
body.home .index-service .index-service-img .swiper-slide > a > img {
    object-fit: cover !important;
    object-position: center !important;
}

/* Categories with no overflow show only their real cards and no carousel controls. */
:is(body.home, body.single-post) .index-product-li.product-rail-static .swiper-wrapper {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    transform: none !important;
}
:is(body.home, body.single-post) .index-product-li.product-rail-static .swiper-slide {
    flex: 0 0 calc((100% - (var(--product-visible) - 1) * 20px) / var(--product-visible)) !important;
    width: calc((100% - (var(--product-visible) - 1) * 20px) / var(--product-visible)) !important;
    margin-right: 0 !important;
}
:is(body.home, body.single-post) .index-product-li.product-rail-static .owl-controls {
    display: none !important;
}

/* Show each named sales contact as one group on the Contact page. */
.contact-pg-section .kdhi-contact-person + .kdhi-contact-person {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.28);
}
.contact-pg-section .kdhi-contact-person h3 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 17px;
    line-height: 1.4;
}
.contact-pg-section .kdhi-contact-person ul { margin: 0; }
.contact-pg-section .kdhi-contact-person li { overflow-wrap: anywhere; }

/* Source-template banner height with crisp, full-bleed photography. */
@media (min-width: 992px) {
  .hero-slider .slide-inner {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 32 / 13;
    background-size: cover !important;
    background-position: center center !important;
  }
  .hero-slider .slide-inner > picture {
    display: none !important;
  }
  .hero-slider .slide-inner[style*="covered-belt-conveyor-river-crossing"],
  .hero-slider .slide-inner[style*="overland-conveyor-hillside"] {
    background-size: 133.333333% auto !important;
  }
}
@media (min-width: 769px) and (max-width: 991px) {
  .hero-slider .slide-inner { background-size: cover !important; }
}

/* Homepage solution cards use the same 4:3 frame as the cleaned source photos. */
.team-section.index-solution .team-grids .img-holder {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 0 !important;
    padding: 75% 0 0 !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}
.team-section.index-solution .team-grids .img-holder > img,
.team-section.index-solution .team-grids .img-holder:hover > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
}

/* Listing media follow the source 4:3 frame. The fit removes white side panels baked into 16:9 uploads. */
:is(
  .blog-pg-section .blog-content > .post > .entry-media,
  .blog-section .blog-grids .entry-media,
  .product-list .gallery-container .img-holder,
  .product-section .testimonial-grids .client-pic > a,
  .case-section .service-grids .img-holder,
  .solution-section .team-grids .img-holder,
  .service-section .client-pic-img,
  .search-section .team-grids .img-holder
) {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 0 !important;
  padding: 75% 0 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}
:is(
  .blog-pg-section .blog-content > .post > .entry-media,
  .blog-section .blog-grids .entry-media,
  .product-list .gallery-container .img-holder,
  .product-section .testimonial-grids .client-pic > a,
  .case-section .service-grids .img-holder,
  .solution-section .team-grids .img-holder,
  .service-section .client-pic-img,
  .search-section .team-grids .img-holder
) > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

/* Show the source contact social icons before URLs are configured in the admin. */
.contact-pg-section .social ul li button[disabled] {
  display: block;
  box-sizing: border-box;
  width: 35px;
  height: 35px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 3px;
  background: transparent;
  color: #fff;
  font-size: 13px;
  line-height: 33px;
  text-align: center;
  opacity: 1;
  cursor: default;
}



.hero-slider .index-carousel .slide-inner {
  align-items: flex-end;
}

.hero-slider .index-carousel .slide-inner > .container {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: calc(100% - clamp(144px, 14vw, 244px));
  max-width: none;
  padding: 30px 0 clamp(72px, 7vw, 118px);
}

.hero-slider .index-carousel .slide-title,
.hero-slider .index-carousel .slide-text {
  max-width: min(100%, clamp(440px, 44vw, 640px));
  margin: 0;
  text-align: left;
}

.hero-slider .index-carousel .carousel-title {
  margin: 0 0 16px;
  font-size: clamp(28px, 2.3vw, 36px);
  line-height: 1.14;
  text-wrap: balance;
}

.hero-slider .index-carousel .slide-text p {
  margin: 0 0 22px;
  font-size: clamp(17px, 1.2vw, 19px);
  line-height: 1.55;
}

.hero-slider .index-carousel .slide-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
  margin: 0;
}

.hero-slider .index-carousel .slide-btns > a:first-child {
  margin-right: 0;
}

@media (min-width: 992px) {
  .hero-slider .index-carousel .slide-inner {
    min-height: 440px !important;
  }
}

@media (max-width: 767px) {
  .hero-slider .index-carousel .slide-inner {
    height: auto;
    min-height: 550px;
  }

  

  .hero-slider .index-carousel .slide-inner > .container {
    width: calc(100% - 44px);
    padding: 36px 0 66px;
  }

  .hero-slider .index-carousel .slide-title,
  .hero-slider .index-carousel .slide-text {
    max-width: 100%;
  }

  .hero-slider .index-carousel .carousel-title {
    font-size: clamp(23px, 4.6vw, 28px);
  }

  .hero-slider .index-carousel .slide-text p {
    font-size: 16px;
  }
}

/* Homepage product cards: consistent photo bounds without contain letterboxing. */
html body.home .index-product .index-product-li .content-area .swiper-slide .inner > a.img-holder {
 height:0!important;
 padding:75% 0 0!important;
 box-sizing:content-box!important;
 background:#f4f6f8!important;
}
html body.home .index-product .index-product-li .content-area .swiper-slide .inner > a.img-holder > img {
 object-fit:cover!important;
 object-position:center!important;
 background:transparent!important;
}
html body.home .index-product .inner > .details {margin-top:0!important;}

/* Product recommendation covers share the homepage 4:3 frame. */
html body:not(.home) .index-product .index-product-li .content-area .swiper-slide .inner > .img-holder {
 display:block!important;position:relative!important;box-sizing:content-box!important;
 width:100%!important;height:0!important;min-height:0!important;max-height:none!important;
 padding:75% 0 0!important;margin:0!important;aspect-ratio:auto!important;overflow:hidden!important;
 flex:0 0 auto!important;background:#f4f6f8!important;
}
html body:not(.home) .index-product .index-product-li .content-area .swiper-slide .inner > .img-holder > img {
 position:absolute!important;inset:0!important;display:block!important;
 width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
 max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
 object-fit:cover!important;object-position:center!important;aspect-ratio:auto!important;
 transform:none!important;background:transparent!important;
}


/* Shared product overview layout. */
.product-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.product-gallery-column,
.product-summary-column {
  min-width: 0;
}
.product-summary-column .zoom-col {
  width: 100%;
  margin-top: 0;
  padding-left: 0;
}
.product-overview .cart-box {
  gap: 8px;
}
.product-overview .cart-box > a {
  margin: 0;
}
@media (min-width: 992px) {
  .product-overview {
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    gap: 36px;
  }
  .product-summary-column {
    display: flex;
    align-items: center;
    min-height: var(--product-main-height, 0px);
  }
}

/* Product detail gallery frames preserve the full photograph at every slide size. */
.single-post .product-imgs .swiper-top .swiper-slide > div {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #f3f5f7;
}
.single-post .product-imgs .swiper-top .swiper-slide > div > img.cloudzoom {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: auto;
    margin: 0;
}
.single-post .product-imgs .swiper-bottom .swiper-slide > img {
    display: block;
    width: 100%;
    height: 80px;
    aspect-ratio: auto;
    object-fit: contain;
    background: #f3f5f7;
}
.single-post .product-swiper > :is(.swiper-button-prev, .swiper-button-next) {
    background-color: rgba(3, 16, 38, .62);
    border-radius: 6px;
}

/* Keep the home project heading on one line at narrow viewport widths. */
@media (max-width: 414px) {
    .home-project-title h2 {
        font-size: min(2rem, calc((100vw - 40px) / 12.5));
    }
}

/* Homepage banner: photograph zooms independently of fixed copy. */
.hero-slider .index-carousel .slide-inner { overflow: hidden; }
.hero-slider .index-carousel .hero-zoom-media {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: inherit; transform-origin: center;
}
.hero-slider .index-carousel .swiper-slide-active .hero-zoom-media {
  animation: hero-photo-zoom 6.5s linear both;
}
@keyframes hero-photo-zoom { from { transform: scale(1); } to { transform: scale(1.05); } }
@media (max-width: 767px) {
  .hero-slider .index-carousel .swiper-slide-active .hero-zoom-media { animation-name: hero-photo-zoom-mobile; }
}
@keyframes hero-photo-zoom-mobile { from { transform: scale(1); } to { transform: scale(1.025); } }
@media (prefers-reduced-motion: reduce) {
  .hero-slider .index-carousel .swiper-slide-active .hero-zoom-media { animation: none; }
}

/* Give the first home banner's photograph more space around its copy. */
.hero-slider .index-carousel .slide-inner {
  align-items: flex-start;
}
.hero-slider .index-carousel .slide-inner > .container {
  padding-top: clamp(48px, 5vw, 80px);
  padding-bottom: 0;
}
.hero-slider .index-carousel .slide-inner .slide-title {
  max-width: 440px;
}
.hero-slider .index-carousel .slide-inner .carousel-title {
  color: #ffffff;
  text-shadow: 0 2px 5px rgba(2, 13, 38, .4);
}
.hero-slider .index-carousel .hero-image-first .slide-btns > a {
  font-size: 12px;
  padding: 12px 44px 12px 18px;
}
@media (max-width: 767px) {
  .hero-slider .index-carousel .slide-inner > .container {
    padding-top: 36px;
    padding-bottom: 0;
  }
  .hero-slider .index-carousel .slide-inner .slide-title {
    max-width: 300px;
  }
}

/* Customer-supplied company introduction, with its original wording. */
.company-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 40px;
  align-items: center;
}
.company-home-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.company-home-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 65%;
}

.company-home-photo.swiper-container {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.company-home-photo > .swiper-wrapper {
  position: absolute;
  inset: 0;
  height: 100%;
}
.company-home-photo .swiper-slide {
  position: relative;
  height: 100%;
}
.company-home-photo button {
  position: absolute;
  z-index: 2;
  border: 0;
  color: #fff;
  background: rgba(3, 16, 38, .65);
}
.company-home-photo :is(.company-photo-prev, .company-photo-next) {
  bottom: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 4px;
  font-size: 26px;
  line-height: 1;
}
.company-photo-prev { left: 12px; }
.company-photo-next { left: 52px; }
.company-home-photo button:focus-visible {
  outline: 3px solid #ff641a;
  outline-offset: 3px;
}
.company-home-photo .company-photo-pagination {
  position: absolute;
  z-index: 1;
  bottom: 16px;
  left: 96px;
  width: calc(100% - 192px);
  text-align: center;
}
.company-home-photo .swiper-pagination-bullet {
  background: #fff;
  opacity: .65;
  margin: 0 5px;
}
.company-home-photo .swiper-pagination-bullet-active {
  background: #ff641a;
  opacity: 1;
}


.company-home-photo .company-home-map-slide {
  display: flex;
  align-items: center;
  background: #fff;
}
.company-home-map-content {
  width: 100%;
  padding: clamp(16px, 2vw, 32px);
}
.company-home-map-content h3 {
  margin: 0 0 24px;
  text-align: center;
  color: #102b4e;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.25;
}
.company-home-map {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1233 / 520;
  overflow: hidden;
}
.company-home-photo .company-home-map img {
  top: -28.8462%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: initial;
}


.company-home-photo:has(.company-home-map-slide.swiper-slide-active) .swiper-pagination-bullet {
  background: #a5adb7;
}
.company-home-photo:has(.company-home-map-slide.swiper-slide-active) .swiper-pagination-bullet-active {
  background: #ff641a;
}

.company-gate img,
.company-inline-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.company-home-copy h2,
.company-story h2 {
  margin: 0 0 24px;
  color: #102b4e;
  font-size: 32px;
  line-height: 1.25;
}
.company-home-copy .company-source-text {
  font-size: 16px;
  line-height: 1.55;
  color: #303946;
  overflow-wrap: break-word;
}
.company-home-copy .company-source-text p,
.company-facts li {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.company-facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}
.company-home-copy > .theme-btn {
  margin-top: 8px;
}
.company-gate {
  margin: 0 0 48px;
}
.company-story {
  width: 100%;
}
.company-story .company-source-text {
  color: #303946;
  font-size: 17px;
  line-height: 1.75;
  overflow-wrap: break-word;
}
.company-story .company-source-text p {
  margin: 0 0 24px;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.company-inline-photo {
  margin: 36px 0;
}
@media (max-width: 991px) {
  .company-home-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
@media (max-width: 767px) {
  .company-home-copy h2,
  .company-story h2 {
    font-size: 28px;
  }
  .company-story .company-source-text {
    font-size: 16px;
  }
  .company-gate {
    margin-bottom: 28px;
  }
  .company-inline-photo {
    margin: 28px 0;
  }
}


/* Client map preview retains all countries and logos while removing empty top space. */
.clients-section {
  padding-top: 64px;
  padding-bottom: 80px;
  background: #fff;
}
.clients-section .section-title-s4 {
  margin-bottom: 24px;
}
.clients-section .section-title-s4 h2 {
  font-size: 32px;
  line-height: 1.25;
  color: #102b4e;
}
.clients-intro {
  max-width: 900px;
  margin: 0 auto 32px;
  color: #4d5663;
  font-size: 17px;
  line-height: 1.7;
  text-align: center;
}
.clients-map {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1160px;
  aspect-ratio: 1233 / 520;
  overflow: hidden;
  margin: 0 auto;
  cursor: zoom-in;
}
.clients-map > img {
  position: absolute;
  top: -28.8462%;
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}
.clients-map:focus-visible {
  outline: 3px solid var(--theme-color);
  outline-offset: 4px;
}
.clients-zoom {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #102b4e;
  color: #fff;
  font-size: 26px;
  line-height: 1;
}
@media (max-width: 767px) {
  .clients-section {
    padding-top: 40px;
    padding-bottom: 48px;
  }
  .clients-section .section-title-s4 h2 {
    font-size: 28px;
  }
  .clients-intro {
    font-size: 16px;
    margin-bottom: 24px;
  }
  .clients-zoom {
    width: 30px;
    height: 30px;
    font-size: 22px;
    right: 0;
    bottom: 0;
  }
}


/* Project navigation accommodates the customer-supplied category names. */
.site-header .navbar-nav > .projects-menu > .sub-menu > li > a {
  white-space: normal;
  line-height: 1.5;
  overflow-wrap: break-word;
}
@media (min-width: 992px) {
  .site-header .navbar-nav > .projects-menu > .sub-menu {
    width: 300px;
    left: auto;
    right: 0;
  }
}
.case-top .gallery-filters ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
}
.case-top .gallery-filters ul > li {
  max-width: 100%;
  margin: 0;
}
.case-top .gallery-filters ul > li > a {
  display: block;
  white-space: normal;
  overflow-wrap: break-word;
}

/* Customer pulley specifications and uncropped source illustrations. */
.product-row-li .kdhi-pulley-specs table {
  display: table;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #303946;
  font-size: 16px;
  line-height: 1.65;
}
.kdhi-pulley-specs th,
.kdhi-pulley-specs td {
  padding: 16px 20px;
  border: 1px solid #dce2e8;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.kdhi-pulley-specs th:first-child { width: 28%; }
.kdhi-pulley-specs thead th {
  background: #102b4e;
  color: #fff;
}
.kdhi-pulley-specs tbody tr:nth-child(even) { background: #f5f7f9; }
.kdhi-pulley-specs td p {
  margin: 0 0 14px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.kdhi-pulley-specs td p:last-child { margin-bottom: 0; }
html body.home .index-product .index-product-li .content-area .swiper-slide .inner > a.img-holder > img[src*="-client-20261110"],
html body:not(.home) .index-product .index-product-li .content-area .swiper-slide .inner > .img-holder > img[src*="-client-20261110"],
html body .product-list .gallery-container .img-holder > img[src*="-client-20261110"],
html body .product-section .testimonial-grids .client-pic > a > img[src*="-client-20261110"] {
  object-fit: contain !important;
  background: #f3f5f7 !important;
}
@media (max-width: 767px) {
  .product-row-li .kdhi-pulley-specs table { font-size: 14px; }
  .kdhi-pulley-specs th,
  .kdhi-pulley-specs td { padding: 12px; }
  .kdhi-pulley-specs th:first-child { width: 32%; }
}

/* Product information reads continuously without tab navigation. */
.product-detail-sections {
  padding-top: 64px;
}
.product-detail-section + .product-detail-section {
  margin-top: 56px;
}
.product-detail-heading {
  margin: 0 0 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid #dce2e8;
  color: #102b4e;
  font-size: 28px;
  line-height: 1.3;
  overflow-wrap: break-word;
}
.product-detail-section .details-description > li:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .product-detail-sections { padding-top: 40px; }
  .product-detail-section + .product-detail-section { margin-top: 36px; }
  .product-detail-heading {
    margin-bottom: 22px;
    padding-bottom: 12px;
    font-size: 24px;
  }
}

/* Contact FAQ uses the page container and keeps every answer editable as rich text. */
.contact-faq-section {
  background: #f4f6f8;
}
.contact-faq-list {
  display: grid;
  gap: 16px;
}
.contact-faq-item {
  border: 1px solid #dce2e8;
  border-radius: 6px;
  background: #fff;
}
.contact-faq-item > summary {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  color: #102b4e;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.contact-faq-item > summary::-webkit-details-marker { display: none; }
.contact-faq-item > summary::marker { content: ""; }
.contact-faq-item > summary::before {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  height: 30px;
  border: 1px solid var(--theme-color);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 23px;
  font-weight: 400;
  line-height: 1;
}
.contact-faq-item[open] > summary {
  border-bottom: 1px solid #e5eaf0;
}
.contact-faq-item[open] > summary::before { content: "−"; }
.contact-faq-item > summary:hover { color: var(--theme-color); }
.contact-faq-item > summary:focus-visible {
  outline: 3px solid var(--theme-color);
  outline-offset: 3px;
}
.contact-faq-answer {
  padding: 28px 24px;
  color: #303946;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.contact-faq-answer p,
.contact-faq-answer li {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.contact-faq-answer h3 {
  margin: 32px 0 16px;
  color: #102b4e;
  font-size: 20px;
  line-height: 1.45;
}
.contact-faq-answer > h3:first-child { margin-top: 0; }
.contact-faq-answer ul {
  margin: 0 0 24px;
  padding-left: 24px;
}
.contact-faq-answer li { margin-bottom: 14px; }
.contact-faq-answer > :last-child { margin-bottom: 0; }
.contact-faq-answer .contact-faq-notes {
  margin: 0 0 28px;
  padding: 16px 18px;
  border-left: 3px solid var(--theme-color);
  background: #f7f9fb;
}
.contact-faq-answer img { max-width: 100%; height: auto; }
@media (max-width: 767px) {
  .contact-faq-item > summary {
    padding: 20px 16px;
    gap: 12px;
    font-size: 18px;
  }
  .contact-faq-answer { padding: 22px 16px; }
  .contact-faq-answer h3 { font-size: 18px; }
}
