/* Public responsive refinements. Admin layouts do not load this file. */
body.tk-public :is(h1,h2,h3,h4,p,a,button,label) { overflow-wrap: break-word; }
body.tk-public :is(.tk-header-logo-col,.tk-header-actions-col,.tk-card-details-box,.tf-product-info-wrap,.login-wrap > *, .footer-col) { min-width: 0; }
body.tk-public .tk-product-card-item .tk-card-actions-row { flex-wrap: wrap !important; row-gap: 10px; }
body.tk-public .tk-product-card-item .tk-btn-view-details-pill { flex: 1 1 110px; min-width: 0; }
body.tk-public .tk-product-card-item :is(.tk-card-product-name,.tk-card-specs-line) { overflow-wrap: anywhere; }
body.tk-public #footer :is(.footer-contact-list a,.footer-contact-list span) { overflow-wrap: anywhere; }
body.tk-public .my-account-wrap .my-account-content { min-width: 0; }
body.tk-public .wrap-account-order { width: 100%; max-width: 100%; overflow-x: auto; }

/* Keep categories as the intended horizontal rail, with correctly sized images. */
body.tk-public.tk-home #tkCategoriesScroll.tk-spaces-wrap {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 4px 0 18px !important;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
body.tk-public.tk-home #tkCategoriesScroll .tk-space-item.categories-item.style-2 {
  flex: 0 0 232px !important;
  width: 232px !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}
body.tk-public.tk-home #tkCategoriesScroll .tk-space-item .img-style {
  width: 100% !important;
  max-width: none !important;
  height: 270px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  border-radius: 20px !important;
}
body.tk-public.tk-home #tkCategoriesScroll .tk-space-item .img-style img { display: block !important; width: 100% !important; height: 100% !important; padding: 0 !important; border-radius: inherit !important; object-fit: cover !important; }
body.tk-public.tk-home #tkCategoriesScroll .tk-space-item .content { width: 100% !important; padding: 0 5px !important; text-align: left !important; }
body.tk-public.tk-home #tkCategoriesScroll .tk-space-item :is(.title,.title a) { white-space: normal !important; text-overflow: clip !important; overflow: visible !important; line-height: 1.35 !important; }
body.tk-public.tk-home .tk-home-applications .collection-position.style-4 { position: relative !important; }

@media (max-width: 1199px) and (min-width: 992px) {
  /* Switch to the drawer before the desktop navigation becomes cramped. */
  body.tk-public #header .tk-header-nav-col { display: none !important; }
  body.tk-public #header .mobile-menu.tk-mobile-toggle { display: inline-flex !important; }
  body.tk-public #header .tk-header-actions-col { margin-left: auto; }
}

@media (max-width: 991px) {
  body.tk-public { --tk-header-offset: 84px; }
  body.tk-public.tk-catalogue-page .tk-filter-pills-bar { top: var(--tk-header-offset) !important; }
  body.tk-public.tk-catalogue-page #tkCardsGrid.tk-product-cards-container:not(.list-mode) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.tk-public.tk-product-detail-page .tk-product-showcase > .container > .row { --bs-gutter-x: 24px; }
  body.tk-public.tk-product-detail-page .product-variant-selectors { min-width: 0; }
  body.tk-public.tk-product-detail-page .variant-picker-item { min-width: 0; }
  body.tk-public.tk-product-detail-page .variant-picker-values { flex-wrap: wrap !important; min-width: 0; }
  body.tk-public.tk-product-detail-page .variant-picker-values label.style-text { max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; }
}

