/* Hisherik UI Kit rollout.
   This file is the final design-system layer and is loaded after the legacy
   theme styles. Keep site-wide tokens and shared component behavior here. */

:root {
  --hk-orange: #ff8a00;
  --hk-orange-2: #ff970f;
  --hk-orange-3: #f47721;
  --hk-bg: #0e1116;
  --hk-bg-2: #151a21;
  --hk-panel: rgba(21, 26, 33, 0.88);
  --hk-panel-strong: rgba(14, 17, 22, 0.96);
  --hk-steel: #8a9099;
  --hk-white: #ffffff;
  --hk-muted: #bfc5cc;
  --hk-line: rgba(191, 197, 204, 0.24);
  --hk-line-soft: rgba(191, 197, 204, 0.14);
  --hk-line-orange: rgba(255, 138, 0, 0.62);
  --hk-success: #00a35a;
  --hk-error: #d93535;
  --hk-focus: 0 0 0 2px rgba(255, 138, 0, 0.32);
  --hk-shadow: 0 22px 54px rgba(0, 0, 0, 0.42);
  --hk-shadow-tight: 0 12px 28px rgba(0, 0, 0, 0.34);
  --hk-radius: 0px;
  --hk-radius-soft: 3px;
  --hk-shell: min(1480px, calc(100% - 48px));
  --hk-btn-h: 44px;
  --hk-btn-x: 24px;
  --hk-transition: 0.18s ease;

  --hs-orange: var(--hk-orange);
  --hs-orange-2: var(--hk-orange-2);
  --hs-black: #05080c;
  --hs-surface: var(--hk-bg);
  --hs-surface-2: var(--hk-bg-2);
  --hs-line: var(--hk-line);
  --hs-line-strong: var(--hk-line-orange);
  --hs-text: var(--hk-white);
  --hs-text-soft: var(--hk-muted);
  --hs-text-faint: rgba(191, 197, 204, 0.62);
}

html {
  background: #05080c;
  color-scheme: dark;
}

body.body,
body.body .main,
body .main {
  background:
    linear-gradient(90deg, rgba(191, 197, 204, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, #05080c 0%, var(--hk-bg) 42%, #05080c 100%) !important;
  background-size: 160px 160px, auto !important;
  color: var(--hk-white) !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.body :where(p, li, label, input, select, textarea, button, a, span, td, th) {
  letter-spacing: 0 !important;
}

body.body :where(p, li, label, input, select, textarea, td, th, .main-cat-content__inner, .product-article__body, .product-card__text) {
  font-size: max(14px, 1em) !important;
}

body.body :where(h1, .home-hero__title, .main-cat-hero__title, .product-product-hero__title, .contact-template-hero__title, .blog-template-hero__title, .gallery-template-hero__title, .about-header-lite__title, .accessibility-page__title, .error__title) {
  color: var(--hk-white) !important;
  font-size: 42px !important;
  font-weight: 600 !important;
  line-height: 52px !important;
  letter-spacing: 0 !important;
  text-shadow: 0 12px 28px rgba(0, 0, 0, 0.52) !important;
}

body.body :where(h2, .main-cat-section-head__title, .product-cards__title, .product-faq__title, .home-products-preview__title, .home-posts-section__title, .home-faq__title, .contact-template-section-title, .about-showcase__section-title, .clients-showcase__title) {
  color: var(--hk-white) !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  line-height: 40px !important;
  letter-spacing: 0 !important;
}

body.body :where(h3, .product-card__title, .home-post-card__title, .blog-template-card__title, .main-cat-grand-card__title, .contact-template-info__title, .contact-template-mini-card__title, .contact-template-resource-card__title) {
  color: var(--hk-white) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 32px !important;
  letter-spacing: 0 !important;
}

body.body :where(.main-cat-section-head__eyebrow, .product-product-hero__badge, .blog-template-card__meta, .home-post-card__meta, .about-timeline__chip, .about-page-timeline__chip, .clients-showcase__card-kicker, .accessibility-page__meta-chip) {
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 5px 12px !important;
  border: 1px solid var(--hk-line-orange) !important;
  border-radius: var(--hk-radius) !important;
  background: rgba(255, 138, 0, 0.08) !important;
  color: var(--hk-orange-2) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
}

body.body :where(.main-cat-section-head__title, .site-footer__title, .site-footer__brand-title, .home-products-preview__title, .home-posts-section__title, .home-faq__title, .product-cards__title, .product-faq__title, .contact-template-section-title, .about-showcase__section-title, .clients-showcase__title)::after {
  height: 3px !important;
  width: 74px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--hk-orange), rgba(255, 138, 0, 0)) !important;
}

body.body :where(.container, .home-hero-intro__inner, .header__row, .site-footer__container, .contact-template-content, .blog-template-content, .gallery-template-content, .accessibility-page__inner) {
  max-width: none !important;
}

body.body :where(.header__row, .home-hero-intro__inner, .site-footer__container, .main-cat-breadcrumbs__inner, .main-cat-hero, .main-cat-tabs, .main-cat-gallery, .main-cat-textblocks, .main-cat-content, .contact-template-content, .blog-template-breadcrumbs__inner, .blog-template-hero__inner, .blog-template-list, .gallery-template-hero__inner, .gallery-template-content, .accessibility-page__inner) {
  width: var(--hk-shell) !important;
  margin-inline: auto !important;
}

.header {
  background:
    radial-gradient(circle at 94% 0%, rgba(255, 138, 0, 0.12), transparent 30rem),
    rgba(5, 8, 12, 0.94) !important;
  border-bottom: 1px solid var(--hk-line) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.42) !important;
}

.header__row::before {
  background: linear-gradient(90deg, rgba(191, 197, 204, 0.12), rgba(255, 138, 0, 0.38), rgba(191, 197, 204, 0.12)) !important;
}

.menu-inline > li > a,
.header__catalog-link,
.header .call-us.btn,
.header-mobile-nav__menu .menu-mobile > li > a {
  color: var(--hk-white) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.menu-inline > li.current-menu-item > a,
.menu-inline > li.current-menu-ancestor > a,
.menu-inline > li > a:hover,
.menu-inline > li > a:focus-visible {
  color: var(--hk-orange) !important;
}

.menu-inline .sub-menu,
.header-mobile-nav__panel {
  border: 1px solid var(--hk-line-orange) !important;
  border-radius: var(--hk-radius) !important;
  background: rgba(5, 8, 12, 0.96) !important;
  box-shadow: var(--hk-shadow) !important;
}

.menu-inline .sub-menu a {
  color: var(--hk-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  border-bottom-color: var(--hk-line-soft) !important;
}

body.body :where(.home-hero__department-card, .home-products-preview__card, .home-post-card, .clients-showcase__card, .about-showcase__gallery-card, .about-showcase__review-card, .about-page-timeline__item, .about-timeline__item, .main-cat-grand-card, .main-cat-textblock, .main-cat-gallery__item, .gallery-template-grid__item, .blog-template-card, .blog-single-article, .blog-single-contact, .product-section, .product-card, .product-sticky-card, .product-contact-cta, .contact-template-info, .contact-template-form-wrap, .contact-template-map-card, .contact-template-resources, .contact-template-mini-card, .contact-template-resource-card, .contact-template-promise, .accessibility-page__card, .faq-accordion__item, .accordion-item, .footer-contact-card, .modal_form__bg, .tw-app .tw-panel, .tw-app .tw-card, .tw-classic-item) {
  border: 1px solid var(--hk-line) !important;
  border-radius: var(--hk-radius) !important;
  background:
    linear-gradient(180deg, rgba(191, 197, 204, 0.055), rgba(191, 197, 204, 0.018)),
    var(--hk-panel) !important;
  box-shadow: none !important;
}

body.body :where(.home-hero__department-card, .home-products-preview__card, .home-post-card, .clients-showcase__card, .about-showcase__gallery-card, .about-showcase__review-card, .main-cat-grand-card, .main-cat-textblock, .blog-template-card, .product-card, .contact-template-mini-card, .contact-template-resource-card, .faq-accordion__item) {
  transition: transform var(--hk-transition), border-color var(--hk-transition), box-shadow var(--hk-transition), background var(--hk-transition) !important;
}

body.body :where(.home-hero__department-card, .home-products-preview__card, .home-post-card, .clients-showcase__card, .about-showcase__gallery-card, .about-showcase__review-card, .main-cat-grand-card, .main-cat-textblock, .blog-template-card, .product-card, .contact-template-mini-card, .contact-template-resource-card, .faq-accordion__item):hover {
  border-color: var(--hk-line-orange) !important;
  box-shadow: var(--hk-shadow-tight) !important;
}

body.body :where(.home-hero__button, .home-hero__card-cta, .home-products-preview__link, .clients-showcase__cta, .contact-template-project-cta__button, .contact-template-form input[type="submit"], .contact-template-form .wpcf7-submit, .footer-contact-card input[type="submit"], .footer-contact-card .wpcf7-submit, .product-product-hero__btn, .product-contact-cta input[type="submit"], .product-contact-cta .wpcf7-submit, .product-sticky-card input[type="submit"], .product-sticky-card .wpcf7-submit, .newsletter-popup__submit, .form_order.footer_form .btn_submit, input.wpcf7-submit, button[type="submit"], .tw-app button, .tw-btn, .tw-classic-tab.is-active) {
  min-height: var(--hk-btn-h) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 var(--hk-btn-x) !important;
  border: 1px solid var(--hk-orange) !important;
  border-radius: var(--hk-radius) !important;
  background: linear-gradient(180deg, #ffad25 0%, var(--hk-orange) 62%, #f47721 100%) !important;
  color: #05080c !important;
  box-shadow: 0 16px 34px rgba(255, 138, 0, 0.2) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

body.body :where(.breadcrumbs-copy-btn, .site-footer__utility-link, .product-card__link, .blog-template-filter a, .gallery-template-tabs__link, .main-cat-tabs__link, .contact-template-mini-card__cta, .contact-template-resource-card__cta, .product-article__image-grid-toggle, .about-showcase__gallery-button, .about-timeline__nav-button, .faq-accordion__trigger, .tw-classic-tab, .tw-app .tw-btn-inline) {
  border: 1px solid var(--hk-line) !important;
  border-radius: var(--hk-radius) !important;
  background: rgba(14, 17, 22, 0.74) !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

body.body :where(.breadcrumbs-copy-btn, .site-footer__utility-link, .product-card__link, .blog-template-filter a, .gallery-template-tabs__link, .main-cat-tabs__link, .contact-template-mini-card__cta, .contact-template-resource-card__cta, .product-article__image-grid-toggle, .about-showcase__gallery-button, .about-timeline__nav-button, .faq-accordion__trigger, .tw-classic-tab, .tw-app .tw-btn-inline):hover,
body.body :where(.breadcrumbs-copy-btn, .site-footer__utility-link, .product-card__link, .blog-template-filter a, .gallery-template-tabs__link, .main-cat-tabs__link, .contact-template-mini-card__cta, .contact-template-resource-card__cta, .product-article__image-grid-toggle, .about-showcase__gallery-button, .about-timeline__nav-button, .faq-accordion__trigger, .tw-classic-tab, .tw-app .tw-btn-inline):focus-visible {
  border-color: var(--hk-line-orange) !important;
  background: rgba(255, 138, 0, 0.08) !important;
  color: var(--hk-orange-2) !important;
  outline: none !important;
}

body.body :where(.main-cat-tabs__link.active, .gallery-template-tabs__link.is-active, .blog-template-filter a.is-active, .tw-classic-tab.is-active) {
  border-color: var(--hk-orange) !important;
  background: linear-gradient(180deg, #ffad25 0%, var(--hk-orange) 65%, #f47721 100%) !important;
  color: #05080c !important;
}

body.body :where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), textarea, select, .tw-app input, .tw-app select) {
  min-height: 48px !important;
  border: 1px solid var(--hk-line) !important;
  border-radius: var(--hk-radius) !important;
  background: rgba(21, 26, 33, 0.82) !important;
  color: var(--hk-white) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
}

body.body :where(textarea) {
  min-height: 128px !important;
}

body.body :where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), textarea, select, .tw-app input, .tw-app select):focus,
body.body :where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), textarea, select, .tw-app input, .tw-app select):focus-visible {
  border-color: var(--hk-orange) !important;
  box-shadow: var(--hk-focus) !important;
  outline: none !important;
}

body.body :where(input::placeholder, textarea::placeholder) {
  color: rgba(191, 197, 204, 0.62) !important;
  opacity: 1 !important;
}

body.body :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--hk-orange);
}

.modal-content,
.modal_form__bg,
.whatsapp-modal-content,
.newsletter-popup__dialog {
  border-radius: var(--hk-radius) !important;
  border: 1px solid var(--hk-line-orange) !important;
  background: var(--hk-panel-strong) !important;
  color: var(--hk-white) !important;
  box-shadow: var(--hk-shadow) !important;
}