@media (max-width: 767px) {
  body.tk-public :is(.container,.container-2) { padding-inline: 18px !important; }
  body.tk-public #header .tk-header-inner { padding-inline: 16px !important; }
  body.tk-public.tk-home #wrapper > section { padding-block: 52px; }
  body.tk-public.tk-home #tkCategoriesScroll .tk-space-item.categories-item.style-2 { flex-basis: clamp(148px, 46vw, 200px) !important; width: clamp(148px, 46vw, 200px) !important; }
  body.tk-public.tk-home #tkCategoriesScroll .tk-space-item .img-style { height: auto !important; aspect-ratio: .86 !important; border-radius: 18px !important; }
  body.tk-public.tk-home #tkCategoriesScroll .tk-space-item :is(.title,.title a) { font-size: 14px !important; }
  body.tk-public.tk-home .heading-section .header { font-size: clamp(29px, 6.8vw, 42px) !important; }
  body.tk-public.tk-home .tk-home-applications .collection-position.style-4 .content { padding: 16px !important; left: 12px !important; right: 12px !important; bottom: 12px !important; max-width: calc(100% - 24px) !important; }
  body.tk-public.tk-home .tk-home-applications .collection-position.style-4 h4 { font-size: 21px; }
  body.tk-public .tk-pills-scroll { overflow-x: auto !important; flex-wrap: nowrap !important; gap: 8px !important; padding-block: 2px; scrollbar-width: none; overscroll-behavior-inline: contain; }
  body.tk-public .tk-pills-scroll::-webkit-scrollbar { display: none; }
  body.tk-public.tk-catalogue-page .tk-filter-pill { min-height: 44px; flex-shrink: 0; }
  body.tk-public.tk-catalogue-page .tk-pill-menu :is(.tk-menu-item,.tk-menu-check) { min-height: 44px; }
  body.tk-public.tk-catalogue-page .tk-toolbar-row { flex-wrap: wrap; gap: 16px; margin-block: 24px; }
  body.tk-public.tk-catalogue-page .tk-toolbar-controls { min-width: 0; gap: 12px; }
  body.tk-public.tk-catalogue-page .tk-sort-select-custom { min-height: 40px; max-width: 155px; font-size: 13px; }
  body.tk-public.tk-catalogue-page .tk-view-toggle-btn { width: 40px; height: 40px; }
  body.tk-public .tk-product-card-item :is(.tk-btn-view-details-pill,.tk-btn-add-quote-pill) { min-height: 44px; }
  body.tk-public.tk-product-detail-page .tf-product-media-wrap { position: relative !important; top: auto !important; padding: 14px; }
  body.tk-public.tk-product-detail-page .tk-product-showcase .col-md-6 > .sticky-top { position: static !important; }
  body.tk-public.tk-product-detail-page .tf-product-media-main .item { width: 100%; height: auto !important; min-height: 0 !important; aspect-ratio: 1; padding: 24px; }
  body.tk-public.tk-product-detail-page .tf-product-media-main .item img { width: 100%; height: 100%; object-fit: contain; }
  body.tk-public.tk-product-detail-page .product-variant-selectors { gap: 12px; }
  body.tk-public.tk-product-detail-page .variant-picker-values label.style-text { min-height: 40px !important; padding: 9px 12px !important; }
  body.tk-public.tk-product-detail-page .variant-picker-values label.style-text .text-title { font-size: 12px !important; }
  body.tk-public.tk-product-detail-page .teknolite-action-buttons { gap: 10px; }
  body.tk-public.tk-product-detail-page .teknolite-action-buttons .tf-btn { min-height: 48px; font-size: 13px; }
  body.tk-public.tk-product-detail-page .teknolite-product-tabs .table-responsive { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.tk-public.tk-secondary-page .login-wrap { display: grid; grid-template-columns: minmax(0,1fr); }
  body.tk-public.tk-secondary-page .login-wrap > :is(.left,.right) { width: 100%; min-width: 0; }
  body.tk-public.tk-secondary-page .form-login .wrap > .d-flex { flex-wrap: wrap; gap: 12px; }
  body.tk-public.tk-secondary-page .form-login .tf-cart-checkbox { max-width: 100%; }
  body.tk-public.tk-secondary-page .form-login .tf-cart-checkbox label { min-width: 0; white-space: normal; }
  body.tk-public.tk-secondary-page .form-login .tf-checkbox-wrapp { flex-shrink: 0; }
  body.tk-public.tk-secondary-page :is(.form-login,.form-account-details,#contactForm) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { font-size: 16px !important; }
  body.tk-public .tk-quote-dark-modal .modal-dialog { margin: 12px auto; }
  body.tk-public .tk-quote-dark-modal .modal-content { max-width: 100%; }
  body.tk-public :is(.modal,.offcanvas) { overscroll-behavior: contain; }
  body.tk-public .modal :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { font-size: 16px !important; }
  body.tk-public .tk-quote-dark-modal .tk-quote-input { min-height: 46px !important; }
  body.tk-public .tk-quote-dark-modal .tk-quote-textarea { min-height: 100px !important; }
  body.tk-public #scroll-top { right: 16px !important; bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important; width: 44px !important; height: 44px !important; }
  body.tk-public #floatingWhatsappBtn { right: 16px !important; bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; width: 44px !important; height: 44px !important; }
  body.tk-public:has(input:focus,textarea:focus,select:focus) :is(#scroll-top,#floatingWhatsappBtn) { opacity: 0 !important; pointer-events: none !important; }
}

@media (max-width: 575px) {
  body.tk-public { --tk-header-offset: 78px; }
  body.tk-public #header .tk-header-inner { padding-inline: 14px !important; }
  body.tk-public #header .logo-header img.logo { width: 110px !important; }
  body.tk-public #header .tk-header-actions-col { margin-left: auto; }
  body.tk-public #header .mobile-menu.tk-mobile-toggle { flex-basis: 44px; width: 44px !important; height: 44px !important; }
  body.tk-public #header .mobile-menu.tk-mobile-toggle svg { width: 20px !important; height: 20px !important; }
  body.tk-public #mobileMenu.tk-mobile-offcanvas .tk-mb-drawer-header { padding: 20px !important; }
  body.tk-public #mobileMenu.tk-mobile-offcanvas .mb-body { padding: 12px 22px 28px !important; }
  body.tk-public #mobileMenu.tk-mobile-offcanvas .mb-menu-link { min-height: 52px; font-size: 27px !important; padding-block: 14px !important; }
  body.tk-public.tk-home .home-products-4col { grid-template-columns: minmax(0,1fr) !important; gap: 18px !important; }
  body.tk-public.tk-catalogue-page #tkCardsGrid.tk-product-cards-container:not(.list-mode) { grid-template-columns: minmax(0,1fr) !important; gap: 18px !important; }
  body.tk-public.tk-home .about-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  body.tk-public.tk-home .about-stat { width: auto !important; min-width: 0; }
  body.tk-public.tk-home .about-stat h3 { font-size: clamp(32px,9vw,42px); }
  body.tk-public.tk-home .about-stat p { font-size: 10px; line-height: 1.5; }
  body.tk-public.tk-home .tk-hero-bottom-inner { gap: 12px; align-items: center; }
  body.tk-public.tk-home .tk-hero-features { min-width: 0; }
  body.tk-public.tk-home .tk-hero-feature-item { font-size: 9px !important; }
  body.tk-public.tk-home .tk-hero-nav-btn { width: 40px !important; height: 40px !important; }
  body.tk-public.tk-home .tk-hero-slider-controls { flex-shrink: 0 !important; }
  body.tk-public.tk-product-detail-page .tf-product-info-name .name { font-size: clamp(34px,10vw,48px); }
  body.tk-public.tk-product-detail-page .tf-breadcrumb-prev-next a { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
  body.tk-public.tk-product-detail-page .teknolite-product-tabs .widget-menu-tab { gap: 7px; }
  body.tk-public.tk-product-detail-page .widget-menu-tab .item-title { min-height: 42px; display: inline-flex; align-items: center; font-size: 12px; padding: 10px 13px; }
  body.tk-public.tk-secondary-page :is(.teknolite-contact-info,.teknolite-contact-form-wrap) { padding: 24px 20px; }
  body.tk-public.tk-secondary-page .page-title .content .title { font-size: clamp(32px,9vw,46px); }
  body.tk-public.tk-secondary-page .login-wrap .button-submit .tf-btn { width: 100%; }
  body.tk-public #footer .footer-copyright-inner { flex-direction: column; align-items: flex-start !important; gap: 12px; }
  body.tk-public #footer .footer-bottom-legal { flex-wrap: wrap; }
  body.tk-public.tk-campaign #header { width: calc(100% - 20px) !important; margin-inline: 10px !important; }
}

@media (max-width: 479px) {
  body.tk-public.tk-catalogue-page .tk-toolbar-left-group { flex-basis: 100%; }
  body.tk-public.tk-catalogue-page .tk-toolbar-controls { width: 100%; justify-content: space-between; }
  body.tk-public.tk-catalogue-page .tk-count-heading { font-size: 14px; }
  body.tk-public.tk-catalogue-page .tk-sort-box { font-size: 12px; }
  body.tk-public .tk-product-cards-container.list-mode .tk-product-card-item { display: flex; flex-direction: column; gap: 0; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-img-box { width: 100%; height: auto; aspect-ratio: 1.3; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-details-box { width: 100%; padding: 20px 14px 12px; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-category-tag { font-size: 10px; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-product-name { font-size: 26px; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-actions-row { max-width: none; }
  body.tk-public .tk-product-cards-container.list-mode .tk-btn-view-details-pill { font-size: 12px; }
  body.tk-public .tk-product-cards-container.list-mode .tk-btn-add-quote-pill { font-size: 11px; padding: 10px 14px !important; }
  body.tk-public .tk-product-cards-container.list-mode .tk-card-action-arrow { width: 36px; height: 36px; }
}

@media (max-width: 359px) {
  body.tk-public :is(.container,.container-2) { padding-inline: 15px !important; }
  body.tk-public.tk-home .tk-hero-slideshow .tk-hero-content-wrap { padding-inline: 20px !important; }
  body.tk-public.tk-home .tk-hero-slideshow .tk-hero-title { font-size: 37px !important; }
  body.tk-public.tk-home .tk-hero-bottom-inner { padding-inline: 20px !important; }
  body.tk-public.tk-home .tk-hero-features { display: none !important; }
  body.tk-public.tk-home .tk-hero-bottom-inner { justify-content: flex-end !important; }
  body.tk-public #footer .container-full-footer { padding-inline: 20px !important; }
}