.btn-close,
.newsletter-popup__close,
.whatsapp-close {
  border-radius: var(--hk-radius) !important;
}

.site-footer {
  border-top-color: var(--hk-line-orange) !important;
}

.site-footer__menu a,
.site-footer__submenu a,
.site-footer__contact-list a,
.site-footer__contact-list span,
.site-footer__about-text,
.site-footer__credit-text {
  color: var(--hk-muted) !important;
  font-weight: 400 !important;
}

.hisherik-line-icon,
.contact-template-info__icon,
.contact-template-mini-card > .hisherik-line-icon,
.contact-template-resource-card > .hisherik-line-icon,
.contact-template-promise > .hisherik-line-icon,
.site-footer__contact-list .hisherik-line-icon {
  color: var(--hk-orange) !important;
}

.swiper-button-next,
.swiper-button-prev,
.slick-arrow,
.about-showcase__gallery-button,
.about-timeline__nav-button,
.product-cards__swiper .swiper-button-next,
.product-cards__swiper .swiper-button-prev {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid var(--hk-line-orange) !important;
  border-radius: var(--hk-radius) !important;
  background: rgba(14, 17, 22, 0.84) !important;
  color: var(--hk-white) !important;
  opacity: 1 !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  color: currentColor !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

.tw-app {
  --tw-orange: var(--hk-orange) !important;
  --tw-bg: var(--hk-bg) !important;
  --tw-panel: var(--hk-panel) !important;
  --tw-line: var(--hk-line) !important;
  color: var(--hk-white) !important;
  font-family: "Rubik", Arial, sans-serif !important;
}

.tw-app :where(.tw-tab, .tw-filter-chip, .tw-table-viewport, .tw-pivot-shell, .tw-card, .tw-panel) {
  border-radius: var(--hk-radius) !important;
  border-color: var(--hk-line) !important;
  background: rgba(21, 26, 33, 0.82) !important;
}

.tw-app :where(.tw-tab.is-active, .tw-filter-chip.is-active) {
  border-color: var(--hk-orange) !important;
  background: linear-gradient(180deg, #ffad25 0%, var(--hk-orange) 65%, #f47721 100%) !important;
  color: #05080c !important;
}

body.body :where(.home-post-card__excerpt, .blog-template-card__excerpt, .product-card__text, .main-cat-grand-card__desc, .main-cat-textblock__text, .contact-template-mini-card__text, .contact-template-resource-card__text, .accessibility-page__card p, .faq-accordion__answer, .site-footer__about-text) {
  color: var(--hk-muted) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
}

@media (max-width: 991.98px) {
  :root {
    --hk-shell: min(100% - 28px, 100%);
  }

  body.body :where(h1, .home-hero__title, .main-cat-hero__title, .product-product-hero__title, .contact-template-hero__title, .blog-template-hero__title, .gallery-template-hero__title, .about-header-lite__title, .accessibility-page__title, .error__title) {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  body.body :where(h2, .main-cat-section-head__title, .product-cards__title, .product-faq__title, .home-products-preview__title, .home-posts-section__title, .home-faq__title, .contact-template-section-title, .about-showcase__section-title, .clients-showcase__title) {
    font-size: 28px !important;
    line-height: 36px !important;
  }

  body.body :where(h3, .product-card__title, .home-post-card__title, .blog-template-card__title, .main-cat-grand-card__title, .contact-template-info__title, .contact-template-mini-card__title, .contact-template-resource-card__title) {
    font-size: 22px !important;
    line-height: 30px !important;
  }

  body.body :where(.home-hero__button, .home-hero__card-cta, .home-products-preview__link, .clients-showcase__cta, .contact-template-project-cta__button, .product-product-hero__btn, input.wpcf7-submit, button[type="submit"]) {
    width: 100%;
    max-width: 340px;
  }
}

@media (max-width: 480px) {
  :root {
    --hk-shell: min(100% - 20px, 100%);
    --hk-btn-x: 20px;
  }

  body.body :where(h1, .home-hero__title, .main-cat-hero__title, .product-product-hero__title, .contact-template-hero__title, .blog-template-hero__title, .gallery-template-hero__title, .about-header-lite__title, .accessibility-page__title, .error__title) {
    font-size: 34px !important;
    line-height: 42px !important;
  }

  body.body :where(.home-post-card__excerpt, .blog-template-card__excerpt, .product-card__text, .main-cat-grand-card__desc, .main-cat-textblock__text, .contact-template-mini-card__text, .contact-template-resource-card__text, .accessibility-page__card p, .faq-accordion__answer, .site-footer__about-text) {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}

/* QA hardening: keep all visible copy at the UI Kit minimum and remove legacy ultra-bold remnants. */
.header-iron__brand-title,
.header-gates__brand-title,
.header__default-brand-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
}

.header-iron__brand-subtitle,
.header-gates__brand-subtitle,
.header__default-brand-subtitle {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.clients-showcase__chip-link,
.clients-showcase__chip-main .clients-showcase__chip-link,
.tw-app .tw-flow span,
.tw-app .tw-filter-values,
.tw-app .tw-filter-unit,
.contact-template-info__link,
.contact-template-info__list .contact-template-info__item:first-child .contact-template-info__link,
.contact-template-promise,
.contact-template-promise span {
  font-weight: 500 !important;
}

.clients-showcase__chip-link,
.tw-app .tw-flow span,
.tw-app .tw-filter-values,
.tw-app .tw-filter-unit,
.contact-template-promise span {
  font-size: 14px !important;
  line-height: 20px !important;
}

body.body.home .clients-showcase-section--v2 .clients-showcase__chip-link,
body.body.home .clients-showcase-section--v2 .clients-showcase__chip-main .clients-showcase__chip-link,
body.body .clients-showcase-section--v2 .clients-showcase__chip-link.font-arimo {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
}

body.body .tw-app .tw-pivot-table .tw-pivot-axis-header,
body.body .tw-app .tw-pivot-table .tw-pivot-t-header,
body.body .tw-app .tw-pivot-table .tw-pivot-axis-cell,
body.body .tw-app .tw-pivot-table .tw-pivot-cell,
body.body .tw-app .tw-pivot-table .tw-pivot-cell--value,
body.body .tw-app .tw-pivot-table tbody tr:nth-child(even) .tw-pivot-cell {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
}

body.body .about-timeline__year {
  font-weight: 600 !important;
}

body.body.home .about-timeline__item.is-oldest .about-timeline__year,
body.body.home .about-timeline__item.is-current .about-timeline__year,
body.body.home .about-timeline__item .about-timeline__year {
  font-weight: 600 !important;
}

/* UI Kit buttons: final site-wide normalization. */
body.body :where(
  .home-hero__card-cta,
  .home-products-preview__link,
  .clients-showcase__cta,
  .product-product-hero__btn,
  .product-tables__cta,
  .product-cta__button,
  .product-offer__form-button,
  .contact-template-project-cta__button,
  .certs__cta-button,
  .newsletter-popup__submit,
  .footer-contact-card .hisherik-btn,
  .footer-contact-card input[type="submit"],
  .footer-contact-card .wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input[type="submit"],
  .contact-template-form .wpcf7-submit,
  .product-contact-cta input[type="submit"],
  .product-contact-cta .wpcf7-submit,
  .product-sticky-card input[type="submit"],
  .product-sticky-card .wpcf7-submit,
  input.wpcf7-submit,
  button[type="submit"]:not(.search-submit)
) {
  width: auto !important;
  min-width: 148px !important;
  max-width: 280px !important;
  height: var(--hk-btn-h) !important;
  min-height: var(--hk-btn-h) !important;
  padding: 0 var(--hk-btn-x) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 1px solid var(--hk-orange) !important;
  border-radius: 0 !important;
  background: var(--hk-orange) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: none !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color var(--hk-transition), border-color var(--hk-transition), color var(--hk-transition), transform var(--hk-transition) !important;
}

body.body :where(
  .home-hero__card-cta,
  .home-products-preview__link,
  .clients-showcase__cta,
  .product-product-hero__btn,
  .product-tables__cta,
  .product-cta__button,
  .product-offer__form-button,
  .contact-template-project-cta__button,
  .certs__cta-button,
  .newsletter-popup__submit,
  .footer-contact-card .hisherik-btn,
  .footer-contact-card input[type="submit"],
  .footer-contact-card .wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input[type="submit"],
  .contact-template-form .wpcf7-submit,
  .product-contact-cta input[type="submit"],
  .product-contact-cta .wpcf7-submit,
  .product-sticky-card input[type="submit"],
  .product-sticky-card .wpcf7-submit,
  input.wpcf7-submit,
  button[type="submit"]:not(.search-submit)
):hover,
body.body :where(
  .home-hero__card-cta,
  .home-products-preview__link,
  .clients-showcase__cta,
  .product-product-hero__btn,
  .product-tables__cta,
  .product-cta__button,
  .product-offer__form-button,
  .contact-template-project-cta__button,
  .certs__cta-button,
  .newsletter-popup__submit,
  .footer-contact-card .hisherik-btn,
  .footer-contact-card input[type="submit"],
  .footer-contact-card .wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input[type="submit"],
  .contact-template-form .wpcf7-submit,
  .product-contact-cta input[type="submit"],
  .product-contact-cta .wpcf7-submit,
  .product-sticky-card input[type="submit"],
  .product-sticky-card .wpcf7-submit,
  input.wpcf7-submit,
  button[type="submit"]:not(.search-submit)
):focus-visible {
  border-color: var(--hk-orange-2) !important;
  background: var(--hk-orange-2) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: var(--hk-focus) !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

body.body :where(
  .home-hero__card-cta,
  .home-products-preview__link,
  .product-product-hero__btn,
  .product-tables__cta,
  .product-cta__button,
  .product-offer__form-button,
  .contact-template-project-cta__button,
  .certs__cta-button
)::after {
  content: "‹" !important;
  display: inline-block !important;
  color: currentColor !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

body.body :where(
  .home-hero__button,
  .breadcrumbs-copy-btn,
  .site-footer__utility-link,
  .product-card__link,
  .contact-template-mini-card__cta,
  .contact-template-resource-card__cta,
  .product-article__image-grid-toggle,
  .about-showcase__gallery-button,
  .about-timeline__nav-button,
  .faq-accordion__trigger,
  .tw-app .tw-btn-inline,
  .tw-btn-ghost
) {
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid var(--hk-line-orange) !important;
  border-radius: 0 !important;
  background: rgba(14, 17, 22, 0.86) !important;
  background-image: none !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

body.body :where(
  .home-hero__button,
  .breadcrumbs-copy-btn,
  .site-footer__utility-link,
  .product-card__link,
  .contact-template-mini-card__cta,
  .contact-template-resource-card__cta,
  .product-article__image-grid-toggle,
  .about-showcase__gallery-button,
  .about-timeline__nav-button,
  .faq-accordion__trigger,
  .tw-app .tw-btn-inline,
  .tw-btn-ghost
):hover,
body.body :where(
  .home-hero__button,
  .breadcrumbs-copy-btn,
  .site-footer__utility-link,
  .product-card__link,
  .contact-template-mini-card__cta,
  .contact-template-resource-card__cta,
  .product-article__image-grid-toggle,
  .about-showcase__gallery-button,
  .about-timeline__nav-button,
  .faq-accordion__trigger,
  .tw-app .tw-btn-inline,
  .tw-btn-ghost
):focus-visible {
  border-color: var(--hk-orange) !important;
  background: rgba(255, 138, 0, 0.11) !important;
  color: var(--hk-orange-2) !important;
  outline: none !important;
  box-shadow: var(--hk-focus) !important;
}

body.body .main-cat-tabs__link,
body.body .gallery-template-tabs__link,
body.body .blog-template-filter a,
body.body .product-tables__tab,
body.body .tw-classic-tab,
body.body .tw-app button.tw-mode-btn,
body.body .tw-app button.tw-tab,
body.body .tw-app button.tw-filter-chip {
  min-height: 40px !important;
  height: auto !important;
  padding: 10px 18px !important;
  border: 1px solid var(--hk-line) !important;
  border-radius: 0 !important;
  background: rgba(21, 26, 33, 0.82) !important;
  background-image: none !important;
  color: var(--hk-muted) !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  text-shadow: none !important;
}

body.body .main-cat-tabs__link.active,
body.body .gallery-template-tabs__link.is-active,
body.body .blog-template-filter a.is-active,
body.body .product-tables__tab.is-active,
body.body .tw-classic-tab.is-active,
body.body .tw-app button.tw-mode-btn.is-active,
body.body .tw-app button.tw-tab.is-active,
body.body .tw-app button.tw-filter-chip.is-active {
  border-color: var(--hk-orange) !important;
  background: var(--hk-orange) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: none !important;
}

body.body .main-cat-tabs__link:hover,
body.body .gallery-template-tabs__link:hover,
body.body .blog-template-filter a:hover,
body.body .product-tables__tab:hover,
body.body .tw-classic-tab:hover,
body.body .tw-app button.tw-mode-btn:hover,
body.body .tw-app button.tw-tab:hover,
body.body .tw-app button.tw-filter-chip:hover {
  border-color: var(--hk-line-orange) !important;
  background: rgba(255, 138, 0, 0.08) !important;
  background-image: none !important;
  color: var(--hk-orange-2) !important;
  box-shadow: none !important;
}

body.body .main-cat-tabs__link.active:hover,
body.body .gallery-template-tabs__link.is-active:hover,
body.body .blog-template-filter a.is-active:hover,
body.body .product-tables__tab.is-active:hover,
body.body .tw-classic-tab.is-active:hover,
body.body .tw-app button.tw-mode-btn.is-active:hover,
body.body .tw-app button.tw-tab.is-active:hover,
body.body .tw-app button.tw-filter-chip.is-active:hover {
  background: var(--hk-orange-2) !important;
  background-image: none !important;
  color: #05080c !important;
}

body.body :where(.swiper-button-next, .swiper-button-prev, .whatsapp_float, .modal_form__bg .btn-close, .site-footer__social-link) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Specificity bridge over legacy !important button rules. */
body.body :is(
  a.home-hero__card-cta,
  a.home-products-preview__link,
  a.clients-showcase__cta,
  a.product-product-hero__btn,
  a.product-tables__cta,
  a.product-cta__button,
  a.product-offer__form-button,
  a.contact-template-project-cta__button,
  a.certs__cta-button,
  button.newsletter-popup__submit,
  input.wpcf7-form-control.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit.has-spinner,
  input.wpcf7-form-control.wpcf7-submit.has-spinner.hisherik-btn,
  .footer-contact-card input.wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input.wpcf7-submit,
  .product-contact-cta input.wpcf7-submit,
  .product-sticky-card input.wpcf7-submit
) {
  width: auto !important;
  min-width: 148px !important;
  max-width: 280px !important;
  height: var(--hk-btn-h) !important;
  min-height: var(--hk-btn-h) !important;
  padding: 0 var(--hk-btn-x) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 1px solid var(--hk-orange) !important;
  border-radius: 0 !important;
  background: var(--hk-orange) !important;
  background-color: var(--hk-orange) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: none !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

body.body :is(
  a.home-hero__card-cta,
  a.home-products-preview__link,
  a.clients-showcase__cta,
  a.product-product-hero__btn,
  a.product-tables__cta,
  a.product-cta__button,
  a.product-offer__form-button,
  a.contact-template-project-cta__button,
  a.certs__cta-button,
  button.newsletter-popup__submit,
  input.wpcf7-form-control.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit.has-spinner,
  input.wpcf7-form-control.wpcf7-submit.has-spinner.hisherik-btn,
  .footer-contact-card input.wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input.wpcf7-submit,
  .product-contact-cta input.wpcf7-submit,
  .product-sticky-card input.wpcf7-submit
):hover,
body.body :is(
  a.home-hero__card-cta,
  a.home-products-preview__link,
  a.clients-showcase__cta,
  a.product-product-hero__btn,
  a.product-tables__cta,
  a.product-cta__button,
  a.product-offer__form-button,
  a.contact-template-project-cta__button,
  a.certs__cta-button,
  button.newsletter-popup__submit,
  input.wpcf7-form-control.wpcf7-submit,
  input.wpcf7-form-control.wpcf7-submit.has-spinner,
  input.wpcf7-form-control.wpcf7-submit.has-spinner.hisherik-btn,
  .footer-contact-card input.wpcf7-submit,
  .form_order.footer_form input.wpcf7-submit,
  .contact-template-form input.wpcf7-submit,
  .product-contact-cta input.wpcf7-submit,
  .product-sticky-card input.wpcf7-submit
):focus-visible {
  border-color: var(--hk-orange-2) !important;
  background: var(--hk-orange-2) !important;
  background-color: var(--hk-orange-2) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: var(--hk-focus) !important;
  outline: none !important;
}

body.body :is(
  a.home-hero__button,
  button.breadcrumbs-copy-btn,
  a.site-footer__utility-link,
  span.product-card__link,
  span.contact-template-mini-card__cta,
  span.contact-template-resource-card__cta,
  button.product-article__image-grid-toggle,
  button.about-showcase__gallery-button,
  button.about-timeline__nav-button,
  button.faq-accordion__trigger,
  button.tw-btn-ghost,
  .tw-app button.tw-btn-inline
) {
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid var(--hk-line-orange) !important;
  border-radius: 0 !important;
  background: rgba(14, 17, 22, 0.86) !important;
  background-color: rgba(14, 17, 22, 0.86) !important;
  background-image: none !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

/* Department CTA strips are banners, not standard buttons. */
body.body .clients-showcase-section--v2 .clients-showcase__card-footer,
body.body.home .clients-showcase-section--v2 .clients-showcase__card-footer {
  width: 100% !important;
  margin-top: auto !important;
}

body.body .clients-showcase-section--v2 .clients-showcase__cta-row,
body.body.home .clients-showcase-section--v2 .clients-showcase__cta-row {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  overflow: visible !important;
}

body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn,
body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn,
body.body :is(a.clients-showcase__cta.btn) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: none !important;
  padding: 8px 14px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  direction: rtl !important;
  overflow: hidden !important;
  border: 1px solid var(--hk-orange) !important;
  border-radius: 0 !important;
  background: var(--hk-orange) !important;
  background-color: var(--hk-orange) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: none !important;
  font-family: "Rubik", Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transform: none !important;
}

body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn::before,
body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn::after,
body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn::before,
body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn::after {
  content: none !important;
  display: none !important;
}

body.body .clients-showcase-section--v2 .clients-showcase__cta-text,
body.body.home .clients-showcase-section--v2 .clients-showcase__cta-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #05080c !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 34px !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.body .clients-showcase-section--v2 .clients-showcase__cta-image,
body.body.home .clients-showcase-section--v2 .clients-showcase__cta-image {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 150px !important;
  height: auto !important;
  max-height: 56px !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

body.body .clients-showcase-section--v2 .clients-showcase__cta-arrow,
body.body.home .clients-showcase-section--v2 .clients-showcase__cta-arrow {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid rgba(5, 8, 12, 0.72) !important;
  color: #05080c !important;
  background: transparent !important;
  margin: 0 !important;
}

body.body .clients-showcase-section--v2 .clients-showcase__cta-arrow::before,
body.body.home .clients-showcase-section--v2 .clients-showcase__cta-arrow::before {
  content: "‹" !important;
  display: block !important;
  color: currentColor !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn:hover,
body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn:focus-visible,
body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn:hover,
body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn:focus-visible {
  border-color: var(--hk-orange-2) !important;
  background: var(--hk-orange-2) !important;
  background-color: var(--hk-orange-2) !important;
  background-image: none !important;
  color: #05080c !important;
  box-shadow: var(--hk-focus) !important;
  outline: none !important;
}

@media (max-width: 720px) {
  body.body .clients-showcase-section--v2 a.clients-showcase__cta.btn,
  body.body.home .clients-showcase-section--v2 a.clients-showcase__cta.btn {
    width: 100% !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 7px 10px !important;
    gap: 10px !important;
  }

  body.body .clients-showcase-section--v2 .clients-showcase__cta-text,
  body.body.home .clients-showcase-section--v2 .clients-showcase__cta-text {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  body.body .clients-showcase-section--v2 .clients-showcase__cta-image,
  body.body.home .clients-showcase-section--v2 .clients-showcase__cta-image {
    max-width: 104px !important;
    max-height: 44px !important;
  }

  body.body .clients-showcase-section--v2 .clients-showcase__cta-arrow,
  body.body.home .clients-showcase-section--v2 .clients-showcase__cta-arrow {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }
}

/* Homepage timeline: compact industrial rail. */
body.body.home .about-showcase__timeline {
  padding: clamp(12px, 1.4vw, 18px) clamp(14px, 1.8vw, 24px) !important;
  overflow: hidden !important;
}

body.body.home .about-timeline {
  padding: 40px 0 42px !important;
  overflow: hidden !important;
  counter-reset: timeline-step !important;
}

body.body.home .about-timeline::before {
  top: 26px !important;
  right: 4px !important;
  left: 4px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 138, 0, 0.72) 18%, rgba(255, 138, 0, 0.72) 82%, transparent 100%) !important;
  box-shadow: none !important;
}

body.body.home .about-timeline__track {
  align-items: stretch !important;
}

body.body.home .about-timeline__item {
  counter-increment: timeline-step !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  gap: 7px !important;
  height: 128px !important;
  min-height: 128px !important;
  max-height: 128px !important;
  padding: 16px 16px 12px !important;
  overflow: visible !important;
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255, 138, 0, 0.1), transparent 32%),
    linear-gradient(180deg, rgba(17, 28, 37, 0.92) 0%, rgba(6, 13, 18, 0.98) 100%) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.body.home .about-timeline__item:hover,
body.body.home .about-timeline__item.swiper-slide-active {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 138, 0, 0.42) !important;
  box-shadow: none !important;
}

body.body.home .about-timeline__item.is-current {
  border-color: rgba(255, 138, 0, 0.74) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255, 138, 0, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(25, 33, 35, 0.96) 0%, rgba(7, 14, 18, 0.99) 100%) !important;
}

body.body.home .about-timeline__item::before {
  content: counter(timeline-step, decimal-leading-zero) !important;
  position: absolute !important;
  top: -39px !important;
  inset-inline-start: 16px !important;
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid rgba(255, 138, 0, 0.78) !important;
  border-radius: 0 !important;
  background: rgba(7, 11, 15, 0.96) !important;
  color: var(--hk-white) !important;
  box-shadow: 0 0 0 8px rgba(255, 138, 0, 0.08) !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.body.home .about-timeline__item.is-current::before {
  background: var(--hk-orange) !important;
  border-color: var(--hk-orange-2) !important;
  color: #05080c !important;
  box-shadow: 0 0 0 8px rgba(255, 138, 0, 0.14) !important;
}

body.body.home .about-timeline__item::after {
  content: "" !important;
  position: absolute !important;
  top: -8px !important;
  inset-inline-start: 33px !important;
  width: 1px !important;
  height: 14px !important;
  background: rgba(255, 138, 0, 0.72) !important;
}

body.body.home .about-timeline__year,
body.body.home .about-timeline__item.is-oldest .about-timeline__year {
  margin: 0 !important;
  color: rgba(238, 245, 255, 0.58) !important;
  font-size: clamp(30px, 2.35vw, 40px) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  text-shadow: none !important;
}

body.body.home .about-timeline__item.is-current .about-timeline__year {
  color: var(--hk-orange) !important;
}

body.body.home .about-timeline__year::after {
  width: 32px !important;
  height: 3px !important;
  margin-top: 6px !important;
  background: var(--hk-orange) !important;
  opacity: 0.86 !important;
}

body.body.home .about-timeline__chevron {
  min-height: 0 !important;
  margin: 0 !important;
  display: none !important;
  align-items: center !important;
}

body.body.home .about-timeline__item.is-current .about-timeline__chevron {
  display: flex !important;
}

body.body.home .about-timeline__chevron-svg,
body.body.home .about-timeline__item.has-no-description .about-timeline__chevron::before {
  display: none !important;
}

body.body.home .about-timeline__chip,
body.body.home .about-timeline__chip--mobile-current {
  min-height: 28px !important;
  padding: 5px 10px !important;
  border-radius: 0 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

body.body.home .about-timeline__item.is-current .about-timeline__chip,
body.body.home .about-timeline__item.is-current .about-timeline__chip--mobile-current {
  background: var(--hk-orange) !important;
  border-color: var(--hk-orange) !important;
  color: #05080c !important;
}

body.body.home .about-timeline__desc {
  align-self: end !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  text-align: right !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

body.body.home .about-timeline__item.has-no-description {
  grid-template-rows: auto 1fr !important;
}

body.body.home .about-timeline__item.has-no-description .about-timeline__chevron {
  min-height: 28px !important;
  align-self: start !important;
  justify-content: flex-start !important;
}

body.body.home .about-timeline__nav {
  bottom: 0 !important;
  gap: 8px !important;
}

body.body.home .about-timeline__nav-button {
  width: 40px !important;
  height: 40px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767.98px) {
  body.body.home .about-showcase__timeline {
    padding: 12px !important;
  }

  body.body.home .about-timeline {
    padding: 40px 0 42px !important;
  }

  body.body.home .about-timeline__item {
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
    padding: 18px 14px 14px !important;
  }

  body.body.home .about-timeline__year,
  body.body.home .about-timeline__item.is-oldest .about-timeline__year {
    font-size: clamp(32px, 10vw, 40px) !important;
  }

  body.body.home .about-timeline__desc {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}

/* Footer contact header: align to the form width and keep typography lighter. */
body.body .footer-contact-section {
  padding: clamp(46px, 4.4vw, 60px) 0 clamp(54px, 5vw, 68px) !important;
  max-height: none !important;
}

body.body .footer-contact-section > .container {
  width: min(100% - 48px, 1320px) !important;
  max-width: none !important;
  padding-inline: 0 !important;
}

body.body .footer-contact-header {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: clamp(28px, 4vw, 56px) !important;
  margin: 0 auto clamp(24px, 3vw, 34px) !important;
  direction: ltr !important;
}

body.body .footer-contact-logos {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-content: flex-start !important;
}

body.body .footer-contact-logos-img {
  width: auto !important;
  max-width: min(270px, 28vw) !important;
  max-height: 64px !important;
  object-fit: contain !important;
  opacity: 0.78 !important;
  filter: grayscale(1) brightness(1.12) contrast(0.92) !important;
}

body.body .footer-contact-header-text {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr) !important;
  align-items: center !important;
  column-gap: clamp(22px, 3vw, 44px) !important;
  direction: ltr !important;
  text-align: initial !important;
}

body.body .footer-contact-title {
  grid-column: 2 !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--hk-white) !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: none !important;
  direction: rtl !important;
}

body.body .footer-contact-title::after {
  content: "" !important;
  display: block !important;
  width: 112px !important;
  height: 4px !important;
  margin: 12px auto 0 !important;
  border: 0 !important;
  background: var(--hk-orange) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body.body .footer-contact-subtitle {
  grid-column: 3 !important;
  justify-self: end !important;
  width: min(100%, 520px) !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.7) !important;
  opacity: 1 !important;
  font-family: "Rubik", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  direction: rtl !important;
}

@media (max-width: 1100px) {
  body.body .footer-contact-section > .container {
    width: min(100% - 32px, 1320px) !important;
  }

  body.body .footer-contact-header {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    direction: rtl !important;
  }

  body.body .footer-contact-header-text {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    row-gap: 12px !important;
  }

  body.body .footer-contact-title,
  body.body .footer-contact-subtitle {
    grid-column: 1 !important;
  }

  body.body .footer-contact-subtitle {
    justify-self: center !important;
    text-align: center !important;
  }

  body.body .footer-contact-logos {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-content: center !important;
  }

  body.body .footer-contact-logos-img {
    max-width: min(260px, 78vw) !important;
    max-height: 58px !important;
  }
}

@media (max-width: 767.98px) {
  body.body .footer-contact-section {
    padding: 38px 0 46px !important;
  }

  body.body .footer-contact-title {
    font-size: clamp(30px, 9vw, 38px) !important;
  }

  body.body .footer-contact-title::after {
    width: 78px !important;
    height: 4px !important;
    margin-top: 10px !important;
  }

  body.body .footer-contact-subtitle {
    font-size: 15px !important;
    line-height: 22px !important;
  }
}

/* FAQ final polish: one quiet line system instead of mixed nested borders. */
body.body .home-faq {
  padding: clamp(54px, 5.6vw, 78px) 0 !important;
  border-top: 1px solid rgba(191, 197, 204, 0.1) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  background: linear-gradient(180deg, rgba(6, 16, 23, 0.92) 0%, rgba(3, 8, 13, 0.98) 100%) !important;
  box-shadow: none !important;
}

body.body .home-faq::before,
body.body .home-faq::after,
body.body .home-faq__inner::before,
body.body .home-faq__inner::after,
body.body .home-faq__content::before,
body.body .home-faq__content::after,
body.body .faq-accordion__item::before,
body.body .faq-accordion__item::after,
body.body .faq-accordion__trigger::before,
body.body .faq-accordion__trigger::after {
  display: none !important;
  content: none !important;
}

body.body .home-faq__inner {
  width: min(100% - 48px, 1320px) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.body .home-faq__heading {
  margin: 0 0 clamp(26px, 3vw, 38px) !important;
  text-align: center !important;
}

body.body .home-faq__title {
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  color: var(--hk-white) !important;
  font-size: clamp(36px, 3.2vw, 52px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: none !important;
}

body.body .home-faq__title::after {
  content: "" !important;
  display: block !important;
  width: 92px !important;
  height: 4px !important;
  margin: 14px auto 0 !important;
  border: 0 !important;
  background: var(--hk-orange) !important;
  box-shadow: none !important;
}

body.body .home-faq__content {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.94fr) minmax(0, 1fr) !important;
  grid-template-areas: "accordion media" !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 56px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  direction: ltr !important;
}

body.body .home-faq__accordion {
  grid-area: accordion !important;
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  direction: rtl !important;
}

body.body .home-faq__media {
  grid-area: media !important;
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid rgba(191, 197, 204, 0.18) !important;
  border-radius: 0 !important;
  background: rgba(14, 17, 22, 0.72) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  direction: rtl !important;
}

body.body .home-faq__image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #d8d8d8 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

body.body .faq-accordion {
  display: grid !important;
  gap: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.body .faq-accordion__item {
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid rgba(191, 197, 204, 0.18) !important;
  border-radius: 0 !important;
  background: rgba(8, 14, 19, 0.72) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.body .faq-accordion__item:hover {
  border-color: rgba(255, 138, 0, 0.42) !important;
  background: rgba(10, 17, 23, 0.86) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.body .faq-accordion__item.is-open,
body.body .faq-accordion__item[open] {
  border-color: rgba(255, 138, 0, 0.72) !important;
  background: rgba(9, 14, 19, 0.9) !important;
  box-shadow: none !important;
}

body.body .faq-accordion__trigger,
body.body .product-section--faq .faq-accordion__trigger {
  width: 100% !important;
  min-height: 64px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
  text-align: right !important;
  cursor: pointer !important;
}

body.body .faq-accordion__trigger:hover,
body.body .faq-accordion__trigger:focus-visible,
body.body .faq-accordion__item.is-open .faq-accordion__trigger,
body.body .product-section--faq .faq-accordion__trigger:hover,
body.body .product-section--faq .faq-accordion__trigger:focus-visible,
body.body .product-section--faq .faq-accordion__item.is-open .faq-accordion__trigger {
  border: 0 !important;
  background: transparent !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
}

body.body .faq-accordion__trigger:focus-visible {
  outline: 2px solid rgba(255, 138, 0, 0.42) !important;
  outline-offset: -2px !important;
}

body.body .faq-accordion__label,
body.body .product-section--faq .faq-accordion__label {
  flex: 1 1 auto !important;
  color: var(--hk-white) !important;
  opacity: 1 !important;
  font-family: "Arimo", "Rubik", Arial, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 19px) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: right !important;
}

body.body .faq-accordion__icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 138, 0, 0.68) !important;
  border-radius: 0 !important;
  background: rgba(255, 138, 0, 0.08) !important;
  color: var(--hk-orange) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.body .faq-accordion__icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

body.body .faq-accordion__item.is-open .faq-accordion__icon {
  border-color: var(--hk-orange) !important;
  background: var(--hk-orange) !important;
  color: #05080c !important;
}

body.body .faq-accordion__panel {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.body .faq-accordion__panel[hidden] {
  display: none !important;
}

body.body .faq-accordion__panel-inner,
body.body .product-section--faq .faq-accordion__panel-inner {
  margin: -2px 18px 18px !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(191, 197, 204, 0.14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  font-family: "Arimo", "Rubik", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  text-align: right !important;
}

body.body .faq-accordion__panel-inner p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 26px !important;
}

body.body .main-cat-page .home-faq {
  width: min(100% - 48px, 1320px) !important;
  margin: 0 auto clamp(44px, 5vw, 68px) !important;
  padding: clamp(34px, 4vw, 52px) 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.body .main-cat-page .home-faq__inner {
  width: 100% !important;
}

body.body .product-section--faq {
  border-color: rgba(191, 197, 204, 0.18) !important;
  background: rgba(8, 14, 19, 0.76) !important;
  box-shadow: none !important;
}

@media (max-width: 991.98px) {
  body.body .home-faq {
    padding: 44px 0 !important;
  }

  body.body .home-faq__inner,
  body.body .main-cat-page .home-faq {
    width: min(100% - 32px, 1320px) !important;
  }

  body.body .home-faq__content {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "accordion"
      "media" !important;
    gap: 22px !important;
    direction: rtl !important;
  }

  body.body .home-faq__accordion,
  body.body .home-faq__media {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.body .home-faq__accordion {
    order: 1 !important;
  }

  body.body .home-faq__media {
    order: 2 !important;
  }
}

@media (max-width: 767.98px) {
  body.body .home-faq__title {
    font-size: clamp(31px, 9vw, 40px) !important;
  }

  body.body .home-faq__title::after {
    width: 76px !important;
    height: 4px !important;
    margin-top: 10px !important;
  }

  body.body .home-faq__media {
    padding: 14px !important;
  }

  body.body .faq-accordion {
    gap: 10px !important;
  }

  body.body .faq-accordion__trigger,
  body.body .product-section--faq .faq-accordion__trigger {
    min-height: 58px !important;
    padding: 12px 14px !important;
    gap: 12px !important;
  }

  body.body .faq-accordion__label,
  body.body .product-section--faq .faq-accordion__label {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  body.body .faq-accordion__icon {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.body .faq-accordion__panel-inner,
  body.body .product-section--faq .faq-accordion__panel-inner {
    margin: -2px 14px 14px !important;
    padding-top: 12px !important;
    font-size: 15px !important;
    line-height: 23px !important;
  }

  body.body .faq-accordion__panel-inner p {
    font-size: 15px !important;
    line-height: 23px !important;
  }
}

/* FAQ specificity bridge over the global button bridge. */
html body.body .faq-accordion button.faq-accordion__trigger,
html body.body .product-section--faq .faq-accordion button.faq-accordion__trigger {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 64px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
  outline: 0 !important;
  white-space: normal !important;
}

html body.body .faq-accordion button.faq-accordion__trigger:hover,
html body.body .faq-accordion button.faq-accordion__trigger:focus-visible,
html body.body .faq-accordion .faq-accordion__item.is-open button.faq-accordion__trigger,
html body.body .product-section--faq .faq-accordion button.faq-accordion__trigger:hover,
html body.body .product-section--faq .faq-accordion button.faq-accordion__trigger:focus-visible,
html body.body .product-section--faq .faq-accordion .faq-accordion__item.is-open button.faq-accordion__trigger {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--hk-white) !important;
  box-shadow: none !important;
}

html body.body .faq-accordion button.faq-accordion__trigger:focus-visible {
  outline: 2px solid rgba(255, 138, 0, 0.42) !important;
  outline-offset: -2px !important;
}

html body.body .faq-accordion button.faq-accordion__trigger .faq-accordion__label,
html body.body .product-section--faq .faq-accordion button.faq-accordion__trigger .faq-accordion__label {
  color: var(--hk-white) !important;
  font-size: clamp(16px, 1.05vw, 19px) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}

@media (max-width: 767.98px) {
  html body.body .faq-accordion button.faq-accordion__trigger,
  html body.body .product-section--faq .faq-accordion button.faq-accordion__trigger {
    min-height: 58px !important;
    padding: 12px 14px !important;
    gap: 12px !important;
  }
}

/* 2026-06-14 Kern: Hisherik homepage product split band — slightly lighter image treatment per Dima screenshot. */
body.home .home-hero-cards-wrap {
  background:
    linear-gradient(180deg, #07111a 0%, #0a1722 52%, #07111a 100%) !important;
}

body.home .home-hero__department-card {
  background: #09131d !important;
}

body.home .home-hero__department-image {
  filter: saturate(0.86) contrast(1.08) brightness(0.72) !important;
}

body.home .home-hero__department-card::after {
  background:
    linear-gradient(180deg, rgba(7, 17, 26, 0.12) 0%, rgba(7, 17, 26, 0.50) 100%),
    linear-gradient(90deg, rgba(7, 17, 26, 0.62), rgba(7, 17, 26, 0.14), rgba(7, 17, 26, 0.62)) !important;
}


/* 2026-06-14 Kern: replace cluttered gates-card source with a single clean gate crop. */
body.home .home-products-preview__card--gates .home-products-preview__image {
  object-position: 50% 54% !important;
  filter: saturate(0.9) contrast(1.04) brightness(0.76) !important;
}

body.home .home-products-preview__card--gates::after {
  background:
    linear-gradient(180deg, rgba(3, 8, 13, 0.05) 0%, rgba(3, 8, 13, 0.24) 36%, rgba(3, 8, 13, 0.82) 100%),
    linear-gradient(90deg, rgba(3, 8, 13, 0.18), transparent, rgba(3, 8, 13, 0.18)) !important;
}
