/* KNDev System generated aggregate. Edit owning source files, never this aggregate directly. */

/* Source: assets/kndev/tokens.css */
/* KNDev standard tokens. Customer overrides belong in assets/css/customer.css. */
:root {
  --knd-account-sidebar-width: 260px;

  --knd-account-layout-gap: clamp(24px, 3vw, 48px);

  --knd-account-content-margin-bottom: clamp(44px, 6vw, 84px);

  --knd-color-primary: #007f79;
  --knd-color-secondary: #0f766e;
  --knd-color-accent: #f59e0b;
  --knd-color-text: #111827;
  --knd-color-background: #ffffff;
  --knd-page-bg: #ffffff;
  --knd-index-page-bg: var(--knd-page-bg, #ffffff);
  --knd-color-surface: #f6fbfa;
  --knd-color-surface-hover: color-mix(in srgb, var(--knd-color-primary, #007f79) 9%, #ffffff);
  --knd-color-border: #d7e7e4;


  /* KNDev semantic palette and Hummingbird/Bootstrap color adapter. */
  --knd-color-primary-rgb: 0, 127, 121;
  --knd-color-success: #188251;
  --knd-color-info: #0b69f6;
  --knd-color-warning: #b77900;
  --knd-color-danger: #d92d42;
  --knd-color-muted: #64748b;
  --knd-color-dark: #212529;

  --bs-blue: var(--knd-color-primary);
  --bs-indigo: color-mix(in srgb, var(--knd-color-primary) 74%, #6610f2);
  --bs-purple: color-mix(in srgb, var(--knd-color-primary) 62%, #6f42c1);
  --bs-pink: #d63384;
  --bs-red: var(--knd-color-danger);
  --bs-orange: #fd7e14;
  --bs-yellow: var(--knd-color-warning);
  --bs-green: var(--knd-color-success);
  --bs-teal: color-mix(in srgb, var(--knd-color-primary) 72%, #20c997);
  --bs-cyan: var(--knd-color-info);
  --bs-black: #000000;
  --bs-white: #ffffff;
  --bs-gray: var(--knd-color-muted);
  --bs-gray-dark: var(--knd-color-dark);
  --bs-gray-100: color-mix(in srgb, var(--knd-color-text) 3%, #ffffff);
  --bs-gray-200: color-mix(in srgb, var(--knd-color-text) 8%, #ffffff);
  --bs-gray-300: color-mix(in srgb, var(--knd-color-text) 14%, #ffffff);
  --bs-gray-400: color-mix(in srgb, var(--knd-color-text) 22%, #ffffff);
  --bs-gray-500: color-mix(in srgb, var(--knd-color-text) 38%, #ffffff);
  --bs-gray-600: color-mix(in srgb, var(--knd-color-text) 56%, #ffffff);
  --bs-gray-700: color-mix(in srgb, var(--knd-color-text) 72%, #ffffff);
  --bs-gray-800: color-mix(in srgb, var(--knd-color-text) 86%, #ffffff);
  --bs-gray-900: var(--knd-color-text);
  --bs-primary: var(--knd-color-primary);
  --bs-secondary: var(--knd-color-muted);
  --bs-success: var(--knd-color-success);
  --bs-info: var(--knd-color-info);
  --bs-warning: var(--knd-color-warning);
  --bs-danger: var(--knd-color-danger);
  --bs-light: var(--knd-color-surface);
  --bs-dark: var(--knd-color-dark);
  --bs-primary-rgb: var(--knd-color-primary-rgb);
  --bs-primary-text-emphasis: color-mix(in srgb, var(--knd-color-primary) 72%, #000000);
  --bs-secondary-text-emphasis: color-mix(in srgb, var(--knd-color-muted) 72%, #000000);
  --bs-success-text-emphasis: color-mix(in srgb, var(--knd-color-success) 72%, #000000);
  --bs-info-text-emphasis: color-mix(in srgb, var(--knd-color-info) 72%, #000000);
  --bs-warning-text-emphasis: color-mix(in srgb, var(--knd-color-warning) 72%, #000000);
  --bs-danger-text-emphasis: color-mix(in srgb, var(--knd-color-danger) 72%, #000000);
  --bs-primary-bg-subtle: color-mix(in srgb, var(--knd-color-primary) 16%, #ffffff);
  --bs-secondary-bg-subtle: color-mix(in srgb, var(--knd-color-muted) 14%, #ffffff);
  --bs-success-bg-subtle: color-mix(in srgb, var(--knd-color-success) 16%, #ffffff);
  --bs-info-bg-subtle: color-mix(in srgb, var(--knd-color-info) 16%, #ffffff);
  --bs-warning-bg-subtle: color-mix(in srgb, var(--knd-color-warning) 18%, #ffffff);
  --bs-danger-bg-subtle: color-mix(in srgb, var(--knd-color-danger) 16%, #ffffff);
  --bs-light-bg-subtle: color-mix(in srgb, var(--knd-color-text) 2%, #ffffff);
  --bs-dark-bg-subtle: color-mix(in srgb, var(--knd-color-dark) 18%, #ffffff);
  --bs-primary-border-subtle: color-mix(in srgb, var(--knd-color-primary) 36%, #ffffff);
  --bs-secondary-border-subtle: color-mix(in srgb, var(--knd-color-muted) 32%, #ffffff);
  --bs-success-border-subtle: color-mix(in srgb, var(--knd-color-success) 36%, #ffffff);
  --bs-info-border-subtle: color-mix(in srgb, var(--knd-color-info) 36%, #ffffff);
  --bs-warning-border-subtle: color-mix(in srgb, var(--knd-color-warning) 38%, #ffffff);
  --bs-danger-border-subtle: color-mix(in srgb, var(--knd-color-danger) 36%, #ffffff);
  --bs-light-border-subtle: var(--knd-color-border);
  --bs-dark-border-subtle: color-mix(in srgb, var(--knd-color-dark) 40%, #ffffff);
  --bs-body-color: var(--knd-color-text);
  --bs-body-bg: var(--knd-page-bg, var(--knd-color-background));
  --bs-border-color: var(--knd-color-border);
  --bs-link-color: var(--knd-color-text);
  --bs-link-hover-color: var(--knd-color-primary);

  --knd-ui-chevron-size: 10px;
  --knd-ui-chevron-icon-size: 14px;
  --knd-ui-chevron-stroke-width: 2px;

  /* Category filter defaults. Customer overrides belong in customer.css. */
  --knd-filter-visible-lines: 5;
  --knd-filter-heading-font-weight: 400;
  --knd-filter-section-heading-font-size: 18px;
  --knd-filter-section-heading-font-weight: 700;
  --knd-filter-section-padding-y: 7px;
  --knd-filter-title-min-height: 30px;
  --knd-filter-list-margin-bottom: 4px;
  --knd-filter-option-gap-y: 4px;
  --knd-filter-show-all-margin: 4px 0 3px var(--knd-filter-indent, 5px);
  --knd-filter-chevron-size: 8px;
  --knd-filter-chevron-icon-size: 12px;

  --knd-font-body: inherit;
  --knd-font-heading: inherit;
  --knd-text-font-size: var(--knd-font-size-base, 16px);
  --knd-text-line-height: var(--knd-line-height-base, 1.5);
  --knd-paragraph-margin-bottom: 1rem;
  --knd-link-font-size: inherit;
  --knd-label-font-size: .875rem;
  --knd-radius-sm: 4px;
  --knd-radius-md: 8px;
  --knd-radius-lg: 16px;
  --knd-radius-modal: var(--knd-radius-block, var(--knd-radius-lg, 24px));
  --knd-radius-dropdown: var(--knd-radius-md, 16px);
  --knd-radius-card: var(--knd-radius-block, var(--knd-radius-lg, 24px));
  --knd-radius-block: var(--knd-radius-lg, 24px);
  --knd-radius-input: var(--knd-radius-button, var(--knd-radius-sm, 10px));
  --knd-radius-button: var(--knd-radius-sm, 10px);
  --knd-container-width: 1320px;
  --knd-shadow-card: 0 8px 30px rgb(0 0 0 / 8%);

  /* Shared standard card and form controls. */
  --knd-card-bg: #ffffff;
  --knd-card-color: var(--knd-color-text);
  --knd-card-border-width: 1px;
  --knd-card-border-color: var(--knd-color-border);
  --knd-card-border-radius: var(--knd-radius-card, var(--knd-radius-block, 24px));
  --knd-card-shadow: var(--knd-shadow-card);
  --knd-card-padding: clamp(18px, 2.4vw, 28px);
  --knd-card-body-padding: clamp(22px, 2.6vw, 34px);
  --knd-input-placeholder-color: #b7c0cf;
  --knd-input-placeholder-opacity: .72;
  --knd-input-default-value-color: var(--knd-input-placeholder-color);
  --knd-input-bg: #ffffff;
  --knd-input-color: var(--knd-color-text);
  --knd-input-border-color: var(--knd-color-border);
  --knd-input-focus-border-color: var(--knd-color-primary);
  --knd-input-border-radius: var(--knd-radius-input, var(--knd-radius-button, 10px));
  --knd-input-min-height: 48px;
  --knd-input-padding-y: 12px;
  --knd-input-padding-x: 14px;
  --knd-input-font-size: 14px;
  --knd-input-focus-shadow: 0 0 0 1px var(--knd-input-focus-border-color);

  /* Connected input + button pattern. Used when an input field is followed by an action button. */
  --knd-connected-control-height: var(--knd-button-min-height, 44px);
  --knd-connected-control-radius: var(--knd-radius-input, var(--knd-radius-button, 10px));
  --knd-connected-control-gap: 0px;
  --knd-connected-input-bg: var(--knd-input-bg, #ffffff);
  --knd-connected-input-color: var(--knd-input-color, var(--knd-color-text, #111827));
  --knd-connected-input-border-color: var(--knd-input-border-color, var(--knd-color-border, #d7e7e4));
  --knd-connected-input-focus-border-color: var(--knd-input-focus-border-color, var(--knd-color-primary, #007f79));
  --knd-connected-input-padding-x: 1rem;
  --knd-connected-button-min-width: 112px;
  --knd-connected-button-padding-x: 1.2rem;

  /* Shared button defaults. */
  --knd-button-bg: var(--knd-color-primary);
  --knd-button-color: #ffffff;
  --knd-button-border-color: var(--knd-color-primary);
  --knd-button-border-width: 1px;
  --knd-button-min-height: 44px;
  --knd-button-font-size: 1rem;
  --knd-button-line-height: 1.1;
  --knd-button-shadow: none;
  --knd-button-hover-shadow: none;
  --knd-button-transform: none;
  --knd-button-hover-transform: none;
  --knd-button-hover-bg: var(--knd-color-secondary);
  --knd-button-hover-color: #ffffff;
  --knd-button-hover-border-color: var(--knd-color-secondary);
  --knd-button-border-radius: var(--knd-radius-button, var(--knd-radius-sm, 10px));
  --knd-button-secondary-bg: #ffffff;
  --knd-button-secondary-color: var(--knd-color-text);
  --knd-button-secondary-border-color: var(--knd-color-border);
  --knd-button-secondary-hover-bg: var(--knd-color-surface);
  --knd-button-secondary-hover-color: var(--knd-color-text);
  --knd-button-secondary-hover-border-color: var(--knd-color-primary);
  --knd-button-font-weight: 600;

  /* Product add-to-cart and delivery defaults. */
  --knd-add-to-cart-bg: var(--knd-color-success);
  --knd-add-to-cart-color: #ffffff;
  --knd-add-to-cart-hover-bg: color-mix(in srgb, var(--knd-add-to-cart-bg) 82%, #000000);
  --knd-add-to-cart-hover-color: #ffffff;
  --knd-add-to-cart-icon-display: none;
  --knd-add-to-cart-icon-gap: 0px;
  /* Product card action display controls. */
  --knd-product-card-quantity-display: none;
  --knd-product-card-add-icon-display: none;
  --knd-product-card-add-text-display: inline;
  --knd-product-page-add-icon-display: none;
  --knd-product-delivery-display: inline-flex;
  --knd-product-delivery-align-items: center;
  --knd-product-delivery-gap: .45rem;
  --knd-product-delivery-margin-top: .65rem;
  --knd-product-delivery-margin-bottom: .75rem;
  --knd-product-delivery-font-size: .96rem;
  --knd-product-delivery-font-weight: 600;
  --knd-product-delivery-color: var(--knd-color-text, #111827);
  --knd-product-delivery-muted-color: #6b7280;
  --knd-product-delivery-warning-color: #d97706;
  --knd-product-delivery-success-color: #0f8a48;
  --knd-product-delivery-danger-color: #b42318;
  --knd-product-delivery-icon-size: 1.1em;
  --knd-product-campaigns-margin: 0;
  --knd-product-commerce-section-gap: 14px;
  --knd-product-commerce-card-padding: 16px;
  --knd-product-trust-padding: var(--knd-product-commerce-card-padding, 16px);
  --knd-product-trust-gap: 14px;
  --knd-product-review-card-margin: clamp(24px, 4vw, 48px) 0;
  --knd-product-info-card-gap: 24px;
  --knd-product-delivery-icon-content: "✓";
  --knd-product-availability-duplicate-display: none;
  --knd-product-delivery-information-display: inline-flex;

  /* Cart accessory popup. Controlled from customer.css. */
  --knd-cart-accessory-popup-enabled: 1;
  --knd-cart-accessory-popup-z-index: 20080;
  --knd-cart-accessory-popup-backdrop-bg: var(--knd-modal-backdrop-bg, rgba(15, 23, 42, .62));
  --knd-cart-accessory-popup-bg: var(--knd-modal-bg, #ffffff);
  --knd-cart-accessory-popup-color: var(--knd-modal-color, var(--knd-color-text, #111827));
  --knd-cart-accessory-popup-border-width: var(--knd-modal-border-width, 1px);
  --knd-cart-accessory-popup-border-color: var(--knd-modal-border-color, var(--knd-color-border, #d7e7e4));
  --knd-cart-accessory-popup-radius: var(--knd-modal-border-radius, 22px);
  --knd-cart-accessory-popup-shadow: var(--knd-modal-shadow, 0 24px 70px rgb(15 23 42 / 24%));
  --knd-cart-accessory-popup-padding: var(--knd-modal-body-padding, clamp(22px, 2.6vw, 34px));
  --knd-cart-accessory-card-bg: var(--knd-surface-card-bg, #ffffff);
  --knd-cart-accessory-card-border-color: var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-cart-accessory-card-radius: var(--knd-radius-lg, 16px);
  --knd-cart-accessory-button-bg: var(--knd-button-bg, var(--knd-color-primary, #007f79));
  --knd-cart-accessory-button-color: var(--knd-button-color, #ffffff);
  --knd-cart-accessory-button-hover-bg: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e));
  --knd-cart-accessory-button-hover-color: var(--knd-button-hover-color, #ffffff);

  /* Standard KNDev modal / popup defaults. */
  --knd-modal-backdrop-bg: rgba(15, 23, 42, .62);
  --knd-modal-max-width: min(860px, calc(100vw - 32px));
  --knd-modal-bg: var(--knd-card-bg, #ffffff);
  --knd-modal-color: var(--knd-card-color, var(--knd-color-text, #111827));
  --knd-modal-border-width: var(--knd-card-border-width, 1px);
  --knd-modal-border-color: var(--knd-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-modal-border-radius: var(--knd-card-border-radius, var(--knd-radius-lg, 16px));
  --knd-modal-shadow: var(--knd-shadow-panel, 0 24px 70px rgb(15 23 42 / 24%));
  --knd-modal-body-padding: var(--knd-card-body-padding, clamp(22px, 2.6vw, 34px));
  --knd-modal-close-size: 40px;
  --knd-modal-close-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-modal-close-color: var(--knd-color-text, #111827);
  --knd-modal-close-border-color: var(--knd-color-border, #d7e7e4);
  --knd-modal-close-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-modal-close-hover-color: var(--knd-modal-close-color);
  --knd-modal-close-hover-border-color: var(--knd-modal-close-border-color);
  --knd-modal-close-top: 14px;
  --knd-modal-close-right: 14px;
  --knd-modal-close-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-modal-close-radius: var(--knd-icon-button-radius, 999px);
  --knd-modal-close-shadow: 0 10px 26px rgb(15 23 42 / 10%);
  --knd-modal-close-font-size: 24px;
/* Shared icon button base - used by KNDev theme and modules as foundation. */
  --knd-icon-button-size: 44px;
  --knd-icon-button-bg: #ffffff;
  --knd-icon-button-color: currentColor;
  --knd-icon-button-border-width: 1px;
  --knd-icon-button-border-color: var(--knd-color-border);
  --knd-icon-button-radius: var(--knd-radius-button, var(--knd-radius-sm, 10px));
  --knd-icon-button-hover-bg: #f7f8f8;
  --knd-icon-button-hover-color: currentColor;

  /* Header defaults. Neutral by default: white background, normal text, no borders. */
  --knd-header-bg: #ffffff;
  --knd-header-color: inherit;
  --knd-header-link-color: inherit;
  --knd-header-link-hover-color: inherit;
  --knd-header-icon-color: currentColor;
  --knd-header-font-weight: inherit;
  --knd-header-border-width: 0px;
  --knd-header-border-color: transparent;
  --knd-header-border-style: solid;
  --knd-header-top-bg: var(--knd-header-bg);
  --knd-header-top-color: var(--knd-header-color);
  --knd-header-main-bg: var(--knd-header-bg);
  --knd-header-main-color: var(--knd-header-color);
  --knd-header-nav-bg: var(--knd-header-bg);
  --knd-header-nav-color: var(--knd-header-color);
  --knd-header-mobile-bg: var(--knd-header-bg);
  --knd-header-mobile-color: var(--knd-header-color);
  --knd-header-gap: 1rem;
  --knd-header-slot-gap: .75rem;
  --knd-header-mobile-action-gap: .35rem;
  --knd-header-top-min-height: 38px;
  --knd-header-main-min-height-desktop: 82px;
  --knd-header-main-min-height-mobile: 72px;

  /* Footer defaults. */
  --knd-footer-bg: #0f172a;
  --knd-footer-color: #ffffff;
  --knd-footer-link-color: #ffffff;
  --knd-footer-link-hover-color: var(--knd-color-primary, #007f79);
  --knd-footer-border-width: 0px;
  --knd-footer-border-color: transparent;
  --knd-footer-bottom-border-width: 0px;
  --knd-footer-bottom-border-color: transparent;
  --knd-footer-bottom-font-size: 12px;
  --knd-footer-bottom-line-height: 1.45;
  --knd-footer-bottom-padding-y: 10px;
  --knd-footer-bottom-padding-y-mobile: 12px;
  --knd-footer-bottom-padding-x: 16px;
  --knd-footer-bottom-margin: 0;
  --knd-footer-bottom-gap: 16px;
  --knd-footer-bottom-mobile-gap: 4px;
  --knd-footer-bottom-container-width: var(--knd-container-width);
  --knd-footer-bottom-link-color: currentColor;
  --knd-footer-bottom-link-hover-color: currentColor;
  --knd-footer-bottom-credit-opacity: .86;
  --knd-footer-bottom-prefix-opacity: .72;

  /* Back to top follows KNDev icon style. */
  --knd-payment-icon-height: 34px;
  --knd-payment-icon-min-width: 54px;
  --knd-payment-icon-padding: 5px 8px;
  --knd-payment-icon-radius: 8px;
  --knd-payment-icon-bg: #ffffff;
  --knd-payment-icon-image-height: 22px;
  --knd-payment-icon-image-max-width: 80px;
  --knd-backtotop-size: var(--knd-icon-button-size);
  --knd-backtotop-bg: #111827;
  --knd-backtotop-color: #ffffff;
  --knd-backtotop-border-width: 0px;
  --knd-backtotop-border-color: transparent;
  --knd-backtotop-radius: var(--knd-icon-button-radius);
  --knd-backtotop-hover-bg: var(--knd-color-primary);
  --knd-backtotop-hover-color: #ffffff;
  --knd-backtotop-shadow: 0 12px 32px rgb(15 23 42 / 14%);
  --knd-backtotop-right: 24px;
  --knd-backtotop-bottom: 24px;
  --knd-backtotop-z-index: 20040;
  --knd-sticky-contact-size: 46px;
  --knd-sticky-contact-size-mobile: 44px;
  --knd-sticky-contact-bottom: 24px;
  --knd-sticky-contact-bottom-mobile: calc(var(--knd-backtotop-bottom, 16px) + var(--knd-backtotop-size, var(--knd-icon-button-size, 44px)) + var(--knd-sticky-contact-gap, 10px));
  --knd-sticky-contact-right: 24px;
  --knd-sticky-contact-left: 24px;
  --knd-sticky-contact-gap: 10px;
  --knd-sticky-contact-radius: var(--knd-radius-pill, 999px);
  --knd-sticky-contact-bg: #ffffff;
  --knd-sticky-contact-bg-hover: var(--knd-color-surface, #f6fbfa);
  --knd-sticky-contact-color: var(--knd-color-text, #111827);
  --knd-sticky-contact-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  --knd-sticky-contact-z-index: 20050;
  --knd-sticky-contact-border-width: 1px;
  --knd-sticky-contact-border-color: var(--knd-color-border, #d7e7e4);
  --knd-sticky-contact-icon-size: 20px;
  --knd-sticky-contact-custom-bg: #ffffff;
  --knd-sticky-contact-custom-color: var(--knd-color-text, #111827);
  --knd-sticky-contact-item-bg: var(--knd-sticky-contact-bg, #ffffff);
  --knd-sticky-contact-item-color: var(--knd-sticky-contact-color, var(--knd-color-text, #111827));
  --knd-sticky-contact-item-hover-bg: var(--knd-sticky-contact-bg-hover, var(--knd-color-surface, #f6fbfa));
  --knd-sticky-contact-item-hover-color: var(--knd-color-primary, #007f79);

  /* Theme Builder products split templates. */
  --knd-product-quickview-display: inline-flex;
  --knd-products-split-gap: clamp(28px, 5vw, 72px);
  --knd-products-split-align: center;
  --knd-products-split-content-max-width: 560px;
  --knd-products-split-products-min-width: 0;
  --knd-products-split-eyebrow-color: var(--knd-color-primary);
  --knd-products-split-eyebrow-font-size: .82rem;
  --knd-products-split-eyebrow-font-weight: 800;
  --knd-products-split-eyebrow-letter-spacing: .12em;
  --knd-products-split-eyebrow-text-transform: uppercase;

  /* =========================================================
     14. Standard footer contact sections
     ========================================================= */
  --knd-footer-contact-margin-top: clamp(46px, 6vw, 86px);
  --knd-footer-contact-bg: radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--knd-color-accent, #f59e0b) 16%, transparent), transparent 24rem), linear-gradient(135deg, #101820 0%, #0b1118 100%);
  --knd-footer-contact-color: rgba(255,255,255,.78);
  --knd-footer-contact-link-color: rgba(255,255,255,.84);
  --knd-footer-contact-link-hover-color: var(--knd-color-primary, #007f79);
  --knd-footer-contact-padding-y: clamp(42px, 5vw, 72px);
  --knd-footer-contact-padding-x: 0px;
  --knd-footer-contact-gap: clamp(28px, 5vw, 56px);
  --knd-footer-contact-align-items: stretch;
  --knd-footer-contact-form-align-items: center;
  --knd-footer-contact-heading-color: #ffffff;
  --knd-footer-contact-heading-size: clamp(1.55rem, 2.4vw, 2.1rem);
  --knd-footer-contact-heading-weight: 900;
  --knd-footer-contact-logo-width: 230px;
  --knd-footer-contact-badge-bg: color-mix(in srgb, var(--knd-color-primary, #007f79) 28%, transparent);
  --knd-footer-contact-badge-color: #ffffff;
  --knd-footer-contact-muted-color: rgba(255,255,255,.72);
  --knd-footer-contact-divider-color: rgba(255,255,255,.16);
  --knd-footer-contact-link-gap: .75rem;
  --knd-footer-contact-icon-size: 20px;
  --knd-footer-contact-card-bg: rgba(255,255,255,.06);
  --knd-footer-contact-card-color: #ffffff;
  --knd-footer-contact-card-border-color: rgba(255,255,255,.14);
  --knd-footer-contact-card-radius: 22px;
  --knd-footer-contact-card-shadow: 0 18px 40px rgb(0 0 0 / 18%);
  --knd-footer-contact-card-padding: clamp(18px, 3vw, 26px);
  --knd-footer-contact-map-min-height: 320px;
  --knd-footer-contact-map-visual-bg: radial-gradient(circle at 20% 25%, rgba(255,255,255,.22), transparent 10rem), radial-gradient(circle at 78% 70%, color-mix(in srgb, var(--knd-color-primary, #007f79) 45%, transparent), transparent 14rem), linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  --knd-footer-contact-cta-bg: var(--knd-color-primary, #007f79);
  --knd-footer-contact-cta-color: #ffffff;
  --knd-footer-contact-cta-hover-bg: var(--knd-color-secondary, #0f766e);
  --knd-footer-contact-cta-radius: 999px;
  --knd-footer-contact-form-bg: rgba(255,255,255,.06);
  --knd-footer-contact-form-border-color: rgba(255,255,255,.14);
  --knd-footer-contact-form-shell-padding-x: 0px;
  --knd-footer-contact-form-shell-padding-y: 0px;
  --knd-footer-contact-form-shell-max-width: none;
  --knd-footer-contact-form-shell-margin: 0;
  --knd-footer-contact-margin-top-mobile: 0px;
  --knd-footer-contact-padding-y-mobile: clamp(24px, 8vw, 42px);
  --knd-footer-contact-gap-mobile: clamp(18px, 6vw, 32px);

  /* Referenced token defaults. Keep these declared so customer.css can mirror all KNDev tokens used by kndev-global.css. */
  --knd-header-top-border-width: var(--knd-header-border-width);
  --knd-header-top-border-color: var(--knd-header-border-color);
  --knd-header-nav-border-width: var(--knd-header-border-width);
  --knd-header-nav-border-color: var(--knd-header-border-color);
  --knd-header-nav2-zone-color: var(--knd-header-nav-full-color);
  --knd-header-nav2-zone-link-color: var(--knd-header-nav-full-link-color);
  --knd-header-nav2-zone-link-hover-color: var(--knd-header-nav-full-link-hover-color);
  --knd-shadow-dropdown: 0 18px 45px rgb(0 0 0 / 12%);
  --knd-hf-footer-padding-top: var(--knd-footer-main-padding-top);
  --knd-hf-footer-padding-bottom: var(--knd-footer-main-padding-bottom);
  --knd-button-text-decoration: none;
  --knd-button-hover-text-decoration: none;
  --knd-header-shadow: none;
  --knd-menu-link-text-decoration: none;
  --knd-menu-link-hover-text-decoration: none;
  --knd-header-banner-height-desktop: auto;
  --knd-header-topbar-height-desktop: 38px;
  --knd-header-main-height-desktop: 82px;
  --knd-header-navfull-height-desktop: 48px;
  --knd-header-nav-height-desktop: 54px;
  --knd-menu-link-color: var(--knd-menu-color);
  --knd-menu-font-size: 16px;
  --knd-menu-font-weight: 500;
  --knd-menu-link-hover-color: var(--knd-color-primary);
  --knd-menu-item-bg: transparent;
  --knd-menu-item-border-width: 0px;
  --knd-menu-item-border-color: transparent;
  --knd-menu-item-border-radius: 0px;
  --knd-menu-item-padding-y: 10px;
  --knd-menu-item-padding-x: 14px;
  --knd-menu-item-gap: 0px;
  --knd-menu-item-gap-x: var(--knd-menu-item-gap);
  --knd-menu-item-gap-y: 0px;
  --knd-menu-item-margin-x: 0px;
  --knd-menu-item-margin-y: 0px;
  --knd-menu-icon-size: 1.1em;
  --knd-menu-icon-gap: .45rem;
  --knd-menu-icon-color: currentColor;
  --knd-menu-item-gap-desktop: var(--knd-menu-item-gap);
  --knd-menu-item-gap-x-desktop: var(--knd-menu-item-gap-x);
  --knd-menu-item-gap-y-desktop: var(--knd-menu-item-gap-y);
  --knd-menu-item-margin-x-desktop: var(--knd-menu-item-margin-x);
  --knd-menu-item-margin-y-desktop: var(--knd-menu-item-margin-y);
  --knd-menu-icon-size-desktop: var(--knd-menu-icon-size);
  --knd-menu-icon-gap-desktop: var(--knd-menu-icon-gap);
  --knd-menu-icon-color-desktop: var(--knd-menu-icon-color);
  --knd-menu-item-gap-mobile: var(--knd-menu-item-gap);
  --knd-menu-item-gap-x-mobile: var(--knd-menu-item-gap-x);
  --knd-menu-item-gap-y-mobile: var(--knd-menu-item-gap-y);
  --knd-menu-item-margin-x-mobile: var(--knd-menu-item-margin-x);
  --knd-menu-item-margin-y-mobile: var(--knd-menu-item-margin-y);
  --knd-menu-icon-size-mobile: var(--knd-menu-icon-size);
  --knd-menu-icon-gap-mobile: var(--knd-menu-icon-gap);
  --knd-menu-icon-color-mobile: var(--knd-menu-icon-color);
  --knd-menu-item-hover-bg: transparent;
  --knd-menu-dropdown-bg: var(--knd-list-card-bg, var(--knd-surface-card-bg, #ffffff));
  --knd-menu-dropdown-color: var(--knd-list-card-color, var(--knd-color-text, #111827));
  --knd-menu-dropdown-border: var(--knd-menu-dropdown-border-width) var(--knd-menu-dropdown-border-style) var(--knd-menu-dropdown-border-color);
  --knd-menu-dropdown-radius: var(--knd-list-card-radius, var(--knd-radius-md, 16px));
  --knd-menu-dropdown-shadow: var(--knd-list-card-shadow, 0 14px 40px rgb(15 23 42 / 6%));
  --knd-menu-mobile-panel-bg: #ffffff;
  --knd-menu-mobile-panel-color: #111111;
  --knd-menu-mobile-panel-width: min(440px, 100vw);
  --knd-menu-mobile-panel-shadow: var(--knd-shadow-panel);
  --knd-mobile-panel-contact-icon-color: currentColor;

  /* Mobile menu/drawer tokens. */
  --knd-mobile-overlay-bg: rgb(15 23 42 / 42%);
  --knd-mobile-panel-bg: var(--knd-menu-mobile-panel-bg, #ffffff);
  --knd-mobile-panel-text: var(--knd-menu-mobile-panel-color, var(--knd-color-text, #111827));
  --knd-mobile-panel-width: var(--knd-menu-mobile-panel-width, min(440px, 100vw));
  --knd-mobile-panel-shadow: var(--knd-menu-mobile-panel-shadow, var(--knd-shadow-panel));
  --knd-mobile-panel-border-width: 0px;
  --knd-mobile-panel-border-color: transparent;
  --knd-mobile-panel-border-radius: 0px;
  --knd-mobile-panel-header-bg: var(--knd-menu-mobile-panel-header-bg, transparent);
  --knd-mobile-panel-header-text: var(--knd-menu-mobile-panel-header-color, inherit);
  --knd-mobile-panel-header-border: var(--knd-menu-mobile-panel-header-border-color, var(--knd-color-border, #e5e7eb));
  --knd-mobile-panel-close-bg: var(--knd-menu-mobile-close-bg, var(--knd-color-surface, #f3f4f6));
  --knd-mobile-panel-close-color: var(--knd-menu-mobile-close-color, inherit);
  --knd-mobile-panel-close-border: var(--knd-menu-mobile-close-border-color, var(--knd-color-border, #e5e7eb));
  --knd-mobile-item-bg: transparent;
  --knd-mobile-item-text: var(--knd-menu-link-color, inherit);
  --knd-mobile-item-hover-bg: var(--knd-menu-item-hover-bg, transparent);
  --knd-mobile-item-hover-text: var(--knd-menu-link-hover-color, var(--knd-mobile-item-text));
  --knd-mobile-item-active-bg: var(--knd-menu-item-active-bg, var(--knd-mobile-item-hover-bg));
  --knd-mobile-item-active-text: var(--knd-menu-link-active-color, var(--knd-mobile-item-text));
  --knd-mobile-item-border-width: 0px;
  --knd-mobile-item-border-color: transparent;
  --knd-mobile-item-border-radius: 0px;
  --knd-mobile-item-padding-y: var(--knd-menu-item-padding-y-mobile, var(--knd-menu-item-padding-y, 10px));
  --knd-mobile-item-padding-x: var(--knd-menu-item-padding-x-mobile, var(--knd-menu-item-padding-x, 14px));
  --knd-mobile-item-font-size: var(--knd-menu-font-size, 16px);
  --knd-mobile-item-font-weight: var(--knd-menu-font-weight, 500);
  --knd-mobile-item-line-height: var(--knd-menu-item-line-height, 1.2);
  --knd-mobile-item-text-transform: var(--knd-menu-text-transform, none);
  --knd-search-input-bg: #ffffff;
  --knd-search-input-color: #111111;
  --knd-search-input-border-color: var(--knd-color-border);
  --knd-search-input-border-width: 1px;
  --knd-search-input-radius: var(--knd-radius-input, var(--knd-radius-button, 10px));
  --knd-search-input-height: 44px;
  --knd-search-input-width-desktop: 320px;
  --knd-search-button-bg: var(--knd-button-bg);
  --knd-search-button-color: var(--knd-button-color);
  --knd-search-button-hover-bg: var(--knd-button-hover-bg);
  --knd-search-button-hover-color: var(--knd-button-hover-color);
  --knd-cart-icon-color: var(--knd-icon-button-color);
  --knd-cart-icon-size: var(--knd-icon-button-size);
  --knd-cart-icon-bg: var(--knd-icon-button-bg);
  --knd-cart-icon-border-color: var(--knd-icon-button-border-color);
  --knd-cart-icon-radius: var(--knd-icon-button-radius);
  --knd-cart-panel-bg: #ffffff;
  --knd-cart-panel-color: #111111;
  --knd-cart-panel-width: 420px;
  --knd-cart-panel-shadow: var(--knd-shadow-panel);
  --knd-cart-badge-bg: #0f7b50;
  --knd-cart-badge-color: #ffffff;
  --knd-category-bg: var(--knd-page-bg, var(--knd-shop-page-bg, var(--knd-color-background, #ffffff)));
  --knd-category-subcategories-toggle-margin-bottom: 20px;
  --knd-category-subcategories-toggle-width: auto;
  --knd-breadcrumb-bg: var(--knd-color-background, #ffffff);
  --knd-breadcrumb-color: var(--knd-color-muted);
  --knd-breadcrumb-font-size: 14px;
  --knd-breadcrumb-padding-y: 12px;
  --knd-breadcrumb-padding-x: 0px;
  --knd-breadcrumb-link-color: var(--knd-color-muted);
  --knd-breadcrumb-link-hover-color: var(--knd-color-primary);
  --knd-product-grid-gap: 24px;
  /* Product-list columns are context-aware at every breakpoint. */
  --knd-products-per-row-with-sidebar-xxs: 1;
  --knd-products-per-row-with-sidebar-xs: 2;
  --knd-products-per-row-with-sidebar-sm: 2;
  --knd-products-per-row-with-sidebar-md: 2;
  --knd-products-per-row-with-sidebar-lg: 2;
  --knd-products-per-row-with-sidebar-xl: 3;
  --knd-products-per-row-with-sidebar-xxl: 3;
  --knd-products-per-row-without-sidebar-xxs: 1;
  --knd-products-per-row-without-sidebar-xs: 2;
  --knd-products-per-row-without-sidebar-sm: 2;
  --knd-products-per-row-without-sidebar-md: 2;
  --knd-products-per-row-without-sidebar-lg: 3;
  --knd-products-per-row-without-sidebar-xl: 4;
  --knd-products-per-row-without-sidebar-xxl: 4;
  --knd-product-card-bg: #ffffff;
  --knd-product-card-color: var(--knd-color-text);
  --knd-product-card-border-width: 1px;
  --knd-product-card-border-color: var(--knd-color-border);
  --knd-product-card-border-radius: var(--knd-radius-card, var(--knd-radius-block, 24px));
  --knd-product-card-shadow: none;
  --knd-product-card-padding: 16px;
  --knd-product-card-hover-shadow: var(--knd-shadow-card);
  --knd-product-card-inner-shadow: none;
  --knd-product-card-brand-color: var(--knd-color-text);
  --knd-product-card-brand-font-size: 14px;
  --knd-product-card-brand-font-weight: 800;
  --knd-product-card-meta-height: 34px;
  --knd-product-card-image-min-height: clamp(180px, 24vw, 320px);
  --knd-product-card-label-inset: 12px;
  --knd-product-card-content-gap: 14px;
  --knd-product-card-title-font-weight: 600;
  --knd-product-card-price-font-size: 18px;
  --knd-product-card-price-font-weight: 600;
  --knd-product-card-availability-color: var(--knd-color-muted);
  --knd-product-card-availability-icon-color: #16a34a;
  --knd-product-title-color: var(--knd-color-text);
  --knd-product-title-font-size: 16px;
  --knd-product-title-font-weight: 600;
  --knd-product-title-hover-color: var(--knd-color-primary);
  --knd-product-price-color: var(--knd-color-text);
  --knd-product-price-font-size: 18px;
  --knd-product-price-font-weight: 700;
  --knd-product-regular-price-color: var(--knd-color-muted);
  --knd-product-flags-bg: var(--knd-color-primary);
  --knd-product-flags-color: #ffffff;
  --knd-product-page-bg: var(--knd-page-bg, var(--knd-shop-page-bg, #ffffff));
  --knd-product-page-title-color: var(--knd-color-text);
  --knd-product-page-price-color: var(--knd-color-text);
  --knd-product-page-price-font-size: clamp(24px, 3vw, 36px);
  --knd-product-page-price-font-weight: 700;
  --knd-product-page-summary-color: var(--knd-color-text);
  --knd-header-banner-bg-mobile: var(--knd-header-banner-bg);
  --knd-header-banner-color-mobile: var(--knd-header-banner-color);
  --knd-header-banner-height-mobile: auto;
  --knd-header-banner-link-color-mobile: var(--knd-header-banner-link-color);
  --knd-header-topbar-bg-mobile: var(--knd-header-topbar-bg);
  --knd-header-topbar-color-mobile: var(--knd-header-topbar-color);
  --knd-header-topbar-height-mobile: auto;
  --knd-header-topbar-link-color-mobile: var(--knd-header-topbar-link-color);
  --knd-header-main-bg-mobile: var(--knd-header-main-bg);
  --knd-header-main-color-mobile: var(--knd-header-main-color);
  --knd-header-main-link-color-mobile: var(--knd-header-main-link-color);
  --knd-header-nav-bg-mobile: var(--knd-header-nav-bg);
  --knd-header-nav-color-mobile: var(--knd-header-nav-color);
  --knd-header-nav-link-color-mobile: var(--knd-header-nav-link-color);
  --knd-header-navfull-bg-mobile: var(--knd-header-navfull-bg);
  --knd-header-navfull-color-mobile: var(--knd-header-navfull-color);
  --knd-header-navfull-link-color-mobile: var(--knd-header-navfull-link-color);
  --knd-header-main-height-mobile: 72px;
  --knd-header-nav-height-mobile: auto;
  --knd-header-navfull-height-mobile: auto;
  --knd-search-input-width-mobile: 100%;
  --knd-hf-header-bg: var(--knd-header-bg);
  --knd-hf-header-text: var(--knd-header-color);
  --knd-hf-header-link: var(--knd-header-link-color);
  --knd-hf-header-hover: var(--knd-header-link-hover-color);
  --knd-hf-logo-width-desktop: var(--knd-logo-width-desktop);
  --knd-social-icon-gap: .55rem;
  --knd-social-icon-size: 24px;
  --knd-social-icon-radius: 999px;
  --knd-social-icon-bg: transparent;
  --knd-social-icon-color: var(--knd-header-link-color, currentColor);
  --knd-social-icon-hover-bg: transparent;
  --knd-social-icon-hover-color: var(--knd-header-link-hover-color, var(--knd-color-primary));
  --knd-hf-sticky-bg: var(--knd-header-sticky-bg);
  --knd-hf-logo-width-mobile: var(--knd-logo-width-mobile);
  --knd-search-submit-color: var(--knd-search-button-color);
  --knd-cartdrawer-badge-bg: var(--knd-cartdrawer-primary);
  --knd-cartdrawer-primary: var(--knd-color-primary);
  --knd-cartdrawer-badge-color: #ffffff;
  --knd-cartdrawer-badge-font-weight: 800;
  --knd-header-action-font-family: inherit;
  --knd-header-action-icon-radius: var(--knd-header-action-radius);
  --knd-header-action-number-font-weight: 800;

  /* Header module action buttons: one source for Search, Cart, Login and similar header module labels. */
  --knd-header-module-button-font-size: var(--knd-button-font-size, 1rem);
  --knd-header-module-button-font-weight: var(--knd-button-font-weight, 600);
  --knd-header-module-button-line-height: var(--knd-header-action-line-height, 1.1);
  --knd-header-module-button-font-family: var(--knd-header-action-font-family, inherit);
  --knd-header-module-button-min-height: var(--knd-icon-button-size, 44px);
  --knd-header-module-button-height: var(--knd-header-module-button-min-height, 44px);
  --knd-header-module-button-padding-y: var(--knd-button-padding-y, .75rem);
  --knd-header-module-button-padding-x: var(--knd-button-padding-x, 1.2rem);
  --knd-header-module-button-gap: var(--knd-header-action-gap, .55rem);
  --knd-header-module-button-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-header-module-button-color: var(--knd-color-text, currentColor);
  --knd-header-module-button-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-header-module-button-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-header-module-button-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px));
  --knd-header-module-button-shadow: var(--knd-icon-button-shadow, none);
  --knd-header-module-button-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-header-module-button-hover-color: var(--knd-icon-button-hover-color, var(--knd-header-module-button-color));
  --knd-header-module-button-hover-border-color: var(--knd-icon-button-hover-border-color, var(--knd-header-module-button-border-color));
  --knd-header-module-button-hover-shadow: var(--knd-header-module-button-shadow);
  --knd-header-module-button-hover-transform: var(--knd-button-hover-transform, none);
  --knd-header-module-icon-size: var(--knd-icon-button-size, 44px);

  /* Login Popup tokens. */
  --knd-login-gap: var(--knd-header-action-gap, .55rem);
  --knd-login-icon-size: var(--knd-icon-button-size, 44px);
  --knd-login-icon-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-login-icon-color: var(--knd-icon-button-color, currentColor);
  --knd-login-icon-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-login-icon-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-login-icon-radius: var(--knd-icon-button-radius, 999px);
  --knd-login-icon-shadow: var(--knd-icon-button-shadow, none);
  --knd-login-icon-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-login-icon-hover-color: var(--knd-icon-button-hover-color, currentColor);
  --knd-login-icon-hover-border-color: var(--knd-icon-button-hover-border-color, var(--knd-login-icon-border-color));
  --knd-login-icon-hover-shadow: 0 10px 30px rgb(15 23 42 / 8%);
  --knd-login-label-size: var(--knd-header-action-font-size, .9rem);
  --knd-login-label-weight: var(--knd-header-action-font-weight, 600);
  --knd-login-label-min-width: var(--knd-icon-button-size, 44px);
  --knd-login-label-padding-x: var(--knd-header-action-padding-x, 13px);
  --knd-login-label-radius: var(--knd-icon-button-radius, 999px);
  --knd-login-account-menu-offset-y: 2px;
  --knd-login-account-menu-z-index: 10060;
  --knd-login-account-menu-min-width: 180px;
  --knd-login-account-menu-padding: 6px;
  --knd-login-account-menu-bg: #ffffff;
  --knd-login-account-menu-color: var(--knd-color-text, #111827);
  --knd-login-account-menu-border: 1px solid var(--knd-color-border, #d7e7e4);
  --knd-login-account-menu-radius: var(--knd-radius-dropdown, var(--knd-radius-md, 16px));
  --knd-login-account-menu-shadow: var(--knd-shadow-dropdown, 0 18px 45px rgb(0 0 0 / 12%));
  --knd-login-account-menu-mobile-shadow: none;
  --knd-login-account-menu-item-min-height: 38px;
  --knd-login-account-menu-item-padding-y: 8px;
  --knd-login-account-menu-item-padding-x: 10px;
  --knd-login-account-menu-item-radius: var(--knd-radius-sm, 10px);
  --knd-login-account-menu-item-color: currentColor;
  --knd-login-account-menu-item-font-weight: 600;
  --knd-login-account-menu-item-hover-bg: var(--knd-color-surface, #f7f8f8);
  --knd-login-account-menu-item-hover-color: var(--knd-color-primary, currentColor);
  --knd-login-logout-color: var(--knd-color-secondary, currentColor);
  --knd-header-module-icon-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-header-module-icon-color: var(--knd-icon-button-color, currentColor);
  --knd-header-module-icon-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-header-module-icon-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-header-module-icon-radius: var(--knd-icon-button-radius, var(--knd-radius-button, 10px));
  --knd-header-module-icon-shadow: var(--knd-icon-button-shadow, none);
  --knd-icon-button-shadow: none;
  --knd-header-module-icon-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-header-module-icon-hover-color: var(--knd-icon-button-hover-color, var(--knd-header-module-icon-color));
  --knd-header-module-icon-hover-border-color: var(--knd-icon-button-hover-border-color, var(--knd-header-module-icon-border-color));
  --knd-icon-button-hover-border-color: var(--knd-icon-button-border-color);
  --knd-hf-footer-bg: var(--knd-footer-bg);
  --knd-hf-footer-text: var(--knd-footer-color);
  --knd-hf-footer-link: var(--knd-footer-link-color);
  --knd-hf-footer-hover: var(--knd-footer-link-hover-color);
  --knd-container-gutter: 16px;

  /* Referenced token defaults added by KNDev token cleanup. */
  --knd-menu-color: var(--knd-header-link-color);
  --knd-menu-dropdown-border-width: var(--knd-surface-card-border-width, 1px);
  --knd-menu-dropdown-border-style: solid;
  --knd-menu-dropdown-border-color: var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-shadow-panel: 0 20px 60px rgb(0 0 0 / 18%);
  --knd-header-nav-link-color: var(--knd-header-link-color);
  --knd-logo-width-desktop: 220px;
  --knd-header-sticky-bg: var(--knd-header-bg);
  --knd-logo-width-mobile: 160px;

  /* Additional KNDev module token defaults. These are kept non-legacy and editable in customer.css. */
  --knd-font-size-base: 16px;
  --knd-line-height-base: 1.5;
  --knd-heading-font-weight: 700;
  --knd-body-font-weight: 400;
  --knd-label-font-weight: 600;
  --knd-payment-option-logo-height: 22px;
  --knd-payment-option-logo-max-width: 80px;
  --knd-section-padding-y: clamp(2.5rem, 5vw, 5rem);
  --knd-section-padding-x: 0px;
  --knd-page-footer-gap: clamp(36px, 5vw, 64px);
  --knd-button-padding-y: .75rem;
  --knd-button-padding-x: 1.2rem;
  --knd-header-banner-hover-color: var(--knd-header-link-hover-color);
  --knd-header-banner-hover-color-mobile: var(--knd-header-banner-hover-color);
  --knd-header-topbar-hover-color-mobile: var(--knd-header-topbar-hover-color);
  --knd-header-main-hover-color-mobile: var(--knd-header-main-hover-color);
  --knd-header-nav-hover-color: var(--knd-header-link-hover-color);
  --knd-header-nav-hover-color-mobile: var(--knd-header-nav-hover-color);
  --knd-header-navfull-hover-color-mobile: var(--knd-header-navfull-hover-color);
  --knd-header-sticky-color: var(--knd-header-color);
  --knd-header-sticky-shadow: 0 8px 24px rgb(0 0 0 / 8%);
  --knd-footer-shadow: none;
  --knd-footer-padding-top: 48px;
  --knd-footer-padding-bottom: 24px;
  --knd-footer-bottom-bg: var(--knd-footer-bg);
  --knd-footer-bottom-color: var(--knd-footer-color);
  --knd-menu-bg: transparent;
  --knd-menu-link-active-color: var(--knd-menu-link-color);
  /* Menu legacy aliases. Keep as aliases only; use --knd-menu-link-* and --knd-menu-item-* going forward. */
  --knd-menu-text: var(--knd-menu-link-color);
  --knd-menu-hover-text: var(--knd-menu-link-hover-color);
  --knd-menu-hover-bg: var(--knd-menu-item-hover-bg);
  --knd-menu-active-text: var(--knd-menu-link-active-color);
  --knd-menu-active-bg: var(--knd-menu-item-active-bg);
  --knd-menu-padding-y: var(--knd-menu-item-padding-y);
  --knd-menu-padding-x: var(--knd-menu-item-padding-x);
  --knd-menu-text-transform: none;
  --knd-menu-item-active-bg: transparent;
  --knd-menu-item-line-height: auto;
  --knd-menu-wrapper-margin-y: 0px;
  --knd-menu-wrapper-margin-x: 0px;
  --knd-menu-wrapper-padding-y: 0px;
  --knd-menu-wrapper-padding-x: 0px;
  --knd-menu-border-width: 0px;
  --knd-menu-border-color: transparent;
  --knd-menu-border-radius: 0px;
  --knd-menu-shadow: none;
  --knd-menu-top-desktop: 0px;
  --knd-menu-top-mobile: 0px;
  --knd-menu-toggle-size: var(--knd-icon-button-size);
  --knd-menu-toggle-size-mobile: var(--knd-menu-toggle-size);
  --knd-menu-toggle-bg: var(--knd-icon-button-bg);
  --knd-menu-toggle-color: var(--knd-icon-button-color);
  --knd-menu-toggle-border-width: var(--knd-icon-button-border-width);
  --knd-menu-toggle-border-color: var(--knd-icon-button-border-color);
  --knd-menu-toggle-radius: var(--knd-icon-button-radius);
  --knd-menu-toggle-shadow: var(--knd-icon-button-shadow);
  --knd-menu-toggle-hover-bg: var(--knd-icon-button-hover-bg);
  --knd-menu-toggle-hover-color: var(--knd-icon-button-hover-color);
  --knd-menu-toggle-hover-border-color: var(--knd-icon-button-hover-border-color);
  --knd-menu-dropdown-link-color: var(--knd-menu-dropdown-color);
  --knd-menu-dropdown-link-hover-color: var(--knd-list-card-item-hover-color, var(--knd-color-text, #111827));
  --knd-menu-dropdown-hover-bg: var(--knd-list-card-item-hover-bg, var(--knd-color-surface, #f6fbfa));
  --knd-menu-dropdown-padding: 0px;
  --knd-menu-dropdown-min-width: 220px;
  --knd-menu-dropdown-item-gap: 0px;
  --knd-menu-dropdown-margin: 0px;
  --knd-menu-dropdown-overflow: hidden;
  --knd-menu-dropdown-z-index: 10020;
  --knd-menu-dropdown-column-gap: 1.5rem;
  --knd-menu-dropdown-link-bg: transparent;
  --knd-menu-dropdown-link-hover-bg: var(--knd-menu-dropdown-hover-bg);
  --knd-menu-dropdown-link-radius: 0px;
  --knd-menu-dropdown-title-font-size: inherit;
  --knd-menu-dropdown-title-font-weight: inherit;
  --knd-menu-dropdown-title-transform: none;
  --knd-menu-dropdown-sub-font-size: .92em;
  --knd-menu-dropdown-sub-transform: none;
  --knd-menu-dropdown-sub-prefix: "";
  --knd-menu-dropdown-container-width: var(--knd-container-width);

  /* Generic dropdown aliases. Menu and header dropdowns can use the shared surface-card model. */
  --knd-dropdown-bg: var(--knd-menu-dropdown-bg, var(--knd-surface-card-bg, #ffffff));
  --knd-dropdown-text: var(--knd-menu-dropdown-color, var(--knd-surface-card-color, var(--knd-color-text, #111827)));
  --knd-dropdown-border: var(--knd-menu-dropdown-border-width, var(--knd-surface-card-border-width, 1px)) solid var(--knd-menu-dropdown-border-color, var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)));
  --knd-dropdown-radius: var(--knd-menu-dropdown-radius, var(--knd-surface-card-radius, 20px));
  --knd-dropdown-shadow: var(--knd-menu-dropdown-shadow, var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)));
  --knd-dropdown-hover-bg: var(--knd-menu-dropdown-hover-bg, var(--knd-color-surface, #f7f8f8));
  --knd-dropdown-hover-text: var(--knd-menu-dropdown-link-hover-color, var(--knd-color-primary));
  --knd-dropdown-item-gap: var(--knd-menu-dropdown-item-gap, .65rem);
  --knd-dropdown-title-font-size: var(--knd-menu-dropdown-title-font-size, inherit);
  --knd-dropdown-title-transform: var(--knd-menu-dropdown-title-transform, none);
  --knd-dropdown-sub-font-size: var(--knd-menu-dropdown-sub-font-size, .92em);
  --knd-dropdown-sub-transform: var(--knd-menu-dropdown-sub-transform, none);
  --knd-dropdown-sub-prefix: var(--knd-menu-dropdown-sub-prefix, "");
  --knd-menu-mobile-overlay-bg: rgba(15,23,42,.48);
  --knd-menu-mobile-panel-border-width: 0px;
  --knd-menu-mobile-panel-border-color: transparent;
  --knd-menu-mobile-panel-border-radius: 0px;
  --knd-menu-mobile-panel-header-bg: transparent;
  --knd-menu-mobile-panel-header-color: var(--knd-menu-mobile-panel-color);
  --knd-menu-mobile-panel-header-border-color: var(--knd-color-border);
  --knd-menu-mobile-panel-title-font-size: 1.2rem;
  --knd-menu-mobile-close-bg: var(--knd-color-surface);
  --knd-menu-mobile-close-color: var(--knd-menu-mobile-panel-color);
  --knd-menu-mobile-close-border-color: var(--knd-color-border);
  --knd-menu-mobile-item-bg: transparent;
  --knd-menu-mobile-item-color: var(--knd-menu-mobile-panel-color);
  --knd-menu-mobile-item-hover-bg: transparent;
  --knd-menu-mobile-item-hover-color: var(--knd-list-card-item-hover-color, var(--knd-color-text, #111827));
  --knd-menu-mobile-item-active-bg: transparent;
  --knd-menu-mobile-item-active-color: var(--knd-list-card-item-hover-color, var(--knd-color-text, #111827));
  --knd-menu-mobile-item-font-size: inherit;
  --knd-menu-mobile-item-font-weight: 500;
  --knd-menu-mobile-item-text-transform: none;
  --knd-menu-mobile-item-line-height: 44px;
  --knd-menu-mobile-item-padding-y: .8rem;
  --knd-menu-mobile-item-padding-x: 1.25rem;
  --knd-menu-mobile-item-border-width: 0px;
  --knd-menu-mobile-item-border-color: transparent;
  --knd-menu-mobile-item-border-radius: 0px;
  --knd-search-button-text-color: var(--knd-search-button-color);
  --knd-search-icon-bg: var(--knd-icon-button-bg);
  --knd-search-icon-color: var(--knd-icon-button-color);
  --knd-search-bg: var(--knd-search-input-bg);
  --knd-search-text: var(--knd-search-input-color);
  --knd-search-border: var(--knd-search-input-border-color);
  --knd-search-primary: var(--knd-search-button-bg);
  --knd-search-primary-hover: var(--knd-search-button-hover-bg);
  --knd-search-results-bg: #ffffff;
  --knd-search-results-color: var(--knd-color-text);
  --knd-search-results-border-color: var(--knd-color-border);
  --knd-search-results-shadow: var(--knd-shadow-dropdown);
  --knd-cartdrawer-width: var(--knd-cart-panel-width);
  --knd-cartdrawer-z-index: 10020;
  --knd-cartdrawer-bg: var(--knd-cart-panel-bg);
  --knd-cartdrawer-text: var(--knd-cart-panel-color);
  --knd-cartdrawer-muted: var(--knd-color-muted);
  --knd-cartdrawer-border: var(--knd-color-border);
  --knd-cartdrawer-primary-hover: var(--knd-color-secondary);
  --knd-cartdrawer-soft: var(--knd-color-surface);
  --knd-cartdrawer-success: #16a34a;
  --knd-cartdrawer-radius: var(--knd-radius-lg);
  --knd-cartdrawer-shadow: var(--knd-cart-panel-shadow);
  --knd-category-title-color: var(--knd-color-text);
  --knd-category-description-color: var(--knd-color-text);
  --knd-category-sidebar-bg: var(--knd-color-surface);
  --knd-category-sidebar-border-color: var(--knd-color-border);
  --knd-product-card-image-bg: #ffffff;
  --knd-product-card-image-radius: var(--knd-radius-sm);
  --knd-product-page-gallery-bg: transparent;
  --knd-product-page-gallery-radius: var(--knd-radius-lg);
  --knd-form-input-bg: #ffffff;
  --knd-form-input-color: var(--knd-color-text);
  --knd-form-input-border-color: var(--knd-color-border);
  --knd-form-input-border-width: 1px;
  --knd-form-input-radius: var(--knd-radius-md);
  --knd-form-input-height: 44px;
  --knd-form-label-color: var(--knd-color-text);
  --knd-alert-bg: var(--knd-color-surface);
  --knd-alert-color: var(--knd-color-text);
  --knd-alert-border-color: var(--knd-color-border);
  --knd-alert-border-width: 1px;
  --knd-alert-radius: var(--knd-surface-card-radius, 18px);
  --knd-alert-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%));
  --knd-alert-padding-y: .95rem;
  --knd-alert-padding-x: 1rem;
  --knd-alert-success-bg: color-mix(in srgb, var(--knd-color-primary) 7%, #ffffff);
  --knd-alert-success-color: var(--knd-color-text);
  --knd-alert-success-border-color: color-mix(in srgb, var(--knd-color-primary) 28%, var(--knd-color-border));
  --knd-alert-info-bg: color-mix(in srgb, var(--knd-color-primary) 7%, #ffffff);
  --knd-alert-info-color: var(--knd-color-text);
  --knd-alert-info-border-color: color-mix(in srgb, var(--knd-color-primary) 28%, var(--knd-color-border));
  --knd-alert-warning-bg: color-mix(in srgb, var(--knd-color-accent) 8%, #ffffff);
  --knd-alert-warning-color: var(--knd-color-text);
  --knd-alert-warning-border-color: color-mix(in srgb, var(--knd-color-accent) 24%, var(--knd-color-border));
  --knd-alert-error-bg: color-mix(in srgb, #dc2626 7%, #ffffff);
  --knd-alert-error-color: var(--knd-color-text);
  --knd-alert-error-border-color: color-mix(in srgb, #dc2626 28%, var(--knd-color-border));

}

/* KNDev token contract for header/nav/footer customer overrides.
   Customer shops should override variables in customer.css, not write long selectors. */
:root {
  /* Compatibility aliases for older KNDev snippets using --kndev-* names. */
  --knd-radius-pill: var(--knd-radius-button, var(--knd-radius-sm, 10px));
  --knd-font-family: var(--knd-font-body, inherit);
  --knd-line-height-tight: 1.1;
  --knd-font-weight-bold: 800;
  --knd-brand-primary: var(--knd-color-primary, #007f79);
  --kndev-radius-pill: var(--knd-radius-pill);
  --kndev-font-family: var(--knd-font-family);
  --kndev-line-height-tight: var(--knd-line-height-tight);
  --kndev-font-weight-bold: var(--knd-font-weight-bold);
  --kndev-brand-primary: var(--knd-brand-primary);

  /* Header base layout. */
  --knd-header-container-padding-x: 0px;
  --knd-header-zone-padding-x: 0px;
  --knd-header-zone-padding-y: 0px;
  --knd-header-item-gap: 8px;
  --knd-header-item-radius: var(--knd-radius-pill);
  --knd-header-item-font-size: 14px;
  --knd-header-item-font-weight: 600;
  --knd-header-item-line-height: var(--knd-line-height-tight);
  --knd-header-icon-size: var(--knd-icon-button-size, 44px);
  --knd-header-small-icon-size: 24px;
  --kndev-header-item-gap: var(--knd-header-item-gap);
  --kndev-header-icon-size: var(--knd-header-small-icon-size);

  /* Topbar = PrestaShop displayNav1/displayNav2 row. */
  --knd-header-topbar-bg: var(--knd-header-top-bg, var(--knd-header-bg, #ffffff));
  --knd-header-topbar-color: var(--knd-header-top-color, var(--knd-header-color, inherit));
  --knd-header-topbar-link-color: var(--knd-header-link-color, inherit);
  --knd-header-topbar-link-hover-color: var(--knd-header-link-hover-color, inherit);
  --knd-header-topbar-icon-color: currentColor;
  --knd-header-topbar-padding-x: var(--knd-header-zone-padding-x);
  --knd-header-topbar-padding-y: var(--knd-header-zone-padding-y);
  --knd-header-topbar-min-height: var(--knd-header-top-min-height, 38px);
  --knd-header-topbar-gap: var(--knd-header-gap, 1rem);
  --knd-header-topbar-border-width: var(--knd-header-top-border-width, var(--knd-header-border-width, 0px));
  --knd-header-topbar-border-color: var(--knd-header-top-border-color, var(--knd-header-border-color, transparent));

  /* Nav1/Nav2 are the classic PrestaShop nav hooks inside topbar. */
  --knd-header-nav1-color: var(--knd-header-topbar-color);
  --knd-header-nav1-link-color: var(--knd-header-topbar-link-color);
  --knd-header-nav1-link-hover-color: var(--knd-header-topbar-link-hover-color);
  --knd-header-nav1-icon-color: var(--knd-header-topbar-icon-color);
  --knd-header-nav1-item-gap: var(--knd-header-item-gap);

  --knd-header-nav2-color: var(--knd-header-topbar-color);
  --knd-header-nav2-link-color: var(--knd-header-topbar-link-color);
  --knd-header-nav2-link-hover-color: var(--knd-header-topbar-link-hover-color);
  --knd-header-nav2-icon-color: var(--knd-header-topbar-icon-color);
  --knd-header-nav2-item-gap: var(--knd-header-item-gap);
  --knd-header-nav2-item-height: 34px;
  --knd-header-nav2-item-padding-y: 5px;
  --knd-header-nav2-item-padding-x: 13px;
  --knd-header-nav2-padding-x: var(--knd-header-zone-padding-x);
  --knd-header-nav2-padding-y: var(--knd-header-zone-padding-y);
  --knd-header-nav2-font-size: var(--knd-header-item-font-size);
  --knd-header-nav2-font-weight: var(--knd-header-item-font-weight);
  --kndev-header-nav2-item-height: var(--knd-header-nav2-item-height);
  --kndev-header-nav2-item-padding-y: var(--knd-header-nav2-item-padding-y);
  --kndev-header-nav2-item-padding-x: var(--knd-header-nav2-item-padding-x);
  --kndev-header-nav2-font-size: var(--knd-header-nav2-font-size);
  --kndev-header-nav2-font-weight: var(--knd-header-nav2-font-weight);

  /* Main header row. */
  --knd-header-main-padding-x: var(--knd-header-zone-padding-x);
  --knd-header-main-padding-y: var(--knd-header-zone-padding-y);
  --knd-header-main-padding-x-desktop: var(--knd-header-main-padding-x);
  --knd-header-main-padding-y-desktop: var(--knd-header-main-padding-y);
  --knd-header-main-padding-x-mobile: var(--knd-header-main-padding-x);
  --knd-header-main-padding-y-mobile: var(--knd-header-main-padding-y);
  --knd-header-main-gap: var(--knd-header-gap, 1rem);
  --knd-header-main-link-color: var(--knd-header-link-color, inherit);
  --knd-header-main-link-hover-color: var(--knd-header-link-hover-color, inherit);
  --knd-header-main-icon-color: var(--knd-header-icon-color, currentColor);

  /* Full navigation/menu row. */
  --knd-header-nav-full-bg: var(--knd-header-nav-bg, var(--knd-header-bg, #ffffff));
  --knd-header-nav-full-color: var(--knd-header-nav-color, var(--knd-header-color, inherit));
  --knd-header-nav-full-link-color: var(--knd-header-link-color, inherit);
  --knd-header-nav-full-link-hover-color: var(--knd-header-link-hover-color, inherit);
  --knd-header-nav-full-icon-color: currentColor;
  --knd-header-nav-full-padding-x: var(--knd-header-zone-padding-x);
  --knd-header-nav-full-padding-y: var(--knd-header-zone-padding-y);
  --knd-header-nav-full-padding-x-desktop: var(--knd-header-nav-full-padding-x);
  --knd-header-nav-full-padding-y-desktop: var(--knd-header-nav-full-padding-y);
  --knd-header-nav-full-padding-x-mobile: var(--knd-header-nav-full-padding-x);
  --knd-header-nav-full-padding-y-mobile: var(--knd-header-nav-full-padding-y);
  --knd-header-nav-full-min-height: 48px;
  --knd-header-nav-full-gap: var(--knd-header-gap, 1rem);
  --knd-header-nav-full-border-width: var(--knd-header-nav-border-width, var(--knd-header-border-width, 0px));
  --knd-header-nav-full-border-color: var(--knd-header-nav-border-color, var(--knd-header-border-color, transparent));
  --knd-header-menu-bg: var(--knd-header-nav-full-bg);
  --knd-header-menu-color: var(--knd-header-nav-full-color);
  --knd-header-menu-link-color: var(--knd-header-nav-full-link-color);
  --knd-header-menu-link-hover-color: var(--knd-header-nav-full-link-hover-color);

  /* Canonical aliases for older runtime bindings. Canonical customer tokens use --knd-*. */
  --knd-header-topbar-hover-color: var(--knd-header-topbar-link-hover-color);
  --knd-header-main-hover-color: var(--knd-header-main-link-hover-color);
  --knd-header-navfull-bg: var(--knd-header-nav-full-bg);
  --knd-header-navfull-color: var(--knd-header-nav-full-color);
  --knd-header-navfull-link-color: var(--knd-header-nav-full-link-color);
  --knd-header-navfull-hover-color: var(--knd-header-nav-full-link-hover-color);

  /* Secondary KNDev nav2 zone below nav-fullwidth. */
  --knd-header-secondary-nav-bg: var(--knd-header-nav2-bg, var(--knd-header-nav-full-bg));
  --knd-header-secondary-nav-color: var(--knd-header-nav2-zone-color, var(--knd-header-nav-full-color));
  --knd-header-secondary-nav-link-color: var(--knd-header-nav2-zone-link-color, var(--knd-header-nav-full-link-color));
  --knd-header-secondary-nav-link-hover-color: var(--knd-header-nav2-zone-link-hover-color, var(--knd-header-nav-full-link-hover-color));
  --knd-header-secondary-nav-padding-x: var(--knd-header-nav2-padding-x, var(--knd-header-zone-padding-x));
  --knd-header-secondary-nav-padding-y: var(--knd-header-nav2-padding-y, var(--knd-header-zone-padding-y));
  --knd-header-secondary-nav-min-height: 54px;
  --knd-header-secondary-nav-gap: var(--knd-header-gap, 1rem);

  /* Generic header actions, e.g. phone/mail/link pills. */
  --knd-header-action-min-height: var(--knd-header-nav2-item-height, 34px);
  --knd-header-action-padding-y: var(--knd-header-nav2-item-padding-y, 5px);
  --knd-header-action-padding-x: var(--knd-header-nav2-item-padding-x, 13px);
  --knd-header-action-gap: var(--knd-header-item-gap, 8px);
  --knd-header-action-radius: var(--knd-header-item-radius, 999px);
  --knd-header-action-font-size: var(--knd-header-item-font-size, 14px);
  --knd-header-action-font-weight: var(--knd-header-item-font-weight, 600);
  --knd-header-action-line-height: var(--knd-header-item-line-height, 1.1);
  --knd-header-action-color: currentColor;
  --knd-header-action-bg: transparent;
  --knd-header-action-border-width: 0px;
  --knd-header-action-border-color: transparent;
  --knd-header-action-shadow: none;
  --knd-header-action-hover-color: var(--knd-header-action-color);
  --knd-header-action-hover-bg: var(--knd-header-action-bg);
  --knd-header-action-hover-border-color: var(--knd-header-action-border-color);
  --knd-header-action-icon-size: var(--knd-header-small-icon-size, 24px);
  --knd-header-action-icon-bg: var(--kndev-brand-primary, var(--knd-brand-primary, var(--knd-color-primary, #007f79)));
  --knd-header-action-icon-color: #ffffff;

  /* Nav2 action defaults are tuned for a dark topbar but fully token-overridable. */
  --knd-header-nav2-action-color: var(--knd-header-nav2-link-color, currentColor);
  --knd-header-nav2-action-bg: rgba(255, 255, 255, 0.16);
  --knd-header-nav2-action-border-width: 1px;
  --knd-header-nav2-action-border-color: rgba(255, 255, 255, 0.28);
  --knd-header-nav2-action-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  --knd-header-nav2-action-hover-color: var(--knd-header-nav2-action-color);
  --knd-header-nav2-action-hover-bg: rgba(255, 255, 255, 0.24);
  --knd-header-nav2-action-hover-border-color: rgba(255, 255, 255, 0.42);
  --knd-header-nav2-action-icon-bg: var(--knd-header-action-icon-bg);
  --knd-header-nav2-action-icon-color: var(--knd-header-action-icon-color);

  /* Header selector buttons: currency/language modules use the same KNDev control style. */
  --knd-header-selector-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-header-selector-color: var(--knd-color-text, #111827);
  --knd-header-selector-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-header-selector-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-header-selector-radius: var(--knd-icon-button-radius, 999px);
  --knd-header-selector-min-height: 36px;
  --knd-header-selector-padding-y: 6px;
  --knd-header-selector-padding-x: 14px;
  --knd-header-selector-gap: 8px;
  --knd-header-selector-font-size: 14px;
  --knd-header-selector-font-weight: 750;
  --knd-header-selector-line-height: 1.1;
  --knd-header-selector-letter-spacing: 0px;
  --knd-header-selector-text-transform: none;
  --knd-header-selector-shadow: none;
  --knd-header-selector-hover-shadow: var(--knd-header-selector-shadow, none);
  --knd-header-selector-chevron-size: var(--knd-ui-chevron-size, 10px);
  --knd-header-selector-chevron-color: currentColor;
  --knd-header-selector-chevron-stroke-width: 2px;
  --knd-header-selector-hover-bg: var(--knd-icon-button-hover-bg, var(--knd-color-surface, #f7f8f8));
  --knd-header-selector-hover-color: var(--knd-color-text, #111827);
  --knd-header-selector-hover-border-color: var(--knd-header-selector-border-color);
  --knd-header-selector-dropdown-bg: #ffffff;
  --knd-header-selector-dropdown-padding: 6px;
  --knd-header-selector-dropdown-color: var(--knd-color-text, #111827);
  --knd-header-selector-dropdown-border-color: var(--knd-color-border, #d7e7e4);
  --knd-header-selector-dropdown-radius: var(--knd-radius-md, 8px);
  --knd-header-selector-dropdown-shadow: var(--knd-shadow-dropdown, 0 18px 45px rgb(0 0 0 / 12%));
  --knd-header-selector-dropdown-offset-y: 6px;
  --knd-header-selector-dropdown-min-width: 128px;
  --knd-header-selector-item-padding-y: 8px;
  --knd-header-selector-item-padding-x: 10px;
  --knd-header-selector-item-radius: 6px;
  --knd-header-selector-item-font-weight: 650;
  --knd-header-selector-item-line-height: 1.2;
  --knd-header-selector-item-bg: #ffffff;
  --knd-header-selector-item-color: var(--knd-color-text, #111827);
  --knd-header-selector-item-hover-bg: var(--knd-color-surface, #f7f8f8);
  --knd-header-selector-item-hover-color: var(--knd-color-text, #111827);
  --knd-header-selector-item-active-bg: var(--knd-color-primary, #007f79);
  --knd-header-selector-item-active-color: #ffffff;
  --knd-header-selector-mobile-bg: transparent;
  --knd-header-selector-mobile-color: var(--knd-color-text, #111827);
  --knd-header-selector-mobile-border-color: var(--knd-color-border, #d7e7e4);
  --knd-header-selector-mobile-padding-y: 14px;
  --knd-header-selector-mobile-padding-x: 16px;
  --knd-header-selector-mobile-gap: var(--knd-header-selector-gap, 8px);
  --knd-header-selector-mobile-dropdown-offset-y: 8px;
  --knd-header-selector-mobile-dropdown-shadow: none;

  /* Footer token layer. */
  --knd-footer-main-padding-top: var(--knd-hf-footer-padding-top, clamp(32px, 5vw, 72px));
  --knd-footer-main-padding-bottom: var(--knd-hf-footer-padding-bottom, clamp(28px, 4vw, 56px));
  --knd-footer-main-padding-x: 0px;
  --knd-footer-column-gap: 1.5rem;
  --knd-footer-row-gap: 1.5rem;
  --knd-footer-text-color: var(--knd-footer-color, #ffffff);
  --knd-footer-muted-color: color-mix(in srgb, var(--knd-footer-text-color) 72%, transparent);
  --knd-footer-heading-color: var(--knd-footer-color, #ffffff);
  --knd-footer-heading-font-weight: 800;
  --knd-footer-link-text-decoration: none;
  --knd-footer-link-hover-text-decoration: none;
  --knd-footer-icon-color: currentColor;
  --knd-footer-action-bg: color-mix(in srgb, var(--knd-footer-link-color, #ffffff) 10%, transparent);
  --knd-footer-action-color: var(--knd-footer-link-color, #ffffff);
  --knd-footer-action-border-color: color-mix(in srgb, var(--knd-footer-link-color, #ffffff) 18%, transparent);
  --knd-footer-action-hover-bg: color-mix(in srgb, var(--knd-footer-link-hover-color, var(--knd-color-primary, #007f79)) 16%, transparent);
  --knd-footer-action-hover-color: var(--knd-footer-link-hover-color, var(--knd-color-primary, #007f79));
}
/* Shared shop surface tokens. Customer overrides belong in customer.css. */
:root {
  --knd-shop-page-bg: var(--knd-page-bg, #ffffff);
  --knd-shop-surface-bg: #ffffff;
  --knd-shop-surface-color: var(--knd-color-text, #111827);
  --knd-shop-surface-border-width: 1px;
  --knd-shop-surface-border-color: color-mix(in srgb, var(--knd-color-border, #d7e7e4) 86%, transparent);
  --knd-shop-surface-radius: var(--knd-radius-card, var(--knd-radius-block, 24px));
  --knd-shop-surface-shadow: 0 14px 40px rgb(15 23 42 / 6%);
  --knd-shop-surface-padding: clamp(18px, 2.2vw, 28px);
  --knd-shop-muted-color: #64748b;

  --knd-shop-button-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px));
  --knd-shop-button-min-height: var(--knd-button-min-height, 44px);
  --knd-shop-button-padding-x: var(--knd-button-padding-x, 1.2rem);
  --knd-shop-button-font-weight: var(--knd-button-font-weight, 600);
  --knd-shop-input-radius: var(--knd-input-border-radius, var(--knd-radius-input, 10px));
  --knd-shop-input-min-height: var(--knd-input-min-height, 48px);

  /* Unified KNDev shop surfaces - used by checkout, account, product pages and modules. */
  --knd-surface-card-bg: var(--knd-shop-surface-bg, #ffffff);
  --knd-surface-card-color: var(--knd-shop-surface-color, var(--knd-color-text, #111827));
  --knd-surface-card-border-width: var(--knd-shop-surface-border-width, 1px);
  --knd-surface-card-border-color: var(--knd-shop-surface-border-color, var(--knd-color-border, #d7e7e4));
  --knd-surface-card-radius: var(--knd-radius-card, var(--knd-radius-block, 24px));
  --knd-surface-card-shadow: var(--knd-shop-surface-shadow, var(--knd-shadow-card, none));
  --knd-surface-card-padding: var(--knd-shop-surface-padding, clamp(18px, 2.2vw, 28px));
  --knd-surface-card-padding-mobile: 18px;


  /* Shared list-card system: account sidebar, dropdown navigation and product detail rows. */
  --knd-list-card-bg: var(--knd-surface-card-bg, #ffffff);
  --knd-list-card-color: var(--knd-surface-card-color, var(--knd-color-text, #111827));
  --knd-list-card-border-width: var(--knd-surface-card-border-width, 1px);
  --knd-list-card-border-color: var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-list-card-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px));
  --knd-list-card-shadow: var(--knd-surface-card-shadow, 0 14px 40px rgb(15 23 42 / 6%));
  --knd-list-card-divider-color: var(--knd-list-card-border-color);
  --knd-list-card-title-padding: 20px 18px;
  --knd-list-card-title-font-size: 24px;
  --knd-list-card-title-font-weight: 700;
  --knd-list-card-item-min-height: 48px;
  --knd-list-card-item-padding-y: 12px;
  --knd-list-card-item-padding-x: 18px;
  --knd-list-card-item-gap: 12px;
  --knd-list-card-item-font-size: 16px;
  --knd-list-card-item-font-weight: 400;
  --knd-list-card-item-hover-bg: var(--knd-color-surface, #f6fbfa);
  --knd-list-card-item-hover-color: var(--knd-color-text, #111827);

  /* Shared compact product thumbnail used by Search Pro and recommended accessories. */
  --knd-product-thumb-image-size: 84px;
  --knd-product-thumb-gap: 14px;
  --knd-product-thumb-padding: 14px;
  --knd-product-thumb-min-height: 156px;
  --knd-product-thumb-actions-margin-top: 1rem;
  --knd-product-thumb-excerpt-margin-top: .45rem;
  --knd-product-thumb-excerpt-color: var(--knd-color-muted, #667085);
  --knd-product-thumb-excerpt-font-size: .875rem;
  --knd-product-thumb-radius: 16px;
  --knd-product-thumb-name-font-size: 1rem;
  --knd-product-thumb-name-font-weight: 600;
  --knd-product-thumb-price-color: var(--knd-color-text, #111827);
  --knd-product-thumb-price-font-size: 1.05rem;
  --knd-product-thumb-price-font-weight: 600;
  --knd-product-thumb-action-gap: .55rem;

  /* Product-information layout. */
  --knd-product-info-inner-bg: var(--knd-color-surface, #f6fbfa);
  --knd-product-info-inner-padding: 18px;
  --knd-product-brand-logo-size: 104px;
  --knd-product-brand-gap: 18px;

  /* Product page blocks share the same surface/card model as checkout and account pages. */
  --knd-product-page-content-width: var(--knd-container-width, 1320px);
  --knd-product-page-padding-y: clamp(24px, 4vw, 56px);
  --knd-product-page-block-bg: var(--knd-surface-card-bg, #ffffff);
  --knd-product-page-block-color: var(--knd-surface-card-color, var(--knd-color-text, #111827));
  --knd-product-page-block-border-width: var(--knd-surface-card-border-width, 1px);
  --knd-product-page-block-border-color: var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-product-page-block-radius: var(--knd-surface-card-radius, 18px);
  --knd-product-page-block-shadow: var(--knd-surface-card-shadow, none);
  --knd-product-page-block-padding: var(--knd-surface-card-padding, clamp(18px, 2.2vw, 28px));
  --knd-product-page-block-padding-mobile: var(--knd-surface-card-padding-mobile, 18px);
  --knd-product-main-media-column: 1fr;
  --knd-product-main-info-column: 1fr;
  --knd-product-main-stack-gap: var(--knd-product-page-grid-gap, 32px);

  /* Shared quantity control tokens. Product page and product cards use these for +/- and qty input. */
  --knd-quantity-control-border-width: 1px;
  --knd-quantity-control-border-color: var(--knd-color-border, #d7e7e4);
  --knd-quantity-control-radius: 0;
  --knd-quantity-control-bg: #ffffff;
  --knd-quantity-control-height: 38px;
  --knd-quantity-button-size: 38px;
  --knd-quantity-button-bg: #ffffff;
  --knd-quantity-button-color: var(--knd-color-text, #111827);
  --knd-quantity-button-border-width: 1px;
  --knd-quantity-button-border-color: var(--knd-color-border, #d7e7e4);
  --knd-quantity-button-radius: 0;
  --knd-quantity-button-shadow: none;
  --knd-quantity-button-hover-bg: var(--knd-color-surface, #f7f8f8);
  --knd-quantity-button-hover-color: var(--knd-color-text, #111827);
  --knd-quantity-button-hover-border-color: var(--knd-quantity-control-border-color, var(--knd-color-border, #d7e7e4));
  --knd-quantity-input-bg: #ffffff;
  --knd-quantity-input-color: var(--knd-color-text, #111827);
  --knd-quantity-input-border-color: var(--knd-color-border, #d7e7e4);
  --knd-quantity-input-radius: 0;
  --knd-quantity-input-width: 42px;
  --knd-quantity-input-font-weight: 500;

  /* Campaign module tokens. Customer.css can override these directly. */
  --knd-campaign-bg: var(--knd-page-bg, var(--knd-shop-page-bg, var(--knd-color-background, #ffffff)));
  --knd-campaign-section-padding-y: 0;
  --knd-campaign-section-padding-x: 0;
  --knd-campaign-surface: var(--knd-surface-card-bg, var(--knd-color-surface, #f7f8f8));
  --knd-campaign-card-bg: var(--knd-surface-card-bg, #ffffff);
  --knd-campaign-text: var(--knd-color-text, #111827);
  --knd-campaign-muted: var(--knd-shop-muted-color, var(--knd-color-muted, #6b7280));
  --knd-campaign-primary: var(--knd-color-primary, #007f79);
  --knd-campaign-secondary: var(--knd-color-secondary, #0f766e);
  --knd-campaign-accent: var(--knd-color-accent, #f59e0b);
  --knd-campaign-border: var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-campaign-radius: var(--knd-surface-card-radius, var(--knd-radius-md, 8px));
  --knd-campaign-radius-lg: var(--knd-surface-card-radius, var(--knd-radius-lg, 16px));
  --knd-campaign-shadow: var(--knd-surface-card-shadow, var(--knd-shadow-card, 0 8px 30px rgb(0 0 0 / 8%)));
  --knd-campaign-widget-gap: 18px;
  --knd-campaign-widget-slide-width: min(86vw, 420px);
  --knd-campaign-product-sticker-max-width: min(92%, 360px);
  --knd-campaign-product-sticker-image-max-width: 100%;
  --knd-campaign-product-sticker-top: 14px;
  --knd-campaign-product-sticker-x: 14px;

  --knd-campaign-product-item-bg: color-mix(in srgb, var(--knd-campaign-primary, var(--knd-color-primary, #007f79)) 7%, #ffffff);
  --knd-campaign-product-item-color: var(--knd-campaign-text, var(--knd-color-text, #111827));
  --knd-campaign-product-item-border-color: color-mix(in srgb, var(--knd-campaign-primary, var(--knd-color-primary, #007f79)) 16%, var(--knd-campaign-border, var(--knd-color-border, #d7e7e4)));
  --knd-campaign-product-item-hover-bg: color-mix(in srgb, var(--knd-campaign-primary, var(--knd-color-primary, #007f79)) 10%, #ffffff);
  --knd-campaign-product-item-hover-color: var(--knd-campaign-primary, var(--knd-color-primary, #007f79));
  --knd-campaign-product-item-hover-border-color: var(--knd-campaign-primary, var(--knd-color-primary, #007f79));
  --knd-campaign-product-item-radius: var(--knd-campaign-radius, var(--knd-radius-md, 8px));
  --knd-campaign-product-item-padding-y: .85rem;
  --knd-campaign-product-item-padding-x: 1rem;
  --knd-campaign-product-plus-color: var(--knd-campaign-primary, var(--knd-color-primary, #007f79));

}

/* KNDev Header zone tokens
   Use these in customer.css instead of broad #header selectors.
   Zones: banner, topbar, main, nav-fullwidth, nav2, below. */
:root {
  --knd-header-banner-bg: var(--knd-header-bg);
  --knd-header-banner-color: var(--knd-header-color);
  --knd-header-banner-link-color: var(--knd-header-link-color);
  --knd-header-banner-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-banner-icon-color: var(--knd-header-banner-link-color);
  --knd-header-banner-border-width: 0px;
  --knd-header-banner-border-color: transparent;

  --knd-header-topbar-bg: var(--knd-header-top-bg, var(--knd-header-bg));
  --knd-header-topbar-color: var(--knd-header-top-color, var(--knd-header-color));
  --knd-header-topbar-link-color: var(--knd-header-topbar-color);
  --knd-header-topbar-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-topbar-icon-color: var(--knd-header-topbar-link-color);
  --knd-header-topbar-border-width: var(--knd-header-top-border-width, 0px);
  --knd-header-topbar-border-color: var(--knd-header-top-border-color, transparent);

  --knd-header-main-bg: var(--knd-header-main-bg, var(--knd-header-bg));
  --knd-header-main-color: var(--knd-header-main-color, var(--knd-header-color));
  --knd-header-main-link-color: var(--knd-header-main-color);
  --knd-header-main-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-main-icon-color: var(--knd-header-main-link-color);
  --knd-header-main-border-width: 0px;
  --knd-header-main-border-color: transparent;

  --knd-header-nav-full-bg: var(--knd-header-nav-bg, var(--knd-header-bg));
  --knd-header-nav-full-color: var(--knd-header-nav-color, var(--knd-header-color));
  --knd-header-nav-full-link-color: var(--knd-header-nav-full-color);
  --knd-header-nav-full-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-nav-full-icon-color: var(--knd-header-nav-full-link-color);
  --knd-header-nav-full-border-width: var(--knd-header-nav-border-width, 0px);
  --knd-header-nav-full-border-color: var(--knd-header-nav-border-color, transparent);

  --knd-header-nav2-bg: var(--knd-header-bg);
  --knd-header-nav2-color: var(--knd-header-color);
  --knd-header-nav2-link-color: var(--knd-header-nav2-color);
  --knd-header-nav2-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-nav2-icon-color: var(--knd-header-nav2-link-color);
  --knd-header-nav2-border-width: 0px;
  --knd-header-nav2-border-color: transparent;

  --knd-header-below-bg: transparent;
  --knd-header-below-color: var(--knd-header-color);
  --knd-header-below-link-color: var(--knd-header-below-color);
  --knd-header-below-link-hover-color: var(--knd-header-link-hover-color);
  --knd-header-below-icon-color: var(--knd-header-below-link-color);
  --knd-header-below-border-width: 0px;
  --knd-header-below-border-color: transparent;

}

/* KNDev customer-account system tokens. Customer overrides belong in customer.css. */
:root {
  --knd-account-bg: var(--knd-page-bg, var(--knd-shop-page-bg, #ffffff));
  --knd-account-content-width: var(--knd-container-width, 1320px);
  --knd-account-page-padding-y: clamp(24px, 4vw, 56px);
  --knd-account-card-bg: var(--knd-list-card-bg, var(--knd-surface-card-bg, #ffffff));
  --knd-account-card-color: var(--knd-list-card-color, var(--knd-color-text, #111827));
  --knd-account-card-border-width: var(--knd-list-card-border-width, 1px);
  --knd-account-card-border-color: var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4));
  --knd-account-card-radius: var(--knd-list-card-radius, var(--knd-radius-card, 16px));
  --knd-account-card-shadow: var(--knd-list-card-shadow, 0 14px 40px rgb(15 23 42 / 6%));
  --knd-account-card-padding: var(--knd-surface-card-padding, clamp(22px, 2.6vw, 34px));
  --knd-account-card-padding-mobile: var(--knd-surface-card-padding-mobile, 18px);
  --knd-account-title-color: var(--knd-color-text, #111827);
  --knd-account-title-font-size: clamp(28px, 2.4vw, 38px);
  --knd-account-title-font-weight: var(--knd-heading-font-weight, 700);
  --knd-account-text-color: var(--knd-color-text, #111827);
  --knd-account-muted-color: var(--knd-shop-muted-color, #64748b);
  --knd-account-link-color: var(--knd-color-primary, #007f79);
  --knd-account-link-hover-color: var(--knd-color-secondary, #0f766e);
  --knd-account-input-bg: var(--knd-input-bg, #ffffff);
  --knd-account-input-color: var(--knd-input-color, var(--knd-color-text, #111827));
  --knd-account-input-border-color: var(--knd-input-border-color, var(--knd-color-border, #d7e7e4));
  --knd-account-input-focus-border-color: var(--knd-input-focus-border-color, var(--knd-color-primary, #007f79));
  --knd-account-input-radius: var(--knd-radius-input, var(--knd-radius-button, 10px));
  --knd-account-input-min-height: var(--knd-input-min-height, 48px);
  --knd-account-input-padding-x: var(--knd-input-padding-x, 14px);
  --knd-account-button-bg: var(--knd-button-bg, var(--knd-color-primary, #007f79));
  --knd-account-button-color: var(--knd-button-color, #ffffff);
  --knd-account-button-border-color: var(--knd-button-border-color, var(--knd-color-primary, #007f79));
  --knd-account-button-hover-bg: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e));
  --knd-account-button-hover-color: var(--knd-button-hover-color, #ffffff);
  --knd-account-button-hover-border-color: var(--knd-button-hover-border-color, var(--knd-color-secondary, #0f766e));
  --knd-account-button-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px));
  --knd-account-button-min-height: var(--knd-button-min-height, 44px);
  --knd-account-button-font-weight: var(--knd-button-font-weight, 600);
  --knd-account-sidebar-bg: var(--knd-list-card-bg);
  --knd-account-sidebar-color: var(--knd-list-card-color);
  --knd-account-sidebar-border-width: var(--knd-list-card-border-width);
  --knd-account-sidebar-border-color: var(--knd-list-card-border-color);
  --knd-account-sidebar-radius: var(--knd-list-card-radius);
  --knd-account-sidebar-shadow: var(--knd-list-card-shadow);
  --knd-account-sidebar-divider-color: var(--knd-list-card-divider-color);
  --knd-account-sidebar-title-padding: var(--knd-list-card-title-padding);
  --knd-account-sidebar-title-size: var(--knd-list-card-title-font-size);
  --knd-account-sidebar-title-weight: var(--knd-list-card-title-font-weight);
  --knd-account-sidebar-link-min-height: var(--knd-list-card-item-min-height);
  --knd-account-sidebar-link-padding-y: var(--knd-list-card-item-padding-y);
  --knd-account-sidebar-link-padding-x: var(--knd-list-card-item-padding-x);
  --knd-account-sidebar-link-gap: var(--knd-list-card-item-gap);
  --knd-account-sidebar-link-size: var(--knd-list-card-item-font-size);
  --knd-account-sidebar-link-weight: var(--knd-list-card-item-font-weight);
  --knd-account-sidebar-active-bg: var(--knd-list-card-item-hover-bg);
  --knd-account-sidebar-active-color: var(--knd-list-card-item-hover-color);
  --knd-account-sidebar-display: block;
  --knd-account-links-grid-min: 220px;
}

/* KNDev v1.1.133 live module token registry.
   Keep all tokens used by active module CSS declared here so customer.css can mirror and control them. */
:root {
  --knd-primary: var(--knd-color-primary, #007f79);
  --knd-border-color: var(--knd-color-border, #d7e7e4);
  --knd-link-color: var(--knd-color-text, #111827);
  --knd-link-hover-color: var(--knd-color-primary, #007f79);
  --knd-neutral-0: #ffffff;
  --knd-shadow-sm: 0 6px 18px rgb(15 23 42 / 8%);
  --knd-shadow-lg: 0 24px 70px rgb(15 23 42 / 18%);
  --knd-modal-overlay: rgb(15 23 42 / 52%);
  --knd-modal-z: 9999;
  --knd-search-button-height: var(--knd-header-search-height, 44px);
  --knd-search-button-padding-x: 1.15rem;
  --knd-search-input-width: var(--knd-search-input-width-desktop, 320px);
  --knd-search-mobile-button-min-width: 84px;
  --knd-search-overlay-field-width: 720px;
  --knd-search-overlay-mobile-width: calc(100vw - 2rem);
  --knd-search-overlay-mobile-padding: .75rem 1rem;
  --knd-search-overlay-panel-bg: #ffffff;

  --knd-cart-trigger-text-display-desktop: inline;
  --knd-cart-trigger-text-display-mobile: none;
  --knd-cartdrawer-checkout-border-width: 0px;
  --knd-cartdrawer-checkout-border-color: transparent;
  --knd-cartdrawer-checkout-color: #ffffff;
  --knd-cartdrawer-checkout-hover-color: #ffffff;
  --knd-cartdrawer-checkout-hover-border-width: var(--knd-cartdrawer-checkout-border-width);
  --knd-cartdrawer-checkout-hover-border-color: var(--knd-cartdrawer-checkout-border-color);

  --knd-header-selector-active-bg: var(--knd-color-surface, #f7f8f8);
  --knd-header-selector-active-color: var(--knd-color-primary, #007f79);
  --knd-header-selector-dropdown-item-bg: transparent;
  --knd-header-selector-dropdown-item-color: var(--knd-color-text, #111827);
  --knd-header-selector-dropdown-item-hover-bg: var(--knd-color-surface, #f7f8f8);
  --knd-header-selector-dropdown-item-hover-color: var(--knd-color-primary, #007f79);
  --knd-menu-icon-mask: var(--knd-menu-icon-mask-default, none);
  --knd-menu-icon-mask-default: none;
}

/* KNDev footer contact/payment helpers v1.4.109. */
.knd-contact-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--knd-footer-contact-gap, 10px);
}
.knd-contact-meta__link {
  display: inline-flex;
  align-items: center;
  gap: var(--knd-footer-contact-icon-gap, 8px);
  color: var(--knd-footer-link-color, currentColor);
  font-size: var(--knd-footer-contact-font-size, 15px);
  font-weight: var(--knd-footer-contact-font-weight, 650);
  line-height: 1.2;
  text-decoration: none;
}
.knd-contact-meta__link:hover {
  color: var(--knd-footer-link-hover-color, var(--knd-color-primary, #007f79));
  text-decoration: none;
}
.knd-contact-meta__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--knd-footer-contact-icon-size, 26px);
  height: var(--knd-footer-contact-icon-size, 26px);
  min-width: var(--knd-footer-contact-icon-size, 26px);
  border-radius: var(--knd-radius-pill, 999px);
  color: var(--knd-footer-contact-icon-color, #ffffff);
  background: var(--knd-footer-contact-icon-bg, var(--knd-color-primary, #007f79));
}
.knd-contact-meta__icon svg {
  width: var(--knd-footer-contact-svg-size, 15px);
  height: var(--knd-footer-contact-svg-size, 15px);
  display: block;
  fill: currentColor;
}
.knd_koebsgaranti,
.knd-payment-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: center;
}
.knd_koebsgaranti {
  margin-bottom: 2rem;
}
.knd-payment-icons__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--knd-payment-icon-height, 34px);
  min-width: var(--knd-payment-icon-min-width, 54px);
  padding: var(--knd-payment-icon-padding, 5px 8px);
  border-radius: var(--knd-payment-icon-radius, 8px);
  background: var(--knd-payment-icon-bg, #ffffff);
}
.knd-payment-icons__item img {
  display: block;
  width: auto;
  height: var(--knd-payment-icon-image-height, 22px);
  max-width: var(--knd-payment-icon-image-max-width, 80px);
  object-fit: contain;
}

/* KNDev v1.4.110: final shared header module button contract.
   Modules may own markup, but shape, color, height and typography are controlled here via tokens. */
:root {
  --knd-header-module-button-min-height: var(--knd-icon-button-size, 44px);
  --knd-header-module-button-height: var(--knd-header-module-button-min-height, 44px);
  --knd-header-module-button-padding-y: var(--knd-button-padding-y, .75rem);
  --knd-header-module-button-padding-x: var(--knd-button-padding-x, 1.2rem);
  --knd-header-module-button-gap: var(--knd-header-action-gap, .55rem);
  --knd-header-module-button-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-header-module-button-color: var(--knd-icon-button-color, var(--knd-color-text, #111827));
  --knd-header-module-button-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-header-module-button-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-header-module-button-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px));
  --knd-header-module-button-shadow: var(--knd-icon-button-shadow, none);
  --knd-header-module-button-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-header-module-button-hover-color: var(--knd-icon-button-hover-color, var(--knd-header-module-button-color));
  --knd-header-module-button-hover-border-color: var(--knd-icon-button-hover-border-color, var(--knd-header-module-button-border-color));
  --knd-header-module-button-hover-shadow: var(--knd-header-module-button-shadow);
  --knd-header-module-button-hover-transform: none;
  --knd-header-module-icon-size: var(--knd-icon-button-size, 44px);
  --knd-header-module-icon-inner-size: 20px;
  --knd-header-search-height: var(--knd-header-module-button-min-height, 44px);
  --knd-search-button-height: var(--knd-header-search-height, 44px);
  --knd-search-button-padding-x: var(--knd-connected-button-padding-x, 1.2rem);
  --knd-search-button-radius: 0 var(--knd-search-input-radius, var(--knd-radius-button, 10px)) var(--knd-search-input-radius, var(--knd-radius-button, 10px)) 0;
  --knd-search-button-border-color: var(--knd-button-border-color, var(--knd-search-button-bg, var(--knd-button-bg, var(--knd-color-primary, #007f79))));
  --knd-search-button-hover-border-color: var(--knd-button-hover-border-color, var(--knd-search-button-hover-bg, var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e))));
}

/* Product commerce, reviews and checkout review tokens. Customer overrides belong in customer.css. */
:root {
  --knd-product-commerce-gap: 12px;
  --knd-product-commerce-margin-top: 14px;
  --knd-product-delivery-line-gap: 8px;
  --knd-product-delivery-line-margin: 0;
  --knd-product-delivery-line-font-size: .96rem;
  --knd-product-delivery-line-font-weight: 600;
  --knd-product-trust-margin-top: 14px;
  --knd-product-trust-padding: var(--knd-product-commerce-card-padding, 16px);
  --knd-product-trust-gap: 14px;
  --knd-product-trust-section-padding-y: 12px;
  --knd-product-trust-divider-color: var(--knd-color-border, #d7e7e4);
  --knd-product-trust-row-gap: clamp(3px, 1.4cqw, 10px);
  --knd-product-trust-item-gap: clamp(2px, .7cqw, 7px);
  --knd-product-trust-item-font-size: clamp(8px, 2.4cqw, 13px);
  --knd-product-trust-title-font-size: 1rem;
  --knd-product-trust-icon-size: 20px;
  --knd-product-trust-responsive-icon-size: clamp(11px, 4cqw, 20px);
  --knd-product-payment-row-gap: clamp(2px, 1.2cqw, 8px);
  --knd-product-payment-item-min-height: clamp(26px, 7cqw, 36px);
  --knd-product-payment-item-padding-y: 4px;
  --knd-product-payment-item-padding-x: clamp(2px, 1.2cqw, 8px);
  --knd-product-payment-icon-height: clamp(14px, 5cqw, 24px);
  --knd-product-reviews-margin: clamp(24px, 4vw, 48px) 0;
  --knd-product-reviews-padding: var(--knd-surface-card-padding, clamp(22px, 2.6vw, 34px));
  --knd-wishlist-card-gap: 18px;
  --knd-wishlist-page-gap: 22px;
  --knd-checkout-review-card-margin-y: 18px;
  --knd-checkout-review-card-padding: 18px;
  --knd-checkout-review-card-bg: var(--knd-surface-card-bg, #ffffff);
  --knd-checkout-review-card-border-width: 1px;
  --knd-checkout-review-card-border-color: var(--knd-color-border, #d7e7e4);
  --knd-checkout-review-card-radius: var(--knd-radius-card, 16px);
  --knd-checkout-review-card-shadow: none;
}

/* Source: assets/kndev/foundation.css */
.knd-container {
  width: min(100% - 32px, var(--knd-container-width));
  margin-inline: auto;
}
.knd-section { padding: clamp(2.5rem, 5vw, 5rem) 0; }
html body #wrapper > .columns-container,
html body #wrapper .columns-container {
  padding-bottom: var(--knd-page-footer-gap, clamp(36px, 5vw, 64px)) !important;
}
.knd-grid { display: grid; gap: 1.5rem; }
.knd-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.knd-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) {
  .knd-grid--2,
  .knd-grid--3 { grid-template-columns: 1fr; }
}

/* KNDev base interaction cursors. */
a[href],a[href] *,area[href],summary,summary *,button:not(:disabled),button:not(:disabled) *,input[type="button"]:not(:disabled),input[type="submit"]:not(:disabled),input[type="reset"]:not(:disabled),label[for],.custom-checkbox label,.custom-checkbox input,.condition-label,.condition-label *,.js-terms,.js-terms *,[data-toggle="modal"],[data-bs-toggle="modal"],[data-link],[data-url],[onclick],.dropdown-toggle,.dropdown-item,.nav-link,.select-list,.knd-theme-header a,.knd-theme-header a *,.knd-theme-header button:not(:disabled),.knd-theme-footer a,.knd-theme-footer a *,[role="button"]:not([aria-disabled="true"]),[role="button"]:not([aria-disabled="true"]) *{cursor:pointer!important}

/* =========================================================
   KNDev neutral shared frontend base
   Typography and form controls use the shared system tokens.
   ========================================================= */
html body {
  font-family: var(--knd-font-body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  font-size: var(--knd-font-size-base, 16px);
  line-height: var(--knd-line-height-base, 1.5);
  color: var(--knd-color-text, #111827);
  background: var(--knd-page-bg, #ffffff);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html body :where(p,a,span,label,li,dt,dd,td,th,button,input,select,textarea) {
  font-family: inherit;
}
html body :where(p,li,dt,dd,td,th) {
  line-height: var(--knd-text-line-height, var(--knd-line-height-base, 1.5));
}
html body p {
  margin-top: 0;
  margin-bottom: var(--knd-paragraph-margin-bottom, 1rem);
}

/* KNDev canonical link contract. Buttons are excluded and handled by components.css. */
html body :where(a[href]):not(.btn):not(.button):not(.knd-btn):not(.knd-button):not(.kndev-btn):not(.kndev-button),
html body :where(a[href]):not(.btn):not(.button):not(.knd-btn):not(.knd-button):not(.kndev-btn):not(.kndev-button):visited {
  color: var(--knd-link-color, var(--knd-color-text, #111827));
  text-decoration-color: currentColor;
  cursor: pointer !important;
}
html body :where(a[href]):not(.btn):not(.button):not(.knd-btn):not(.knd-button):not(.kndev-btn):not(.kndev-button):hover,
html body :where(a[href]):not(.btn):not(.button):not(.knd-btn):not(.knd-button):not(.kndev-btn):not(.kndev-button):focus-visible {
  color: var(--knd-link-hover-color, var(--knd-color-primary, #007f79));
}
html body :where(h1,h2,h3,h4,h5,h6) {
  font-family: var(--knd-font-heading, inherit);
  color: var(--knd-color-text, #111827);
  line-height: 1.2;
  font-weight: var(--knd-heading-font-weight, 700);
  letter-spacing: -0.02em;
}
html body :where(label,.form-control-label,.form-label,.form-group label) {
  font-size: var(--knd-label-font-size, .875rem);
  font-weight: var(--knd-label-font-weight, 600);
  line-height: 1.45;
  color: var(--knd-color-text, #111827);
}
html body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea,.form-control,.form-select) {
  min-height: var(--knd-input-min-height, 48px);
  padding: var(--knd-input-padding-y, 12px) var(--knd-input-padding-x, 14px);
  font-family: var(--knd-font-body, inherit);
  font-size: var(--knd-input-font-size, 14px);
  line-height: var(--knd-line-height-base, 1.5);
  color: var(--knd-input-color, var(--knd-color-text, #111827));
  background-color: var(--knd-input-bg, #ffffff);
  border: 1px solid var(--knd-input-border-color, var(--knd-color-border, #d7e7e4));
  border-radius: var(--knd-input-border-radius, var(--knd-radius-input, 10px));
  box-shadow: none;
}
html body :where(textarea,.form-control textarea) {
  min-height: calc(var(--knd-input-min-height, 48px) * 2.25);
}
html body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea,.form-control,.form-select):focus {
  border-color: var(--knd-input-focus-border-color, var(--knd-color-primary, #007f79));
  box-shadow: var(--knd-input-focus-shadow, 0 0 0 1px var(--knd-input-focus-border-color, var(--knd-color-primary, #007f79)));
  outline: none;
}
html body :where(input,textarea)::placeholder {
  color: var(--knd-input-placeholder-color, #b7c0cf);
  opacity: var(--knd-input-placeholder-opacity, .72);
}
html body :where(.card,.cart-summary,.checkout-step,.address,.customer-form,.js-address-form,.modal-content) {
  border-color: var(--knd-card-border-color, var(--knd-color-border, #d7e7e4));
}

/* Source: assets/kndev/bindings.css */
body { color: var(--knd-color-text); }

.form-control::placeholder,
.form-select::placeholder,
textarea::placeholder,
input::placeholder {
  color: var(--knd-input-placeholder-color, #b7c0cf) !important;
  opacity: var(--knd-input-placeholder-opacity, .72) !important;
}
select:has(option[value=""]:checked),
.form-select:has(option[value=""]:checked) {
  color: var(--knd-input-placeholder-color, #b7c0cf) !important;
}
select option { color: var(--knd-input-color, var(--knd-color-text, #111827)); }
input.knd-input-is-default-value,
textarea.knd-input-is-default-value,
select.knd-input-is-default-value,
.form-control.knd-input-is-default-value,
.form-select.knd-input-is-default-value {
  color: var(--knd-input-default-value-color, var(--knd-input-placeholder-color, #b7c0cf)) !important;
  -webkit-text-fill-color: var(--knd-input-default-value-color, var(--knd-input-placeholder-color, #b7c0cf)) !important;
}


/* =========================================================
   KNDev token bindings
   Runtime selectors live in kndev-global.css. Editable values live in the grouped token block at the top of customer.css.
   ========================================================= */
.knd-theme-header { background: var(--knd-header-bg); color: var(--knd-header-color); box-shadow: var(--knd-header-shadow); }
.knd-theme-header a { color: var(--knd-header-link-color); text-decoration: var(--knd-menu-link-text-decoration); }
.knd-theme-header a:hover { color: var(--knd-header-link-hover-color); text-decoration: var(--knd-menu-link-hover-text-decoration); }
.knd-theme-header svg, .knd-theme-header i { color: var(--knd-header-icon-color); fill: currentColor; }
.knd-theme-header__banner { background: var(--knd-header-banner-bg); color: var(--knd-header-banner-color); min-height: var(--knd-header-banner-height-desktop); }
.knd-theme-header__top { background: var(--knd-header-topbar-bg); color: var(--knd-header-topbar-color); min-height: var(--knd-header-topbar-height-desktop); }
.knd-theme-header__top a { color: var(--knd-header-topbar-link-color); }
.knd-theme-header__top a:hover { color: var(--knd-header-topbar-link-hover-color, var(--knd-header-topbar-hover-color, inherit)); }
.knd-theme-header__main { background: var(--knd-header-main-bg); color: var(--knd-header-main-color); }
.knd-hf-main-grid { min-height: var(--knd-header-main-height-desktop); }
.knd-theme-header__main a { color: var(--knd-header-main-link-color); }
.knd-theme-header__main a:hover { color: var(--knd-header-main-link-hover-color, var(--knd-header-main-hover-color, inherit)); }
.knd-theme-header__nav-full { background: var(--knd-header-nav-full-bg, var(--knd-header-navfull-bg)); color: var(--knd-header-nav-full-color, var(--knd-header-navfull-color)); }
.knd-hf-slot--nav-full { min-height: var(--knd-header-navfull-height-desktop); }
.knd-theme-header__nav-full a { color: var(--knd-header-nav-full-link-color, var(--knd-header-navfull-link-color)); }
.knd-theme-header__nav-full a:hover { color: var(--knd-header-nav-full-link-hover-color, var(--knd-header-navfull-hover-color)); }
.knd-hf-nav2-grid { background: var(--knd-header-nav-bg); color: var(--knd-header-nav-color); min-height: var(--knd-header-nav-height-desktop); }

.knd-menu-shell a, .knd-menu a { color: var(--knd-menu-link-color); font-size: var(--knd-menu-font-size); font-weight: var(--knd-menu-font-weight); text-decoration: var(--knd-menu-link-text-decoration); }
.knd-menu-shell a:hover, .knd-menu a:hover { color: var(--knd-menu-link-hover-color); text-decoration: var(--knd-menu-link-hover-text-decoration); }
.knd-menu-shell .knd-menu-item, .knd-menu .knd-menu-item { background: var(--knd-menu-item-bg); border: var(--knd-menu-item-border-width) solid var(--knd-menu-item-border-color); border-radius: var(--knd-menu-item-border-radius); padding: var(--knd-menu-item-padding-y) var(--knd-menu-item-padding-x); }
.knd-menu-shell .knd-menu-item:hover, .knd-menu .knd-menu-item:hover { background: var(--knd-menu-item-hover-bg); }
.knd-menu-dropdown { background: var(--knd-menu-dropdown-bg); color: var(--knd-menu-dropdown-color); border: var(--knd-menu-dropdown-border); border-radius: var(--knd-menu-dropdown-radius); box-shadow: var(--knd-menu-dropdown-shadow); }
.knd-menu-mobile-panel, .knd-menu-drawer, .knd-menu-panel { background: var(--knd-menu-mobile-panel-bg); color: var(--knd-menu-mobile-panel-color); max-width: var(--knd-menu-mobile-panel-width); box-shadow: var(--knd-menu-mobile-panel-shadow); }

.knd-search-shell input, .knd-searchpro input { background: var(--knd-search-input-bg); color: var(--knd-search-input-color); border-color: var(--knd-search-input-border-color); border-width: var(--knd-search-input-border-width); border-radius: var(--knd-search-input-radius); min-height: var(--knd-search-input-height); }
.knd-search-shell button, .knd-searchpro button { background: var(--knd-search-button-bg); color: var(--knd-search-button-color); }
.knd-search-shell button:hover, .knd-searchpro button:hover { background: var(--knd-search-button-hover-bg); color: var(--knd-search-button-hover-color); }

.knd-cartdropdown, .knd-cartdropdown a, .knd-cartdropdown button { color: var(--knd-cart-icon-color); }
.knd-cartdropdown .knd-cartdropdown__trigger, .knd-cartdropdown-trigger { min-width: var(--knd-cart-icon-size); min-height: var(--knd-cart-icon-size); background: var(--knd-cart-icon-bg); border-color: var(--knd-cart-icon-border-color); border-radius: var(--knd-cart-icon-radius); }
.knd-cartdropdown__panel, .knd-cart-panel { background: var(--knd-cart-panel-bg); color: var(--knd-cart-panel-color); max-width: var(--knd-cart-panel-width); box-shadow: var(--knd-cart-panel-shadow); }
.knd-cartdropdown__count, .knd-cart-badge { background: var(--knd-cart-badge-bg); color: var(--knd-cart-badge-color); }

html body,
html body #wrapper,
html body main,
html body .page-content {
  background: var(--knd-page-bg, var(--knd-shop-page-bg, #ffffff));
}
html body .breadcrumb,
html body .breadcrumb ol,
html body .breadcrumb-wrapper,
html body .breadcrumb__wrapper,
html body .breadcrumb-container {
  background: var(--knd-breadcrumb-bg, var(--knd-color-background, #ffffff));
}
.breadcrumb, .breadcrumb ol, .breadcrumb__wrapper { background: var(--knd-breadcrumb-bg, var(--knd-color-background, #ffffff)); color: var(--knd-breadcrumb-color); font-size: var(--knd-breadcrumb-font-size); padding-block: var(--knd-breadcrumb-padding-y); padding-inline: var(--knd-breadcrumb-padding-x); }
.breadcrumb a { color: var(--knd-breadcrumb-link-color); }
.breadcrumb a:hover { color: var(--knd-breadcrumb-link-hover-color); }

/* Product-list columns use one complete responsive token set with a visible left column
   and another complete set without one. The body context is synchronized by kndev-global.js. */
.products, .product-list, #products .products {
  display: grid;
  gap: var(--knd-product-grid-gap);
  grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-xxs, 1), minmax(0, 1fr));
}
html body.knd-has-left-column :is(.products, .product-list, #products .products) {
  grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-xxs, 1), minmax(0, 1fr)) !important;
}
html body.knd-no-left-column :is(.products, .product-list, #products .products) {
  grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-xxs, 1), minmax(0, 1fr)) !important;
}
@media (min-width: 400px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-xs, 2), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-xs, 2), minmax(0, 1fr)) !important; }
}
@media (min-width: 576px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-sm, 2), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-sm, 2), minmax(0, 1fr)) !important; }
}
@media (min-width: 768px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-md, 2), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-md, 2), minmax(0, 1fr)) !important; }
}
@media (min-width: 992px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-lg, 2), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-lg, 3), minmax(0, 1fr)) !important; }
}
@media (min-width: 1200px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-xl, 3), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-xl, 4), minmax(0, 1fr)) !important; }
}
@media (min-width: 1400px) {
  html body.knd-has-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-with-sidebar-xxl, 3), minmax(0, 1fr)) !important; }
  html body.knd-no-left-column :is(.products, .product-list, #products .products) { grid-template-columns: repeat(var(--knd-products-per-row-without-sidebar-xxl, 4), minmax(0, 1fr)) !important; }
}
.products .product-miniature, .product-list .product-miniature, #products .product-miniature { background: var(--knd-product-card-bg); color: var(--knd-product-card-color); border: var(--knd-product-card-border-width) solid var(--knd-product-card-border-color); border-radius: var(--knd-product-card-border-radius); box-shadow: var(--knd-product-card-shadow); padding: var(--knd-product-card-padding); transition: box-shadow .18s ease, transform .18s ease; }
.products .product-miniature:hover, .product-list .product-miniature:hover, #products .product-miniature:hover { box-shadow: var(--knd-product-card-hover-shadow); }
.product-miniature__inner { box-shadow: var(--knd-product-card-inner-shadow, none) !important; }

/* KNDev shared product-list card contract.
 * The child product miniature template is the only structural owner for category,
 * native search, Theme Builder, recommended products and Campaign product lists.
 * Context modules may supply content, but they must not redefine card alignment. */
html body .knd-product-card {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__inner {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  text-align: left !important;
}
html body .knd-product-card .knd-product-card__meta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  min-height: var(--knd-product-card-meta-height, 34px) !important;
  margin: 0 0 .55rem !important;
  text-align: left !important;
}
html body .knd-product-card .knd-product-card__brand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  max-width: calc(100% - 42px) !important;
  color: var(--knd-product-card-brand-color, var(--knd-color-text, #111827)) !important;
  font-size: var(--knd-product-card-brand-font-size, 14px) !important;
  font-weight: var(--knd-product-card-brand-font-weight, 800) !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}
html body .knd-product-card .knd-product-card__brand:hover,
html body .knd-product-card .knd-product-card__brand:focus-visible {
  color: var(--knd-product-card-brand-hover-color, var(--knd-color-primary, #3c83f6)) !important;
  text-decoration: none !important;
}
html body .knd-product-card .knd-product-card__brand--empty {
  flex: 1 1 auto !important;
}
html body .knd-product-card .knd-product-card__brand-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html body .knd-product-card .knd-product-card__wishlist-slot {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin-inline-start: auto !important;
}
html body .knd-product-card .knd-product-card__wishlist-slot:empty {
  visibility: hidden !important;
}
html body .knd-product-card .knd-product-card__wishlist-slot :is(button,a,.wishlist-button-add,.wishlist-button-product) {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--knd-product-card-wishlist-color, var(--knd-color-text, #111827)) !important;
  box-shadow: none !important;
}
html body .knd-product-card .knd-product-card__wishlist-slot :is(button,a,.wishlist-button-add,.wishlist-button-product):is(:hover,:focus-visible) {
  background: transparent !important;
  color: var(--knd-product-card-wishlist-hover-color, var(--knd-color-primary, #3c83f6)) !important;
  box-shadow: none !important;
}
html body .knd-product-card .product-miniature__top {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-product-card-image-min-height, clamp(180px, 24vw, 320px)) !important;
  overflow: hidden !important;
  background: var(--knd-product-card-image-bg, #fff) !important;
  border-radius: var(--knd-product-card-image-radius, var(--knd-radius-sm, 10px)) !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__image,
html body .knd-product-card .product-thumbnail,
html body .knd-product-card .product-thumbnail img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
html body .knd-product-card .knd-product-card__campaign-labels {
  position: absolute !important;
  right: var(--knd-product-card-label-inset, .75rem) !important;
  bottom: var(--knd-product-card-label-inset, .75rem) !important;
  left: var(--knd-product-card-label-inset, .75rem) !important;
  z-index: 25 !important;
  display: grid !important;
  gap: .4rem !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}
html body .knd-product-card .knd-product-card__campaign-labels:empty {
  display: none !important;
}
html body .knd-product-card .knd-product-card__campaign-labels > .knd-campaign-stickers--listing {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: grid !important;
  gap: .4rem !important;
  width: 100% !important;
  margin: 0 !important;
  pointer-events: auto !important;
}
html body .knd-product-card .product-miniature__bottom {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-top: var(--knd-product-card-content-gap, 14px) !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__infos {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: .6rem !important;
  text-align: left !important;
}
html body .knd-product-card .knd-product-card__campaigns {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-product-card-row-campaign-height, 0px) !important;
  margin: 0 !important;
  text-align: left !important;
}
html body .knd-product-card:not(.knd-product-card--row-has-campaign) .knd-product-card__campaigns:empty {
  display: none !important;
}
html body .knd-product-card.knd-product-card--row-has-campaign .knd-product-card__campaigns:empty {
  visibility: hidden !important;
}
html body .knd-product-card .knd-product-card__campaigns .knd-product-campaigns--listing {
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__title {
  display: -webkit-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-product-card-row-title-height, calc(2 * 1.35em)) !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--knd-product-title-color, var(--knd-color-text, #111827)) !important;
  font-size: var(--knd-product-title-font-size, 1rem) !important;
  font-weight: var(--knd-product-card-title-font-weight, 600) !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
html body .knd-product-card .product-miniature__title:hover,
html body .knd-product-card .product-miniature__title:focus-visible {
  color: var(--knd-product-title-hover-color, var(--knd-color-primary, #3c83f6)) !important;
  text-decoration: none !important;
}
html body .knd-product-card .product-miniature__variants {
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
html body .knd-product-card .knd-product-card__reviews {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-product-card-row-review-height, 0px) !important;
  margin: 0 !important;
  text-align: left !important;
}
html body .knd-product-card:not(.knd-product-card--row-has-reviews) .knd-product-card__reviews:empty,
html body .knd-product-card:not(.knd-product-card--row-has-reviews) .knd-product-card__reviews[hidden] {
  display: none !important;
}
html body .knd-product-card.knd-product-card--row-has-reviews .knd-product-card__reviews:empty,
html body .knd-product-card.knd-product-card--row-has-reviews .knd-product-card__reviews[hidden] {
  display: block !important;
  visibility: hidden !important;
}
html body .knd-product-card .knd-product-card__footer {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: auto !important;
  padding-top: .85rem !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__prices {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: .35rem .65rem !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__price,
html body .knd-product-card .product-miniature__prices .price {
  color: var(--knd-product-price-color, var(--knd-color-text, #111827)) !important;
  font-size: var(--knd-product-card-price-font-size, 1.125rem) !important;
  font-weight: var(--knd-product-card-price-font-weight, 600) !important;
  line-height: 1.25 !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__discount-price {
  display: inline-flex !important;
  align-items: baseline !important;
  min-height: 1em !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__regular-price {
  color: var(--knd-product-regular-price-color, var(--knd-color-muted, #64748b)) !important;
}
html body .knd-product-card .product-miniature__actions {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: auto !important;
  padding-top: 1rem !important;
  text-align: left !important;
}
html body .knd-product-card .product-miniature__actions form,
html body .knd-product-card .product-miniature__actions button[data-button-action="add-to-cart"],
html body .knd-product-card .product-miniature__actions .product-miniature__details {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .knd-product-card .product-miniature__actions form {
  display: flex !important;
  align-items: stretch !important;
  gap: var(--knd-product-card-action-gap, 12px) !important;
}
html body .knd-product-card .product-miniature__actions button[data-button-action="add-to-cart"],
html body .knd-product-card .product-miniature__actions .product-miniature__details {
  flex: 1 1 auto !important;
}
html body .knd-product-card .knd-product-card__availability {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .5rem !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: calc(2 * 1.35em) !important;
  margin-top: .75rem !important;
  color: var(--knd-product-card-availability-color, var(--knd-color-muted, #64748b)) !important;
  font-size: .925rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
}
html body .knd-product-card .knd-product-card__availability--empty {
  visibility: hidden !important;
}
html body .knd-product-card .knd-product-card__availability-icon {
  flex: 0 0 auto !important;
  color: var(--knd-product-card-availability-icon-color, #16a34a) !important;
  font-weight: 800 !important;
}
html body .knd-product-card .knd-product-card__cart-icon-host {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.25em !important;
  height: 1.25em !important;
  color: currentColor !important;
}
html body .knd-product-card .knd-product-card__cart-icon-host:empty {
  display: none !important;
}
html body .knd-product-card .knd-product-card__cart-icon-host :is(svg,img,i,.material-icons,.material-icons-outlined,.material-symbols-outlined) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  color: currentColor !important;
  fill: currentColor !important;
}
.product-miniature .product-title a { color: var(--knd-product-title-color); font-size: var(--knd-product-title-font-size); font-weight: var(--knd-product-title-font-weight); }
.product-miniature .product-title a:hover { color: var(--knd-product-title-hover-color); }
.product-miniature .price, .product-price { color: var(--knd-product-price-color); font-size: var(--knd-product-price-font-size); font-weight: var(--knd-product-price-font-weight); }
.product-miniature .regular-price { color: var(--knd-product-regular-price-color); }
.product-flag, .product-flags li { background: var(--knd-product-flags-bg); color: var(--knd-product-flags-color); }

.product-miniature .quick-view,
.product-miniature .quickview,
.product-miniature [data-link-action="quickview"],
.product-miniature [data-link-action="quick-view"],
.product-miniature [data-button-action="quickview"],
.js-product-miniature .quick-view,
.js-product-miniature .quickview,
.js-product-miniature [data-link-action="quickview"],
.js-product-miniature [data-link-action="quick-view"],
.js-product-miniature [data-button-action="quickview"],
.highlighted-informations .quick-view,
.highlighted-informations [data-link-action="quickview"] { display: var(--knd-product-quickview-display, inline-flex) !important; }

.product-container, body#product main { background: var(--knd-product-page-bg, var(--knd-page-bg, #ffffff)); }
.product-container h1, .product-title h1, h1.product-title { color: var(--knd-product-page-title-color); }
.current-price, .product-prices .current-price { color: var(--knd-product-page-price-color); font-size: var(--knd-product-page-price-font-size); font-weight: var(--knd-product-page-price-font-weight); }

.knd-mobile-filter-drawer,
.knd-mobile-filter-backdrop {
  display: none;
}
@media (max-width: 991.98px) {
  .knd-theme-header__banner { background: var(--knd-header-banner-bg-mobile); color: var(--knd-header-banner-color-mobile); min-height: var(--knd-header-banner-height-mobile); }
  .knd-theme-header__banner a { color: var(--knd-header-banner-link-color-mobile); }
  .knd-theme-header__top { background: var(--knd-header-topbar-bg-mobile); color: var(--knd-header-topbar-color-mobile); min-height: var(--knd-header-topbar-height-mobile); }
  .knd-theme-header__top a { color: var(--knd-header-topbar-link-color-mobile); }
  .knd-theme-header__main { background: var(--knd-header-main-bg-mobile); color: var(--knd-header-main-color-mobile); }
  .knd-theme-header__main a { color: var(--knd-header-main-link-color-mobile); }
  .knd-hf-nav2-grid { background: var(--knd-header-nav-bg-mobile); color: var(--knd-header-nav-color-mobile); }
  .knd-hf-nav2-grid a { color: var(--knd-header-nav-link-color-mobile); }
  .knd-theme-header__nav-full { background: var(--knd-header-navfull-bg-mobile); color: var(--knd-header-navfull-color-mobile); }
  .knd-theme-header__nav-full a { color: var(--knd-header-navfull-link-color-mobile); }
  .knd-hf-main-grid { min-height: var(--knd-header-main-height-mobile); }
  .knd-hf-nav2-grid { min-height: var(--knd-header-nav-height-mobile); }
  .knd-hf-slot--nav-full { min-height: var(--knd-header-navfull-height-mobile); }
}

/* Checkout layout uses the shared KNDev System contracts.
   No checkout-only typography, input or action-button tokens are defined here. */
html body#checkout,
html body.page-checkout,
html body#order-confirmation,
html body.page-order-confirmation,
html body#cart,
html body#checkout #wrapper,
html body#checkout #content-wrapper,
html body#checkout #content,
html body#checkout .page-content,
html body.page-checkout #wrapper,
html body.page-checkout #content-wrapper,
html body.page-checkout #content,
html body.page-checkout .page-content,
html body#cart #wrapper,
html body#order-confirmation #wrapper,
html body.page-order-confirmation #wrapper {
  background: var(--knd-page-bg, #ffffff) !important;
  color: var(--knd-color-text, #111827) !important;
}

html body#checkout .columns-container.container,
html body.page-checkout .columns-container.container,
html body#cart #wrapper > .container,
html body#order-confirmation #wrapper > .container,
html body.page-order-confirmation #wrapper > .container {
  width: min(100% - 48px, var(--knd-container-width, 1320px)) !important;
  max-width: var(--knd-container-width, 1320px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body#checkout .checkout-grid,
html body.page-checkout .checkout-grid,
html body#checkout .knd-checkout-grid,
html body.page-checkout .knd-checkout-grid {
  align-items: flex-start !important;
  gap: 32px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (min-width: 992px) {
  html body#checkout .checkout-grid__content,
  html body.page-checkout .checkout-grid__content {
    width: calc(100% - 438px) !important;
    max-width: calc(100% - 438px) !important;
    flex: 0 0 calc(100% - 438px) !important;
    padding: 0 !important;
  }
  html body#checkout .checkout-grid__aside,
  html body.page-checkout .checkout-grid__aside {
    width: 406px !important;
    max-width: 406px !important;
    flex: 0 0 406px !important;
    padding: 0 !important;
  }
  html body#checkout .checkout-grid__aside-wrapper,
  html body.page-checkout .checkout-grid__aside-wrapper {
    position: sticky !important;
    top: 112px !important;
    align-self: flex-start !important;
  }
}

html body#checkout .checkout-grid__content > .tab-content,
html body.page-checkout .checkout-grid__content > .tab-content,
html body#checkout .step__content,
html body.page-checkout .step__content,
html body#checkout #personal-information-tabs-content,
html body.page-checkout #personal-information-tabs-content,
html body#checkout #customer-form > section,
html body.page-checkout #customer-form > section {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

html body#checkout .knd-checkout-step-card,
html body#checkout .checkout-grid__content > .tab-content > .step,
html body.page-checkout .knd-checkout-step-card,
html body.page-checkout .checkout-grid__content > .tab-content > .step,
html body#cart .cart-grid-body,
html body#cart .cart-grid-right .card,
html body#order-confirmation .order-confirmation-table,
html body#order-confirmation .order-confirmation-section,
html body.page-order-confirmation .order-confirmation-table,
html body.page-order-confirmation .order-confirmation-section {
  margin: 0 !important;
  padding: var(--knd-card-padding, clamp(18px, 2.4vw, 28px)) !important;
  background: var(--knd-card-bg, #ffffff) !important;
  color: var(--knd-card-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-card-shadow, none) !important;
  overflow: hidden !important;
}

html body#checkout .step__title,
html body.page-checkout .step__title {
  margin: 0 0 18px !important;
}
html body#checkout .step__title hr,
html body.page-checkout .step__title hr {
  margin: 16px 0 0 !important;
  border-color: var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  opacity: 1 !important;
}

/* The progress navigation is structural navigation, not a separate action-button system. */
html body#checkout .checkout-steps,
html body.page-checkout .checkout-steps {
  width: min(100% - 48px, 980px) !important;
  max-width: 980px !important;
  margin: 16px auto 26px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body#checkout .checkout-steps__desktop,
html body.page-checkout .checkout-steps__desktop { display: block !important; }
html body#checkout .checkout-steps__mobile,
html body.page-checkout .checkout-steps__mobile { display: none !important; }
html body#checkout .checkout-steps__list,
html body.page-checkout .checkout-steps__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body#checkout .checkout-steps__step,
html body.page-checkout .checkout-steps__step {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-card, 16px)) !important;
  background: var(--knd-card-bg, #ffffff) !important;
  overflow: hidden !important;
}
html body#checkout .checkout-steps__btn.btn.btn-link,
html body.page-checkout .checkout-steps__btn.btn.btn-link {
  width: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--knd-color-primary, #007f79) !important;
  box-shadow: none !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
}
html body#checkout .checkout-steps__number,
html body.page-checkout .checkout-steps__number {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--knd-color-primary, #007f79) 22%, transparent) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--knd-color-primary, #007f79) 9%, #ffffff) !important;
  color: var(--knd-color-primary, #007f79) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
html body#checkout .checkout-steps__step--success,
html body.page-checkout .checkout-steps__step--success,
html body#checkout .checkout-steps__step.knd-step-complete,
html body.page-checkout .checkout-steps__step.knd-step-complete {
  background: color-mix(in srgb, var(--knd-color-primary, #007f79) 6%, #ffffff) !important;
}
html body#checkout .checkout-steps__step--success .checkout-steps__number,
html body.page-checkout .checkout-steps__step--success .checkout-steps__number,
html body#checkout .checkout-steps__step.knd-step-complete .checkout-steps__number,
html body.page-checkout .checkout-steps__step.knd-step-complete .checkout-steps__number {
  background: var(--knd-color-primary, #007f79) !important;
  border-color: var(--knd-color-primary, #007f79) !important;
  color: #ffffff !important;
}
html body#checkout .checkout-steps__step--current,
html body.page-checkout .checkout-steps__step--current,
html body#checkout .checkout-steps__step.knd-step-current,
html body.page-checkout .checkout-steps__step.knd-step-current {
  border-color: color-mix(in srgb, var(--knd-color-primary, #007f79) 62%, transparent) !important;
}

/* Parent-theme progress lines must never draw over KNDev step cards. */
html body#checkout .checkout-steps__step::before,
html body#checkout .checkout-steps__step::after,
html body#checkout .checkout-steps__btn::before,
html body#checkout .checkout-steps__btn::after,
html body.page-checkout .checkout-steps__step::before,
html body.page-checkout .checkout-steps__step::after,
html body.page-checkout .checkout-steps__btn::before,
html body.page-checkout .checkout-steps__btn::after {
  content: none !important;
  display: none !important;
}
html body#checkout .checkout-steps__step,
html body.page-checkout .checkout-steps__step,
html body#checkout .checkout-steps__btn.btn.btn-link,
html body.page-checkout .checkout-steps__btn.btn.btn-link {
  background-image: none !important;
  outline: 0 !important;
  transform: none !important;
}

/* Address, delivery and payment options use one compact shared card layer. */
html body#checkout .address-card,
html body#checkout .delivery-option__item,
html body#checkout .payment-option,
html body.page-checkout .address-card,
html body.page-checkout .delivery-option__item,
html body.page-checkout .payment-option {
  background: var(--knd-card-bg, #ffffff) !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
html body#checkout .delivery-option__item,
html body#checkout .payment-option,
html body.page-checkout .delivery-option__item,
html body.page-checkout .payment-option,
html body#checkout .address-card__container,
html body.page-checkout .address-card__container {
  padding: 16px !important;
}
html body#checkout .address-card.selected,
html body#checkout .address-card:has(input:checked),
html body#checkout .delivery-option__item:has(input:checked),
html body#checkout .payment-option:has(input:checked),
html body.page-checkout .address-card.selected,
html body.page-checkout .address-card:has(input:checked),
html body.page-checkout .delivery-option__item:has(input:checked),
html body.page-checkout .payment-option:has(input:checked) {
  background: color-mix(in srgb, var(--knd-color-primary, #007f79) 6%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--knd-color-primary, #007f79) 70%, transparent) !important;
}
html body#checkout .delivery-option__label,
html body.page-checkout .delivery-option__label {
  display: grid !important;
  grid-template-columns: minmax(170px, .85fr) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}
html body#checkout .payment-option__form-check,
html body.page-checkout .payment-option__form-check {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
html body#checkout .payment-option__label,
html body.page-checkout .payment-option__label,
html body#checkout .payment-option__form-check > label,
html body.page-checkout .payment-option__form-check > label {
  font-weight: var(--knd-label-font-weight, 600) !important;
}

/* Terms checkbox and label stay visibly separated. */
html body#checkout #conditions-to-approve .form-check,
html body.page-checkout #conditions-to-approve .form-check,
html body#checkout #conditions-to-approve .condition-label,
html body.page-checkout #conditions-to-approve .condition-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
html body#checkout #conditions-to-approve input[type="checkbox"],
html body.page-checkout #conditions-to-approve input[type="checkbox"] {
  flex: 0 0 auto !important;
  margin: .2em 0 0 !important;
}

/* Order summary. */
html body#checkout .checkout-grid__aside-wrapper,
html body.page-checkout .checkout-grid__aside-wrapper,
html body#checkout .checkout__summary-accordion,
html body#checkout .checkout__summary-accordion-item,
html body#checkout .js-checkout-summary,
html body#checkout #js-checkout-summary,
html body.page-checkout .checkout__summary-accordion,
html body.page-checkout .checkout__summary-accordion-item,
html body.page-checkout .js-checkout-summary,
html body.page-checkout #js-checkout-summary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body#checkout .checkout__summary-accordion-wrapper.cart-summary,
html body.page-checkout .checkout__summary-accordion-wrapper.cart-summary {
  background: var(--knd-card-bg, #ffffff) !important;
  color: var(--knd-card-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-card-shadow, none) !important;
  padding: var(--knd-card-padding, clamp(18px, 2.4vw, 28px)) !important;
  overflow: hidden !important;
}
html body#checkout .checkout__summary-accordion-header,
html body.page-checkout .checkout__summary-accordion-header { display: none !important; }
html body#checkout .cart-summary__products-number,
html body.page-checkout .cart-summary__products-number {
  margin: 0 0 14px !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}
html body#checkout .cart-summary__products-list,
html body.page-checkout .cart-summary__products-list,
html body#checkout #cart-summary-product-list,
html body.page-checkout #cart-summary-product-list {
  display: grid !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  gap: 12px !important;
  overflow: visible !important;
}
html body#checkout .cart-summary__product,
html body.page-checkout .cart-summary__product {
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
}
html body#checkout .cart-summary__product:last-child,
html body.page-checkout .cart-summary__product:last-child { border-bottom: 0 !important; }
html body#checkout .cart-summary-product,
html body.page-checkout .cart-summary-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
html body#checkout .cart-summary-product__image img,
html body.page-checkout .cart-summary-product__image img,
html body#checkout .cart-summary__products img,
html body.page-checkout .cart-summary__products img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border: 1px solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-radius-md, 8px) !important;
  background: #ffffff !important;
}
html body#checkout .cart-summary-product__content,
html body.page-checkout .cart-summary-product__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: start !important;
}
html body#checkout .cart-summary-product__link,
html body.page-checkout .cart-summary-product__link {
  color: var(--knd-color-primary, #007f79) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
html body#checkout .cart-summary-line,
html body.page-checkout .cart-summary-line {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  color: var(--knd-color-text, #111827) !important;
}
html body#checkout .cart-summary-line.cart-total,
html body.page-checkout .cart-summary-line.cart-total {
  padding-top: 15px !important;
  font-size: 1.125rem !important;
  font-weight: 800 !important;
}

@media (max-width: 991.98px) {
  html body#checkout .columns-container.container,
  html body.page-checkout .columns-container.container,
  html body#checkout .knd-checkout-page,
  html body.page-checkout .knd-checkout-page {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body#checkout .checkout-grid,
  html body.page-checkout .checkout-grid,
  html body#checkout .knd-checkout-grid,
  html body.page-checkout .knd-checkout-grid {
    gap: 18px !important;
  }
  html body#checkout .checkout-grid__content,
  html body#checkout .checkout-grid__aside,
  html body.page-checkout .checkout-grid__content,
  html body.page-checkout .checkout-grid__aside {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }
  html body#checkout .checkout-steps,
  html body.page-checkout .checkout-steps {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body#checkout .checkout-steps__list,
  html body.page-checkout .checkout-steps__list {
    grid-template-columns: repeat(4, minmax(132px, 1fr)) !important;
  }
  html body#checkout .delivery-option__label,
  html body.page-checkout .delivery-option__label {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 575.98px) {
  html body#checkout .columns-container.container,
  html body.page-checkout .columns-container.container,
  html body#checkout .knd-checkout-page,
  html body.page-checkout .knd-checkout-page,
  html body#checkout .checkout-steps,
  html body.page-checkout .checkout-steps {
    width: calc(100% - 24px) !important;
  }
  html body#checkout .knd-checkout-step-card,
  html body#checkout .checkout-grid__content > .tab-content > .step,
  html body.page-checkout .knd-checkout-step-card,
  html body.page-checkout .checkout-grid__content > .tab-content > .step,
  html body#checkout .checkout__summary-accordion-wrapper.cart-summary,
  html body.page-checkout .checkout__summary-accordion-wrapper.cart-summary {
    padding: 16px !important;
    border-radius: var(--knd-radius-lg, 16px) !important;
  }
}

html body .product-miniature [data-ps-action="open-quickview"],
html body .product-miniature [data-ps-ref="quickview-button"],
html body .product-miniature .product-miniature__quickview-button,
html body .product-miniature .product-miniature__quickview-touch,
html body .product-miniature .js-quickview,
html body .js-product-miniature [data-ps-action="open-quickview"],
html body .js-product-miniature [data-ps-ref="quickview-button"],
html body .js-product-miniature .product-miniature__quickview-button,
html body .js-product-miniature .product-miniature__quickview-touch,
html body .js-product-miniature .js-quickview {
  display: var(--knd-product-quickview-display, inline-flex) !important;
}


/* KNDev Theme Builder products split layout.
   Direct container class is the source of truth. Older wrapper/section selectors are kept
   for backwards compatibility with copied blocks. Default: products left, editable text right. */
.knd-tb-products-block--split,
.knd-tb-products--split .knd-tb-products > .knd-tb-products-block,
.knd-tb-products.knd-tb-products--split > .knd-tb-products-block {
  display: grid !important;
  grid-template-columns: minmax(var(--knd-products-split-products-min-width, 0), 1.05fr) minmax(0, .95fr) !important;
  gap: var(--knd-products-split-gap, clamp(28px, 5vw, 72px)) !important;
  align-items: var(--knd-products-split-align, center) !important;
  grid-auto-flow: dense;
}
.knd-tb-products-block--split > .knd-tb-products-block__content,
.knd-tb-products--split .knd-tb-products > .knd-tb-products-block > .knd-tb-products-block__content,
.knd-tb-products.knd-tb-products--split > .knd-tb-products-block > .knd-tb-products-block__content {
  grid-column: 2 !important;
  grid-row: 1 !important;
  max-width: var(--knd-products-split-content-max-width, 560px);
  margin: 0;
  min-width: 0;
  width: 100%;
}
.knd-tb-products-block--split > .products,
.knd-tb-products--split .knd-tb-products > .knd-tb-products-block > .products,
.knd-tb-products.knd-tb-products--split > .knd-tb-products-block > .products {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0;
  width: 100%;
  margin: 0 !important;
}
.knd-tb-products-block--split.knd-tb-products-block--content-left > .knd-tb-products-block__content,
.knd-tb-products--split.knd-tb-products--content-left .knd-tb-products > .knd-tb-products-block > .knd-tb-products-block__content,
.knd-tb-products.knd-tb-products--split.knd-tb-products--content-left > .knd-tb-products-block > .knd-tb-products-block__content {
  grid-column: 1 !important;
}
.knd-tb-products-block--split.knd-tb-products-block--content-left > .products,
.knd-tb-products--split.knd-tb-products--content-left .knd-tb-products > .knd-tb-products-block > .products,
.knd-tb-products.knd-tb-products--split.knd-tb-products--content-left > .knd-tb-products-block > .products {
  grid-column: 2 !important;
}
.knd-tb-products-block--split.knd-tb-products-block--text-left > .knd-tb-products-block__content,
.knd-tb-products--split.knd-tb-products--text-left .knd-tb-products-block__content,
.knd-tb-products.knd-tb-products--split.knd-tb-products--text-left .knd-tb-products-block__content {
  text-align: left;
}
.knd-tb-products-block--split.knd-tb-products-block--text-center > .knd-tb-products-block__content,
.knd-tb-products--split.knd-tb-products--text-center .knd-tb-products-block__content,
.knd-tb-products.knd-tb-products--split.knd-tb-products--text-center .knd-tb-products-block__content {
  text-align: center;
}
.knd-products-split-intro__eyebrow,
.hf-ads-kicker {
  margin: 0 0 .75rem;
  color: var(--knd-products-split-eyebrow-color, var(--knd-color-primary));
  font-size: var(--knd-products-split-eyebrow-font-size, .82rem);
  font-weight: var(--knd-products-split-eyebrow-font-weight, 800);
  letter-spacing: var(--knd-products-split-eyebrow-letter-spacing, .12em);
  text-transform: var(--knd-products-split-eyebrow-text-transform, uppercase);
}
@media (max-width: 991.98px) {
  .knd-tb-products-block--split,
  .knd-tb-products--split .knd-tb-products > .knd-tb-products-block,
  .knd-tb-products.knd-tb-products--split > .knd-tb-products-block {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .knd-tb-products-block--split > .knd-tb-products-block__content,
  .knd-tb-products-block--split > .products,
  .knd-tb-products--split .knd-tb-products > .knd-tb-products-block > .knd-tb-products-block__content,
  .knd-tb-products--split .knd-tb-products > .knd-tb-products-block > .products,
  .knd-tb-products.knd-tb-products--split > .knd-tb-products-block > .knd-tb-products-block__content,
  .knd-tb-products.knd-tb-products--split > .knd-tb-products-block > .products {
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: none;
  }
}



/* KNDev standard card/order confirmation and checkout conditions. */
.card:not(.product-miniature__inner):not(.knd-contactform--footer-context .card),
html body#order-confirmation .alert-success,
html body.page-order-confirmation .alert-success,
html body#order-confirmation .order-confirmation__details.card,
html body.page-order-confirmation .order-confirmation__details.card {
  background: var(--knd-card-bg, #ffffff) !important;
  color: var(--knd-card-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-lg, 16px)) !important;
  box-shadow: var(--knd-card-shadow, var(--knd-shadow-card, none)) !important;
}
.card:not(.product-miniature__inner):not(.knd-contactform--footer-context .card) > .card-body,
.card:not(.product-miniature__inner):not(.knd-contactform--footer-context .card) .card-body,
html body#order-confirmation .order-confirmation__details.card > .card-body,
html body.page-order-confirmation .order-confirmation__details.card > .card-body {
  padding: var(--knd-card-body-padding, clamp(22px, 2.6vw, 34px)) !important;
}
html body#order-confirmation .alert-success,
html body.page-order-confirmation .alert-success {
  padding: var(--knd-card-padding, clamp(18px, 2.4vw, 28px)) !important;
}
html body#checkout #conditions-to-approve .form-check-input,
html body.page-checkout #conditions-to-approve .form-check-input {
  width: 20px !important;
  height: 20px !important;
  margin-top: .18em !important;
  border: 2px solid var(--knd-color-border, #d7e7e4) !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  cursor: pointer;
}
html body#checkout #conditions-to-approve .form-check-input:checked,
html body.page-checkout #conditions-to-approve .form-check-input:checked {
  background-color: var(--knd-color-primary, #007f79) !important;
  border-color: var(--knd-color-primary, #007f79) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}
html body#checkout #conditions-to-approve .form-check-label,
html body.page-checkout #conditions-to-approve .form-check-label {
  color: var(--knd-color-text, #111827) !important;
}


/* KNDev v1.4.166: customer order pages use the shared list-card contract. */
html body:is(#order-detail,.page-order-detail) :is(.order-infos,.order-status,.order-carrier,.order-shipments,.order-addresses,.order-products,.order-messages),
html body:is(#history,.page-history) .order-history__row {
  background: var(--knd-list-card-bg, #ffffff) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  border: 1px solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-list-card-radius, 16px) !important;
  box-shadow: var(--knd-list-card-shadow, 0 14px 40px rgb(15 23 42 / 8%)) !important;
}
html body:is(#order-detail,.page-order-detail) :is(.order-infos,.order-status,.order-carrier,.order-shipments,.order-addresses,.order-products,.order-messages) {
  margin: 0 0 var(--knd-list-card-gap, 20px) !important;
  padding: var(--knd-surface-card-padding, clamp(20px, 2.6vw, 30px)) !important;
  overflow: hidden !important;
}
html body:is(#order-detail,.page-order-detail) .order-separator { display: none !important; }
html body:is(#order-detail,.page-order-detail) :is(.order-infos,.order-carrier,.order-shipments,.order-products,.order-messages) > :first-child,
html body:is(#order-detail,.page-order-detail) :is(.order-status,.order-addresses) > :first-child { margin-top: 0 !important; }
html body:is(#order-detail,.page-order-detail) :is(.order-infos,.order-carrier,.order-shipments,.order-products,.order-messages) > :last-child,
html body:is(#order-detail,.page-order-detail) :is(.order-status,.order-addresses) > :last-child { margin-bottom: 0 !important; }
html body:is(#order-detail,.page-order-detail) .order-addresses__list,
html body:is(#order-detail,.page-order-detail) .order-addresses .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--knd-list-card-gap, 16px) !important;
  margin: 0 !important;
}
html body:is(#order-detail,.page-order-detail) .order-addresses__list > *,
html body:is(#order-detail,.page-order-detail) .order-addresses .address-card {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--knd-list-card-item-padding, 18px) !important;
  background: var(--knd-color-surface, #f6fbfa) !important;
  border: 1px solid var(--knd-list-card-divider-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: calc(var(--knd-list-card-radius, 16px) - 4px) !important;
}
html body:is(#order-detail,.page-order-detail) :is(.order-status,.order-carrier,.order-shipments,.order-products) :is(table,.table,.order-products__table) {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
}
html body:is(#order-detail,.page-order-detail) :is(.order-status,.order-carrier,.order-shipments,.order-products) :is(th,td) {
  padding: var(--knd-list-card-item-padding-y, 12px) var(--knd-list-card-item-padding-x, 12px) !important;
  border-bottom: 1px solid var(--knd-list-card-divider-color, var(--knd-color-border, #d7e7e4)) !important;
  vertical-align: middle !important;
}
html body:is(#order-detail,.page-order-detail) :is(.order-status,.order-carrier,.order-shipments,.order-products) tr:last-child > :is(th,td) { border-bottom: 0 !important; }
html body:is(#order-detail,.page-order-detail) .order-messages :is(select,textarea) { width: 100% !important; }
html body:is(#order-detail,.page-order-detail) .order-messages :is(button,[type="submit"]) { margin-left: auto !important; }

html body:is(#history,.page-history) .order-history { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body:is(#history,.page-history) .order-history__inner { display: block !important; }
html body:is(#history,.page-history) .order-history__header { display: none !important; }
html body:is(#history,.page-history) .order-history__row {
  display: grid !important;
  grid-template-columns: minmax(0,.9fr) minmax(0,.7fr) minmax(0,.9fr) minmax(0,1.45fr) minmax(0,1.2fr) minmax(0,.55fr) minmax(136px,.95fr) !important;
  align-items: center !important;
  gap: 12px 18px !important;
  margin: 0 0 14px !important;
  padding: 18px !important;
  overflow: hidden !important;
}
html body:is(#history,.page-history) .order-history__cell {
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  border: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body:is(#history,.page-history) .order-history__cell::before {
  content: attr(data-ps-label) !important;
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--knd-color-text-muted, #64748b) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
html body:is(#history,.page-history) .order-history__cell--actions,
html body:is(#history,.page-history) .order-history__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: stretch !important;
}
html body:is(#history,.page-history) .order-history__cell--actions :is(a,button),
html body:is(#history,.page-history) .order-history__actions :is(a,button) { width: 100% !important; }
@media (max-width: 1199.98px) and (min-width: 992px) {
  html body:is(#history,.page-history) .order-history__row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: start !important; }
  html body:is(#history,.page-history) :is(.order-history__cell--actions,.order-history__actions) { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 991.98px) {
  html body:is(#order-detail,.page-order-detail) .order-addresses__list,
  html body:is(#order-detail,.page-order-detail) .order-addresses .row { grid-template-columns: minmax(0,1fr) !important; }
  html body:is(#history,.page-history) .order-history__row { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 16px 18px !important; align-items: start !important; }
  html body:is(#history,.page-history) .order-history__cell { display: block !important; }
  html body:is(#history,.page-history) .order-history__cell::before { margin: 0 0 5px !important; }
  html body:is(#history,.page-history) :is(.order-history__cell--actions,.order-history__actions) { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 575.98px) {
  html body:is(#history,.page-history) .order-history__row { grid-template-columns: minmax(0,1fr) !important; padding: 16px !important; }
  html body:is(#history,.page-history) .order-history__cell { display: grid !important; grid-template-columns: minmax(108px,.8fr) minmax(0,1.2fr) !important; gap: 10px !important; align-items: start !important; }
  html body:is(#history,.page-history) .order-history__cell::before { margin: 0 !important; }
  html body:is(#history,.page-history) :is(.order-history__cell--actions,.order-history__actions) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 379.98px) {
  html body:is(#history,.page-history) .order-history__cell { display: block !important; }
  html body:is(#history,.page-history) .order-history__cell::before { margin-bottom: 5px !important; }
}

/* KNDev v1.4.93: shared page backgrounds, breadcrumb background and unified product surfaces */
html body#product,
html body.page-product {
  background: var(--knd-product-page-bg, var(--knd-page-bg, #ffffff)) !important;
  color: var(--knd-product-page-summary-color, var(--knd-color-text, #111827)) !important;
}
html body#index,
html body.page-index {
  background: var(--knd-index-page-bg, var(--knd-page-bg, #ffffff)) !important;
  color: var(--knd-color-text, #111827) !important;
}
html body.category,
html body.page-category {
  background: var(--knd-category-bg, var(--knd-page-bg, #ffffff)) !important;
  color: var(--knd-color-text, #111827) !important;
}
html body#product #wrapper,
html body#product #content-wrapper,
html body#product #content,
html body#product .page-content,
html body.page-product #wrapper,
html body.page-product #content-wrapper,
html body.page-product #content,
html body.page-product .page-content {
  background: var(--knd-product-page-bg, var(--knd-page-bg, #ffffff)) !important;
}
html body#index #wrapper,
html body#index #content-wrapper,
html body#index #content,
html body#index .page-content,
html body.page-index #wrapper,
html body.page-index #content-wrapper,
html body.page-index #content,
html body.page-index .page-content {
  background: var(--knd-index-page-bg, var(--knd-page-bg, #ffffff)) !important;
}
html body.category #wrapper,
html body.category #content-wrapper,
html body.category #content,
html body.category .page-content,
html body.page-category #wrapper,
html body.page-category #content-wrapper,
html body.page-category #content,
html body.page-category .page-content {
  background: var(--knd-category-bg, var(--knd-page-bg, #ffffff)) !important;
}


html body#product #wrapper > .container,
html body#product .product-container,
html body.page-product #wrapper > .container,
html body.page-product .product-container {
  max-width: var(--knd-product-page-content-width, var(--knd-container-width, 1320px)) !important;
}
html body#product .product-container,
html body.page-product .product-container {
  padding-top: var(--knd-product-page-padding-y, clamp(24px, 4vw, 56px)) !important;
  padding-bottom: var(--knd-product-page-padding-y, clamp(24px, 4vw, 56px)) !important;
}
/* Hummingbird renders the media and information cards as direct children of
   .product__container.product-container. Keep the exact owner as a grid at all
   widths, so stacked cards have a real gap and desktop uses the ratio tokens. */
html body#product .product__container.product-container,
html body.page-product .product__container.product-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--knd-product-main-stack-gap, var(--knd-product-page-grid-gap, 32px)) !important;
}
html body#product .product__container.product-container > :is(.product__left,.product-left,.product__right,.product-right),
html body.page-product .product__container.product-container > :is(.product__left,.product-left,.product__right,.product-right) {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  flex: none !important;
}
@media (min-width: 992px) {
  html body#product .product__container.product-container,
  html body.page-product .product__container.product-container {
    grid-template-columns: minmax(0, var(--knd-product-main-media-column, 1fr)) minmax(0, var(--knd-product-main-info-column, 1fr)) !important;
  }
  html body#product .product__container.product-container > :is(.product__left,.product-left),
  html body.page-product .product__container.product-container > :is(.product__left,.product-left) { grid-column: 1 !important; }
  html body#product .product__container.product-container > :is(.product__right,.product-right),
  html body.page-product .product__container.product-container > :is(.product__right,.product-right) { grid-column: 2 !important; }
}

/* Shared KNDev surface-card rule. Keep this as the common visual model for page blocks. */
.knd-surface-card,
html body#product .product__left,
html body#product .product__right,
html body#product .product-left,
html body#product .product-right,
html body.page-product .product__left,
html body.page-product .product__right,
html body.page-product .product-left,
html body.page-product .product-right,
html body#product .product-container > .row > [class*="col-"] > .product-cover-thumbnails,
html body.page-product .product-container > .row > [class*="col-"] > .product-cover-thumbnails,
html body#product .images-container,
html body.page-product .images-container,
html body#product .product-cover-thumbnails,
html body.page-product .product-cover-thumbnails,
html body#product .product-accessories,
html body.page-product .product-accessories {
  background: var(--knd-surface-card-bg, #ffffff) !important;
  color: var(--knd-surface-card-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, 20px) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)) !important;
  padding: var(--knd-surface-card-padding, clamp(22px, 2.6vw, 34px)) !important;
  overflow: hidden !important;
}

/* Inner image elements must stay clean: the card is the block, not a fake gradient/image background. */
html body#product .product-cover,
html body#product .product-cover img,
html body#product .product-images,
html body#product .product-images > li,
html body#product .thumb-container,
html body#product .thumb-container img,
html body#product .images-container .mask,
html body.page-product .product-cover,
html body.page-product .product-cover img,
html body.page-product .product-images,
html body.page-product .product-images > li,
html body.page-product .thumb-container,
html body.page-product .thumb-container img,
html body.page-product .images-container .mask {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body#product .product-cover::before,
html body#product .product-cover::after,
html body#product .images-container::before,
html body#product .images-container::after,
html body#product .product-cover-thumbnails::before,
html body#product .product-cover-thumbnails::after,
html body.page-product .product-cover::before,
html body.page-product .product-cover::after,
html body.page-product .images-container::before,
html body.page-product .images-container::after,
html body.page-product .product-cover-thumbnails::before,
html body.page-product .product-cover-thumbnails::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}
html body#product .product-actions,
html body#product .product-add-to-cart,
html body#product .product-quantity,
html body#product .product-prices,
html body.page-product .product-actions,
html body.page-product .product-add-to-cart,
html body.page-product .product-quantity,
html body.page-product .product-prices {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 767.98px) {
  html body#product .product__left,
  html body#product .product__right,
  html body#product .product-left,
  html body#product .product-right,
  html body.page-product .product__left,
  html body.page-product .product__right,
  html body.page-product .product-left,
  html body.page-product .product-right {
    padding: var(--knd-surface-card-padding-mobile, 18px) !important;
  }
}
/* End KNDev v1.4.93 product page surfaces */


/* Native Hummingbird product information: two standard KNDev cards, deterministic child partial. */
html body#product .product__bottom,
html body.page-product .product__bottom {
  display: block !important;
  width: 100% !important;
  max-width: var(--knd-product-page-content-width, var(--knd-container-width, 1320px)) !important;
  margin: var(--knd-product-info-section-margin-top, clamp(28px, 4vw, 56px)) auto 0 !important;
}
html body#product .product__bottom-left,
html body.page-product .product__bottom-left { width: 100% !important; max-width: none !important; }
html body#product .product__accordion,
html body.page-product .product__accordion {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: var(--knd-product-info-gap, 24px) !important;
  width: 100% !important;
}
html body#product .product__accordion > #product_description,
html body#product .product__accordion > .js-product-details,
html body#product .product__accordion > #product_features,
html body#product .product__accordion > :is(#product_attachments,.knd-product-attachments-card),
html body.page-product .product__accordion > #product_description,
html body.page-product .product__accordion > .js-product-details,
html body.page-product .product__accordion > #product_features,
html body.page-product .product__accordion > :is(#product_attachments,.knd-product-attachments-card) {
  min-width: 0 !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  color: var(--knd-surface-card-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)) !important;
  overflow: hidden !important;
}
html body#product .product__accordion > #product_description,
html body.page-product .product__accordion > #product_description { grid-column: 1 !important; }
html body#product .product__accordion > .js-product-details,
html body#product .product__accordion > #product_features,
html body#product .product__accordion > :is(#product_attachments,.knd-product-attachments-card),
html body.page-product .product__accordion > .js-product-details,
html body.page-product .product__accordion > #product_features,
html body.page-product .product__accordion > :is(#product_attachments,.knd-product-attachments-card) { grid-column: 2 !important; }
html body#product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header,
html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header { margin: 0 !important; }
html body#product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button,
html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button {
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: var(--knd-product-info-heading-padding-y, 24px) var(--knd-product-info-heading-padding-x, 28px) !important;
  color: var(--knd-color-text, #111827) !important;
  -webkit-text-fill-color: currentColor !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: var(--knd-heading-font-weight, 700) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  cursor: default !important;
  pointer-events: none !important;
}
html body#product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button::after,
html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button::after { display: none !important; content: none !important; }
html body#product :is(#product_description_collapse, #product_details_collapse, #product_features_collapse, #product_attachments_collapse),
html body.page-product :is(#product_description_collapse, #product_details_collapse, #product_features_collapse, #product_attachments_collapse) { display: block !important; height: auto !important; visibility: visible !important; }
html body#product :is(#product_description, #product_details, #product_features, #product_attachments) .accordion-body,
html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) .accordion-body { padding: var(--knd-product-info-body-padding, 28px) !important; }
html body#product .js-product-details > #product_details,
html body.page-product .js-product-details > #product_details { border: 0 !important; background: transparent !important; }
html body#product .product__accordion > #product_features,
html body.page-product .product__accordion > #product_features {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body#product .knd-product-brand,
html body.page-product .knd-product-brand {
  margin: 0 0 18px !important;
  padding: var(--knd-product-info-inner-padding, 18px) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-product-info-inner-bg, var(--knd-color-surface, #f6fbfa)) !important;
  border: var(--knd-list-card-border-width, 1px) solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-list-card-radius, 16px) !important;
}
html body#product .knd-product-brand__inner,
html body.page-product .knd-product-brand__inner {
  display: grid !important;
  grid-template-columns: var(--knd-product-brand-logo-size, 104px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: var(--knd-product-brand-gap, 18px) !important;
}
html body#product .knd-product-brand__logo-link,
html body.page-product .knd-product-brand__logo-link { display: flex !important; align-items: center !important; justify-content: center !important; width: var(--knd-product-brand-logo-size, 104px) !important; height: var(--knd-product-brand-logo-size, 104px) !important; }
html body#product .knd-product-brand__logo,
html body.page-product .knd-product-brand__logo { display: block !important; max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; }
html body#product .knd-product-brand__short-description,
html body.page-product .knd-product-brand__short-description { min-width: 0 !important; align-self: center !important; }
html body#product .knd-product-brand__short-description :where(h1,h2,h3,h4,p),
html body.page-product .knd-product-brand__short-description :where(h1,h2,h3,h4,p) { margin: 0 !important; }
html body#product .knd-product-brand__short-description :where(h1,h2,h3,h4),
html body.page-product .knd-product-brand__short-description :where(h1,h2,h3,h4) { font-size: 1.08rem !important; line-height: 1.3 !important; font-weight: 700 !important; }
html body#product .knd-product-brand__description,
html body.page-product .knd-product-brand__description { margin-top: 16px !important; }
html body#product .knd-product-brand__description :where(p,div),
html body.page-product .knd-product-brand__description :where(p,div) { margin-block: 0 .45rem !important; }
html body#product .knd-product-brand__description > :last-child,
html body.page-product .knd-product-brand__description > :last-child { margin-bottom: 0 !important; }

html body#product .details__list,
html body.page-product .details__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-list-card-bg, #ffffff) !important;
  border: var(--knd-list-card-border-width, 1px) solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-list-card-radius, 16px) !important;
}
html body#product .details__item,
html body.page-product .details__item {
  display: grid !important;
  grid-template-columns: minmax(140px, .8fr) minmax(0, 1.2fr) !important;
  align-items: center !important;
  gap: var(--knd-list-card-item-gap, 12px) !important;
  min-height: var(--knd-list-card-item-min-height, 48px) !important;
  margin: 0 !important;
  padding: var(--knd-list-card-item-padding-y, 12px) var(--knd-list-card-item-padding-x, 18px) !important;
  border-bottom: 1px solid var(--knd-list-card-divider-color, var(--knd-color-border, #d7e7e4)) !important;
}
html body#product .details__item:last-child,
html body.page-product .details__item:last-child { border-bottom: 0 !important; }
html body#product :is(.details__left,.details__right),
html body.page-product :is(.details__left,.details__right) { display: block !important; min-width: 0 !important; }
html body#product .details__title,
html body.page-product .details__title { display: block !important; min-height: 1em !important; color: inherit !important; font-size: var(--knd-list-card-item-font-size, 16px) !important; font-weight: 700 !important; line-height: 1.35 !important; }
html body#product .details__right,
html body.page-product .details__right { color: inherit !important; font-size: var(--knd-list-card-item-font-size, 16px) !important; font-weight: var(--knd-list-card-item-font-weight, 400) !important; line-height: 1.35 !important; }
html body#product .product__accordion > :is(.accordion-item, [id^="extra_"]):not(#product_description):not(#product_features):not(#product_attachments),
html body.page-product .product__accordion > :is(.accordion-item, [id^="extra_"]):not(#product_description):not(#product_features):not(#product_attachments) { grid-column: 1 / -1 !important; }
html body#product .product__bottom-right,
html body.page-product .product__bottom-right { width: 100% !important; max-width: none !important; margin-top: var(--knd-product-info-gap, 24px) !important; }
html body#product .product__accordion > :is(#product_attachments,.knd-product-attachments-card),
html body.page-product .product__accordion > :is(#product_attachments,.knd-product-attachments-card) {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
html body#product .knd-product-attachments-card__title,
html body.page-product .knd-product-attachments-card__title {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: var(--knd-product-info-heading-padding-y, 24px) var(--knd-product-info-heading-padding-x, 28px) !important;
  color: var(--knd-color-text, #111827) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: var(--knd-heading-font-weight, 700) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}
html body#product .knd-product-attachments-source-title-hidden,
html body.page-product .knd-product-attachments-source-title-hidden,
html body#product .knd-product-attachments-card > .knd-product-attachments-card__title,
html body.page-product .knd-product-attachments-card > .knd-product-attachments-card__title {
  display: none !important;
}
html body#product .knd-product-attachments-card :where(.collapse,.accordion-collapse),
html body.page-product .knd-product-attachments-card :where(.collapse,.accordion-collapse) {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}
html body#product .knd-product-attachments-card > :where(.accordion-item,section,div),
html body.page-product .knd-product-attachments-card > :where(.accordion-item,section,div) {
  width: 100% !important;
  min-width: 0 !important;
}
html body#product .knd-product-attachments-card :where(.product__attachments,.product-attachments,[data-product-attachments],.product-attachment-list,.attachments-list),
html body.page-product .knd-product-attachments-card :where(.product__attachments,.product-attachments,[data-product-attachments],.product-attachment-list,.attachments-list) {
  display: grid !important;
  gap: var(--knd-list-card-item-gap, 12px) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body#product .knd-product-attachments-card .attachment,
html body.page-product .knd-product-attachments-card .attachment {
  position: relative !important;
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: var(--knd-list-card-item-padding-y, 14px) var(--knd-list-card-item-padding-x, 18px) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-list-card-bg, #ffffff) !important;
  border: var(--knd-list-card-border-width, 1px) solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-list-card-radius, 16px) !important;
}
html body#product .knd-product-attachments-card :where(.attachment__name,.attachment__description,.attachment__link),
html body.page-product .knd-product-attachments-card :where(.attachment__name,.attachment__description,.attachment__link) {
  margin: 0 !important;
}
html body#product .knd-product-attachments-card .attachment__name,
html body.page-product .knd-product-attachments-card .attachment__name {
  color: var(--knd-color-text, #111827) !important;
  font-weight: 600 !important;
}
html body#product .knd-product-attachments-card .attachment__description,
html body.page-product .knd-product-attachments-card .attachment__description {
  color: var(--knd-color-muted, #64748b) !important;
}
html body#product .knd-product-attachments-card .attachment__link,
html body.page-product .knd-product-attachments-card .attachment__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  color: var(--knd-color-primary, #3c83f6) !important;
  font-weight: 600 !important;
}

html body#product .product__accordion > :is(#product_features,#product_attachments,.knd-product-attachments-card),
html body.page-product .product__accordion > :is(#product_features,#product_attachments,.knd-product-attachments-card) {
  grid-column: 2 !important;
}
html body#product :is(#product_description,#product_details,#product_features,#product_attachments) > .accordion-header > .accordion-button,
html body.page-product :is(#product_description,#product_details,#product_features,#product_attachments) > .accordion-header > .accordion-button {
  font-size: inherit !important;
}
@media (max-width: 991.98px) {
  html body#product .product__accordion,
  html body.page-product .product__accordion { grid-template-columns: minmax(0, 1fr) !important; }
  html body#product .product__accordion > #product_description,
  html body#product .product__accordion > .js-product-details,
  html body#product .product__accordion > #product_features,
  html body#product .product__accordion > #product_attachments,
  html body#product .product__accordion > .knd-product-attachments-card,
  html body.page-product .product__accordion > #product_description,
  html body.page-product .product__accordion > .js-product-details,
  html body.page-product .product__accordion > #product_features,
  html body.page-product .product__accordion > #product_attachments,
  html body.page-product .product__accordion > .knd-product-attachments-card { grid-column: 1 !important; }
  html body#product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button,
  html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) > .accordion-header > .accordion-button { padding: 20px !important; }
  html body#product :is(#product_description, #product_details, #product_features, #product_attachments) .accordion-body,
  html body.page-product :is(#product_description, #product_details, #product_features, #product_attachments) .accordion-body { padding: 20px !important; }
  html body#product .knd-product-brand__inner,
  html body.page-product .knd-product-brand__inner { grid-template-columns: 80px minmax(0, 1fr) !important; }
  html body#product .knd-product-brand__logo-link,
  html body.page-product .knd-product-brand__logo-link { width: 80px !important; height: 80px !important; }
  html body#product .details__item,
  html body.page-product .details__item { grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr) !important; }
}

/* KNDev v1.4.97 single typography source for header module buttons. */
#header :where(.knd-search__submit, .knd-search__icon-trigger, .knd-cartdropdown__trigger, .knd-loginpopup-trigger),
.knd-theme-header :where(.knd-search__submit, .knd-search__icon-trigger, .knd-cartdropdown__trigger, .knd-loginpopup-trigger) {
  font-family: var(--knd-header-module-button-font-family, var(--knd-header-action-font-family, inherit)) !important;
  font-size: var(--knd-header-module-button-font-size, var(--knd-header-action-font-size, 14px)) !important;
  font-weight: var(--knd-header-module-button-font-weight, var(--knd-header-action-font-weight, 600)) !important;
  line-height: var(--knd-header-module-button-line-height, var(--knd-header-action-line-height, 1.1)) !important;
}

/* KNDev v1.4.97: Cart drawer CTA colors must not inherit page/account link colors. */
.knd-cartdrawer__checkout,
.knd-cartdrawer__checkout:visited {
  color: var(--knd-cartdrawer-checkout-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-cartdrawer-checkout-color, #ffffff) !important;
}
.knd-cartdrawer__checkout:hover,
.knd-cartdrawer__checkout:focus-visible {
  color: var(--knd-cartdrawer-checkout-hover-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-cartdrawer-checkout-hover-color, #ffffff) !important;
}

/* KNDev standard address form cleanup.
   Address alias and migrated Customer selector are internal/noisy fields for normal shop checkout/account UX. */
body#checkout .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(input, select, textarea)[name="alias"]),
body#checkout .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(#field-alias),
body#checkout .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="id_customer"]),
body#checkout .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="customer"]),
body#address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(input, select, textarea)[name="alias"]),
body#address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(#field-alias),
body#address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="id_customer"]),
body#address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="customer"]),
body.page-address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(input, select, textarea)[name="alias"]),
body.page-address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(#field-alias),
body.page-address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="id_customer"]),
body.page-address .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="customer"]),
body#addresses .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(input, select, textarea)[name="alias"]),
body#addresses .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(#field-alias),
body#addresses .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="id_customer"]),
body#addresses .js-address-form :is(.form-group, .form-field, .mb-3, .form-floating, .input-group):has(:is(select, input)[name="customer"]) {
  display: none !important;
}

/* Fallback if browser/markup does not expose the parent selector cleanly. */
body#checkout .js-address-form :is(label[for="field-alias"], #field-alias, [name="alias"], [name="id_customer"], [name="customer"]),
body#address .js-address-form :is(label[for="field-alias"], #field-alias, [name="alias"], [name="id_customer"], [name="customer"]),
body.page-address .js-address-form :is(label[for="field-alias"], #field-alias, [name="alias"], [name="id_customer"], [name="customer"]),
body#addresses .js-address-form :is(label[for="field-alias"], #field-alias, [name="alias"], [name="id_customer"], [name="customer"]) {
  display: none !important;
}



/* KNDev v1.4.101: product delivery line and add-to-cart icon control. */
html body :where(.product-add-to-cart, .product-actions, .product-miniature, .product__right, .product-right) :where(button[data-button-action="add-to-cart"], .add-to-cart) > :where(i, svg, .material-icons, .fa, .fa-solid, .knd-add-to-cart-icon, .knd-product-add-icon) {
  display: var(--knd-add-to-cart-icon-display, none) !important;
  margin-inline-end: var(--knd-add-to-cart-icon-gap, 0px) !important;
}
html body :where(.product-add-to-cart, .product-actions, .product-miniature) :where(button[data-button-action="add-to-cart"], .add-to-cart) {
  gap: var(--knd-add-to-cart-icon-gap, .45rem) !important;
}
html body#product :where(#product-availability, .product-availability, .product-delivery-information, .delivery-information),
html body.page-product :where(#product-availability, .product-availability, .product-delivery-information, .delivery-information) {
  margin-top: var(--knd-product-delivery-margin-top, .65rem) !important;
  margin-bottom: var(--knd-product-delivery-margin-bottom, .75rem) !important;
  color: var(--knd-product-delivery-color, var(--knd-color-text, #111827)) !important;
  font-size: var(--knd-product-delivery-font-size, .96rem) !important;
  font-weight: var(--knd-product-delivery-font-weight, 600) !important;
  line-height: 1.35 !important;
}
html body#product :where(#product-availability, .product-availability),
html body.page-product :where(#product-availability, .product-availability) {
  display: var(--knd-product-delivery-display, inline-flex) !important;
  align-items: var(--knd-product-delivery-align-items, center) !important;
  gap: var(--knd-product-delivery-gap, .45rem) !important;
}
html body#product :where(#product-availability, .product-availability) :where(svg, i, .material-icons),
html body.page-product :where(#product-availability, .product-availability) :where(svg, i, .material-icons) {
  width: var(--knd-product-delivery-icon-size, 1.1em) !important;
  height: var(--knd-product-delivery-icon-size, 1.1em) !important;
  color: var(--knd-product-delivery-warning-color, #f5a400) !important;
  fill: currentColor !important;
}
html body#product :where(.product-delivery-information, .delivery-information),
html body.page-product :where(.product-delivery-information, .delivery-information) {
  display: var(--knd-product-delivery-information-display, inline-flex) !important;
  align-items: var(--knd-product-delivery-align-items, center) !important;
  gap: var(--knd-product-delivery-gap, .45rem) !important;
  color: var(--knd-product-delivery-muted-color, #6b7280) !important;
}
html body#product :where(.product-delivery-information, .delivery-information)::before,
html body.page-product :where(.product-delivery-information, .delivery-information)::before {
  content: var(--knd-product-delivery-icon-content, "✓");
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--knd-product-delivery-icon-size, 1.1em);
  color: var(--knd-product-delivery-success-color, #0f8a48);
  font-weight: 800;
}
html body#product :where(.product-add-to-cart, .product-actions, .product__right, .product-right):has(:where(.product-delivery-information, .delivery-information)) :where(#product-availability, .product-availability),
html body.page-product :where(.product-add-to-cart, .product-actions, .product__right, .product-right):has(:where(.product-delivery-information, .delivery-information)) :where(#product-availability, .product-availability) {
  display: var(--knd-product-availability-duplicate-display, none) !important;
}



/* KNDev wishlist pages: shared account typography, cards, controls and actions. */
html body.knd-wishlist-page :where(#wrapper,#content-wrapper,#content,main) {
  min-width: 0 !important;
  color: var(--knd-color-text, #111827) !important;
}
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container) {
  width: 100% !important;
  min-width: 0 !important;
  color: var(--knd-color-text, #111827) !important;
}
html body.knd-wishlist-page :where(.wishlist-container-header,.wishlist-products-container-header) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-bottom: var(--knd-wishlist-page-gap, 22px) !important;
}
html body.knd-wishlist-page :where(main,#main,#content-wrapper,#content) {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container,[class*="wishlist-container"],[class*="wishlist-products-container"]) {
  width: 100% !important;
  min-width: 0 !important;
  padding-bottom: var(--knd-page-footer-gap, clamp(36px, 5vw, 64px)) !important;
}
html body.knd-wishlist-page .knd-wishlist-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: var(--knd-surface-card-padding, clamp(18px, 2vw, 24px)) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)) !important;
  text-align: left !important;
  overflow: hidden !important;
}
html body.knd-wishlist-page .knd-wishlist-product-card :where(img) {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
html body.knd-wishlist-page .knd-wishlist-product-card :where(button,a.btn,[role="button"]) {
  cursor: pointer !important;
}
html body.knd-wishlist-page :where(.wishlist-container-header,.wishlist-products-container-header) h1,
html body.knd-wishlist-page > :where(main,#main) h1,
html body.knd-wishlist-page :where(#content-wrapper,#content) > h1 {
  margin: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: var(--knd-heading-h1-font-size, clamp(2rem, 3vw, 3rem)) !important;
  font-weight: var(--knd-heading-font-weight, 750) !important;
  line-height: var(--knd-heading-line-height, 1.08) !important;
  letter-spacing: var(--knd-heading-letter-spacing, -.025em) !important;
}
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container) > .page-content.card,
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container) > .card.page-content {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html body.knd-wishlist-page :where(.wishlist-list,.wishlist-products-list) {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body.knd-wishlist-page .wishlist-list {
  display: grid !important;
  gap: var(--knd-wishlist-card-gap, 18px) !important;
}
html body.knd-wishlist-page .wishlist-list-item {
  position: relative !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)) !important;
  overflow: visible !important;
}
html body.knd-wishlist-page .wishlist-list-item-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 74px !important;
  padding: 18px 20px !important;
  color: var(--knd-color-text, #111827) !important;
  text-decoration: none !important;
}
html body.knd-wishlist-page .wishlist-list-item-title {
  min-width: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body.knd-wishlist-page :where(.wishlist-list-item-right,.wishlist-list-item-actions) {
  flex: 0 0 auto !important;
}
html body.knd-wishlist-page :where(.wishlist-list-item button,.wishlist-button-add) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-text-muted, #6b7280) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--knd-radius-button, 10px) !important;
  box-shadow: none !important;
}
html body.knd-wishlist-page :where(.wishlist-list-item button,.wishlist-button-add):is(:hover,:focus-visible) {
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-color-primary-soft, #eef5ff) !important;
}
html body.knd-wishlist-page .wishlist-products-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)) !important;
  align-items: stretch !important;
  gap: var(--knd-wishlist-card-gap, 18px) !important;
}
html body.knd-wishlist-page .wishlist-products-item {
  display: flex !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.knd-wishlist-page .wishlist-product {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: var(--knd-surface-card-padding, clamp(18px, 2vw, 24px)) !important;
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 18px 55px rgb(15 23 42 / 7%)) !important;
  text-align: left !important;
  overflow: hidden !important;
}
html body.knd-wishlist-page .wishlist-product-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  text-decoration: none !important;
}
html body.knd-wishlist-page .wishlist-product-image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 220px !important;
  margin-bottom: 18px !important;
}
html body.knd-wishlist-page .wishlist-product-image img {
  display: block !important;
  width: 100% !important;
  max-width: 230px !important;
  height: 220px !important;
  object-fit: contain !important;
}
html body.knd-wishlist-page .wishlist-product-right {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
html body.knd-wishlist-page .wishlist-product-title {
  margin: 0 0 8px !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body.knd-wishlist-page .wishlist-product-price {
  margin: auto 0 12px !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}
html body.knd-wishlist-page .wishlist-product-price-promo {
  margin-right: 6px !important;
  color: var(--knd-color-text-muted, #6b7280) !important;
  font-size: .92em !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}
html body.knd-wishlist-page :where(.wishlist-product-combinations,.wishlist-product-combinations-text) {
  margin: 0 0 10px !important;
  color: var(--knd-color-text-muted, #6b7280) !important;
  font-size: .9rem !important;
  line-height: 1.45 !important;
}
html body.knd-wishlist-page .wishlist-product-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 10px !important;
}
html body.knd-wishlist-page .wishlist-product-addtocart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-button-min-height, 48px) !important;
  padding: var(--knd-button-padding-y, .75rem) var(--knd-button-padding-x, 1.2rem) !important;
  color: var(--knd-button-color, #ffffff) !important;
  background: var(--knd-button-bg, var(--knd-color-primary, #3c83f6)) !important;
  border: var(--knd-button-border-width, 1px) solid var(--knd-button-border-color, var(--knd-color-primary, #3c83f6)) !important;
  border-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px)) !important;
  font-size: var(--knd-button-font-size, 1rem) !important;
  font-weight: var(--knd-button-font-weight, 600) !important;
  line-height: 1.2 !important;
  box-shadow: var(--knd-button-shadow, none) !important;
}
html body.knd-wishlist-page .wishlist-product-availability {
  margin: 10px 0 0 !important;
  color: var(--knd-color-text-muted, #6b7280) !important;
  font-size: .9rem !important;
  line-height: 1.4 !important;
  text-align: left !important;
}
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container) a:not(.btn):not(.wishlist-product-link):not(.wishlist-list-item-link) {
  color: var(--knd-link-color, var(--knd-color-primary, #3c83f6)) !important;
  font-size: inherit !important;
  text-decoration: none !important;
}
html body.knd-wishlist-page :where(.wishlist-container,.wishlist-products-container) a:not(.btn):not(.wishlist-product-link):not(.wishlist-list-item-link):is(:hover,:focus-visible) {
  color: var(--knd-link-hover-color, var(--knd-color-secondary, #9e595c)) !important;
  text-decoration: none !important;
}
html body.knd-wishlist-page :where(.wishlist-add-to-new,.wishlist-footer-links a,.knd-account-back-footer a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-height: var(--knd-button-min-height, 48px) !important;
  padding: var(--knd-button-padding-y, .75rem) var(--knd-button-padding-x, 1.2rem) !important;
  color: var(--knd-button-secondary-color, var(--knd-color-primary, #3c83f6)) !important;
  background: var(--knd-button-secondary-bg, #ffffff) !important;
  border: var(--knd-button-secondary-border-width, 1px) solid var(--knd-button-secondary-border-color, var(--knd-color-primary, #3c83f6)) !important;
  border-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px)) !important;
  font-size: var(--knd-button-font-size, 1rem) !important;
  font-weight: var(--knd-button-font-weight, 600) !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
html body.knd-wishlist-page :where(.wishlist-add-to-new,.wishlist-footer-links a,.knd-account-back-footer a):is(:hover,:focus-visible) {
  color: var(--knd-button-secondary-hover-color, #ffffff) !important;
  background: var(--knd-button-secondary-hover-bg, var(--knd-color-primary, #3c83f6)) !important;
  border-color: var(--knd-button-secondary-hover-border-color, var(--knd-color-primary, #3c83f6)) !important;
}
html body.knd-wishlist-page .wishlist-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: var(--knd-wishlist-page-gap, 22px) !important;
  padding-top: var(--knd-wishlist-page-gap, 22px) !important;
  border-top: 1px solid var(--knd-color-border, #d7e7e4) !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: min(100%, 310px) !important;
}
html body.knd-wishlist-page .wishlist-products-container-header :where(.products-sort-order,.dropdown) {
  min-width: 0 !important;
  padding: 0 !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .select-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: var(--knd-input-min-height, 48px) !important;
  padding: var(--knd-input-padding-y, .7rem) var(--knd-input-padding-x, .9rem) !important;
  color: var(--knd-input-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-input-bg, #ffffff) !important;
  border: var(--knd-input-border-width, 1px) solid var(--knd-input-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-input-border-radius, var(--knd-radius-input, 10px)) !important;
  font: inherit !important;
  text-align: left !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .dropdown-menu {
  width: 100% !important;
  min-width: 100% !important;
  margin-top: 6px !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid var(--knd-color-border, #d7e7e4) !important;
  border-radius: var(--knd-radius-card, 16px) !important;
  box-shadow: var(--knd-dropdown-shadow, 0 18px 48px rgb(15 23 42 / 12%)) !important;
  overflow: hidden !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .select-list {
  display: block !important;
  width: 100% !important;
  padding: 12px 15px !important;
  color: var(--knd-color-text, #111827) !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--knd-color-border, #d7e7e4) !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .select-list:last-child {
  border-bottom: 0 !important;
}
html body.knd-wishlist-page .wishlist-products-container-header .select-list:is(:hover,:focus-visible) {
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-color-primary-soft, #eef5ff) !important;
}
html body.knd-wishlist-page :where(.modal .close,.modal .btn-close,[class*="wishlist"] .close,[class*="wishlist"] .btn-close),
html body :where(.knd-mobile-filter-drawer__close,[data-knd-mobile-filter-close]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--knd-close-button-size, 44px) !important;
  min-width: var(--knd-close-button-size, 44px) !important;
  height: var(--knd-close-button-size, 44px) !important;
  min-height: var(--knd-close-button-size, 44px) !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-close-button-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-close-button-bg, #ffffff) !important;
  border: 1px solid var(--knd-close-button-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-close-button-radius, var(--knd-radius-button, 10px)) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html body.knd-wishlist-page :where(.modal .close,.modal .btn-close,[class*="wishlist"] .close,[class*="wishlist"] .btn-close):is(:hover,:focus-visible),
html body :where(.knd-mobile-filter-drawer__close,[data-knd-mobile-filter-close]):is(:hover,:focus-visible) {
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-color-primary-soft, #eef5ff) !important;
  border-color: var(--knd-color-border, #d7e7e4) !important;
}
html body.knd-wishlist-page .knd-account-back-footer {
  width: 100% !important;
  margin-top: var(--knd-wishlist-page-gap, 22px) !important;
  padding-top: var(--knd-wishlist-page-gap, 22px) !important;
  border-top: 1px solid var(--knd-color-border, #d7e7e4) !important;
}
@media (max-width: 767.98px) {
  html body.knd-wishlist-page :where(.wishlist-container-header,.wishlist-products-container-header) {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  html body.knd-wishlist-page .wishlist-products-container-header .sort-by-row {
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.knd-wishlist-page .wishlist-products-list {
    grid-template-columns: 1fr !important;
  }
}

/* KNDev v1.4.102: shared connected input + button pattern.
   Used for search, voucher fields and other KNDev forms where an input is immediately followed by a button. */
html body :where(
  .knd-connected-control,
  .knd-form-connected,
  .knd-cartdrawer__voucher-form,
  #header #search_widget form,
  #header .search-widget form,
  #header .knd-search form,
  #header .knd-search-pro form,
  #header .kndev-search form,
  #header .kndev-search-pro form,
  #header .knd-search__form,
  #header .knd-searchpro__form,
  .block_newsletter form,
  .ps-emailsubscription-block form
) {
  display: flex !important;
  align-items: stretch !important;
  gap: var(--knd-connected-control-gap, 0px) !important;
}
html body :where(
  .knd-connected-control,
  .knd-form-connected,
  .knd-cartdrawer__voucher-form,
  #header #search_widget form,
  #header .search-widget form,
  #header .knd-search form,
  #header .knd-search-pro form,
  #header .kndev-search form,
  #header .kndev-search-pro form,
  #header .knd-search__form,
  #header .knd-searchpro__form,
  .block_newsletter form,
  .ps-emailsubscription-block form
) > :where(input[type="text"], input[type="search"], input[type="email"], input:not([type]), .form-control):first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: var(--knd-connected-control-height, 48px) !important;
  height: var(--knd-connected-control-height, 48px) !important;
  border-radius: var(--knd-connected-control-radius, 999px) 0 0 var(--knd-connected-control-radius, 999px) !important;
  border: 1px solid var(--knd-connected-input-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-right: 0 !important;
  background: var(--knd-connected-input-bg, #ffffff) !important;
  color: var(--knd-connected-input-color, var(--knd-color-text, #111827)) !important;
  padding-inline: var(--knd-connected-input-padding-x, 1rem) !important;
  box-shadow: none !important;
}
html body :where(
  .knd-connected-control,
  .knd-form-connected,
  .knd-cartdrawer__voucher-form,
  #header #search_widget form,
  #header .search-widget form,
  #header .knd-search form,
  #header .knd-search-pro form,
  #header .kndev-search form,
  #header .kndev-search-pro form,
  #header .knd-search__form,
  #header .knd-searchpro__form,
  .block_newsletter form,
  .ps-emailsubscription-block form
) > :where(button, .btn, input[type="submit"]):last-child {
  flex: 0 0 auto !important;
  min-width: var(--knd-connected-button-min-width, 112px) !important;
  min-height: var(--knd-connected-control-height, 48px) !important;
  height: var(--knd-connected-control-height, 48px) !important;
  border-radius: 0 var(--knd-connected-control-radius, 999px) var(--knd-connected-control-radius, 999px) 0 !important;
  margin-left: 0 !important;
  padding-inline: var(--knd-connected-button-padding-x, 1.2rem) !important;
}
html body :where(
  .knd-connected-control,
  .knd-form-connected,
  .knd-cartdrawer__voucher-form,
  #header #search_widget form,
  #header .search-widget form,
  #header .knd-search form,
  #header .knd-search-pro form,
  #header .kndev-search form,
  #header .kndev-search-pro form,
  #header .knd-search__form,
  #header .knd-searchpro__form,
  .block_newsletter form,
  .ps-emailsubscription-block form
) > :where(input[type="text"], input[type="search"], input[type="email"], input:not([type]), .form-control):first-child:focus {
  border-color: var(--knd-connected-input-focus-border-color, var(--knd-color-primary, #007f79)) !important;
  outline: none !important;
}

/* KNDev v1.4.129: product card action display tokens and no-wrap quantity layout. */
html body :where(.product-miniature,.js-product-miniature) :where(
  .product-miniature__quantity,
  .product-miniature__qty,
  .product-quantity,
  .product-quantity-touchspin,
  .qty,
  .quantity,
  .qty-selector,
  .quantity-selector,
  .quantity_wanted,
  .bootstrap-touchspin,
  .input-group.bootstrap-touchspin,
  .input-group:has(input[name="qty"]),
  .input-group:has(.quantity_wanted),
  .knd-quantity-control
) {
  display: var(--knd-product-card-quantity-display, none) !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(input[name="qty"],input.qty,.quantity_wanted) {
  display: var(--knd-product-card-quantity-display, none) !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(
  .bootstrap-touchspin-up,
  .bootstrap-touchspin-down,
  .btn-touchspin,
  .input-group-btn .btn,
  .input-group-btn-vertical .btn,
  button[data-button-action="increment"],
  button[data-button-action="decrement"],
  button.js-increase-product-quantity,
  button.js-decrease-product-quantity
) {
  display: var(--knd-product-card-quantity-display, none) !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(
  .product-miniature__quantity,
  .product-miniature__qty,
  .product-quantity,
  .product-quantity-touchspin,
  .qty,
  .quantity,
  .qty-selector,
  .quantity-selector,
  .bootstrap-touchspin,
  .input-group.bootstrap-touchspin,
  .input-group:has(input[name="qty"]),
  .input-group:has(.quantity_wanted),
  .knd-quantity-control
) {
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(.product-actions,.product-miniature__actions,.product-miniature__footer,.product-miniature__bottom,.add-to-cart-or-refresh,form[action*="cart"]) {
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: var(--knd-product-card-action-gap, 12px) !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(.bootstrap-touchspin,.input-group.bootstrap-touchspin,.input-group:has(input[name="qty"]),.qty,.quantity,.qty-selector,.knd-quantity-control) :where(input[name="qty"],input.qty,.quantity_wanted) {
  flex: 0 0 var(--knd-product-card-quantity-input-width, 56px) !important;
  width: var(--knd-product-card-quantity-input-width, 56px) !important;
  min-width: var(--knd-product-card-quantity-input-width, 56px) !important;
  height: var(--knd-product-card-quantity-height, 40px) !important;
  min-height: var(--knd-product-card-quantity-height, 40px) !important;
  text-align: center !important;
  margin: 0 !important;
  border: var(--knd-quantity-button-border-width, 1px) solid var(--knd-quantity-button-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  background: var(--knd-quantity-input-bg, #fff) !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(.bootstrap-touchspin,.input-group.bootstrap-touchspin,.input-group:has(input[name="qty"]),.qty,.quantity,.qty-selector,.knd-quantity-control) :where(.bootstrap-touchspin-up,.bootstrap-touchspin-down,.btn-touchspin,.input-group-btn .btn,.input-group-btn-vertical .btn,button[data-button-action="increment"],button[data-button-action="decrement"],button.js-increase-product-quantity,button.js-decrease-product-quantity) {
  flex: 0 0 var(--knd-product-card-quantity-button-width, 40px) !important;
  width: var(--knd-product-card-quantity-button-width, 40px) !important;
  min-width: var(--knd-product-card-quantity-button-width, 40px) !important;
  height: var(--knd-product-card-quantity-height, 40px) !important;
  min-height: var(--knd-product-card-quantity-height, 40px) !important;
  margin: 0 !important;
  border: var(--knd-quantity-button-border-width, 1px) solid var(--knd-quantity-button-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--knd-quantity-button-color, var(--knd-color-text, #111827)) !important;
  box-shadow: none !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(.bootstrap-touchspin,.input-group.bootstrap-touchspin,.input-group:has(input[name="qty"]),.qty,.quantity,.qty-selector,.knd-quantity-control) :where(.bootstrap-touchspin-down,button[data-button-action="decrement"],button.js-decrease-product-quantity) {
  border-top-left-radius: var(--knd-quantity-button-radius, var(--knd-radius-md, 8px)) !important;
  border-bottom-left-radius: var(--knd-quantity-button-radius, var(--knd-radius-md, 8px)) !important;
  border-right-width: 0 !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(.bootstrap-touchspin,.input-group.bootstrap-touchspin,.input-group:has(input[name="qty"]),.qty,.quantity,.qty-selector,.knd-quantity-control) :where(.bootstrap-touchspin-up,button[data-button-action="increment"],button.js-increase-product-quantity) {
  border-top-right-radius: var(--knd-quantity-button-radius, var(--knd-radius-md, 8px)) !important;
  border-bottom-right-radius: var(--knd-quantity-button-radius, var(--knd-radius-md, 8px)) !important;
  border-left-width: 0 !important;
}
html body :where(.product-miniature,.js-product-miniature) :where(button[data-button-action="add-to-cart"],.add-to-cart) > :where(i,svg,.material-icons,.material-icons-outlined,.material-symbols-outlined,.fa,.fa-solid,.knd-add-to-cart-icon,.knd-product-add-icon) {
  display: var(--knd-product-card-add-icon-display, none) !important;
}
html body#product :where(.product-add-to-cart,.product-actions,.product__right,.product-right) :where(button[data-button-action="add-to-cart"],.add-to-cart) :where(i,svg,.material-icons,.material-icons-outlined,.material-symbols-outlined,.fa,.fa-solid,.knd-add-to-cart-icon,.knd-product-add-icon),
html body.page-product :where(.product-add-to-cart,.product-actions,.product__right,.product-right) :where(button[data-button-action="add-to-cart"],.add-to-cart) > :where(i,svg,.material-icons,.material-icons-outlined,.material-symbols-outlined,.fa,.fa-solid,.knd-add-to-cart-icon,.knd-product-add-icon) {
  display: var(--knd-product-page-add-icon-display, none) !important;
}
html body :where(.product-miniature,.js-product-miniature) .product-miniature__add-text,
html body :where(.product-miniature,.js-product-miniature) .knd-product-add-label {
  display: var(--knd-product-card-add-text-display, inline) !important;
  line-height: normal !important;
}
html body :where(.product-miniature,.js-product-miniature) button.product-miniature__add.btn-square-icon[data-button-action="add-to-cart"] {
  width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;
  min-height:var(--knd-button-min-height,48px)!important;
  padding:var(--knd-button-padding-y,.75rem) var(--knd-button-padding-x,1.2rem)!important;
  gap:var(--knd-button-icon-gap,.45rem)!important;
  border-radius:var(--knd-button-border-radius,var(--knd-radius-button,10px))!important;
  box-sizing:border-box!important;
  font-size:var(--knd-button-font-size,1rem)!important;
  font-weight:var(--knd-button-font-weight,600)!important;
  line-height:var(--knd-button-line-height,1.2)!important;
  justify-content:center!important;
}

/* KNDev strict product/filter/alert correction v1.1.182 */
:root {
  --knd-alert-close-size: 34px;
  --knd-alert-close-radius: 10px;
  --knd-alert-close-bg: #ffffff;
  --knd-alert-close-color: var(--knd-color-text, #111827);
  --knd-alert-close-border-color: var(--knd-color-border, #dbe8ff);
}











html body :where(.alert, .js-alert, .bootstrap-touchspin .alert) {
  position: relative !important;
  padding-inline-end: calc(var(--knd-alert-padding-x, 1rem) + var(--knd-alert-close-size, 34px) + .65rem) !important;
}

html body :where(.alert, .js-alert) :where(.close, .btn-close, [data-dismiss="alert"], [data-bs-dismiss="alert"]) {
  position: absolute !important;
  inset-block-start: 50% !important;
  inset-inline-end: .65rem !important;
  transform: translateY(-50%) !important;
  width: var(--knd-alert-close-size, 34px) !important;
  height: var(--knd-alert-close-size, 34px) !important;
  min-width: var(--knd-alert-close-size, 34px) !important;
  min-height: var(--knd-alert-close-size, 34px) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--knd-alert-close-border-color, var(--knd-color-border, #dbe8ff)) !important;
  border-radius: var(--knd-alert-close-radius, 10px) !important;
  background: var(--knd-alert-close-bg, #fff) !important;
  color: var(--knd-alert-close-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: var(--knd-alert-close-color, var(--knd-color-text, #111827)) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

html body :where(.alert, .js-alert) :where(.close, .btn-close, [data-dismiss="alert"], [data-bs-dismiss="alert"])::before {
  content: "×";
  display: block;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

html body :where(.alert, .js-alert) :where(.close, .btn-close, [data-dismiss="alert"], [data-bs-dismiss="alert"]):hover {
  border-color: var(--knd-color-primary, #007f79) !important;
  background: var(--knd-color-surface, #f6fbfa) !important;
}

/* Make KNDev filter UX apply even when the shop uses the standard faceted-search template. */
html body :where(#search-filters, #search_filters, #search_filters_wrapper, .js-search-filters, .block-facets, .search-filters, .facets).knd-filter-stack :where(.collapse, .accordion-collapse, [id^="facet_"]) {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

html body :where(#search-filters, #search_filters, #search_filters_wrapper, .js-search-filters, .block-facets, .search-filters, .facets).knd-filter-stack :where(.knd-facet-option-hidden) {
  display: none !important;
}

html body :where(#search-filters, #search_filters, #search_filters_wrapper, .js-search-filters, .block-facets, .search-filters, .facets).knd-filter-stack :where(.knd-filter-stack__title-duplicate, [data-knd-filter-duplicate-heading="1"]) {
  display: none !important;
}

/* KNDev Theme: strict quantity and checkout consistency. */


/* Hummingbird product quantity uses the exact joined Cart Dropdown geometry. */
html body :is(#product,.page-product) .quantity-button__group,
html body#product .quantity-button__group,
html body.page-product .quantity-button__group {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--knd-quantity-control-height, 38px) !important;
  min-height: var(--knd-quantity-control-height, 38px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--knd-quantity-control-bg, #ffffff) !important;
  border: var(--knd-quantity-control-border-width, 1px) solid var(--knd-quantity-control-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-quantity-control-radius, 0) !important;
  box-shadow: none !important;
}
html body :is(#product,.page-product) .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement),
html body#product .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement),
html body.page-product .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 var(--knd-quantity-button-size, 38px) !important;
  width: var(--knd-quantity-button-size, 38px) !important;
  min-width: var(--knd-quantity-button-size, 38px) !important;
  max-width: var(--knd-quantity-button-size, 38px) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-quantity-button-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--knd-quantity-button-bg, #ffffff) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body :is(#product,.page-product) .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement):is(:hover,:focus-visible),
html body#product .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement):is(:hover,:focus-visible),
html body.page-product .quantity-button__group > :is(button.btn,button.btn-square-icon,button.js-increment-button,button.js-decrement-button,button.increment,button.decrement):is(:hover,:focus-visible) {
  color: var(--knd-quantity-button-hover-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--knd-quantity-button-hover-bg, var(--knd-color-surface, #f6fbfa)) !important;
  outline: 0 !important;
}
html body :is(#product,.page-product) .quantity-button__group > :is(input.form-control,input[name="qty"],.js-quantity-wanted),
html body#product .quantity-button__group > :is(input.form-control,input[name="qty"],.js-quantity-wanted),
html body.page-product .quantity-button__group > :is(input.form-control,input[name="qty"],.js-quantity-wanted) {
  flex: 0 0 var(--knd-quantity-input-width, 42px) !important;
  width: var(--knd-quantity-input-width, 42px) !important;
  min-width: var(--knd-quantity-input-width, 42px) !important;
  max-width: var(--knd-quantity-input-width, 42px) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 4px !important;
  color: var(--knd-quantity-input-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-quantity-input-bg, #ffffff) !important;
  border: 0 !important;
  border-left: var(--knd-quantity-control-border-width, 1px) solid var(--knd-quantity-control-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-right: var(--knd-quantity-control-border-width, 1px) solid var(--knd-quantity-control-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-quantity-input-radius, 0) !important;
  box-shadow: none !important;
  text-align: center !important;
  font-weight: var(--knd-quantity-input-font-weight, 500) !important;
  appearance: textfield !important;
}
html body :is(#product,.page-product) .quantity-button__group > input::-webkit-inner-spin-button,
html body :is(#product,.page-product) .quantity-button__group > input::-webkit-outer-spin-button { margin: 0 !important; appearance: none !important; }

/* Payment logos stay compact and anchored at the right edge of the closed option. */
html body#checkout .payment-option__form-check,
html body.page-checkout .payment-option__form-check {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body#checkout .payment-option__form-check > label,
html body.page-checkout .payment-option__form-check > label {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
html body#checkout .knd-payment-option-logos,
html body.page-checkout .knd-payment-option-logos {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  margin-inline-start: auto !important;
  padding-inline-start: 12px !important;
  flex: 0 0 auto !important;
  max-width: 48% !important;
}
html body#checkout .knd-payment-option-logos img,
html body.page-checkout .knd-payment-option-logos img {
  display: block !important;
  width: auto !important;
  height: var(--knd-payment-option-logo-height, 22px) !important;
  max-height: 22px !important;
  max-width: min(var(--knd-payment-option-logo-max-width, 80px), 80px) !important;
  object-fit: contain !important;
}
html body#checkout :is(.knd-payment-option-duplicate-logo,.knd-payment-option-duplicate-logo-group,.knd-payment-option-expanded-logo,.knd-payment-option-expanded-logo-group,.knd-payment-option-empty-control),
html body.page-checkout :is(.knd-payment-option-duplicate-logo,.knd-payment-option-duplicate-logo-group,.knd-payment-option-expanded-logo,.knd-payment-option-expanded-logo-group,.knd-payment-option-empty-control) {
  display: none !important;
}

/* Terms acceptance is a visible KNDev System information block. */
html body#checkout #conditions-to-approve,
html body.page-checkout #conditions-to-approve {
  margin: 20px 0 24px !important;
  padding: 14px 16px !important;
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-color-surface, #f6fbfa) !important;
  border: var(--knd-card-border-width, 1px) solid var(--knd-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-card-border-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: none !important;
}
html body#checkout #conditions-to-approve .form-check,
html body.page-checkout #conditions-to-approve .form-check {
  margin: 0 !important;
  padding: 0 !important;
}
html body#checkout #conditions-to-approve .form-check-label,
html body.page-checkout #conditions-to-approve .form-check-label {
  font-weight: var(--knd-label-font-weight, 600) !important;
}



/* KNDev Theme v1.4.155: strict product, quantity and checkout layout correction. */



/* Product-card quantity is controlled only by the wrapper token: no half-visible +/- state. */
html body :where(.product-miniature,.js-product-miniature) > * :where(.quantity-button,.js-quantity-button),
html body :where(.product-miniature,.js-product-miniature) :where(.quantity-button,.js-quantity-button) {
  display: var(--knd-product-card-quantity-display, none) !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  width: max-content !important;
}
html body :where(.product-miniature,.js-product-miniature) .quantity-button__group {
  display: inline-flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
}
html body :where(.product-miniature,.js-product-miniature) .quantity-button__group > input.form-control,
html body :where(.product-miniature,.js-product-miniature) .quantity-button__group > input[name="qty"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body :where(.product-miniature,.js-product-miniature) .quantity-button__group > :where(button.increment,button.decrement,button.js-increment-button,button.js-decrement-button) {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Product page commerce hierarchy: action, delivery, payment/trust. */
html body#product .knd-product-commerce-meta,
html body.page-product .knd-product-commerce-meta {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  gap: var(--knd-product-commerce-gap, 12px) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: var(--knd-product-commerce-margin-top, 14px) !important;
  text-align: left !important;
}
html body#product .knd-product-delivery-line,
html body.page-product .knd-product-delivery-line {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: var(--knd-product-delivery-line-gap, 8px) !important;
  width: 100% !important;
  margin: var(--knd-product-delivery-line-margin, 0) !important;
  padding: 0 !important;
  color: var(--knd-product-delivery-success-color, #0f8a48) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: var(--knd-product-delivery-line-font-size, .96rem) !important;
  font-weight: var(--knd-product-delivery-line-font-weight, 600) !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body#product .knd-product-delivery-line::before,
html body.page-product .knd-product-delivery-line::before {
  content: var(--knd-product-delivery-icon-content, "✓");
  flex: 0 0 auto;
  color: inherit;
  font-size: var(--knd-product-delivery-icon-size, 1.1em);
  font-weight: 800;
  line-height: 1.35;
}
html body#product .knd-product-delivery-line.is-warning,
html body.page-product .knd-product-delivery-line.is-warning {
  color: var(--knd-product-delivery-warning-color, #d97706) !important;
}
html body#product .knd-product-delivery-line.is-danger,
html body.page-product .knd-product-delivery-line.is-danger {
  color: var(--knd-product-delivery-danger-color, #b42318) !important;
}
html body#product .knd-product-delivery-line :where(#product-availability,.product-availability,.product-delivery-information,.delivery-information,.material-icons,i,span,p,strong),
html body.page-product .knd-product-delivery-line :where(#product-availability,.product-availability,.product-delivery-information,.delivery-information,.material-icons,i,span,p,strong) {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  text-align: left !important;
}
html body#product .knd-product-delivery-line :where(.material-icons,i),
html body.page-product .knd-product-delivery-line :where(.material-icons,i) {
  display: none !important;
}

html body#product .knd-product-trust-payment,
html body.page-product .knd-product-trust-payment {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  pointer-events: auto !important;
  container-type: inline-size !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: var(--knd-product-trust-margin-top, 14px) !important;
  padding: var(--knd-product-trust-padding, var(--knd-product-commerce-card-padding, 16px)) !important;
  background: #ffffff !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

html body#product .knd-product-share-content,
html body.page-product .knd-product-share-content {
  display: grid !important;
  gap: 12px !important;
}
html body#product .knd-product-share-card__title,
html body.page-product .knd-product-share-card__title {
  margin: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: var(--knd-heading-size-h3, 1rem) !important;
  line-height: 1.2 !important;
  font-weight: var(--knd-heading-font-weight, 700) !important;
}
html body#product .knd-product-share-actions,
html body.page-product .knd-product-share-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body#product .knd-product-share-item,
html body.page-product .knd-product-share-item {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body#product .knd-product-share-card .knd-product-share-action,
html body.page-product .knd-product-share-card .knd-product-share-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--knd-color-primary, #3c83f6) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  background-image: none !important;
  border: 1px solid var(--knd-color-border, #d7e7e4) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  text-indent: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
html body#product .knd-product-share-card .knd-product-share-action::before,
html body#product .knd-product-share-card .knd-product-share-action::after,
html body.page-product .knd-product-share-card .knd-product-share-action::before,
html body.page-product .knd-product-share-card .knd-product-share-action::after {
  content: none !important;
  display: none !important;
}

html body#product .knd-product-share-card .knd-product-share-icon,
html body.page-product .knd-product-share-card .knd-product-share-icon {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  color: inherit !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  text-transform: none !important;
}


html body#product .knd-product-trust-payment__reviews,
html body#product .knd-product-trust-payment__trust,
html body#product .knd-product-trust-payment__payments,
html body.page-product .knd-product-trust-payment__reviews,
html body.page-product .knd-product-trust-payment__share,
html body.page-product .knd-product-trust-payment__trust,
html body.page-product .knd-product-trust-payment__payments {
  width: 100% !important;
  min-width: 0 !important;
  padding: var(--knd-product-trust-section-padding-y, 12px) 0 !important;
  border: 0 !important;
}
html body#product .knd-product-trust-payment > :not([hidden]) ~ :not([hidden]),
html body.page-product .knd-product-trust-payment > :not([hidden]) ~ :not([hidden]) {
  border-top: 1px solid var(--knd-product-trust-divider-color, var(--knd-color-border, #d7e7e4)) !important;
}
html body#product .knd-product-trust-payment > :not([hidden]):first-child,
html body.page-product .knd-product-trust-payment > :not([hidden]):first-child {
  padding-top: 0 !important;
}
html body#product .knd-product-trust-payment > :not([hidden]):last-child,
html body.page-product .knd-product-trust-payment > :not([hidden]):last-child {
  padding-bottom: 0 !important;
}
html body#product .knd-product-trust-payment__reviews[hidden],
html body#product .knd-product-trust-payment__share[hidden],
html body.page-product .knd-product-trust-payment__reviews[hidden],
html body.page-product .knd-product-trust-payment__share[hidden] { display: none !important; }
html body#product .knd-product-trust-payment__reviews,
html body.page-product .knd-product-trust-payment__reviews {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 10px 14px !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  pointer-events: auto !important;
}
html body#product .knd-product-trust-payment__reviews > :where(.product-comments-additional-info,.product-comments-summary,.comments-note,.product-rating,.product-grade,[data-knd-product-compact-review-clone]),
html body.page-product .knd-product-trust-payment__reviews > :where(.product-comments-additional-info,.product-comments-summary,.comments-note,.product-rating,.product-grade,[data-knd-product-compact-review-clone]) {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body#product .knd-product-trust-payment__reviews > .knd-product-review-action-proxy,
html body.page-product .knd-product-trust-payment__reviews > .knd-product-review-action-proxy {
  flex: 0 0 auto !important;
  align-self: center !important;
  margin: 0 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
html body#product .knd-product-review-empty,
html body.page-product .knd-product-review-empty {
  min-width: 0 !important;
  color: var(--knd-color-muted, #64748b) !important;
  font-weight: 600 !important;
}
html body#product .knd-product-review-summary-link,
html body.page-product .knd-product-review-summary-link {
  display: inline-flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
  color: inherit !important;
  text-decoration: none !important;
  border-radius: var(--knd-focus-radius, 6px) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
html body#product .knd-product-review-summary-link:is(:hover,:focus-visible) .knd-product-review-average,
html body.page-product .knd-product-review-summary-link:is(:hover,:focus-visible) .knd-product-review-average {
  color: var(--knd-color-primary, #3c83f6) !important;
  text-decoration: underline !important;
}
html body#product #knd-product-reviews,
html body.page-product #knd-product-reviews {
  scroll-margin-top: var(--knd-sticky-header-offset, 110px) !important;
}
html body#product #post-product-comment-modal.knd-standard-modal,
html body.page-product #post-product-comment-modal.knd-standard-modal {
  --knd-modal-max-width: min(980px, calc(100vw - 32px));
  --knd-modal-border-radius: var(--knd-radius-modal, var(--knd-radius-block, 16px));
  --knd-modal-close-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px));
  --knd-modal-body-padding: clamp(20px, 2.4vw, 32px);
}
html body#product #post-product-comment-modal.knd-product-review-modal .modal-header,
html body.page-product #post-product-comment-modal.knd-product-review-modal .modal-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 72px !important;
  padding: clamp(20px, 2.2vw, 28px) 76px 16px clamp(20px, 2.4vw, 32px) !important;
  border-bottom: 1px solid var(--knd-color-border, #dbe8ff) !important;
}
html body#product #post-product-comment-modal.knd-product-review-modal .modal-header :where(.modal-title,h1,h2,h3,h4),
html body.page-product #post-product-comment-modal.knd-product-review-modal .modal-header :where(.modal-title,h1,h2,h3,h4) {
  margin: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  line-height: 1.2 !important;
  font-weight: var(--knd-heading-font-weight, 700) !important;
}
html body#product #post-product-comment-modal.knd-product-review-modal .modal-body,
html body.page-product #post-product-comment-modal.knd-product-review-modal .modal-body {
  padding: var(--knd-modal-body-padding) !important;
}
html body#product #post-product-comment-modal.knd-product-review-modal .modal-footer,
html body.page-product #post-product-comment-modal.knd-product-review-modal .modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 16px clamp(20px, 2.4vw, 32px) clamp(20px, 2.4vw, 28px) !important;
  border-top: 1px solid var(--knd-color-border, #dbe8ff) !important;
}
html body#product #post-product-comment-modal.knd-product-review-modal .knd-modal-close,
html body.page-product #post-product-comment-modal.knd-product-review-modal .knd-modal-close {
  background-image: none !important;
  border-radius: var(--knd-modal-close-radius) !important;
}
html body#product #post-product-comment-modal.knd-product-review-modal .knd-modal-close > span,
html body.page-product #post-product-comment-modal.knd-product-review-modal .knd-modal-close > span {
  display: block !important;
  color: currentColor !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
html body#product .knd-product-review-summary-generated,
html body.page-product .knd-product-review-summary-generated {
  display: inline-flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .65rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--knd-color-muted, #64748b) !important;
}
html body#product .knd-product-review-stars,
html body.page-product .knd-product-review-stars {
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  color: var(--knd-product-review-star-empty-color, #d1d5db) !important;
  font-size: var(--knd-product-review-star-size, 1.35rem) !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}
html body#product .knd-product-review-stars__base,
html body.page-product .knd-product-review-stars__base {
  display: block !important;
  color: inherit !important;
}
html body#product .knd-product-review-stars__fill,
html body.page-product .knd-product-review-stars__fill {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  display: block !important;
  width: var(--knd-product-review-grade, 0%) !important;
  overflow: hidden !important;
  color: var(--knd-product-review-star-color, #ffb400) !important;
  white-space: nowrap !important;
}
html body#product .knd-product-review-average,
html body.page-product .knd-product-review-average {
  flex: 0 0 auto !important;
  color: var(--knd-color-muted, #64748b) !important;
  font-size: .95rem !important;
  line-height: 1.2 !important;
}
html body#product [data-knd-review-summary-source="1"],
html body.page-product [data-knd-review-summary-source="1"] {
  display: none !important;
}
html body#product .knd-product-review-summary-duplicate,
html body.page-product .knd-product-review-summary-duplicate {
  display: none !important;
}
@media (max-width: 479.98px) {
  html body#product .knd-product-trust-payment__reviews,
  html body.page-product .knd-product-trust-payment__reviews {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  html body#product .knd-product-trust-payment__reviews > .knd-product-review-action-proxy,
  html body.page-product .knd-product-trust-payment__reviews > .knd-product-review-action-proxy {
    width: 100% !important;
  }
}
/* Product Comments and Share Buttons keep their original hook DOM so their
   module event handlers remain intact. KNDev renders visual clones/proxies
   and only moves the source out of the visual flow. */
html body#product :is(.knd-product-comments-source-hidden,.knd-product-share-source-hidden,.knd-product-review-action-source-hidden,.knd-product-review-source-hidden),
html body.page-product :is(.knd-product-comments-source-hidden,.knd-product-share-source-hidden,.knd-product-review-action-source-hidden,.knd-product-review-source-hidden) {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
html body#product .knd-product-review-action-proxy--compact,
html body.page-product .knd-product-review-action-proxy--compact {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-primary, #3c83f6) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
html body#product .knd-product-review-action-proxy--compact:is(:hover,:focus-visible),
html body.page-product .knd-product-review-action-proxy--compact:is(:hover,:focus-visible) {
  color: var(--knd-color-link-hover, var(--knd-color-primary-hover, #2563eb)) !important;
  text-decoration: underline !important;
}
html body#product .knd-product-trust-payment__share,
html body.page-product .knd-product-trust-payment__share {
  display: block !important;
  text-align: left !important;
}
html body#product .knd-product-trust-payment__share :where(.social-sharing,.product-sharing,.product-share),
html body.page-product .knd-product-trust-payment__share :where(.social-sharing,.product-sharing,.product-share) {
  margin: 0 !important;
  padding: 0 !important;
}
html body#product .knd-product-share-card,
html body.page-product .knd-product-share-card {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: var(--knd-product-trust-margin-top, 14px) !important;
  padding: var(--knd-product-commerce-card-padding, 16px) !important;
  color: var(--knd-surface-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: none !important;
  text-align: left !important;
}
html body#product .knd-product-share-card :where(.social-sharing,.product-sharing,.product-share),
html body.page-product .knd-product-share-card :where(.social-sharing,.product-sharing,.product-share) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}
html body#product .knd-product-share-card :where(ul,ol),
html body.page-product .knd-product-share-card :where(ul,ol) {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body#product .knd-product-share-card .knd-product-share-action,
html body.page-product .knd-product-share-card .knd-product-share-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-primary, #3c83f6) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: 1px solid var(--knd-color-border, #d7e7e4) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
html body#product .knd-product-share-card .knd-product-share-action:is(:hover,:focus-visible),
html body.page-product .knd-product-share-card .knd-product-share-action:is(:hover,:focus-visible) {
  color: var(--knd-button-primary-color, #ffffff) !important;
  background: var(--knd-color-primary, #3c83f6) !important;
  border-color: var(--knd-color-primary, #3c83f6) !important;
}
html body#product .knd-product-share-card .knd-product-share-icon,
html body.page-product .knd-product-share-card .knd-product-share-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
}
html body#product .knd-product-share-card .knd-product-share-action--linkedin .knd-product-share-icon,
html body.page-product .knd-product-share-card .knd-product-share-action--linkedin .knd-product-share-icon,
html body#product .knd-product-share-card .knd-product-share-action--whatsapp .knd-product-share-icon,
html body.page-product .knd-product-share-card .knd-product-share-action--whatsapp .knd-product-share-icon {
  font-size: 12px !important;
}

html body#product .knd-product-trust-payment__trust,
html body.page-product .knd-product-trust-payment__trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: var(--knd-product-trust-row-gap, clamp(3px, 1.4cqw, 10px)) !important;
}
html body#product .knd-product-trust-payment__trust-item,
html body.page-product .knd-product-trust-payment__trust-item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--knd-product-trust-item-gap, clamp(2px, .7cqw, 7px)) !important;
  min-width: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: var(--knd-product-trust-item-font-size, clamp(8px, 2.4cqw, 13px)) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
}
html body#product .knd-product-trust-payment__trust-item > :last-child,
html body.page-product .knd-product-trust-payment__trust-item > :last-child {
  min-width: 0 !important;
  white-space: nowrap !important;
}
html body#product .knd-product-trust-payment__trust-item .material-icons,
html body.page-product .knd-product-trust-payment__trust-item .material-icons {
  flex: 0 0 auto !important;
  color: var(--knd-color-primary, #3c83f6) !important;
  font-size: var(--knd-product-trust-responsive-icon-size, clamp(11px, 4cqw, 20px)) !important;
}
html body#product .knd-product-trust-payment__payments,
html body.page-product .knd-product-trust-payment__payments {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: var(--knd-product-payment-row-gap, clamp(2px, 1.2cqw, 8px)) !important;
  overflow: hidden !important;
}
html body#product .knd-product-trust-payment__payment,
html body.page-product .knd-product-trust-payment__payment {
  display: inline-flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: var(--knd-product-payment-item-min-height, clamp(26px, 7cqw, 36px)) !important;
  padding: var(--knd-product-payment-item-padding-y, 4px) var(--knd-product-payment-item-padding-x, clamp(2px, 1.2cqw, 8px)) !important;
  background: #ffffff !important;
  border: 1px solid var(--knd-color-border, #d7e7e4) !important;
  border-radius: var(--knd-radius-sm, 8px) !important;
  overflow: hidden !important;
}
html body#product .knd-product-trust-payment__payment img,
html body.page-product .knd-product-trust-payment__payment img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: var(--knd-product-payment-icon-height, clamp(14px, 5cqw, 24px)) !important;
  object-fit: contain !important;
}



/* Wishlist neutral fallback for Vue and legacy blockwishlist markup. */
html body.knd-wishlist-page :where(main,#main,#content-wrapper,#content) {
  width: 100% !important;
  min-width: 0 !important;
}
html body.knd-wishlist-page :where([class*="wishlist"] article,[class*="wishlist"] li,[class*="wishlist"] .card):has(img) {
  color: var(--knd-surface-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, none) !important;
}
html body.knd-wishlist-page :where([class*="wishlist"] button,[class*="wishlist"] a[role="button"],[class*="wishlist"] a.btn) {
  cursor: pointer !important;
}
html body.knd-wishlist-page :where([class*="wishlist"] .close,[class*="wishlist"] .btn-close,[class*="wishlist"] button[aria-label="Close"],[class*="wishlist"] button[aria-label="Luk"]) {
  width: var(--knd-close-button-size, 44px) !important;
  min-width: var(--knd-close-button-size, 44px) !important;
  height: var(--knd-close-button-size, 44px) !important;
  min-height: var(--knd-close-button-size, 44px) !important;
  padding: 0 !important;
  background: var(--knd-close-button-bg, #ffffff) !important;
  color: var(--knd-close-button-color, var(--knd-color-text, #111827)) !important;
  border: var(--knd-close-button-border-width, 1px) solid var(--knd-close-button-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-close-button-radius, var(--knd-radius-button, 10px)) !important;
}

html body#product .knd-product-review-action-duplicate,
html body.page-product .knd-product-review-action-duplicate {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Category subcategories stay collapsed until the visitor asks to see them. */
html body.category .knd-category-subcategories-toggle-shell,
html body.page-category .knd-category-subcategories-toggle-shell {
  width: 100% !important;
  min-width: 0 !important;
  margin-bottom: var(--knd-category-subcategories-toggle-margin-bottom, 20px) !important;
}
html body.category .knd-category-subcategories-toggle,
html body.page-category .knd-category-subcategories-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: var(--knd-category-subcategories-toggle-width, auto) !important;
  margin: 0 !important;
}
html body.category .knd-category-subcategories-collapsible[hidden],
html body.page-category .knd-category-subcategories-collapsible[hidden] {
  display: none !important;
}
html body.category .knd-category-subcategories-collapsible,
html body.page-category .knd-category-subcategories-collapsible {
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 16px !important;
}

/* Product page wishlist, campaign and review placement. */
html body#product .knd-product-media-host,
html body.page-product .knd-product-media-host {
  position: relative !important;
}
html body#product .knd-product-page__wishlist-slot,
html body.page-product .knd-product-page__wishlist-slot {
  position: absolute !important;
  z-index: 6 !important;
  top: 12px !important;
  right: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
html body#product .knd-product-page__wishlist-slot :where(button,a,.wishlist-button-add,.wishlist-button-product),
html body.page-product .knd-product-page__wishlist-slot :where(button,a,.wishlist-button-add,.wishlist-button-product) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
html body#product .knd-product-page__wishlist-slot :where(button,a):is(:hover,:focus-visible),
html body.page-product .knd-product-page__wishlist-slot :where(button,a):is(:hover,:focus-visible) {
  color: var(--knd-color-primary, #3c83f6) !important;
  background: var(--knd-color-primary-soft, #eef5ff) !important;
}
html body#product .knd-product-campaigns--product-page,
html body.page-product .knd-product-campaigns--product-page {
  width: 100% !important;
  margin: var(--knd-product-campaigns-margin, 0) !important;
  padding: var(--knd-product-commerce-card-padding, 16px) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: none !important;
}
html body#product .knd-product-campaigns--product-page > .knd-product-campaigns__title,
html body.page-product .knd-product-campaigns--product-page > .knd-product-campaigns__title {
  margin: 0 0 14px !important;
  font-size: inherit !important;
}
html body#product .knd-product-reviews-card,
html body.page-product .knd-product-reviews-card {
  width: 100% !important;
  min-width: 0 !important;
  margin: var(--knd-product-review-card-margin, clamp(24px, 4vw, 48px) 0) !important;
  padding: var(--knd-product-reviews-padding, var(--knd-surface-card-padding, clamp(22px, 2.6vw, 34px))) !important;
  text-align: left !important;
  overflow: visible !important;
}
html body#product .knd-product-reviews-card__header,
html body.page-product .knd-product-reviews-card__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}
html body#product .knd-product-reviews-card__header :where(h2,h3,h4),
html body.page-product .knd-product-reviews-card__header :where(h2,h3,h4) {
  margin: 0 !important;
  color: var(--knd-color-text, #111827) !important;
}
html body#product .knd-product-reviews-card__content,
html body.page-product .knd-product-reviews-card__content {
  width: 100% !important;
  min-width: 0 !important;
}

/* Source: assets/kndev/components.css */
/* KNDev account page vertical alignment and normal document flow. */
html body:is(#my-account,#identity,#addresses,#address,#history,#order-slip,#discount,#module-psgdpr-gdpr,#notifications,.page-my-account,.page-identity,.page-addresses,.page-address,.page-history,.page-order-slip,.page-discount,.page-customer-account,.page-customer-addresses,.page-customer-identity,.page-customer-history,.page-customer-order-slip,.page-customer-discount,.page-customer-notifications,.page-customer-gdpr) .columns-container{padding-top:var(--knd-page-content-padding-top,2rem)!important;padding-bottom:var(--knd-page-footer-gap,clamp(36px,5vw,64px))!important;min-height:0!important;height:auto!important;overflow:visible!important}
html body:is(#my-account,#identity,#addresses,#address,#history,#order-slip,#discount,#module-psgdpr-gdpr,#notifications,.page-my-account,.page-identity,.page-addresses,.page-address,.page-history,.page-order-slip,.page-discount,.page-customer-account,.page-customer-addresses,.page-customer-identity,.page-customer-history,.page-customer-order-slip,.page-customer-discount,.page-customer-notifications,.page-customer-gdpr) :is(.page-header,.page-content,#content-wrapper,#content){margin-top:0!important;min-height:0!important;height:auto!important;overflow:visible!important}
html body:is(#authentication,#registration,#password,#password-recovery,.page-authentication,.page-registration,.page-password,.page-password-recovery) .columns-container{display:block!important;padding-bottom:var(--knd-page-footer-gap,clamp(36px,5vw,64px))!important;min-height:0!important;height:auto!important;overflow:visible!important}
html body:is(#authentication,#registration,#password,#password-recovery,.page-authentication,.page-registration,.page-password,.page-password-recovery) :is(#wrapper,#main,main,.row,.center-column,.page-content){min-height:0!important;height:auto!important}

html body:is(#authentication,#registration,#password,#password-recovery,.page-authentication,.page-registration,.page-password,.page-password-recovery) :is(#content-wrapper,#content,.page-content,.login-form,.register-form){min-height:0!important;height:auto!important;overflow:visible!important;margin-bottom:0!important}
html body .knd-account-back-footer{clear:both!important;width:100%!important;margin-top:var(--knd-account-back-margin-top,2rem)!important;padding-top:var(--knd-account-back-padding-top,1rem)!important}

.knd-card{background:var(--knd-color-background);border:1px solid var(--knd-color-border);border-radius:var(--knd-radius-lg);box-shadow:var(--knd-shadow-card);padding:1.5rem}.knd-form-group{margin-bottom:1rem}.knd-input,.knd-select{width:100%;border:1px solid var(--knd-color-border);border-radius:var(--knd-radius-md);padding:.75rem 1rem}.knd-alert{padding:1rem;border-radius:var(--knd-radius-md);border:1px solid var(--knd-color-border);background:var(--knd-color-surface)}.knd-badge{display:inline-flex;border-radius:999px;padding:.25rem .6rem;background:var(--knd-color-surface);font-weight:700}.knd-empty-state{text-align:center;padding:2rem;border:1px dashed var(--knd-color-border);border-radius:var(--knd-radius-lg)}
.knd-icon-button,.knd-backtotop{appearance:none;min-width:var(--knd-icon-button-size);width:var(--knd-icon-button-size);min-height:var(--knd-icon-button-size);height:var(--knd-icon-button-size);display:inline-flex;align-items:center;justify-content:center;border:var(--knd-icon-button-border-width) solid var(--knd-icon-button-border-color);border-radius:var(--knd-icon-button-radius);background:var(--knd-icon-button-bg);color:var(--knd-icon-button-color);line-height:1;text-decoration:none;box-shadow:none;transition:opacity .18s ease,transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.knd-icon-button:hover,.knd-backtotop:hover{background:var(--knd-icon-button-hover-bg);color:var(--knd-icon-button-hover-color);text-decoration:none}
.knd-backtotop{position:fixed;right:var(--knd-backtotop-right);bottom:var(--knd-backtotop-bottom);z-index:var(--knd-backtotop-z-index,20040);background:var(--knd-backtotop-bg);color:var(--knd-backtotop-color);border-width:var(--knd-backtotop-border-width);border-color:var(--knd-backtotop-border-color);border-radius:var(--knd-backtotop-radius);box-shadow:var(--knd-backtotop-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}
.knd-backtotop:hover{background:var(--knd-backtotop-hover-bg);color:var(--knd-backtotop-hover-color)}
.knd-backtotop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}

body.knd-search-panel-open .knd-backtotop,body.knd-search-overlay-open .knd-backtotop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:767.98px){.knd-backtotop{right:16px;bottom:16px}}

/*
 * KNDev Material Icons compatibility layer.
 * Local font mode only. Place MaterialIcons-Regular.woff2 in
 * themes/kndev_theme/assets/fonts/material-icons/.
 */
:root{--knd-material-icons-mode:font;}
@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;font-display:block;src:url('../fonts/material-icons/MaterialIcons-Regular.woff2') format('woff2');}
.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,i.material-icons,span.material-icons,i.material-icons-outlined,span.material-icons-outlined,i.material-symbols-outlined,span.material-symbols-outlined{font-family:'Material Icons'!important;font-weight:normal!important;font-style:normal!important;font-size:24px;line-height:1;display:inline-block;white-space:nowrap;direction:ltr;text-transform:none;letter-spacing:normal;word-wrap:normal;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:currentColor;vertical-align:-.14em;}

/* Standard KNDev modal / popup shell. Used by checkout terms and future KNDev popups. */
.knd-standard-modal.modal,#checkout-modal.knd-standard-modal{--bs-modal-width:var(--knd-modal-max-width,min(860px,calc(100vw - 32px)));--bs-modal-bg:var(--knd-modal-bg,#fff);--bs-modal-color:var(--knd-modal-color,#111827);--bs-modal-border-color:var(--knd-modal-border-color,#d7e7e4);--bs-modal-border-width:var(--knd-modal-border-width,1px);--bs-modal-border-radius:var(--knd-modal-border-radius,16px);--bs-modal-box-shadow:var(--knd-modal-shadow,0 24px 70px rgb(15 23 42 / 24%))}
.knd-standard-modal .modal-dialog,#checkout-modal.knd-standard-modal .modal-dialog{max-width:var(--knd-modal-max-width,min(860px,calc(100vw - 32px)));margin:clamp(16px,4vh,44px) auto}
.knd-standard-modal .modal-content,#checkout-modal.knd-standard-modal .modal-content,#checkout-modal .modal-content{position:relative;background:var(--knd-modal-bg,#fff);color:var(--knd-modal-color,#111827);border:var(--knd-modal-border-width,1px) solid var(--knd-modal-border-color,#d7e7e4);border-radius:var(--knd-modal-border-radius,16px);box-shadow:var(--knd-modal-shadow,0 24px 70px rgb(15 23 42 / 24%));overflow:hidden}
.knd-standard-modal .modal-header,#checkout-modal.knd-standard-modal .modal-header,#checkout-modal .modal-header{min-height:0!important;padding:0!important;border:0!important;background:transparent!important;display:block!important;position:static!important}
.knd-standard-modal .modal-body,#checkout-modal.knd-standard-modal .modal-body{padding:var(--knd-modal-body-padding,clamp(22px,2.6vw,34px));max-height:min(76vh,820px);overflow:auto}
/* KNDev canonical button contract. This is the only global button definition. */
html body :where(
  .btn, .button, .knd-btn, .knd-button, .kndev-btn, .kndev-button,
  a.btn, a.button, button[type="submit"], input[type="submit"]
):not(.knd-icon-button):not(.knd-backtotop):not(.knd-modal-close):not(.knd-panel-close):not(.knd-cartdrawer__close):not(.knd-cartdrawer__remove):not(.knd-cartdrawer__qty-button):not(.knd-cart-accessory-modal__close):not(.btn-close):not(.close):not(.bootstrap-touchspin-up):not(.bootstrap-touchspin-down):not(.btn-touchspin):not(.btn-square-icon):not(.increment):not(.decrement):not(.js-increment-button):not(.js-decrement-button):not([data-button-action="increment"]):not([data-button-action="decrement"]) {
  min-height: var(--knd-button-min-height, 44px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--knd-button-gap, .5rem) !important;
  padding: var(--knd-button-padding-y, .75rem) var(--knd-button-padding-x, 1.2rem) !important;
  border-width: var(--knd-button-border-width, 1px) !important;
  border-style: solid !important;
  border-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px)) !important;
  background-image: none !important;
  font-family: var(--knd-button-font-family, inherit) !important;
  font-size: var(--knd-button-font-size, 1rem) !important;
  font-weight: var(--knd-button-font-weight, 600) !important;
  line-height: var(--knd-button-line-height, 1.1) !important;
  box-shadow: var(--knd-button-shadow, none) !important;
  text-decoration: var(--knd-button-text-decoration, none) !important;
  transform: var(--knd-button-transform, none) !important;
  cursor: pointer !important;
}

html body :where(
  .btn-primary, .button-primary, .knd-btn--primary, .knd-button--primary, .kndev-btn-primary, .kndev-button-primary,
  .add-to-cart, button[data-button-action="add-to-cart"], #payment-confirmation button.btn-primary, input[type="submit"]
) {
  --bs-btn-color: var(--knd-button-color, #ffffff);
  --bs-btn-bg: var(--knd-button-bg, var(--knd-color-primary, #007f79));
  --bs-btn-border-color: var(--knd-button-border-color, var(--knd-color-primary, #007f79));
  --bs-btn-hover-color: var(--knd-button-hover-color, #ffffff);
  --bs-btn-hover-bg: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e));
  --bs-btn-hover-border-color: var(--knd-button-hover-border-color, var(--knd-color-secondary, #0f766e));
  color: var(--knd-button-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-button-color, #ffffff) !important;
  background: var(--knd-button-bg, var(--knd-color-primary, #007f79)) !important;
  background-color: var(--knd-button-bg, var(--knd-color-primary, #007f79)) !important;
  border-color: var(--knd-button-border-color, var(--knd-color-primary, #007f79)) !important;
}
html body :where(
  .btn-primary, .button-primary, .knd-btn--primary, .knd-button--primary, .kndev-btn-primary, .kndev-button-primary,
  .add-to-cart, button[data-button-action="add-to-cart"], #payment-confirmation button.btn-primary, input[type="submit"]
):is(:hover,:focus-visible,:active,.active) {
  color: var(--knd-button-hover-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-button-hover-color, #ffffff) !important;
  background: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e)) !important;
  background-color: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e)) !important;
  border-color: var(--knd-button-hover-border-color, var(--knd-color-secondary, #0f766e)) !important;
  box-shadow: var(--knd-button-hover-shadow, none) !important;
  transform: var(--knd-button-hover-transform, none) !important;
}
html body :where(.add-to-cart, button[data-button-action="add-to-cart"]) {
  --bs-btn-color: var(--knd-add-to-cart-color, #ffffff);
  --bs-btn-bg: var(--knd-add-to-cart-bg, var(--knd-color-success, #188251));
  --bs-btn-border-color: var(--knd-add-to-cart-bg, var(--knd-color-success, #188251));
  color: var(--knd-add-to-cart-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-add-to-cart-color, #ffffff) !important;
  background: var(--knd-add-to-cart-bg, var(--knd-color-success, #188251)) !important;
  background-color: var(--knd-add-to-cart-bg, var(--knd-color-success, #188251)) !important;
  border-color: var(--knd-add-to-cart-bg, var(--knd-color-success, #188251)) !important;
}
html body :where(.add-to-cart, button[data-button-action="add-to-cart"]):is(:hover,:focus-visible,:active,.active) {
  color: var(--knd-add-to-cart-hover-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-add-to-cart-hover-color, #ffffff) !important;
  background: var(--knd-add-to-cart-hover-bg, color-mix(in srgb, var(--knd-add-to-cart-bg, #188251) 82%, #000000)) !important;
  background-color: var(--knd-add-to-cart-hover-bg, color-mix(in srgb, var(--knd-add-to-cart-bg, #188251) 82%, #000000)) !important;
  border-color: var(--knd-add-to-cart-hover-bg, color-mix(in srgb, var(--knd-add-to-cart-bg, #188251) 82%, #000000)) !important;
}
html body :where(
  .btn-primary, .button-primary, .knd-btn--primary, .knd-button--primary, .kndev-btn-primary, .kndev-button-primary,
  .add-to-cart, button[data-button-action="add-to-cart"], #payment-confirmation button.btn-primary
) :where(span,strong,small,i,.material-icons,.material-icons-outlined) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

html body :where(.btn-outline-primary, .button-outline-primary, .knd-btn--outline-primary) {
  color: var(--knd-color-primary, #007f79) !important;
  -webkit-text-fill-color: var(--knd-color-primary, #007f79) !important;
  background: transparent !important;
  background-color: transparent !important;
  border-color: var(--knd-color-primary, #007f79) !important;
}
html body :where(.btn-outline-primary, .button-outline-primary, .knd-btn--outline-primary):is(:hover,:focus-visible,:active,.active) {
  color: var(--knd-button-hover-color, #ffffff) !important;
  -webkit-text-fill-color: var(--knd-button-hover-color, #ffffff) !important;
  background: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e)) !important;
  background-color: var(--knd-button-hover-bg, var(--knd-color-secondary, #0f766e)) !important;
  border-color: var(--knd-button-hover-border-color, var(--knd-color-secondary, #0f766e)) !important;
}
html body :where(.btn-outline-primary, .button-outline-primary, .knd-btn--outline-primary) :where(span,strong,small,i,.material-icons,.material-icons-outlined) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

html body :where(.btn-secondary, .btn-outline-secondary, .btn-outline-tertiary, .knd-btn--secondary, .knd-button--secondary) {
  color: var(--knd-button-secondary-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: var(--knd-button-secondary-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-button-secondary-bg, #ffffff) !important;
  background-color: var(--knd-button-secondary-bg, #ffffff) !important;
  border-color: var(--knd-button-secondary-border-color, var(--knd-color-border, #d7e7e4)) !important;
}
html body :where(.btn-secondary, .btn-outline-secondary, .btn-outline-tertiary, .knd-btn--secondary, .knd-button--secondary):is(:hover,:focus-visible,:active,.active) {
  color: var(--knd-button-secondary-hover-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: var(--knd-button-secondary-hover-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-button-secondary-hover-bg, var(--knd-color-surface, #f6fbfa)) !important;
  background-color: var(--knd-button-secondary-hover-bg, var(--knd-color-surface, #f6fbfa)) !important;
  border-color: var(--knd-button-secondary-hover-border-color, var(--knd-color-primary, #007f79)) !important;
}

html body :where(.btn-success,.btn-info,.btn-warning,.btn-danger) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.knd-modal-close,#checkout-modal .modal-header :where(.close,.btn-close,.knd-modal-close,button[data-dismiss="modal"],button[data-bs-dismiss="modal"]){position:absolute!important;top:var(--knd-modal-close-top,14px)!important;right:var(--knd-modal-close-right,14px)!important;left:auto!important;float:none!important;z-index:5;width:var(--knd-modal-close-size,40px)!important;height:var(--knd-modal-close-size,40px)!important;min-width:var(--knd-modal-close-size,40px)!important;min-height:var(--knd-modal-close-size,40px)!important;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:var(--knd-modal-close-border-width,1px) solid var(--knd-modal-close-border-color,var(--knd-color-border,#d7e7e4))!important;border-radius:var(--knd-modal-close-radius,999px)!important;background:var(--knd-modal-close-bg,#fff)!important;color:var(--knd-modal-close-color,#111827)!important;font-size:var(--knd-modal-close-font-size,24px)!important;line-height:1!important;font-weight:500!important;text-shadow:none!important;box-shadow:var(--knd-modal-close-shadow,0 10px 26px rgb(15 23 42 / 10%))!important;opacity:1!important;cursor:pointer!important;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.knd-modal-close:hover,#checkout-modal .modal-header :where(.close,.btn-close,.knd-modal-close,button[data-dismiss="modal"],button[data-bs-dismiss="modal"]):hover{background:var(--knd-modal-close-hover-bg,#f7f8f8)!important;color:var(--knd-modal-close-hover-color,var(--knd-modal-close-color,#111827))!important;border-color:var(--knd-modal-close-hover-border-color,var(--knd-modal-close-border-color,var(--knd-color-border,#d7e7e4)))!important;transform:translateY(-1px)}
.knd-modal-close span,#checkout-modal .modal-header :where(.close,.knd-modal-close) span{display:block!important;line-height:1!important}
.knd-standard-modal .knd-terms-modal-content :where(header,footer,nav,.breadcrumb,#header,#footer,.knd-theme-header,.knd-footer,.page-footer,.header-top,.header-nav,.modal,script,style){display:none!important}
.knd-standard-modal .knd-terms-modal-content :where(h1,h2,h3,p,ul,ol){max-width:72ch}
@media(max-width:767.98px){.knd-standard-modal .modal-dialog,#checkout-modal.knd-standard-modal .modal-dialog{margin:12px auto}.knd-standard-modal .modal-body,#checkout-modal.knd-standard-modal .modal-body{max-height:calc(100vh - 24px);padding:calc(var(--knd-modal-body-padding,22px) + 10px) var(--knd-modal-body-padding,22px) var(--knd-modal-body-padding,22px)}}
/* KNDev sticky contact buttons */
.knd-sticky-contact{position:fixed;z-index:var(--knd-sticky-contact-z-index,20050);display:flex;flex-direction:column;gap:var(--knd-sticky-contact-gap,10px);top:50%;bottom:auto;transform:translateY(-50%);pointer-events:none}.knd-sticky-contact__item:hover,.knd-sticky-contact__item:focus-visible{background:var(--knd-sticky-contact-item-hover-bg,var(--knd-sticky-contact-bg-hover,var(--knd-color-secondary,#0f766e)));color:var(--knd-sticky-contact-item-hover-color,var(--knd-sticky-contact-item-color,var(--knd-sticky-contact-color,#fff)));transform:none}.knd-sticky-contact__icon,.knd-sticky-contact__icon svg{width:var(--knd-sticky-contact-icon-size,20px);height:var(--knd-sticky-contact-icon-size,20px);display:block!important}@media(max-width:767.98px){.knd-sticky-contact{top:auto;bottom:calc(var(--knd-backtotop-bottom,16px) + var(--knd-backtotop-size,var(--knd-icon-button-size,44px)) + var(--knd-sticky-contact-gap,10px) + env(safe-area-inset-bottom));transform:none}}
.knd-sticky-contact:not([data-knd-sticky-contact="system"]),.knd-floating-contact,.knd-floating-actions,.fotoc-sticky-contact,.kndev-sticky-contact{display:none!important}.knd-sticky-contact[data-knd-sticky-contact="system"]{position:fixed;z-index:var(--knd-sticky-contact-z-index,20050);display:flex;flex-direction:column;gap:var(--knd-sticky-contact-gap,10px);top:50%;bottom:auto;transform:translateY(-50%);pointer-events:none}.knd-sticky-contact--desktop-right{right:var(--knd-sticky-contact-right,24px);left:auto}.knd-sticky-contact--desktop-left{left:var(--knd-sticky-contact-left,24px);right:auto}.knd-sticky-contact__item{width:var(--knd-sticky-contact-size,46px);height:var(--knd-sticky-contact-size,46px);min-width:var(--knd-sticky-contact-size,46px);display:inline-flex;align-items:center;justify-content:center;border:var(--knd-sticky-contact-border-width,0px) solid var(--knd-sticky-contact-border-color,transparent);border-radius:var(--knd-sticky-contact-radius,999px);background:var(--knd-sticky-contact-item-bg,var(--knd-sticky-contact-bg,var(--knd-color-primary,#007f79)));color:var(--knd-sticky-contact-item-color,var(--knd-sticky-contact-color,#fff));box-shadow:var(--knd-sticky-contact-shadow,0 12px 28px rgba(17,24,39,.18));text-decoration:none!important;pointer-events:auto;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.knd-sticky-contact__item:hover,.knd-sticky-contact__item:focus-visible{background:var(--knd-sticky-contact-item-hover-bg,var(--knd-sticky-contact-bg-hover,var(--knd-color-secondary,#0f766e)));color:var(--knd-sticky-contact-item-hover-color,var(--knd-sticky-contact-item-color,var(--knd-sticky-contact-color,#fff)));transform:none!important}.knd-sticky-contact__item:not(.knd-sticky-contact__item--custom){--knd-sticky-contact-item-bg:var(--knd-sticky-contact-bg,var(--knd-color-primary,#007f79));--knd-sticky-contact-item-hover-bg:var(--knd-sticky-contact-bg-hover,var(--knd-color-secondary,#0f766e));--knd-sticky-contact-item-color:var(--knd-sticky-contact-color,#fff);--knd-sticky-contact-item-hover-color:var(--knd-sticky-contact-color,#fff)}.knd-sticky-contact__icon,.knd-sticky-contact__icon svg{width:var(--knd-sticky-contact-icon-size,20px);height:var(--knd-sticky-contact-icon-size,20px);display:block!important;color:currentColor!important;stroke:currentColor!important}.knd-sticky-contact__icon svg{overflow:visible}.knd-sticky-contact__icon svg *{stroke:currentColor!important}.knd-sticky-contact__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.knd-sticky-contact__item--custom{--knd-sticky-contact-item-bg:var(--knd-sticky-contact-custom-bg,#9E595C);--knd-sticky-contact-item-color:var(--knd-sticky-contact-custom-color,#ffffff);--knd-sticky-contact-item-hover-bg:var(--knd-sticky-contact-custom-bg,#9E595C);--knd-sticky-contact-item-hover-color:var(--knd-sticky-contact-custom-color,#ffffff)}@media(min-width:768px){.knd-sticky-contact--desktop-hidden{display:none!important}.knd-sticky-contact__item--hide-desktop{display:none!important}}@media(max-width:767.98px){.knd-sticky-contact[data-knd-sticky-contact="system"]{top:auto;bottom:calc(var(--knd-backtotop-bottom,16px) + var(--knd-backtotop-size,var(--knd-icon-button-size,44px)) + var(--knd-sticky-contact-gap,10px) + env(safe-area-inset-bottom));transform:none}.knd-sticky-contact--mobile-right{right:var(--knd-sticky-contact-right-mobile,var(--knd-backtotop-right,16px));left:auto}.knd-sticky-contact--mobile-left{left:var(--knd-sticky-contact-left-mobile,var(--knd-backtotop-right,16px));right:auto}.knd-sticky-contact--mobile-hidden{display:none!important}.knd-sticky-contact__item--hide-mobile{display:none!important}.knd-sticky-contact__item{width:var(--knd-sticky-contact-size-mobile,var(--knd-sticky-contact-size,46px));height:var(--knd-sticky-contact-size-mobile,var(--knd-sticky-contact-size,46px));min-width:var(--knd-sticky-contact-size-mobile,var(--knd-sticky-contact-size,46px))}}


.knd-modal-close,
.knd-panel-close,
.knd-cartdrawer__close,
.knd-cart-accessory-modal__close,
.alert .close,
.alert .btn-close,
.js-alert .close,
.js-alert .btn-close {
  width: var(--knd-modal-close-size, 40px) !important;
  height: var(--knd-modal-close-size, 40px) !important;
  min-width: var(--knd-modal-close-size, 40px) !important;
  min-height: var(--knd-modal-close-size, 40px) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: var(--knd-modal-close-border-width, 1px) solid var(--knd-modal-close-border-color, var(--knd-color-border)) !important;
  border-radius: var(--knd-modal-close-radius, 999px) !important;
  background: var(--knd-modal-close-bg, #ffffff) !important;
  color: var(--knd-modal-close-color, var(--knd-color-text)) !important;
  -webkit-text-fill-color: var(--knd-modal-close-color, var(--knd-color-text)) !important;
  font-size: var(--knd-modal-close-font-size, 24px) !important;
  line-height: 1 !important;
  box-shadow: var(--knd-modal-close-shadow, 0 10px 26px rgb(15 23 42 / 10%)) !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
.knd-modal-close:hover,
.knd-panel-close:hover,
.knd-cartdrawer__close:hover,
.knd-cart-accessory-modal__close:hover,
.alert .close:hover,
.alert .btn-close:hover,
.js-alert .close:hover,
.js-alert .btn-close:hover {
  background: var(--knd-modal-close-hover-bg, var(--knd-color-surface)) !important;
  color: var(--knd-modal-close-hover-color, var(--knd-modal-close-color, var(--knd-color-text))) !important;
  -webkit-text-fill-color: var(--knd-modal-close-hover-color, var(--knd-modal-close-color, var(--knd-color-text))) !important;
  border-color: var(--knd-modal-close-hover-border-color, var(--knd-modal-close-border-color, var(--knd-color-border))) !important;
}
html body :where(.alert, .js-alert, .bootstrap-touchspin .alert) {
  background: var(--knd-alert-bg, var(--knd-color-surface)) !important;
  color: var(--knd-alert-color, var(--knd-color-text)) !important;
  border: var(--knd-alert-border-width, 1px) solid var(--knd-alert-border-color, var(--knd-color-border)) !important;
  border-radius: var(--knd-alert-radius, var(--knd-surface-card-radius, 18px)) !important;
  box-shadow: var(--knd-alert-shadow, var(--knd-surface-card-shadow, none)) !important;
  padding: var(--knd-alert-padding-y, .95rem) var(--knd-alert-padding-x, 1rem) !important;
}
html body :where(.alert-success, .js-alert-success) {
  background: var(--knd-alert-success-bg, var(--knd-alert-bg, var(--knd-color-surface))) !important;
  color: var(--knd-alert-success-color, var(--knd-alert-color, var(--knd-color-text))) !important;
  border-color: var(--knd-alert-success-border-color, var(--knd-alert-border-color, var(--knd-color-border))) !important;
}
html body :where(.alert-info, .js-alert-info) {
  background: var(--knd-alert-info-bg, var(--knd-alert-bg, var(--knd-color-surface))) !important;
  color: var(--knd-alert-info-color, var(--knd-alert-color, var(--knd-color-text))) !important;
  border-color: var(--knd-alert-info-border-color, var(--knd-alert-border-color, var(--knd-color-border))) !important;
}
html body :where(.alert-warning, .js-alert-warning) {
  background: var(--knd-alert-warning-bg, var(--knd-alert-bg, var(--knd-color-surface))) !important;
  color: var(--knd-alert-warning-color, var(--knd-alert-color, var(--knd-color-text))) !important;
  border-color: var(--knd-alert-warning-border-color, var(--knd-alert-border-color, var(--knd-color-border))) !important;
}
html body :where(.alert-danger, .alert-error, .js-alert-danger, .js-alert-error) {
  background: var(--knd-alert-error-bg, var(--knd-alert-bg, var(--knd-color-surface))) !important;
  color: var(--knd-alert-error-color, var(--knd-alert-color, var(--knd-color-text))) !important;
  border-color: var(--knd-alert-error-border-color, var(--knd-alert-border-color, var(--knd-color-border))) !important;
}

/* KNDev System 1.1.174: strict sticky contact and back-to-top polish. */
.knd-sticky-contact[data-knd-sticky-contact="system"],
.knd-mobile-panel-contact{
  --knd-sticky-contact-item-bg:#fff;
  --knd-sticky-contact-item-color:var(--knd-color-text,#111827);
  --knd-sticky-contact-item-hover-bg:var(--knd-color-surface,#f6fbfa);
  --knd-sticky-contact-item-hover-color:var(--knd-color-primary,#007f79);
}
.knd-sticky-contact[data-knd-sticky-contact="system"] .knd-sticky-contact__item,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item{
  background:var(--knd-sticky-contact-item-bg,#fff)!important;
  color:var(--knd-sticky-contact-item-color,var(--knd-color-text,#111827))!important;
  border:1px solid var(--knd-sticky-contact-border-color,var(--knd-color-border,#d7e7e4))!important;
  box-shadow:var(--knd-sticky-contact-shadow,0 12px 30px rgba(15,23,42,.08))!important;
}
.knd-sticky-contact[data-knd-sticky-contact="system"] .knd-sticky-contact__item:hover,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:hover{
  background:var(--knd-sticky-contact-item-hover-bg,var(--knd-color-surface,#f6fbfa))!important;
  color:var(--knd-sticky-contact-item-color,var(--knd-color-text,#111827))!important;
  border-color:var(--knd-sticky-contact-item-hover-bg,var(--knd-color-surface,#f6fbfa))!important;
}
.knd-mobile-panel-contact .knd-mobile-panel-contact__icon,
.knd-mobile-panel-contact .knd-mobile-panel-contact__icon svg {
  color: var(--knd-color-text-muted, #64748b) !important;
  stroke: currentColor !important;
  opacity: .78;
}
.knd-backtotop__icon{display:block;font-size:20px;font-weight:800;line-height:1;transform:translateY(-1px)}
.knd-backtotop svg,.knd-backtotop i{width:18px!important;height:18px!important;display:block!important;font-size:18px;line-height:1;opacity:1!important;color:currentColor!important;stroke:currentColor!important;fill:none!important}
.knd-backtotop svg *{stroke:currentColor!important;fill:none!important}
@media(min-width:992px){.knd-mobile-panel-contact{display:none!important}}

/* KNDev Faceted Search — canonical Hummingbird/legacy integration */
#search-filters.knd-filter-stack,
#search_filters.knd-filter-stack,
.js-search-filters.knd-filter-stack {
  --knd-filter-indent: 5px;
  --knd-filter-heading-font-size: 1rem;
  --knd-filter-heading-font-weight: 700;
  --knd-filter-heading-line-height: 1.35;
  --knd-filter-heading-margin-top: 1rem;
  --knd-filter-heading-margin-bottom: .5rem;
  --knd-filter-title-font-size: .95rem;
  --knd-filter-title-font-weight: 700;
  --knd-filter-section-padding-y: .55rem;
  --knd-filter-option-gap: .5rem;
  --knd-filter-control-size: 16px;
}

/* Sort by and Filter by are one typographic system. */
.knd-sort-facet__title,
.knd-filter-stack > .knd-filter-stack__section-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: var(--knd-filter-section-heading-font-size, var(--knd-filter-heading-font-size, 1rem)) !important;
  font-weight: var(--knd-filter-section-heading-font-weight, var(--knd-filter-heading-font-weight, 700)) !important;
  line-height: var(--knd-filter-heading-line-height, 1.35) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.knd-filter-stack > .knd-filter-stack__section-title {
  margin-top: var(--knd-filter-heading-margin-top, 1rem) !important;
  margin-bottom: var(--knd-filter-heading-margin-bottom, .5rem) !important;
}

.knd-sort-facet {
  margin: 0 !important;
  padding: 0 0 .5rem !important;
  border-bottom: 1px solid var(--knd-filter-border-color, var(--knd-color-border, #d7e7e4));
}

.knd-sort-facet__title {display:block!important;min-height:0!important;margin-bottom:var(--knd-filter-heading-margin-bottom,.5rem)!important;}

.knd-sort-facet__body,
.knd-sort-facet__control {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.knd-sort-facet__control select,
.knd-sort-facet__control button,
.knd-sort-facet__control .dropdown-toggle,
.knd-sort-facet__control .select-title {
  width: 100% !important;
}

.sort-by-row.knd-sort-source-empty,
.knd-sort-facet-original-label,
.knd-filter-stack__title-duplicate,
[data-knd-filter-duplicate-heading="1"] {
  display: none !important;
}

/* Facet sections use the module's real Hummingbird markup. */
.knd-filter-stack > .accordion,
.knd-filter-stack .accordion {
  margin: 0 !important;
}

.knd-filter-stack .accordion-item,
.knd-filter-stack .facet {
  margin: 0 !important;
  padding: var(--knd-filter-section-padding-y, .55rem) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--knd-filter-border-color, var(--knd-color-border, #d7e7e4)) !important;
  background: transparent !important;
}

.knd-filter-stack .accordion-button,
.knd-filter-stack .facet-title,
.knd-filter-stack .facet__title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--knd-color-text, #111827) !important;
  font-size: var(--knd-filter-title-font-size, .95rem) !important;
  font-weight: var(--knd-filter-title-font-weight, 700) !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.knd-filter-stack .accordion-button::after {
  width: 10px !important;
  height: 10px !important;
  margin-left: auto !important;
  background-size: 10px !important;
}

.knd-filter-stack .accordion-collapse.show,
.knd-filter-stack .accordion-collapse.knd-facet-force-open,
.knd-filter-stack .collapse.show,
.knd-filter-stack .collapse.knd-facet-force-open {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

.knd-filter-stack .accordion-body,
.knd-filter-stack .facet-list,
.knd-filter-stack .facet__list,
.knd-filter-stack .facet > ul,
.knd-filter-stack .facet > ol {
  margin: .3rem 0 0 var(--knd-filter-indent, 5px) !important;
  padding: 0 !important;
  list-style: none !important;
}

.knd-filter-stack .accordion-body > li,
.knd-filter-stack .facet-list > li,
.knd-filter-stack .facet__list > li,
.knd-filter-stack .facet > ul > li {
  margin: 0 !important;
  padding: .22rem 0 !important;
}

/* Real native checkbox/radio controls. This deliberately overrides the old line-style pseudo controls. */
.knd-filter-stack .search-filters__form-check,
.knd-filter-stack .form-check,
.knd-filter-stack .facet-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--knd-filter-option-gap, .5rem) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.knd-filter-stack .search-filters__form-check:not(.search-filters__form-check--color) > .form-check-input[type="checkbox"],
.knd-filter-stack .custom-checkbox input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  appearance: auto !important;
  display: block !important;
  position: static !important;
  flex: 0 0 var(--knd-filter-control-size, 16px) !important;
  width: var(--knd-filter-control-size, 16px) !important;
  min-width: var(--knd-filter-control-size, 16px) !important;
  height: var(--knd-filter-control-size, 16px) !important;
  margin: .12rem 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  accent-color: var(--knd-color-primary, #007f79);
}

.knd-filter-stack .search-filters__form-check > .form-check-input[type="radio"],
.knd-filter-stack .custom-radio input[type="radio"] {
  -webkit-appearance: radio !important;
  appearance: auto !important;
  display: block !important;
  position: static !important;
  flex: 0 0 var(--knd-filter-control-size, 16px) !important;
  width: var(--knd-filter-control-size, 16px) !important;
  min-width: var(--knd-filter-control-size, 16px) !important;
  height: var(--knd-filter-control-size, 16px) !important;
  margin: .12rem 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  accent-color: var(--knd-color-primary, #007f79);
}

.knd-filter-stack .search-filters__form-label,
.knd-filter-stack .form-check-label,
.knd-filter-stack .facet-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  line-height: 1.35 !important;
}

.knd-filter-stack .search-filters__form-label::before,
.knd-filter-stack .search-filters__form-label::after,
.knd-filter-stack .form-check-label::before,
.knd-filter-stack .form-check-label::after,
.knd-filter-stack .search-filters__link::before,
.knd-filter-stack .search-filters__link::after {
  display: none !important;
  content: none !important;
}

.knd-filter-stack .search-filters__link,
.knd-filter-stack .search-link,
.knd-filter-stack .js-search-link {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none;
}

.knd-filter-stack .search-filters__magnitude,
.knd-filter-stack .magnitude {
  color: var(--knd-color-text-muted, #64748b);
}

.knd-facet-option-hidden {
  display: none !important;
}

.knd-facet-show-all-wrap {
  margin: .25rem 0 0 var(--knd-filter-indent, 5px) !important;
  padding: 0 !important;
}

.knd-facet-show-all {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--knd-color-primary, #007f79);
  padding: 0;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.knd-filter-stack .search-filters__clear {
  margin: 0 0 .5rem !important;
}

/* Clear all and active filters use the existing KNDev secondary button contract. */
.knd-filter-chip,
.knd-filter-chip.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  width: auto !important;
  min-width: 0 !important;
  white-space: normal !important;
}

.knd-filter-chip__icon,
.knd-filter-chip .material-icons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  font-size: 1.15em !important;
  line-height: 1 !important;
  transform: none !important;
}

.knd-active-filters {
  margin-block: 1rem;
}

.knd-active-filters__list,
.active-filters__list.knd-active-filters__list {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.knd-active-filters__list > li {
  margin: 0 !important;
  padding: 0 !important;
}

.knd-active-filters__title-item {
  flex-basis: 100%;
}

.knd-active-filters .active-filters__title {
  color: var(--knd-color-text, #111827);
  font-weight: 700;
}


/* Shared compact product thumbnail: Search Pro and recommended accessories use the same hierarchy.
 * Context modules own data only; alignment, price, action and availability are defined here. */
.knd-product-thumb {
  display: grid !important;
  grid-template-columns: var(--knd-product-thumb-image-size, 84px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--knd-product-thumb-gap, 14px) !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--knd-product-thumb-min-height, 156px) !important;
  padding: var(--knd-product-thumb-padding, 14px) !important;
  color: var(--knd-color-text, #111827) !important;
  background: var(--knd-list-card-bg, #ffffff) !important;
  border: var(--knd-list-card-border-width, 1px) solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-product-thumb-radius, var(--knd-list-card-radius, 16px)) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.knd-product-thumb__image {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: var(--knd-product-thumb-image-size, 84px) !important;
  height: var(--knd-product-thumb-image-size, 84px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.knd-product-thumb__image :is(img, .knd-cartdrawer__item-placeholder) {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.knd-product-thumb__main {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  text-align: left !important;
}
.knd-product-thumb__brand {
  display: block !important;
  width: 100% !important;
  margin: 0 0 .35rem !important;
  overflow: hidden !important;
  color: var(--knd-product-card-brand-color, var(--knd-color-text, #111827)) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.knd-product-thumb__brand:hover,
.knd-product-thumb__brand:focus-visible {
  color: var(--knd-product-card-brand-hover-color, var(--knd-color-primary, #007f79)) !important;
  text-decoration: none !important;
}
.knd-product-thumb__name {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  color: var(--knd-color-text, #111827) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: var(--knd-product-thumb-name-font-size, 1rem) !important;
  font-weight: var(--knd-product-thumb-name-font-weight, 600) !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-decoration: none !important;
}
.knd-product-thumb__name:hover { color: var(--knd-color-primary, #007f79) !important; }
.knd-product-thumb__excerpt {
  display: -webkit-box !important;
  width: 100% !important;
  margin-top: var(--knd-product-thumb-excerpt-margin-top, .45rem) !important;
  overflow: hidden !important;
  color: var(--knd-product-thumb-excerpt-color, var(--knd-color-muted, #667085)) !important;
  font-size: var(--knd-product-thumb-excerpt-font-size, .875rem) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
.knd-product-thumb__actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: var(--knd-product-thumb-action-gap, .55rem) !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: auto !important;
  padding-top: var(--knd-product-thumb-actions-margin-top, 1rem) !important;
  text-align: left !important;
}
.knd-product-thumb__price {
  display: block !important;
  width: 100% !important;
  color: var(--knd-product-thumb-price-color, var(--knd-color-text, #111827)) !important;
  font-size: var(--knd-product-thumb-price-font-size, 1.05rem) !important;
  font-weight: var(--knd-product-thumb-price-font-weight, 600) !important;
  line-height: 1.25 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.knd-product-thumb__actions :where(form) {
  width: 100% !important;
  margin: 0 !important;
}
.knd-product-thumb__actions :where(.btn, button) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}
.knd-product-thumb__availability {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .45rem !important;
  width: 100% !important;
  margin-top: .55rem !important;
  color: var(--knd-product-card-availability-color, var(--knd-color-muted, #64748b)) !important;
  font-size: .875rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
}
.knd-product-thumb__availability-icon {
  flex: 0 0 auto !important;
  color: var(--knd-product-card-availability-icon-color, #16a34a) !important;
  font-weight: 800 !important;
}
.knd-shared-cart-icon {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.25em !important;
  height: 1.25em !important;
  color: currentColor !important;
}
.knd-shared-cart-icon :is(svg,img,i,.material-icons,.material-icons-outlined,.material-symbols-outlined) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  color: currentColor !important;
  fill: currentColor !important;
}
@media (max-width: 460px) {
  .knd-product-thumb { grid-template-columns: 72px minmax(0, 1fr) !important; min-height: 148px !important; }
  .knd-product-thumb__image { width: 72px !important; height: 72px !important; }
}

/* KNDev v1.4.145: Hummingbird account menu and account tiles.
   Hummingbird renders the sidebar as .account-menu--sidebar and the dashboard
   tiles as .account-menu--main, not as #left-column/.links. */

/* =========================================================
   KNDev customer account layout
   One shared component for every native and module account page.
   ========================================================= */
html body .account-menu--sidebar {
  align-self: start !important;
  flex: 0 0 var(--knd-account-sidebar-width, 260px) !important;
  width: var(--knd-account-sidebar-width, 260px) !important;
  max-width: var(--knd-account-sidebar-width, 260px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--knd-account-sidebar-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-account-sidebar-bg, var(--knd-surface-card-bg, #ffffff)) !important;
  border: var(--knd-account-sidebar-border-width, var(--knd-surface-card-border-width, 1px)) solid var(--knd-account-sidebar-border-color, var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4))) !important;
  border-radius: var(--knd-account-sidebar-radius, var(--knd-surface-card-radius, var(--knd-radius-card, 16px))) !important;
  box-shadow: var(--knd-account-sidebar-shadow, var(--knd-surface-card-shadow, 0 14px 40px rgb(15 23 42 / 6%))) !important;
}
html body .account-menu--sidebar .account-menu__title {
  margin: 0 !important;
  padding: var(--knd-account-sidebar-title-padding, 20px 18px) !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: var(--knd-account-sidebar-title-size, 24px) !important;
  line-height: 1.15 !important;
  font-weight: var(--knd-account-sidebar-title-weight, 700) !important;
  border-bottom: 1px solid var(--knd-account-sidebar-divider-color, var(--knd-color-border, #d7e7e4)) !important;
}
html body .account-menu--sidebar .account-menu__nav {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .account-menu--sidebar :where(.account-menu__nav a, .account-menu__link),
html body .account-menu--sidebar :where(.account-menu__nav a, .account-menu__link):visited {
  display: flex !important;
  align-items: center !important;
  gap: var(--knd-account-sidebar-link-gap, 12px) !important;
  width: 100% !important;
  min-height: var(--knd-account-sidebar-link-min-height, 48px) !important;
  margin: 0 !important;
  padding: var(--knd-account-sidebar-link-padding-y, 12px) var(--knd-account-sidebar-link-padding-x, 18px) !important;
  color: var(--knd-account-sidebar-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--knd-account-sidebar-divider-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: var(--knd-account-sidebar-link-size, 16px) !important;
  font-weight: var(--knd-account-sidebar-link-weight, 400) !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
html body .account-menu--sidebar :where(.account-menu__nav a, .account-menu__link):last-child {
  border-bottom: 0 !important;
}
html body .account-menu--sidebar :where(.account-menu__nav a, .account-menu__link):hover,
html body .account-menu--sidebar :where(.account-menu__nav a, .account-menu__link):focus-visible,
html body .account-menu--sidebar :where(.account-menu__link--active, a[aria-current="page"]) {
  color: var(--knd-account-sidebar-active-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--knd-account-sidebar-active-bg, var(--knd-color-surface, #f6fbfa)) !important;
}
html body .account-menu--sidebar :where(i, .material-icons, svg) {
  flex: 0 0 auto !important;
  color: currentColor !important;
  fill: currentColor !important;
}
html body main .row:has(> .col-lg-3 > .account-menu--sidebar),
html body #main .row:has(> .col-lg-3 > .account-menu--sidebar) {
  display: grid !important;
  grid-template-columns: minmax(0, var(--knd-account-sidebar-width, 260px)) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: var(--knd-account-layout-gap, clamp(24px, 3vw, 48px)) !important;
  margin: 0 0 var(--knd-account-content-margin-bottom, clamp(44px, 6vw, 84px)) !important;
}
html body main .row:has(> .col-lg-3 > .account-menu--sidebar) > :where(.col-lg-3, .col-lg-9),
html body #main .row:has(> .col-lg-3 > .account-menu--sidebar) > :where(.col-lg-3, .col-lg-9) {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body main .row:has(> .col-lg-3 > .account-menu--sidebar) .page-header,
html body #main .row:has(> .col-lg-3 > .account-menu--sidebar) .page-header {
  margin: 0 0 var(--knd-account-page-header-margin-bottom, 24px) !important;
}
html body .knd-account-back-footer,
html body footer.page-footer.knd-account-back-footer {
  display:flex !important;
  justify-content:flex-start !important;
  width:100% !important;
  margin:var(--knd-account-back-margin-top,clamp(28px,4vw,52px)) 0 0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
}
@media (max-width: 991.98px) {
  html body main .row:has(> .col-lg-3 > .account-menu--sidebar),
  html body #main .row:has(> .col-lg-3 > .account-menu--sidebar) {
    grid-template-columns: 1fr !important;
  }
  html body .account-menu--sidebar {
    width: 100% !important;
    max-width: 100% !important;
  }
}









html body#my-account .account-menu--main > .account-menu__link {
  background: var(--knd-color-surface, #f6fbfa) !important;
  color: var(--knd-account-link-color, var(--knd-color-primary, #007f79)) !important;
  -webkit-text-fill-color: var(--knd-account-link-color, var(--knd-color-primary, #007f79)) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-radius-md, 12px) !important;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body#my-account .account-menu--main > .account-menu__link:hover,
html body#my-account .account-menu--main > .account-menu__link:focus-visible {
  background: var(--knd-color-surface-hover, color-mix(in srgb, var(--knd-color-primary, #007f79) 9%, #ffffff)) !important;
  color: var(--knd-account-link-hover-color, var(--knd-color-primary, #007f79)) !important;
  -webkit-text-fill-color: var(--knd-account-link-hover-color, var(--knd-color-primary, #007f79)) !important;
  border-color: color-mix(in srgb, var(--knd-color-primary, #007f79) 38%, var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4))) !important;
  box-shadow: var(--knd-shadow-card, 0 12px 30px rgb(15 23 42 / 8%)) !important;
  transform: translateY(-2px) !important;
}
html body#my-account .account-menu--main > .account-menu__link :where(i, .material-icons, svg) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Sticky contact actions must always stay below the cart drawer stacking layer. */
.knd-sticky-contact[data-knd-sticky-contact="system"] {
  z-index: calc(var(--knd-cartdrawer-z-index, 10020) - 1) !important;
}

/* KNDev Theme v1.4.153: native Hummingbird sort dropdown stays vertical and matches its trigger width. */
.knd-sort-facet__control .products__sort-dropdown {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.knd-sort-facet__control .products__sort-dropdown-button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: .375rem 0 !important;
  box-sizing: border-box !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  white-space: normal !important;
  z-index: 1050 !important;
}

.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu:not(.show) {
  display: none !important;
}

.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu.show {
  display: block !important;
}

.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu .dropdown-item {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: left !important;
}



/* KNDev Theme v1.4.155: sort dropdown, collapsible facets and universal account sidebar. */
.knd-sort-facet__control .products__sort-dropdown,
.knd-sort-facet__control .products__sort-dropdown-button,
.knd-sort-facet__control .products__sort-dropdown .dropdown-menu {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.knd-sort-facet__control .products__sort-dropdown .dropdown-menu {
  position: absolute !important;
  inset: calc(100% + 4px) 0 auto 0 !important;
  transform: none !important;
  display: none !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding: 6px !important;
  overflow: hidden !important;
  white-space: normal !important;
  background: var(--knd-dropdown-bg, #fff) !important;
  border: 1px solid var(--knd-dropdown-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-dropdown-radius, var(--knd-radius-md, 10px)) !important;
  box-shadow: var(--knd-dropdown-shadow, 0 14px 35px rgb(15 23 42 / 12%)) !important;
  z-index: 1200 !important;
}
.knd-sort-facet__control .products__sort-dropdown.knd-sort-open .dropdown-menu,
.knd-sort-facet__control .products__sort-dropdown .dropdown-menu.show {
  display: flex !important;
}
.knd-sort-facet__control .products__sort-dropdown .dropdown-menu[hidden] {
  display: none !important;
}
.knd-sort-facet__control .products__sort-dropdown .dropdown-menu > .dropdown-item {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  white-space: normal !important;
  border-radius: var(--knd-radius-sm, 8px) !important;
}

.knd-filter-stack .accordion-item > .accordion-header,
.knd-filter-stack .accordion-item > .accordion-button,
.knd-filter-stack .facet > :where(.facet-title,.facet__title,.title) {
  cursor: pointer !important;
  user-select: none !important;
}
.knd-filter-stack :where(.accordion-collapse,.collapse)[hidden],
.knd-filter-stack :where(.accordion-collapse,.collapse):not(.show) {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}
.knd-filter-stack :where(.accordion-collapse,.collapse).show {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
}







/* KNDev Theme v1.4.156: strict shared-component correction. */

/* Hummingbird sort control: wrapper owns the full width; menu is never inline. */
.knd-sort-facet__body > .knd-sort-facet__control {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown > .products__sort-dropdown-button {
  width: 100% !important;
  min-width: 0 !important;
}
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown > .dropdown-menu {
  position: absolute !important;
  inset: calc(100% + 4px) 0 auto 0 !important;
  display: none !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex-direction: column !important;
  white-space: normal !important;
  z-index: 1200 !important;
}
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown.knd-sort-open > .dropdown-menu,
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown > .dropdown-menu.show {
  display: flex !important;
}
.knd-sort-facet__body > .knd-sort-facet__control > .products__sort-dropdown > .dropdown-menu > .dropdown-item {
  display: flex !important;
  width: 100% !important;
  white-space: normal !important;
}

/* Empty product listings stay in normal document flow and use the shared card/buttons. */
.knd-empty-listing {
  width: 100% !important;
  max-width: 820px !important;
  margin: clamp(24px, 4vw, 56px) auto clamp(40px, 6vw, 80px) !important;
  padding: var(--knd-surface-card-padding, clamp(24px, 4vw, 44px)) !important;
  text-align: center !important;
  background: var(--knd-surface-card-bg, #fff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, none) !important;
  box-sizing: border-box !important;
}
.knd-empty-listing__title { margin: 0 0 .75rem !important; }
.knd-empty-listing__text { max-width: 62ch; margin: 0 auto 1.35rem !important; color: var(--knd-color-muted, #667085) !important; }
.knd-empty-listing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }

/* Payment review uses the same card component as addresses and order items. */

/* Shared KNDev card for the shipping method in the final checkout review. */
html body#checkout .knd-checkout-delivery-review-card,
html body.page-checkout .knd-checkout-delivery-review-card {
  display: block !important;
  width: 100% !important;
  margin: var(--knd-checkout-review-card-margin-y, 18px) 0 !important;
  padding: var(--knd-checkout-review-card-padding, 18px) !important;
  color: var(--knd-surface-card-color, var(--knd-color-text, #111827)) !important;
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, 0 14px 40px rgb(15 23 42 / 6%)) !important;
  box-sizing: border-box !important;
}
html body#checkout .knd-checkout-delivery-review-card > :first-child,
html body.page-checkout .knd-checkout-delivery-review-card > :first-child { margin-top: 0 !important; }
html body#checkout .knd-checkout-delivery-review-card > :last-child,
html body.page-checkout .knd-checkout-delivery-review-card > :last-child { margin-bottom: 0 !important; }
html body#checkout .knd-checkout-delivery-review-card :where(.final-summary__header,.grid-table,table,.table),
html body.page-checkout .knd-checkout-delivery-review-card :where(.final-summary__header,.grid-table,table,.table) {
  width: 100% !important;
  margin-inline: 0 !important;
}



/* One account-menu standard on every core and module customer page. */






/* Theme Builder image strips: equal outer padding and gaps, images fill their cells. */
.knd-home-image-strip:not([data-knd-image-carousel]),
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__images,
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__grid {
  --knd-image-strip-gap: clamp(8px, 1vw, 16px);
  display: flex !important;
  align-items: stretch !important;
  gap: var(--knd-image-strip-gap) !important;
  width: 100% !important;
  min-height: clamp(150px, 14vw, 240px) !important;
  padding-inline: var(--knd-image-strip-gap) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.knd-home-image-strip__item:not(.knd-image-carousel__slide),
.knd-home-image-strip:not([data-knd-image-carousel]) > :has(img),
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__images > *,
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__grid > * {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: hidden !important;
}
.knd-home-image-strip:not([data-knd-image-carousel]) img,
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__images img,
.knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__grid img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 767.98px) {
  .knd-home-image-strip:not([data-knd-image-carousel]),
  .knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__images,
  .knd-fotoc-campaigns-block .knd-fotoc-campaigns-block__grid {
    overflow-x: auto !important;
    min-height: 130px !important;
  }
  .knd-home-image-strip__item:not(.knd-image-carousel__slide),
  .knd-home-image-strip:not([data-knd-image-carousel]) > :has(img) { flex: 0 0 min(72vw, 300px) !important; }
}

/* Product provider information uses one compact, aligned header and compact rows. */

/* KNDev Theme v1.4.156: final shared-component hardening. */

/* Hide the native sort menu before JavaScript has wrapped/bound it. */
.knd-sort-facet .products__sort-dropdown {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.knd-sort-facet .products__sort-dropdown > .products__sort-dropdown-button {
  width: 100% !important;
  min-width: 0 !important;
}
.knd-sort-facet .products__sort-dropdown > .dropdown-menu {
  position: absolute !important;
  inset: calc(100% + 4px) 0 auto 0 !important;
  display: none !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  white-space: normal !important;
  z-index: 1200 !important;
}
.knd-sort-facet .products__sort-dropdown.knd-sort-open > .dropdown-menu,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu.show {
  display: flex !important;
}
.knd-sort-facet .products__sort-dropdown > .dropdown-menu > * {
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
}

/* One account-menu contract, including module customer pages with lean markup. */




/* Empty listings retain clear space before the shared footer. */
#products:has(.knd-empty-listing) {
  display: flow-root !important;
  min-height: clamp(360px, 48vh, 620px) !important;
  padding-bottom: clamp(32px, 5vw, 72px) !important;
  box-sizing: border-box !important;
}




/* KNDev Theme v1.4.157: one shared account-menu and final-summary card contract. */








html body#checkout .final-summary .address__list > .address-card,
html body.page-checkout .final-summary .address__list > .address-card {
  background: var(--knd-surface-card-bg, #ffffff) !important;
  border: var(--knd-surface-card-border-width, 1px) solid var(--knd-surface-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-surface-card-radius, var(--knd-radius-card, 16px)) !important;
  box-shadow: var(--knd-surface-card-shadow, none) !important;
  overflow: hidden !important;
}
html body#checkout .final-summary .address__list > .address-card > .address-card__container,
html body.page-checkout .final-summary .address__list > .address-card > .address-card__container {
  height: 100% !important;
  padding: var(--knd-surface-card-padding, 18px) !important;
  background: transparent !important;
}

/* Product purchase row: quantity and add-to-cart share one aligned line. */
html body#product .product-add-to-cart .product-quantity,
html body.page-product .product-add-to-cart .product-quantity {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: var(--knd-product-buy-row-gap, 1rem) !important;
  width: 100% !important;
}
html body#product .product-add-to-cart .product-quantity > .qty,
html body.page-product .product-add-to-cart .product-quantity > .qty,
html body#product .product-add-to-cart .product-quantity > .add,
html body.page-product .product-add-to-cart .product-quantity > .add { margin: 0 !important; min-width: 0 !important; }
html body#product .product-add-to-cart .product-quantity > .add,
html body.page-product .product-add-to-cart .product-quantity > .add { display: flex !important; }
html body#product .product-add-to-cart .product-quantity > .add .add-to-cart,
html body.page-product .product-add-to-cart .product-quantity > .add .add-to-cart { width: 100% !important; height: 100% !important; margin: 0 !important; }
@media(max-width:359.98px){html body#product .product-add-to-cart .product-quantity,html body.page-product .product-add-to-cart .product-quantity{grid-template-columns:1fr!important;}}

/* KNDev Theme v1.4.169: one catalogue-mobile breakpoint and one filter card. */
@media (min-width:768px) and (max-width:991.98px){html body :is(main,#main,#wrapper) :is(.container,.container-sm,.container-md,.container-lg,.container-xl),html body .columns-container.container,html body #wrapper>:is(.container,.container-sm,.container-md,.container-lg,.container-xl,.columns-container),html body #wrapper .columns-container:is(.container,.container-sm,.container-md,.container-lg,.container-xl){width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--knd-container-gutter,16px)!important;box-sizing:border-box!important}html body :is(main,#main,#wrapper) :is(.row,.columns-container),html body .columns-container.container>.row{--bs-gutter-x:0;min-width:0!important;width:100%!important;max-width:100%!important;margin-inline:0!important}html body :is(main,#main,#wrapper) :is(#content-wrapper,.center-column,.page--full-width,#content),html body .columns-container.container>:is(#content-wrapper,.center-column,.page--full-width,#content){width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 100%!important}}
@media(max-width:767.98px){html body #wrapper>.columns-container:is(.container,.container-sm,.container-md,.container-lg,.container-xl),html body #wrapper .columns-container:is(.container,.container-sm,.container-md,.container-lg,.container-xl){width:100%!important;max-width:100%!important;min-width:0!important;padding-inline:var(--knd-container-gutter,16px)!important;box-sizing:border-box!important}}
@media (max-width: 991.98px) {
  body:is(#category,#search,#manufacturer,#supplier,#prices-drop,.page-category,.page-search,.page-manufacturer,.page-supplier,.page-prices-drop) :is(#left-column,.left-column,.column-left,.knd-mobile-filter-source-host) {
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    max-width:0 !important;
    min-width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
  body:is(#category,#search,#manufacturer,#supplier,#prices-drop,.page-category,.page-search,.page-manufacturer,.page-supplier,.page-prices-drop) #content-wrapper {
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .knd-mobile-filter-card {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 var(--knd-mobile-filter-card-margin-bottom,1.25rem) !important;
    padding:var(--knd-mobile-filter-card-padding,12px) !important;
    background:var(--knd-list-card-bg,var(--knd-surface-card-bg,#fff)) !important;
    border:1px solid var(--knd-list-card-border-color,var(--knd-color-border,#d7e7e4)) !important;
    border-radius:var(--knd-list-card-radius,var(--knd-radius-card,16px)) !important;
    box-shadow:var(--knd-list-card-shadow,var(--knd-surface-card-shadow,none)) !important;
    box-sizing:border-box !important;
  }
  #js-product-list-top,
  #js-product-list-top .products__selection {
    display:flex !important;
    visibility:visible !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  #js-product-list-top { margin:0 !important; }
  #js-product-list-top .products__selection {
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:var(--knd-mobile-filter-card-gap,.65rem) !important;
  }
  #js-product-list-top .products__sort {
    display:flex !important;
    visibility:visible !important;
    order:2 !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:0 !important;
  }
  #js-product-list-top :is(.products__sort-label,.sort-by,.sort-by-row > label,.products__sort > label) {
    display:none !important;
    visibility:hidden !important;
  }
  #js-product-list-top :is(.products__showing,.products__count,.products__total,.total-products,.product-count) {
    order:1 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    text-align:left !important;
  }
  #js-product-list-top .products__sort-dropdown,
  #js-product-list-top .products-sort-order {
    display:none !important;
    visibility:hidden !important;
  }
  #search_filter_toggler,
  .products__filter-button,
  [data-bs-target="#search_filters_wrapper"] {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:var(--knd-button-min-height,48px) !important;
    min-height:var(--knd-button-min-height,48px) !important;
    max-height:var(--knd-button-min-height,48px) !important;
    margin:0 !important;
    padding:var(--knd-button-padding-y,.75rem) var(--knd-button-padding-x,1.2rem) !important;
    color:var(--knd-button-color,#fff) !important;
    -webkit-text-fill-color:currentColor !important;
    background:var(--knd-button-bg,var(--knd-color-primary,#007f79)) !important;
    border:var(--knd-button-border-width,1px) solid var(--knd-button-border-color,var(--knd-button-bg,var(--knd-color-primary,#007f79))) !important;
    border-radius:var(--knd-button-border-radius,var(--knd-radius-button,10px)) !important;
    line-height:1.2 !important;
    visibility:visible !important;
    opacity:1 !important;
    box-sizing:border-box !important;
  }
  #search_filter_toggler:is(:hover,:focus-visible,:active),
  .products__filter-button:is(:hover,:focus-visible,:active),
  [data-bs-target="#search_filters_wrapper"]:is(:hover,:focus-visible,:active) {
    color:var(--knd-button-hover-color,#fff) !important;
    -webkit-text-fill-color:currentColor !important;
    background:var(--knd-button-hover-bg,var(--knd-color-secondary,#0f766e)) !important;
    border-color:var(--knd-button-hover-border-color,var(--knd-button-hover-bg,var(--knd-color-secondary,#0f766e))) !important;
  }
  .knd-mobile-filter-card #js-active-search-filters,
  .knd-mobile-filter-card .knd-active-filters {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:var(--knd-mobile-active-filters-gap,12px) 0 0 !important;
    padding-top:var(--knd-mobile-active-filters-gap,12px) !important;
    border-top:1px solid var(--knd-list-card-divider-color,var(--knd-color-border,#d7e7e4)) !important;
    box-sizing:border-box !important;
  }
}
@media (max-width: 991.98px) {
  body.knd-mobile-filter-panel-open { overflow: hidden !important; }
  .knd-mobile-filter-drawer {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 10131;
    display: flex;
    flex-direction: column;
    width: min(440px, 100vw);
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    overflow: hidden;
    transform: translateX(-100%);
    background: var(--knd-list-card-bg, var(--knd-surface-card-bg, #fff));
    color: var(--knd-list-card-color, var(--knd-color-text, #111827));
    border-inline-end: 1px solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4));
    box-shadow: var(--knd-cartdrawer-shadow, 0 24px 70px rgb(15 23 42 / 18%));
    transition: transform .22s ease;
    box-sizing: border-box;
  }
  .knd-mobile-filter-drawer.is-open { transform: translateX(0); }
  .knd-mobile-filter-drawer__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 64px;
    padding: 10px 12px 10px 18px;
    border-bottom: 1px solid var(--knd-list-card-divider-color, var(--knd-color-border, #d7e7e4));
  }
  .knd-mobile-filter-drawer__title {
    margin: 0;
    color: inherit;
    font-size: var(--knd-heading-h3-font-size, 1.35rem);
    font-weight: var(--knd-heading-font-weight, 700);
    line-height: 1.2;
  }
  .knd-mobile-filter-drawer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--knd-close-button-size, 44px);
    min-width: var(--knd-close-button-size, 44px);
    height: var(--knd-close-button-size, 44px);
    min-height: var(--knd-close-button-size, 44px);
    margin: 0;
    padding: 0;
    background: var(--knd-close-button-bg, #fff);
    color: var(--knd-close-button-color, var(--knd-color-text, #111827));
    border: 1px solid var(--knd-close-button-border-color, var(--knd-color-border, #d7e7e4));
    border-radius: var(--knd-close-button-radius, var(--knd-radius-button, 10px));
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1;
    box-shadow: none;
  }
  .knd-mobile-filter-drawer__close:is(:hover,:focus-visible) {
    background: var(--knd-list-card-hover-bg, var(--knd-color-primary-soft, #eef5ff));
    color: var(--knd-color-text, #111827);
    border-color: var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4));
  }
  .knd-mobile-filter-drawer__body {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    padding: 16px;
    overflow: auto;
    overscroll-behavior: contain;
  }
  .knd-mobile-filter-drawer__body > [data-knd-mobile-filter-root="1"] {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .knd-mobile-filter-drawer__body > [data-knd-mobile-filter-root="1"] :is(.facet,.accordion-item,.accordion,.block-facets) {
    visibility: visible !important;
    max-width: 100% !important;
  }
  .knd-mobile-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10130;
    display: block;
    width: 100vw;
    height: 100dvh;
    margin: 0;
    padding: 0;
    background: rgba(15, 23, 42, .48);
    border: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
  }
  body.knd-mobile-filter-panel-open .knd-mobile-filter-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.knd-mobile-filter-panel-open .knd-backtotop { display: none !important; }
}
@media (min-width: 992px) {
  #js-product-list-top :is(.products__sort-label,.sort-by,.sort-by-row > label,.products__sort > label) {
    display:none !important;
    visibility:hidden !important;
  }
  #search_filter_toggler,
  .products__filter-button,
  [data-bs-target="#search_filters_wrapper"] {
    display: none !important;
    visibility: hidden !important;
  }
}
.knd-sort-origin-marker { display: none !important; }
.products__sort.knd-sort-source-empty,.products-sort-order-wrap.knd-sort-source-empty{display:none!important;}
.knd-sort-facet__control .products__sort-dropdown-button,
.knd-sort-facet .products__sort-dropdown > .products__sort-dropdown-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem !important;
  width: 100% !important;
  min-height: var(--knd-list-card-item-min-height, 44px) !important;
  padding: var(--knd-list-card-item-padding-y, 10px) var(--knd-list-card-item-padding-x, 12px) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--knd-list-card-bg, #fff) !important;
  border: 1px solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px)) !important;
  text-align: left !important;
  box-shadow: none !important;
}
.knd-sort-facet__control .products__sort-dropdown-button > :is(svg, i, .material-icons, .material-symbols-outlined, .expand-more),
.knd-sort-facet .products__sort-dropdown > .products__sort-dropdown-button > :is(svg, i, .material-icons, .material-symbols-outlined, .expand-more) {
  display: none !important;
}
.knd-sort-facet__control .products__sort-dropdown-button::after,
.knd-sort-facet .products__sort-dropdown > .products__sort-dropdown-button::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: .55rem !important;
  height: .55rem !important;
  margin: -.2rem .12rem 0 auto !important;
  border: 0 !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  transform-origin: 60% 60% !important;
  transition: transform .16s ease !important;
}
.knd-sort-facet__control .products__sort-dropdown-button[aria-expanded="true"]::after,
.knd-sort-facet .products__sort-dropdown > .products__sort-dropdown-button[aria-expanded="true"]::after,
.knd-sort-facet__control .products__sort-dropdown.show > .products__sort-dropdown-button::after,
.knd-sort-facet .products__sort-dropdown.show > .products__sort-dropdown-button::after {
  transform: rotate(225deg) !important;
  margin-top: .2rem !important;
}
.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu {
  padding: 0 !important;
  background: var(--knd-list-card-bg, #fff) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  border: 1px solid var(--knd-list-card-border-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: var(--knd-list-card-radius, 16px) !important;
  box-shadow: var(--knd-list-card-shadow, 0 14px 40px rgb(15 23 42 / 8%)) !important;
  overflow: hidden !important;
  z-index: 1200 !important;
}
.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu > .dropdown-item,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu > .dropdown-item {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: var(--knd-list-card-item-min-height, 48px) !important;
  padding: var(--knd-list-card-item-padding-y, 12px) var(--knd-list-card-item-padding-x, 18px) !important;
  color: var(--knd-list-card-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  border: 0 !important;
  border-bottom: 1px solid var(--knd-list-card-divider-color, var(--knd-color-border, #d7e7e4)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left !important;
}
.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu > .dropdown-item:last-child,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu > .dropdown-item:last-child { border-bottom: 0 !important; }
.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu > .dropdown-item:hover,
.knd-sort-facet__control .products__sort-dropdown > .dropdown-menu > .dropdown-item:focus-visible,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu > .dropdown-item:hover,
.knd-sort-facet .products__sort-dropdown > .dropdown-menu > .dropdown-item:focus-visible {
  color: var(--knd-list-card-item-hover-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--knd-list-card-item-hover-bg, var(--knd-color-surface, #f6fbfa)) !important;
}
.knd-mobile-panel-contact .knd-mobile-panel-contact__item,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:is(:link,:visited,:hover,:focus-visible,:active),
.knd-mobile-panel-contact .knd-mobile-panel-contact__item * {
  color: var(--knd-sticky-contact-item-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
}
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:hover,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:focus-visible {
  color: var(--knd-sticky-contact-item-hover-color, var(--knd-sticky-contact-item-color, var(--knd-color-text, #111827))) !important;
  -webkit-text-fill-color: currentColor !important;
}
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:not(.knd-mobile-panel-contact__item--custom) .knd-mobile-panel-contact__icon,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item:not(.knd-mobile-panel-contact__item--custom) .knd-mobile-panel-contact__icon svg {
  color: var(--knd-color-text-muted, #64748b) !important;
  stroke: currentColor !important;
  opacity: .78 !important;
}
.knd-mobile-panel-contact .knd-mobile-panel-contact__item--custom .knd-mobile-panel-contact__icon,
.knd-mobile-panel-contact .knd-mobile-panel-contact__item--custom .knd-mobile-panel-contact__icon svg { color: var(--knd-sticky-contact-item-color, #fff) !important; stroke: currentColor !important; opacity: 1 !important; }
.knd-mobile-panel-contact .knd-mobile-panel-contact__icon svg * { stroke-width: 1.4 !important; }
.knd-mobile-panel-contact .knd-mobile-panel-contact__item--custom:is(:hover,:focus-visible,:active),
.knd-mobile-panel-contact .knd-mobile-panel-contact__item--custom:is(:hover,:focus-visible,:active) :is(.knd-mobile-panel-contact__label,.knd-mobile-panel-contact__icon,span,i,svg,path) {
  color: var(--knd-sticky-contact-item-hover-color, var(--knd-color-text, #111827)) !important;
  -webkit-text-fill-color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.knd-mobile-panel-contact:has(> :nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* Source: assets/kndev/header.css */
/* KNDev Header/Footer Builder */
.knd-theme-header{background:var(--knd-header-bg,var(--knd-hf-header-bg,#fff));color:var(--knd-header-color,var(--knd-hf-header-text,inherit));font-weight:var(--knd-header-font-weight,inherit);position:relative;z-index:var(--knd-header-z-index,10000);border-bottom:var(--knd-header-border-width,0) var(--knd-header-border-style,solid) var(--knd-header-border-color,transparent)}
.knd-theme-header a{color:var(--knd-header-link-color,var(--knd-hf-header-link,inherit));text-decoration:none}.knd-theme-header a:hover{color:var(--knd-header-link-hover-color,var(--knd-hf-header-hover,inherit))}
.knd-hf-zone{background:inherit;color:inherit}.knd-hf-slot{display:flex;align-items:center;gap:var(--knd-header-slot-gap,.75rem);min-width:0}.knd-hf-slot>*{margin-bottom:0}.knd-hf-slot--empty{display:none!important}
.knd-theme-header__top{background:var(--knd-header-top-bg,var(--knd-header-bg,#fff));color:var(--knd-header-top-color,var(--knd-header-color,inherit))}.knd-hf-top-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--knd-header-gap,1rem);align-items:center;font-size:.9rem;min-height:var(--knd-header-top-min-height,38px);border-bottom:var(--knd-header-top-border-width,var(--knd-header-border-width,0)) solid var(--knd-header-top-border-color,var(--knd-header-border-color,transparent))}
.knd-hf-slot--top-left{justify-content:flex-start}.knd-hf-slot--top-right{justify-content:flex-end}
.knd-theme-header__main{background:var(--knd-header-main-bg,var(--knd-header-bg,#fff));color:var(--knd-header-main-color,var(--knd-header-color,inherit))}.knd-hf-main-grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--knd-header-gap,1rem);align-items:center;min-height:var(--knd-header-main-min-height-desktop,82px);border-bottom:var(--knd-header-main-border-width,var(--knd-header-border-width,0)) solid var(--knd-header-main-border-color,var(--knd-header-border-color,transparent))}
.knd-hf-slot--main-left{grid-column:1;justify-content:flex-start}.knd-hf-slot--main-center{grid-column:2;justify-content:center;align-self:center}.knd-hf-slot--main-right{grid-column:3;justify-content:flex-end;flex-wrap:nowrap}.knd-hf-slot--main-right>*{flex:0 0 auto}
.knd-theme-header__logo img,.knd-theme-header .logo img,.knd-theme-header img.logo{max-width:var(--knd-hf-logo-width-desktop);height:auto}
.knd-theme-header__nav-full{background:var(--knd-header-nav-bg,var(--knd-header-bg,#fff));color:var(--knd-header-nav-color,var(--knd-header-color,inherit));border-top:var(--knd-header-nav-border-width,var(--knd-header-border-width,0)) solid var(--knd-header-nav-border-color,var(--knd-header-border-color,transparent))}.knd-hf-slot--nav-full{justify-content:center;min-height:48px;width:100%}

@media(max-width:991.98px){body.knd-header-layout-active:not(.knd-mobile-zone-nav-fullwidth-active) .knd-theme-header__nav-full,body.knd-header-layout-active:not(.knd-mobile-zone-nav-fullwidth-active) [data-knd-zone="nav-fullwidth"],body.knd-header-layout-active:not(.knd-mobile-zone-nav-fullwidth-active) .knd-hf-zone--nav-full{display:none!important}}
.knd-hf-nav2-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--knd-header-gap,1rem);align-items:center;min-height:54px;border-top:var(--knd-header-nav2-border-width,var(--knd-header-border-width,0)) solid var(--knd-header-nav2-border-color,var(--knd-header-border-color,transparent))}
.knd-hf-slot--nav2-left{justify-content:flex-start}.knd-hf-slot--nav2-center{justify-content:center}.knd-hf-slot--nav2-right{justify-content:flex-end}
@media(min-width:992px){
.knd-header-preset-desktop--standard .knd-hf-main-grid{grid-template-columns:auto minmax(0,1fr) auto}
.knd-header-preset-desktop--centered .knd-hf-main-grid{grid-template-columns:1fr auto 1fr}.knd-header-preset-desktop--centered .knd-hf-slot--main-left{grid-column:2;justify-content:center}.knd-header-preset-desktop--centered .knd-hf-slot--main-center{grid-column:1;grid-row:1;justify-content:flex-start}.knd-header-preset-desktop--centered .knd-hf-slot--main-right{grid-column:3}
.knd-header-preset-desktop--compact .knd-hf-main-grid{min-height:64px}.knd-header-preset-desktop--compact .knd-theme-header__top,.knd-header-preset-desktop--compact .knd-theme-header__banner{display:none!important}
.knd-header-preset-desktop--split .knd-hf-main-grid{grid-template-columns:auto minmax(0,1fr) auto}.knd-header-preset-desktop--split .knd-hf-slot--main-center{justify-content:flex-start}.knd-header-preset-desktop--split .knd-hf-slot--main-right{justify-content:flex-end}
}

.knd-social-links{display:inline-flex;align-items:center;gap:var(--knd-social-icon-gap,.55rem);flex-wrap:wrap}.knd-social-link{display:inline-flex;align-items:center;justify-content:center;width:var(--knd-social-icon-size,24px);height:var(--knd-social-icon-size,24px);border-radius:var(--knd-social-icon-radius,999px);background:var(--knd-social-icon-bg,transparent);color:var(--knd-social-icon-color,currentColor)!important;text-decoration:none!important;font-weight:800;font-size:calc(var(--knd-social-icon-size,24px)*.55);line-height:1}.knd-social-link:hover{background:var(--knd-social-icon-hover-bg,transparent);color:var(--knd-social-icon-hover-color,var(--knd-social-icon-color,currentColor))!important}.knd-social-link__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}

.knd-hf-mobile-only{display:none!important}.knd-hf-mobile-only:empty{display:none!important}.knd-hf-mobile-search-row{display:none;min-width:0;max-width:100%;box-sizing:border-box}.knd-hf-sticky-active{box-shadow:0 8px 24px rgba(0,0,0,.08)}.knd-hf-stuck .knd-theme-header{background:var(--knd-hf-sticky-bg);color:var(--knd-header-color,var(--knd-hf-header-text,inherit))}.knd-theme-header__mobile-drawer{display:none}
.knd-hf-slot .knd-cartdropdown,.knd-hf-slot .knd-search-shell,.knd-hf-slot .knd-menu-shell,.knd-hf-slot .knd-search-shell--align-left,.knd-hf-slot .knd-search-shell--align-center,.knd-hf-slot .knd-search-shell--align-right,.knd-hf-slot .knd-menu-shell--mobile-align-left,.knd-hf-slot .knd-menu-shell--mobile-align-center,.knd-hf-slot .knd-menu-shell--mobile-align-right{margin-left:0!important;margin-right:0!important}
.knd-hf-slot--main-right #_mobile_user_info,.knd-hf-slot--main-right #_mobile_user_info .user-info{display:inline-flex!important;align-items:center;justify-content:center}.knd-hf-slot--main-right #_mobile_user_info a,.knd-hf-slot--main-right #_mobile_user_info .user-info a{appearance:none!important;border:var(--knd-icon-button-border-width,1px) solid var(--knd-icon-button-border-color,var(--knd-color-border,#e5e7eb))!important;background:var(--knd-icon-button-bg,#fff)!important;color:var(--knd-icon-button-color,currentColor)!important;min-width:var(--knd-icon-button-size,44px)!important;width:var(--knd-icon-button-size,44px)!important;min-height:var(--knd-icon-button-size,44px)!important;height:var(--knd-icon-button-size,44px)!important;padding:.5rem!important;border-radius:var(--knd-icon-button-radius,999px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;text-decoration:none!important;line-height:1!important}.knd-hf-slot--main-right #_mobile_user_info a span:not(.material-icons):not(.material-symbols-outlined),.knd-hf-slot--main-right #_mobile_user_info .user-info a span:not(.material-icons):not(.material-symbols-outlined){display:none!important}
@media(max-width:991.98px){.knd-theme-header{background:var(--knd-header-mobile-bg,var(--knd-header-bg,#fff));color:var(--knd-header-mobile-color,var(--knd-header-color,inherit))}.knd-theme-header :is(.container,.container-sm,.container-md,.container-lg,.container-xl){width:100%!important;max-width:none!important;min-width:0!important}.knd-hf-top-grid{grid-template-columns:minmax(0,1fr) auto}.knd-hf-slot--top-right{justify-content:flex-end}.knd-hf-main-grid{grid-template-columns:minmax(0,1fr) auto;min-height:var(--knd-header-main-min-height-mobile,72px)}.knd-hf-slot--main-left{grid-column:1;grid-row:1}.knd-hf-slot--main-center{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%;padding-bottom:.75rem}.knd-hf-slot--main-center.knd-hf-slot--empty{display:none!important;padding:0!important}.knd-hf-slot--main-center:has(> .knd-search-shell):not(:has(> :not(.knd-search-shell))),.knd-hf-slot--main-center:has(.knd-search-shell--desktop):not(:has(.knd-search-shell--mobile)){display:none!important;padding:0!important}.knd-hf-slot--main-right{grid-column:2;grid-row:1;justify-content:flex-end;gap:.35rem;flex-wrap:nowrap}.knd-hf-slot--main-right>*{flex:0 0 auto}.knd-theme-header__logo img,.knd-theme-header .logo img,.knd-theme-header img.logo{max-width:var(--knd-hf-logo-width-mobile)}.knd-hf-nav2-grid{grid-template-columns:1fr auto;gap:.75rem}.knd-hf-slot--nav2-center{display:none}.knd-theme-header__mobile-drawer{display:block}.knd-hf-mobile-only:not(:empty){display:inline-flex!important;align-items:center}}

@media(max-width:991.98px){
.knd-header-preset-mobile--standard .knd-hf-main-grid,.knd-header-preset-mobile--split .knd-hf-main-grid{grid-template-columns:minmax(0,1fr) auto}.knd-header-preset-mobile--standard .knd-hf-slot--main-left,.knd-header-preset-mobile--split .knd-hf-slot--main-left{grid-column:1;grid-row:1;justify-content:flex-start}.knd-header-preset-mobile--standard .knd-hf-slot--main-right,.knd-header-preset-mobile--split .knd-hf-slot--main-right{grid-column:2;grid-row:1}
.knd-header-preset-mobile--centered .knd-hf-main-grid{grid-template-columns:1fr auto 1fr;min-height:auto}.knd-header-preset-mobile--centered .knd-hf-slot--main-left{grid-column:2;grid-row:1;justify-content:center}.knd-header-preset-mobile--centered .knd-hf-slot--main-right{grid-column:3;grid-row:1;justify-content:flex-end}.knd-header-preset-mobile--centered .knd-hf-slot--main-center{grid-column:1/-1;grid-row:2}.knd-header-preset-mobile--centered .knd-hf-slot--main-center:has(.knd-theme-header__logo,.logo,img.logo){grid-column:2;grid-row:1;justify-content:center;width:auto;padding:0}.knd-header-preset-mobile--centered .knd-hf-slot--main-left.knd-hf-slot--empty,.knd-header-preset-mobile--centered .knd-hf-slot--main-right.knd-hf-slot--empty{display:none!important}
.knd-header-preset-mobile--compact .knd-hf-main-grid{grid-template-columns:minmax(0,1fr) auto;min-height:60px}.knd-header-preset-mobile--compact .knd-theme-header__top,.knd-header-preset-mobile--compact .knd-theme-header__banner{display:none!important}.knd-header-preset-mobile--compact .knd-hf-slot--main-left{grid-column:1;grid-row:1}.knd-header-preset-mobile--compact .knd-hf-slot--main-right{grid-column:2;grid-row:1}
}

@media(max-width:991.98px){
  .knd-hf-main-grid{row-gap:var(--knd-header-mobile-row-gap,.75rem);}
  .knd-hf-mobile-search-row:has(#_mobile_search_widget .knd-search-shell--mobile.knd-search-shell--mode-inline),
  .knd-hf-mobile-search-row:has(#_mobile_search_widget .knd-search--mobile.knd-search--mode-inline),
  .knd-hf-mobile-search-row:has(#_mobile_search_widget [data-knd-search-device="mobile"][data-knd-search-mode="inline"]){
    display:block!important;
    grid-column:1/-1!important;
    align-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0 0 var(--knd-header-mobile-search-row-padding-bottom,.75rem)!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }
  .knd-hf-mobile-search-row #_mobile_search_widget:not(:empty){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }
  .knd-hf-mobile-search-row :is(.knd-search-shell--mobile.knd-search-shell--mode-inline,.knd-search--mobile.knd-search--mode-inline,.knd-search__form--mobile-inline){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}



/* KNDev strict sticky owner: native/theme sticky is disabled. Only .knd-hf-sticky-active may be fixed. */
html:not(.knd-hf-sticky-enabled) body.knd-header-layout-active .knd-theme-header,
html:not(.knd-hf-sticky-enabled) body.knd-header-layout-active header[data-knd-header],
html:not(.knd-hf-sticky-enabled) body.knd-header-layout-active #header,
html:not(.knd-hf-sticky-enabled) body.knd-header-layout-active header.header,
body.knd-header-layout-active:not(.knd-hf-sticky-enabled) .knd-theme-header,
body.knd-header-layout-active:not(.knd-hf-sticky-enabled) header[data-knd-header],
body.knd-header-layout-active:not(.knd-hf-sticky-enabled) #header,
body.knd-header-layout-active:not(.knd-hf-sticky-enabled) header.header,
body.knd-header-layout-active .js-sticky-header:not(.knd-hf-sticky-active),
body.knd-header-layout-active .sticky-header:not(.knd-hf-sticky-active),
body.knd-header-layout-active .is-sticky:not(.knd-hf-sticky-active) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  transform: none !important;
}
body.knd-header-layout-active .knd-theme-header,
body.knd-header-layout-active header[data-knd-header],
body.knd-header-layout-active #header,
body.knd-header-layout-active header.header {
  background: var(--knd-hf-header-bg, #FFFFFF) !important;
  color: var(--knd-hf-header-text, #111111) !important;
}
body.knd-header-layout-active .knd-theme-header *,
body.knd-header-layout-active header[data-knd-header] *,
body.knd-header-layout-active #header *,
body.knd-header-layout-active header.header * {
  color: inherit;
}
body.knd-header-layout-active .knd-theme-header a,
body.knd-header-layout-active header[data-knd-header] a,
body.knd-header-layout-active #header a,
body.knd-header-layout-active header.header a,
body.knd-header-layout-active .knd-icon-button,
body.knd-header-layout-active .knd-cartdropdown-trigger,
body.knd-header-layout-active .knd-searchpro-trigger {
  color: var(--knd-hf-header-link, #111111) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body.knd-header-layout-active .knd-theme-header a:hover,
body.knd-header-layout-active header[data-knd-header] a:hover,
body.knd-header-layout-active #header a:hover,
body.knd-header-layout-active header.header a:hover {
  color: var(--knd-hf-header-hover, #0F7B50) !important;
}
body.knd-hf-stuck .knd-hf-sticky-active {
  background: var(--knd-hf-sticky-bg, var(--knd-header-bg, #ffffff)) !important;
}

@supports(selector(:has(*))){.knd-theme-header__nav-full:has(.knd-hf-slot--nav-full:empty){display:none!important}}

/* KNDev header action color bindings */
.knd-theme-header .knd-search__submit,
.knd-theme-header .knd-search__submit.btn{color:var(--knd-search-submit-color,var(--knd-search-button-color,#fff))!important;}
.knd-theme-header .knd-cartdropdown__badge{background:var(--knd-cartdrawer-badge-bg,var(--knd-cartdrawer-primary,var(--knd-color-primary,#14532d)))!important;color:var(--knd-cartdrawer-badge-color,#fff)!important;-webkit-text-fill-color:var(--knd-cartdrawer-badge-color,#fff)!important;}


/* KNDev strict sticky/mobile safeguards */
.knd-hf-sticky-active .knd-search__icon svg,
.knd-hf-sticky-active .knd-search__icon svg *{fill:none!important;stroke:currentColor!important;}
.knd-hf-sticky-active .knd-cartdropdown__badge,
.knd-hf-sticky-active .knd-cartdropdown-count,
.knd-hf-sticky-active .knd-cartdropdown__count,
.knd-hf-sticky-active .knd-cartdropdown-trigger .badge{background:var(--knd-cartdrawer-badge-bg,var(--knd-cartdrawer-primary,var(--knd-color-primary,#14532d)))!important;color:var(--knd-cartdrawer-badge-color,#fff)!important;font-weight:var(--knd-cartdrawer-badge-font-weight,700)!important;}


/* KNDev strict mobile zone ownership
   Desktop-only zones must not leak into mobile. A mobile zone is visible only when
   the matching knd-mobile-zone-* class is present on html/body. */
@media (max-width: 991.98px) {
  html:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) body:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) .knd-theme-header__nav-full,
  html:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) body:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) [data-knd-zone="nav-fullwidth"],
  html:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) body:not(.knd-mobile-zone-nav-fullwidth-active):not(.knd-mobile-zone-navfullwidth-active) .knd-hf-zone--nav-full {
    display: none !important;
    visibility: hidden !important;
  }

  html:not(.knd-mobile-zone-nav2-active) body:not(.knd-mobile-zone-nav2-active) .knd-theme-header__nav2,
  html:not(.knd-mobile-zone-nav2-active) body:not(.knd-mobile-zone-nav2-active) [data-knd-zone="nav2"],
  html:not(.knd-mobile-zone-nav2-active) body:not(.knd-mobile-zone-nav2-active) .knd-hf-zone--nav2 {
    display: none !important;
    visibility: hidden !important;
  }

  html:not(.knd-mobile-zone-topbar-active) body:not(.knd-mobile-zone-topbar-active) .knd-theme-header__top,
  html:not(.knd-mobile-zone-topbar-active) body:not(.knd-mobile-zone-topbar-active) [data-knd-zone="topbar"],
  html:not(.knd-mobile-zone-topbar-active) body:not(.knd-mobile-zone-topbar-active) .knd-hf-zone--topbar {
    display: none !important;
    visibility: hidden !important;
  }
}


/* KNDev strict mobile header zone/sticky safeguards.
   Mobile header zones are device-owned. Desktop nav-fullwidth/nav2/topbar may not leak into mobile. */
@media (max-width: 991.98px) {
  .knd-theme-header__nav-full,
  [data-knd-zone="nav-fullwidth"],
  .knd-hf-zone--nav-full {
    display: none !important;
    visibility: hidden !important;
  }
  html.knd-mobile-zone-nav-fullwidth-active .knd-theme-header__nav-full,
  html.knd-mobile-zone-nav-fullwidth-active [data-knd-zone="nav-fullwidth"],
  html.knd-mobile-zone-nav-fullwidth-active .knd-hf-zone--nav-full,
  body.knd-mobile-zone-nav-fullwidth-active .knd-theme-header__nav-full,
  body.knd-mobile-zone-nav-fullwidth-active [data-knd-zone="nav-fullwidth"],
  body.knd-mobile-zone-nav-fullwidth-active .knd-hf-zone--nav-full {
    display: block !important;
    visibility: visible !important;
  }

  .knd-theme-header__nav2,
  [data-knd-zone="nav2"],
  .knd-hf-zone--nav2 {
    display: none !important;
    visibility: hidden !important;
  }
  html.knd-mobile-zone-nav2-active .knd-theme-header__nav2,
  html.knd-mobile-zone-nav2-active [data-knd-zone="nav2"],
  html.knd-mobile-zone-nav2-active .knd-hf-zone--nav2,
  body.knd-mobile-zone-nav2-active .knd-theme-header__nav2,
  body.knd-mobile-zone-nav2-active [data-knd-zone="nav2"],
  body.knd-mobile-zone-nav2-active .knd-hf-zone--nav2 {
    display: block !important;
    visibility: visible !important;
  }

  .knd-theme-header__top,
  [data-knd-zone="topbar"],
  .knd-hf-zone--topbar {
    display: none !important;
    visibility: hidden !important;
  }
  html.knd-mobile-zone-topbar-active .knd-theme-header__top,
  html.knd-mobile-zone-topbar-active [data-knd-zone="topbar"],
  html.knd-mobile-zone-topbar-active .knd-hf-zone--topbar,
  body.knd-mobile-zone-topbar-active .knd-theme-header__top,
  body.knd-mobile-zone-topbar-active [data-knd-zone="topbar"],
  body.knd-mobile-zone-topbar-active .knd-hf-zone--topbar {
    display: block !important;
    visibility: visible !important;
  }

  .knd-hf-sticky-active .knd-theme-header__main,
  .knd-hf-sticky-active [data-knd-zone="main"],
  .knd-hf-sticky-active .knd-hf-zone--main {
    background: var(--knd-header-main-bg-mobile, var(--knd-header-main-bg, var(--knd-header-bg, #fff))) !important;
    color: var(--knd-header-main-color-mobile, var(--knd-header-main-color, var(--knd-header-color, inherit))) !important;
  }
  .knd-hf-sticky-active .knd-search__icon svg,
  .knd-hf-sticky-active .knd-search__icon svg *,
  .knd-hf-sticky-active .knd-search__icon-trigger svg,
  .knd-hf-sticky-active .knd-search__icon-trigger svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
  }
  .knd-hf-sticky-active .knd-cartdropdown__badge,
  .knd-hf-sticky-active .knd-cartdropdown-count,
  .knd-hf-sticky-active .knd-cartdropdown__count,
  .knd-hf-sticky-active .knd-cartdropdown-trigger .badge {
    color: var(--knd-cartdrawer-badge-color, #fff) !important;
    background: var(--knd-cartdrawer-badge-bg, var(--knd-cartdrawer-primary, var(--knd-color-primary, #14532d))) !important;
    font-weight: var(--knd-cartdrawer-badge-font-weight, 700) !important;
  }
}


/* KNDev tokenized header/nav contract.
   Purpose: customer.css should normally only override tokens, not long selectors. */
.knd-theme-header__top,
[data-knd-zone="topbar"],
.knd-hf-zone--topbar,
#header .header-nav {
  background: var(--knd-header-topbar-bg, var(--knd-header-top-bg, var(--knd-header-bg, #ffffff))) !important;
  color: var(--knd-header-topbar-color, var(--knd-header-top-color, var(--knd-header-color, inherit))) !important;
}
.knd-hf-top-grid {
  min-height: var(--knd-header-topbar-min-height, var(--knd-header-top-min-height, 38px));
  gap: var(--knd-header-topbar-gap, var(--knd-header-gap, 1rem));
  padding: var(--knd-header-topbar-padding-y, 0) var(--knd-header-topbar-padding-x, 0);
  border-bottom: var(--knd-header-topbar-border-width, 0) solid var(--knd-header-topbar-border-color, transparent);
}
.knd-theme-header__main,
[data-knd-zone="main"],
.knd-hf-zone--main {
  background: var(--knd-header-main-bg, var(--knd-header-bg, #ffffff)) !important;
  color: var(--knd-header-main-color, var(--knd-header-color, inherit)) !important;
}
.knd-hf-main-grid {
  gap: var(--knd-header-main-gap, var(--knd-header-gap, 1rem));
  padding: var(--knd-header-main-padding-y-desktop, var(--knd-header-main-padding-y, 0)) var(--knd-header-main-padding-x-desktop, var(--knd-header-main-padding-x, 0));
}
@media (max-width: 991.98px) {
  .knd-hf-main-grid {
    padding: var(--knd-header-main-padding-y-mobile, var(--knd-header-main-padding-y, 0)) var(--knd-header-main-padding-x-mobile, var(--knd-header-main-padding-x, 0));
  }
}
.knd-hf-slot--nav-full {
  min-height: var(--knd-header-nav-full-min-height, 48px);
  gap: var(--knd-header-nav-full-gap, var(--knd-header-gap, 1rem));
  padding: var(--knd-header-nav-full-padding-y-desktop, var(--knd-header-nav-full-padding-y, 0)) var(--knd-header-nav-full-padding-x-desktop, var(--knd-header-nav-full-padding-x, 0));
}
@media(max-width:991.98px){.knd-hf-slot--nav-full{padding:var(--knd-header-nav-full-padding-y-mobile,var(--knd-header-nav-full-padding-y,0)) var(--knd-header-nav-full-padding-x-mobile,var(--knd-header-nav-full-padding-x,0));}}
.knd-theme-header__nav2,
[data-knd-zone="nav2"],
.knd-hf-zone--nav2 {
  background: var(--knd-header-secondary-nav-bg, var(--knd-header-nav2-bg, var(--knd-header-nav-full-bg, #ffffff))) !important;
  color: var(--knd-header-secondary-nav-color, var(--knd-header-nav2-zone-color, inherit)) !important;
}
.knd-hf-nav2-grid {
  min-height: var(--knd-header-secondary-nav-min-height, 54px);
  gap: var(--knd-header-secondary-nav-gap, var(--knd-header-gap, 1rem));
  padding: var(--knd-header-nav2-padding-y, var(--knd-header-secondary-nav-padding-y, 0)) var(--knd-header-nav2-padding-x, var(--knd-header-secondary-nav-padding-x, 0));
}

/* Zone-specific link/icon colors override the older broad header !important binding. */
body.knd-header-layout-active .knd-hf-slot--top-left a,
body.knd-header-layout-active .knd-hf-slot--top-left button,
.knd-theme-header .knd-hf-slot--top-left a,
.knd-theme-header .knd-hf-slot--top-left button {
  color: var(--knd-header-nav1-link-color, var(--knd-header-topbar-link-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-hf-slot--top-left a:hover,
body.knd-header-layout-active .knd-hf-slot--top-left button:hover,
.knd-theme-header .knd-hf-slot--top-left a:hover,
.knd-theme-header .knd-hf-slot--top-left button:hover {
  color: var(--knd-header-nav1-link-hover-color, var(--knd-header-topbar-link-hover-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-hf-slot--top-right a,
body.knd-header-layout-active .knd-hf-slot--top-right button,
.knd-theme-header .knd-hf-slot--top-right a,
.knd-theme-header .knd-hf-slot--top-right button,
#header .header-nav a,
#header .header-nav button {
  color: var(--knd-header-nav2-link-color, var(--knd-header-topbar-link-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-hf-slot--top-right a:hover,
body.knd-header-layout-active .knd-hf-slot--top-right button:hover,
.knd-theme-header .knd-hf-slot--top-right a:hover,
.knd-theme-header .knd-hf-slot--top-right button:hover,
#header .header-nav a:hover,
#header .header-nav button:hover {
  color: var(--knd-header-nav2-link-hover-color, var(--knd-header-topbar-link-hover-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-theme-header__nav-full a,
body.knd-header-layout-active .knd-theme-header__nav-full button,
.knd-theme-header__nav-full a,
.knd-theme-header__nav-full button {
  color: var(--knd-header-nav-full-link-color, var(--knd-header-menu-link-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-theme-header__nav-full a:hover,
body.knd-header-layout-active .knd-theme-header__nav-full button:hover,
.knd-theme-header__nav-full a:hover,
.knd-theme-header__nav-full button:hover {
  color: var(--knd-header-nav-full-link-hover-color, var(--knd-header-menu-link-hover-color, currentColor)) !important;
}
body.knd-header-layout-active .knd-theme-header__nav2 a,
body.knd-header-layout-active .knd-theme-header__nav2 button,
.knd-theme-header__nav2 a,
.knd-theme-header__nav2 button {
  color: var(--knd-header-secondary-nav-link-color, currentColor) !important;
}
body.knd-header-layout-active .knd-theme-header__nav2 a:hover,
body.knd-header-layout-active .knd-theme-header__nav2 button:hover,
.knd-theme-header__nav2 a:hover,
.knd-theme-header__nav2 button:hover {
  color: var(--knd-header-secondary-nav-link-hover-color, currentColor) !important;
}
.knd-theme-header .material-icons,
.knd-theme-header svg,
.knd-theme-header svg * {
  color: inherit;
  fill: currentColor;
  stroke: currentColor;
}

/* Generic KNDev header action pill.
   Use class="knd-header-action" on custom header links.
   Use class="knd-header-action knd-header-action--nav2" for action pills in nav2/topbar. */
.knd-theme-header .knd-header-action,
.knd-theme-header a.knd-header-action,
#header .knd-header-action,
#header a.knd-header-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: var(--knd-header-action-gap, 8px) !important;
  min-height: var(--knd-header-action-min-height, 34px) !important;
  padding: var(--knd-header-action-padding-y, 5px) var(--knd-header-action-padding-x, 13px) !important;
  border: var(--knd-header-action-border-width, 0) solid var(--knd-header-action-border-color, transparent) !important;
  border-radius: var(--knd-header-action-radius, 999px) !important;
  background: var(--knd-header-action-bg, transparent) !important;
  color: var(--knd-header-action-color, currentColor) !important;
  box-shadow: var(--knd-header-action-shadow, none) !important;
  font-family: var(--knd-header-action-font-family, var(--knd-font-body, inherit)) !important;
  font-size: var(--knd-header-action-font-size, 14px) !important;
  font-weight: var(--knd-header-action-font-weight, 750) !important;
  line-height: var(--knd-header-action-line-height, 1.1) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.knd-theme-header .knd-header-action:hover,
.knd-theme-header a.knd-header-action:hover,
#header .knd-header-action:hover,
#header a.knd-header-action:hover {
  background: var(--knd-header-action-hover-bg, var(--knd-header-action-bg, transparent)) !important;
  border-color: var(--knd-header-action-hover-border-color, var(--knd-header-action-border-color, transparent)) !important;
  color: var(--knd-header-action-hover-color, var(--knd-header-action-color, currentColor)) !important;
  text-decoration: none !important;
}
.knd-hf-slot--top-right .knd-header-action,
.knd-hf-slot--top-right a.knd-header-action,
#header .header-nav .knd-header-action,
#header .header-nav a.knd-header-action,
.knd-header-action.knd-header-action--nav2,
a.knd-header-action.knd-header-action--nav2 {
  background: var(--knd-header-nav2-action-bg, var(--knd-header-action-bg, transparent)) !important;
  border-width: var(--knd-header-nav2-action-border-width, var(--knd-header-action-border-width, 0)) !important;
  border-color: var(--knd-header-nav2-action-border-color, var(--knd-header-action-border-color, transparent)) !important;
  color: var(--knd-header-nav2-action-color, var(--knd-header-action-color, currentColor)) !important;
  box-shadow: var(--knd-header-nav2-action-shadow, var(--knd-header-action-shadow, none)) !important;
}
.knd-hf-slot--top-right .knd-header-action:hover,
.knd-hf-slot--top-right a.knd-header-action:hover,
#header .header-nav .knd-header-action:hover,
#header .header-nav a.knd-header-action:hover,
.knd-header-action.knd-header-action--nav2:hover,
a.knd-header-action.knd-header-action--nav2:hover {
  background: var(--knd-header-nav2-action-hover-bg, var(--knd-header-nav2-action-bg, transparent)) !important;
  border-color: var(--knd-header-nav2-action-hover-border-color, var(--knd-header-nav2-action-border-color, transparent)) !important;
  color: var(--knd-header-nav2-action-hover-color, var(--knd-header-nav2-action-color, currentColor)) !important;
}
.knd-theme-header .knd-header-action *,
#header .knd-header-action * {
  color: inherit !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
.knd-header-action__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--knd-header-action-icon-size, 24px) !important;
  height: var(--knd-header-action-icon-size, 24px) !important;
  min-width: var(--knd-header-action-icon-size, 24px) !important;
  border-radius: var(--knd-header-action-icon-radius, 999px) !important;
  background: var(--knd-header-action-icon-bg, var(--knd-color-primary, #007f79)) !important;
  color: var(--knd-header-action-icon-color, #ffffff) !important;
  line-height: 1 !important;
}
.knd-hf-slot--top-right .knd-header-action__icon,
#header .header-nav .knd-header-action__icon,
.knd-header-action--nav2 .knd-header-action__icon {
  background: var(--knd-header-nav2-action-icon-bg, var(--knd-header-action-icon-bg, var(--knd-color-primary, #007f79))) !important;
  color: var(--knd-header-nav2-action-icon-color, var(--knd-header-action-icon-color, #ffffff)) !important;
}
.knd-header-action__label,
.knd-header-action__text,
.knd-header-action__number {
  color: inherit !important;
}
.knd-header-action__number {
  font-weight: var(--knd-header-action-number-font-weight, 800) !important;
  white-space: nowrap !important;
}


@media(max-width:991.98px){
.knd-theme-header{--knd-header-module-button-hover-bg:var(--knd-header-module-button-bg,var(--knd-icon-button-bg,#fff));--knd-header-module-button-hover-color:var(--knd-header-module-button-color,var(--knd-icon-button-color,currentColor));--knd-header-module-button-hover-border-color:var(--knd-header-module-button-border-color,var(--knd-icon-button-border-color,var(--knd-color-border,#dbe3e8)));--knd-header-module-button-hover-shadow:var(--knd-header-module-button-shadow,none);--knd-header-module-button-hover-transform:none}
.knd-hf-mobile-search-row{position:relative!important;z-index:3!important;isolation:isolate!important}.knd-hf-slot--main-right{position:relative!important;z-index:2!important}
body.knd-search-panel-open .knd-hf-slot--main-right,body.knd-search-overlay-open .knd-hf-slot--main-right{z-index:0!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.knd-theme-header :is(.knd-search__icon-trigger,.knd-loginpopup-trigger,.knd-cartdropdown__trigger,.knd-menu__toggle-main):is(:hover,:focus,:focus-visible,:active){background:var(--knd-header-module-button-bg,var(--knd-icon-button-bg,#fff))!important;background-color:var(--knd-header-module-button-bg,var(--knd-icon-button-bg,#fff))!important;color:var(--knd-header-module-button-color,var(--knd-icon-button-color,currentColor))!important;-webkit-text-fill-color:currentColor!important;border-color:var(--knd-header-module-button-border-color,var(--knd-icon-button-border-color,var(--knd-color-border,#dbe3e8)))!important;box-shadow:var(--knd-header-module-button-shadow,var(--knd-icon-button-shadow,none))!important;transform:none!important}
html body .knd-theme-header :is(.knd-search__icon-trigger,.knd-loginpopup-trigger,.knd-login-trigger,.knd-cartdropdown-trigger,.knd-cartdropdown__trigger,.knd-menu__toggle-main,.knd-menu__toggle,.knd-menu__trigger,#_mobile_user_info a):is(:hover,:focus-visible,:active){background:var(--knd-header-module-button-hover-bg,var(--knd-header-module-icon-bg,var(--knd-icon-button-hover-bg,var(--knd-icon-button-bg,#fff))))!important;color:var(--knd-header-module-button-hover-color,var(--knd-header-module-icon-color,var(--knd-icon-button-hover-color,var(--knd-icon-button-color,#111827))))!important;-webkit-text-fill-color:currentColor!important;border-color:var(--knd-header-module-button-hover-border-color,var(--knd-header-module-icon-border-color,var(--knd-icon-button-hover-border-color,var(--knd-icon-button-border-color,var(--knd-color-border,#d7e7e4)))))!important;box-shadow:var(--knd-header-module-button-hover-shadow,var(--knd-icon-button-hover-shadow,none))!important;transform:var(--knd-header-module-button-hover-transform,none)!important;outline:none!important}
html body .knd-theme-header :is(.knd-search__icon-trigger,.knd-loginpopup-trigger,.knd-login-trigger,.knd-cartdropdown-trigger,.knd-cartdropdown__trigger,.knd-menu__toggle-main,.knd-menu__toggle,.knd-menu__trigger,#_mobile_user_info a):is(:hover,:focus-visible,:active) *{color:inherit!important;-webkit-text-fill-color:currentColor!important}
}

/* KNDev Header zones v1.4.53
   Stable public styling contract for header.tpl zones.
   Use .knd-zone--* or [data-knd-zone="*"] in customer.css only when tokens are not enough. */
.knd-theme-header__banner,
.knd-theme-header [data-knd-zone="header-top"] {
  background: var(--knd-header-banner-bg, var(--knd-header-bg, #fff)) !important;
  color: var(--knd-header-banner-color, var(--knd-header-color, inherit)) !important;
  border-bottom: var(--knd-header-banner-border-width, 0px) solid var(--knd-header-banner-border-color, transparent) !important;
}
.knd-theme-header__top,
.knd-theme-header [data-knd-zone="topbar"] {
  background: var(--knd-header-topbar-bg, var(--knd-header-top-bg, var(--knd-header-bg, #fff))) !important;
  color: var(--knd-header-topbar-color, var(--knd-header-top-color, var(--knd-header-color, inherit))) !important;
  border-bottom: var(--knd-header-topbar-border-width, 0px) solid var(--knd-header-topbar-border-color, transparent) !important;
}
.knd-theme-header__main,
.knd-theme-header [data-knd-zone="main"] {
  background: var(--knd-header-main-bg, var(--knd-header-bg, #fff)) !important;
  color: var(--knd-header-main-color, var(--knd-header-color, inherit)) !important;
  border-bottom: var(--knd-header-main-border-width, 0px) solid var(--knd-header-main-border-color, transparent) !important;
}
.knd-theme-header__nav-full,
.knd-theme-header [data-knd-zone="nav-fullwidth"] {
  background: var(--knd-header-nav-full-bg, var(--knd-header-nav-bg, var(--knd-header-bg, #fff))) !important;
  color: var(--knd-header-nav-full-color, var(--knd-header-nav-color, var(--knd-header-color, inherit))) !important;
  border-bottom: var(--knd-header-nav-full-border-width, 0px) solid var(--knd-header-nav-full-border-color, transparent) !important;
}
.knd-theme-header__nav2,
.knd-theme-header [data-knd-zone="nav2"] {
  background: var(--knd-header-nav2-bg, var(--knd-header-bg, #fff)) !important;
  color: var(--knd-header-nav2-color, var(--knd-header-color, inherit)) !important;
  border-bottom: var(--knd-header-nav2-border-width, 0px) solid var(--knd-header-nav2-border-color, transparent) !important;
}
.knd-theme-header__below,
.knd-theme-header [data-knd-zone="below"] {
  background: var(--knd-header-below-bg, transparent) !important;
  color: var(--knd-header-below-color, var(--knd-header-color, inherit)) !important;
  border-bottom: var(--knd-header-below-border-width, 0px) solid var(--knd-header-below-border-color, transparent) !important;
}

.knd-theme-header__banner :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg),
.knd-theme-header [data-knd-zone="header-top"] :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg) {
  color: var(--knd-header-banner-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-banner-link-color, currentColor) !important;
}
.knd-theme-header__top :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg),
.knd-theme-header [data-knd-zone="topbar"] :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg) {
  color: var(--knd-header-topbar-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-topbar-link-color, currentColor) !important;
}
.knd-theme-header__nav-full :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg),
.knd-theme-header [data-knd-zone="nav-fullwidth"] :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg) {
  color: var(--knd-header-nav-full-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-nav-full-link-color, currentColor) !important;
}
.knd-theme-header__nav2 :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg),
.knd-theme-header [data-knd-zone="nav2"] :where(a, button:not([name]), .material-icons, .material-symbols-outlined, svg) {
  color: var(--knd-header-nav2-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-nav2-link-color, currentColor) !important;
}

.knd-theme-header__banner :where(a, button:not([name])):hover,
.knd-theme-header [data-knd-zone="header-top"] :where(a, button:not([name])):hover { color: var(--knd-header-banner-link-hover-color, var(--knd-header-banner-link-color, currentColor)) !important; -webkit-text-fill-color: var(--knd-header-banner-link-hover-color, var(--knd-header-banner-link-color, currentColor)) !important; }
.knd-theme-header__top :where(a, button:not([name])):hover,
.knd-theme-header [data-knd-zone="topbar"] :where(a, button:not([name])):hover { color: var(--knd-header-topbar-link-hover-color, var(--knd-header-topbar-link-color, currentColor)) !important; -webkit-text-fill-color: var(--knd-header-topbar-link-hover-color, var(--knd-header-topbar-link-color, currentColor)) !important; }
.knd-theme-header__nav-full :where(a, button:not([name])):hover,
.knd-theme-header [data-knd-zone="nav-fullwidth"] :where(a, button:not([name])):hover { color: var(--knd-header-nav-full-link-hover-color, var(--knd-header-nav-full-link-color, currentColor)) !important; -webkit-text-fill-color: var(--knd-header-nav-full-link-hover-color, var(--knd-header-nav-full-link-color, currentColor)) !important; }
.knd-theme-header__nav2 :where(a, button:not([name])):hover,
.knd-theme-header [data-knd-zone="nav2"] :where(a, button:not([name])):hover { color: var(--knd-header-nav2-link-hover-color, var(--knd-header-nav2-link-color, currentColor)) !important; -webkit-text-fill-color: var(--knd-header-nav2-link-hover-color, var(--knd-header-nav2-link-color, currentColor)) !important; }

/* Keep overlay panels readable regardless of the zone color they are opened from. */
.knd-theme-header :where(.knd-cart-panel, .knd-menu__panel, .knd-menu-panel, .knd-account-modal, .knd-login-modal, .knd-loginpopup-account-menu, .knd-search__results, .dropdown-menu, .modal, .popover) {
  background: #fff !important;
  color: var(--knd-color-text, #111827) !important;
  -webkit-text-fill-color: initial !important;
}
.knd-theme-header :where(.knd-menu__panel,.knd-search__results) a:not(.btn):not(.knd-btn):not(.knd-mobile-panel-contact__item):is(:link,:visited,:hover,:focus-visible,:active),
.knd-theme-header :where(.knd-menu__panel,.knd-search__results) a:not(.btn):not(.knd-btn):not(.knd-mobile-panel-contact__item) * {
  color: var(--knd-color-text, #111827) !important;
  -webkit-text-fill-color: currentColor !important;
}


/* KNDev - strict header module icon/nav contract
   Purpose: keep header module icons consistent even when customer.css has broad #header rules.
   Scope: Search Pro trigger, Login Popup trigger, Cart Dropdown trigger and KNDev header zones only. */
:root {
  --knd-header-module-icon-size: var(--knd-icon-button-size, 44px);
  --knd-header-module-icon-bg: var(--knd-icon-button-bg, #ffffff);
  --knd-header-module-icon-color: var(--knd-icon-button-color, currentColor);
  --knd-header-module-icon-border-width: var(--knd-icon-button-border-width, 1px);
  --knd-header-module-icon-border-color: var(--knd-icon-button-border-color, var(--knd-color-border, #d7e7e4));
  --knd-header-module-icon-radius: var(--knd-icon-button-radius, 999px);
  --knd-header-module-icon-shadow: var(--knd-icon-button-shadow, none);
  --knd-header-module-icon-hover-bg: var(--knd-icon-button-hover-bg, #f7f8f8);
  --knd-header-module-icon-hover-color: var(--knd-icon-button-hover-color, var(--knd-header-module-icon-color));
  --knd-header-module-icon-hover-border-color: var(--knd-icon-button-hover-border-color, var(--knd-header-module-icon-border-color));
}

html body .knd-theme-header .knd-search__icon-trigger,
html body #header .knd-search__icon-trigger,
html body .knd-theme-header .knd-loginpopup-trigger,
html body #header .knd-loginpopup-trigger {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: var(--knd-header-module-icon-size) !important;
  width: var(--knd-header-module-icon-size) !important;
  min-height: var(--knd-header-module-icon-size) !important;
  height: var(--knd-header-module-icon-size) !important;
  padding: 0 !important;
  border: var(--knd-header-module-icon-border-width) solid var(--knd-header-module-icon-border-color) !important;
  border-radius: var(--knd-header-module-icon-radius) !important;
  background: var(--knd-header-module-icon-bg) !important;
  color: var(--knd-header-module-icon-color) !important;
  -webkit-text-fill-color: var(--knd-header-module-icon-color) !important;
  box-shadow: var(--knd-header-module-icon-shadow) !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
html body .knd-theme-header .knd-search__icon-trigger:hover,
html body #header .knd-search__icon-trigger:hover,
html body .knd-theme-header .knd-loginpopup-trigger:hover,
html body #header .knd-loginpopup-trigger:hover,
html body .knd-theme-header .knd-search__icon-trigger:focus-visible,
html body #header .knd-search__icon-trigger:focus-visible,
html body .knd-theme-header .knd-loginpopup-trigger:focus-visible,
html body #header .knd-loginpopup-trigger:focus-visible {
  background: var(--knd-header-module-icon-hover-bg) !important;
  border-color: var(--knd-header-module-icon-hover-border-color) !important;
  color: var(--knd-header-module-icon-hover-color) !important;
  -webkit-text-fill-color: var(--knd-header-module-icon-hover-color) !important;
  outline: none !important;
}
html body .knd-theme-header .knd-search__icon-trigger svg,
html body #header .knd-search__icon-trigger svg,
html body .knd-theme-header .knd-search__icon-trigger svg *,
html body #header .knd-search__icon-trigger svg *,
html body .knd-theme-header .knd-loginpopup-trigger svg,
html body #header .knd-loginpopup-trigger svg,
html body .knd-theme-header .knd-loginpopup-trigger svg *,
html body #header .knd-loginpopup-trigger svg * {
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
}
html body .knd-theme-header .knd-loginpopup-trigger .knd-loginpopup-icon-svg,
html body #header .knd-loginpopup-trigger .knd-loginpopup-icon-svg,
html body .knd-theme-header .knd-loginpopup-trigger .knd-loginpopup-icon-svg *,
html body #header .knd-loginpopup-trigger .knd-loginpopup-icon-svg * {
  fill: currentColor !important;
  stroke: none !important;
}

/* Cart may be a pill with text, but its border/background must follow the same KNDev icon contract. */
html body .knd-theme-header .knd-cartdropdown__trigger,
html body #header .knd-cartdropdown__trigger {
  min-height: var(--knd-header-module-icon-size) !important;
  border: var(--knd-header-module-icon-border-width) solid var(--knd-header-module-icon-border-color) !important;
  border-radius: var(--knd-header-module-icon-radius) !important;
  background: var(--knd-header-module-icon-bg) !important;
  color: var(--knd-header-module-icon-color) !important;
  -webkit-text-fill-color: var(--knd-header-module-icon-color) !important;
  box-shadow: var(--knd-header-module-icon-shadow) !important;
}
html body .knd-theme-header .knd-cartdropdown__trigger:hover,
html body #header .knd-cartdropdown__trigger:hover,
html body .knd-theme-header .knd-cartdropdown__trigger:focus-visible,
html body #header .knd-cartdropdown__trigger:focus-visible {
  background: var(--knd-header-module-icon-hover-bg) !important;
  border-color: var(--knd-header-module-icon-hover-border-color) !important;
  color: var(--knd-header-module-icon-hover-color) !important;
  -webkit-text-fill-color: var(--knd-header-module-icon-hover-color) !important;
}
html body .knd-theme-header .knd-cartdropdown__trigger svg,
html body #header .knd-cartdropdown__trigger svg,
html body .knd-theme-header .knd-cartdropdown__trigger svg *,
html body #header .knd-cartdropdown__trigger svg * {
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
}

/* Header zone hardening: colors stay owned by the zone tokens, not broad header rules. */
html body .knd-theme-header .knd-zone--topbar,
html body #header .knd-zone--topbar,
html body .knd-theme-header [data-knd-zone="topbar"],
html body #header [data-knd-zone="topbar"] {
  background: var(--knd-header-topbar-bg, var(--knd-header-top-bg, var(--knd-header-bg, #ffffff))) !important;
  color: var(--knd-header-topbar-color, var(--knd-header-top-color, var(--knd-header-color, currentColor))) !important;
}
html body .knd-theme-header .knd-zone--nav2,
html body #header .knd-zone--nav2,
html body .knd-theme-header [data-knd-zone="nav2"],
html body #header [data-knd-zone="nav2"] {
  background: var(--knd-header-nav2-bg, var(--knd-header-secondary-nav-bg, var(--knd-header-bg, #ffffff))) !important;
  color: var(--knd-header-nav2-color, var(--knd-header-secondary-nav-color, var(--knd-header-color, currentColor))) !important;
}
html body .knd-theme-header .knd-zone--topbar :where(a, button:not([name]), svg, .material-icons),
html body #header .knd-zone--topbar :where(a, button:not([name]), svg, .material-icons) {
  color: var(--knd-header-topbar-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-topbar-link-color, currentColor) !important;
}
html body .knd-theme-header .knd-zone--nav-fullwidth :where(a, button:not([name]), svg, .material-icons),
html body #header .knd-zone--nav-fullwidth :where(a, button:not([name]), svg, .material-icons) {
  color: var(--knd-header-nav-full-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-nav-full-link-color, currentColor) !important;
}
html body .knd-theme-header .knd-zone--nav2 :where(a, button:not([name]), svg, .material-icons),
html body #header .knd-zone--nav2 :where(a, button:not([name]), svg, .material-icons) {
  color: var(--knd-header-nav2-link-color, currentColor) !important;
  -webkit-text-fill-color: var(--knd-header-nav2-link-color, currentColor) !important;
}


/* KNDev v1.1.156: canonical header button contract */
html body #header :is(.knd-loginpopup-trigger,.knd-cartdropdown-trigger),
html body .knd-theme-header :is(.knd-loginpopup-trigger,.knd-cartdropdown-trigger),
html body .knd-hf-slot :is(.knd-loginpopup-trigger,.knd-cartdropdown-trigger) {
  min-height: var(--knd-header-module-button-min-height, var(--knd-button-min-height, 44px)) !important;
  height: var(--knd-header-module-button-height, var(--knd-header-module-button-min-height, var(--knd-button-min-height, 44px))) !important;
  padding: var(--knd-button-padding-y, .75rem) var(--knd-button-padding-x, 1.2rem) !important;
  gap: var(--knd-button-gap, .55rem) !important;
  border-width: var(--knd-button-border-width, 1px) !important;
  border-style: solid !important;
  border-radius: var(--knd-button-border-radius, var(--knd-radius-button, 10px)) !important;
  font-size: var(--knd-button-font-size, 1rem) !important;
  font-weight: var(--knd-button-font-weight, 600) !important;
  line-height: var(--knd-button-line-height, 1.1) !important;
}
html body #header :is(.knd-loginpopup-trigger,.knd-cartdropdown-trigger) :is(span,.knd-loginpopup-label,.knd-cartdropdown-label),
html body .knd-theme-header :is(.knd-loginpopup-trigger,.knd-cartdropdown-trigger) :is(span,.knd-loginpopup-label,.knd-cartdropdown-label) {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

/* Source: assets/kndev/footer.css */
/* KNDev Footer Builder v1.4.15 */
.knd-theme-footer{background:var(--knd-footer-bg,var(--knd-hf-footer-bg,#0f172a));color:var(--knd-footer-color,var(--knd-hf-footer-text,#fff));border-top:var(--knd-footer-border-width,0) solid var(--knd-footer-border-color,transparent)}.knd-theme-footer a{color:var(--knd-footer-link-color,var(--knd-hf-footer-link,#fff));text-decoration:none}.knd-theme-footer a:hover{color:var(--knd-footer-link-hover-color,var(--knd-hf-footer-hover,var(--knd-color-primary,#007f79)))}
.knd-theme-footer__main{padding-top:var(--knd-hf-footer-padding-top);padding-bottom:var(--knd-hf-footer-padding-bottom)}.knd-hf-footer-main-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}.knd-hf-footer-columns{margin-top:1.5rem}.knd-hf-footer-columns--themebuilder{margin-top:0}.knd-hf-footer-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.knd-theme-footer__after{padding:1rem 0}.knd-theme-footer__bottom{border-top:var(--knd-footer-bottom-border-width,0) solid var(--knd-footer-bottom-border-color,transparent);padding:1rem 0}.knd-hf-footer-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center}.knd-hf-footer-bottom-slot:first-child{justify-self:start}.knd-hf-footer-bottom-slot:nth-child(2){justify-self:center;text-align:center}.knd-hf-footer-bottom-slot:last-child{justify-self:end;text-align:right}
.knd-footer-preset--standard .knd-hf-footer-main-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.knd-footer-preset--columns .knd-hf-footer-main-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.knd-footer-preset--minimal .knd-theme-footer{text-align:center}.knd-footer-preset--minimal .knd-hf-footer-main-grid{grid-template-columns:1fr;max-width:920px;margin-inline:auto}.knd-footer-preset--business .knd-hf-footer-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr) minmax(260px,.9fr)}
.knd-footer-hide-logo .footer-logo,.knd-footer-hide-logo .footer__logo,.knd-footer-hide-logo .footer-brand,.knd-footer-hide-logo .knd-company-card__logo{display:none!important}.knd-footer-hide-social .block-social,.knd-footer-hide-social .social-links,.knd-footer-hide-social .footer-social{display:none!important}.knd-footer-hide-newsletter .block_newsletter,.knd-footer-hide-newsletter .newsletter,.knd-footer-hide-newsletter [id*="newsletter"],.knd-footer-hide-newsletter [class*="emailsubscription"]{display:none!important}.knd-footer-hide-bottombar .knd-theme-footer__bottom{display:none!important}.knd-zone-inline-styled,.knd-zone-inline-styled>*{background:transparent!important;color:inherit}
@media(max-width:991.98px){.knd-hf-footer-main-grid,.knd-footer-preset--columns .knd-hf-footer-main-grid,.knd-footer-preset--business .knd-hf-footer-main-grid{grid-template-columns:minmax(0,1fr)}.knd-hf-footer-bottom-grid{grid-template-columns:1fr}.knd-hf-footer-bottom-slot,.knd-hf-footer-bottom-slot:last-child{justify-self:center;text-align:center}}


/* KNDev v1.4.43: tokenized footer contract. */
.knd-theme-footer {
  background: var(--knd-footer-bg, #0f172a) !important;
  color: var(--knd-footer-text-color, var(--knd-footer-color, #ffffff)) !important;
  border-top: var(--knd-footer-border-width, 0) solid var(--knd-footer-border-color, transparent) !important;
}
.knd-theme-footer__main {
  padding-top: var(--knd-footer-main-padding-top, var(--knd-hf-footer-padding-top, clamp(32px, 5vw, 72px)));
  padding-bottom: var(--knd-footer-main-padding-bottom, var(--knd-hf-footer-padding-bottom, clamp(28px, 4vw, 56px)));
  padding-left: var(--knd-footer-main-padding-x, 0);
  padding-right: var(--knd-footer-main-padding-x, 0);
}
.knd-hf-footer-main-grid,
.knd-hf-footer-columns {
  column-gap: var(--knd-footer-column-gap, 1.5rem);
  row-gap: var(--knd-footer-row-gap, 1.5rem);
}
.knd-theme-footer h1,
.knd-theme-footer h2,
.knd-theme-footer h3,
.knd-theme-footer h4,
.knd-theme-footer h5,
.knd-theme-footer h6,
.knd-theme-footer .h1,
.knd-theme-footer .h2,
.knd-theme-footer .h3,
.knd-theme-footer .h4,
.knd-theme-footer .h5,
.knd-theme-footer .h6 {
  color: var(--knd-footer-heading-color, var(--knd-footer-color, #ffffff)) !important;
  font-weight: var(--knd-footer-heading-font-weight, 800);
}
.knd-theme-footer p,
.knd-theme-footer li,
.knd-theme-footer .footer-text,
.knd-theme-footer .knd-footer-text {
  color: var(--knd-footer-text-color, var(--knd-footer-color, #ffffff));
}
.knd-theme-footer .text-muted,
.knd-theme-footer small,
.knd-theme-footer .small,
.knd-theme-footer .knd-footer-muted {
  color: var(--knd-footer-muted-color, color-mix(in srgb, currentColor 72%, transparent)) !important;
}
.knd-theme-footer a {
  color: var(--knd-footer-link-color, #ffffff) !important;
  text-decoration: var(--knd-footer-link-text-decoration, none) !important;
}
.knd-theme-footer a:hover {
  color: var(--knd-footer-link-hover-color, var(--knd-color-primary, #007f79)) !important;
  text-decoration: var(--knd-footer-link-hover-text-decoration, none) !important;
}
.knd-theme-footer .material-icons,
.knd-theme-footer svg,
.knd-theme-footer svg * {
  color: inherit;
  fill: currentColor;
  stroke: currentColor;
}
.knd-footer-action,
.knd-theme-footer .knd-footer-action,
.knd-theme-footer a.knd-footer-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--knd-header-item-gap, 8px);
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--knd-footer-action-border-color, transparent);
  border-radius: var(--knd-radius-pill, 999px);
  background: var(--knd-footer-action-bg, transparent);
  color: var(--knd-footer-action-color, var(--knd-footer-link-color, #ffffff)) !important;
  font-weight: 750;
  text-decoration: none !important;
}
.knd-footer-action:hover,
.knd-theme-footer .knd-footer-action:hover,
.knd-theme-footer a.knd-footer-action:hover {
  background: var(--knd-footer-action-hover-bg, var(--knd-footer-action-bg, transparent));
  color: var(--knd-footer-action-hover-color, var(--knd-footer-link-hover-color, var(--knd-color-primary, #007f79))) !important;
}


/* Standard footer contact sections */
.knd-footer-contact,
.knd-tb-footer-contact {
  margin-top: var(--knd-footer-contact-margin-top, clamp(46px, 6vw, 86px));
  padding-block: var(--knd-footer-contact-padding-y, clamp(42px, 5vw, 72px));
  padding-inline: var(--knd-footer-contact-padding-x, 0);
  background: var(--knd-footer-contact-bg, linear-gradient(135deg, #101820 0%, #0b1118 100%));
  color: var(--knd-footer-contact-color, rgba(255,255,255,.78));
}
.knd-footer-contact a,
.knd-tb-footer-contact a { color: var(--knd-footer-contact-link-color, rgba(255,255,255,.84)); text-decoration: none; }
.knd-footer-contact a:hover,
.knd-tb-footer-contact a:hover { color: var(--knd-footer-contact-link-hover-color, var(--knd-color-primary, #007f79)); text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
.knd-footer-contact__row { align-items: var(--knd-footer-contact-align-items, stretch); row-gap: var(--knd-footer-contact-gap, clamp(28px, 5vw, 56px)); }
@media (min-width: 992px) {
  .knd-footer-contact__row {
    --bs-gutter-x: 0;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: var(--knd-footer-contact-column-gap, clamp(28px, 5vw, 56px)) !important;
    margin-inline: 0 !important;
  }
  .knd-footer-contact__row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-inline: 0 !important;
  }
}
.knd-footer-contact--form .knd-footer-contact__row { align-items: var(--knd-footer-contact-form-align-items, center); }
.knd-footer-contact__content { max-width: 590px; }
.knd-footer-contact__badge { display:inline-flex; align-items:center; width:max-content; margin-bottom:1rem; padding:.5rem .8rem; border-radius:999px; background:var(--knd-footer-contact-badge-bg, rgba(0,127,121,.28)); color:var(--knd-footer-contact-badge-color,#fff); font-weight:800; }
.knd-footer-contact__logo { margin-bottom:1.5rem; }
.knd-footer-contact__logo img { display:block; width:100%; max-width:var(--knd-footer-contact-logo-width,230px); height:auto; }
.knd-footer-contact__title { margin:0 0 1rem; color:var(--knd-footer-contact-heading-color,#fff); font-size:var(--knd-footer-contact-heading-size, clamp(1.55rem, 2.4vw, 2.1rem)); line-height:1.12; font-weight:var(--knd-footer-contact-heading-weight,900); letter-spacing:-.02em; }
.knd-footer-contact__text,
.knd-footer-contact__address,
.knd-footer-contact__hours { color:var(--knd-footer-contact-color, rgba(255,255,255,.78)); line-height:1.75; }
.knd-footer-contact__meta { display:grid; gap:.55rem; margin:1.4rem 0 0; }
.knd-footer-contact__meta-link { display:inline-flex; align-items:center; gap:.62rem; font-weight:800; }
.knd-footer-contact__meta-icon { display:inline-flex; align-items:center; justify-content:center; width:var(--knd-footer-contact-icon-size,20px); height:var(--knd-footer-contact-icon-size,20px); flex:0 0 var(--knd-footer-contact-icon-size,20px); }
.knd-footer-contact__meta-icon svg { width:100%; height:100%; fill:currentColor; }
.knd-footer-contact__divider { margin:2rem 0; border:0; border-top:1px solid var(--knd-footer-contact-divider-color, rgba(255,255,255,.16)); opacity:1; }
.knd-footer-contact__links { display:grid; gap:var(--knd-footer-contact-link-gap,.75rem); }
.knd-footer-contact__links a { position:relative; display:inline-flex; align-items:center; width:max-content; max-width:100%; font-weight:800; }
.knd-footer-contact__links a::after { content:"→"; margin-left:.45rem; opacity:.55; transition:transform .2s ease, opacity .2s ease; }
.knd-footer-contact__links a:hover::after { transform:translateX(3px); opacity:1; }
.knd-footer-contact__side { display:flex; align-items:stretch; width:100%; min-width:0; max-width:100%; height:100%; box-sizing:border-box; }
.knd-footer-contact__map-column,
.knd-footer-contact__card,
.knd-footer-contact-map { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.knd-footer-contact__side > * { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.knd-footer-contact__combined-left { display:flex; flex-direction:column; gap:var(--knd-footer-contact-combined-gap,2rem); }
.knd-footer-contact--combined .knd-footer-contact__content { max-width:none; }
.knd-footer-contact--combined .knd-footer-contact-map { margin-top:auto; }
.knd-template-footer-map,
.knd-template-footer-map > .knd-tb-block__inner,
.knd-template-footer-map :where(.container,.container-fluid,figure,picture) {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.knd-template-footer-map :where(.row,[class*="col-"]) {
  min-width:0 !important;
  box-sizing:border-box !important;
}
.knd-template-footer-map :where(img,iframe,video) {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto;
  border:0;
  box-sizing:border-box !important;
}
.knd-template-footer-map a[href*="google.com/maps"]:not(:has(img,iframe,picture)),
.knd-template-footer-map a[href*="maps.google"]:not(:has(img,iframe,picture)),
.knd-template-footer-map a[href*="maps.app.goo.gl"]:not(:has(img,iframe,picture)),
.knd-footer-contact-map__action {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem;
  min-height:var(--knd-button-min-height,48px) !important;
  margin-top:var(--knd-footer-contact-map-action-margin-top,.75rem) !important;
  padding:var(--knd-button-padding-y,.75rem) var(--knd-button-padding-x,1.2rem) !important;
  border:var(--knd-button-border-width,1px) solid var(--knd-button-border-color,var(--knd-color-primary,#007f79)) !important;
  border-radius:var(--knd-button-border-radius,var(--knd-radius-button,10px)) !important;
  background:var(--knd-button-bg,var(--knd-color-primary,#007f79)) !important;
  color:var(--knd-button-color,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  font-weight:var(--knd-button-font-weight,700) !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}
.knd-template-footer-map a[href*="google.com/maps"]:not(:has(img,iframe,picture)):is(:hover,:focus-visible),
.knd-template-footer-map a[href*="maps.google"]:not(:has(img,iframe,picture)):is(:hover,:focus-visible),
.knd-template-footer-map a[href*="maps.app.goo.gl"]:not(:has(img,iframe,picture)):is(:hover,:focus-visible),
.knd-footer-contact-map__action:is(:hover,:focus-visible) {
  background:var(--knd-button-hover-bg,var(--knd-color-secondary,#0f766e)) !important;
  border-color:var(--knd-button-hover-border-color,var(--knd-button-hover-bg,var(--knd-color-secondary,#0f766e))) !important;
  color:var(--knd-button-hover-color,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  text-decoration:none !important;
}
.knd-footer-contact__card,
.knd-footer-contact-map { overflow:hidden; border-radius:var(--knd-footer-contact-card-radius,22px); background:var(--knd-footer-contact-card-bg, rgba(255,255,255,.06)); color:var(--knd-footer-contact-card-color,#fff); border:1px solid var(--knd-footer-contact-card-border-color, rgba(255,255,255,.14)); box-shadow:var(--knd-footer-contact-card-shadow, 0 18px 40px rgb(0 0 0 / 18%)); }
.knd-footer-contact-map__header { padding:var(--knd-footer-contact-card-padding, clamp(18px, 3vw, 26px)); }
.knd-footer-contact-map__title { margin:0 0 .35rem; color:var(--knd-footer-contact-heading-color,#fff); font-size:1.15rem; font-weight:900; }
.knd-footer-contact-map__text { margin:0; color:var(--knd-footer-contact-muted-color, rgba(255,255,255,.72)); font-size:.95rem; line-height:1.55; }
.knd-footer-contact-map__link { position:relative; display:block; width:100%; max-width:100%; min-width:0; min-height:var(--knd-footer-contact-map-min-height,320px); overflow:hidden; background:var(--knd-footer-contact-map-visual-bg); color:inherit; text-decoration:none; box-sizing:border-box; }
.knd-footer-contact-map__link:hover,.knd-footer-contact-map__link:focus-visible { color:inherit; text-decoration:none; }
.knd-footer-contact-map__visual { position:absolute; inset:0; width:100%; height:100%; max-width:100%; min-width:0; overflow:hidden; opacity:.95; background:var(--knd-footer-contact-map-visual-bg); box-sizing:border-box; }
.knd-footer-contact__company-name { margin:.2rem 0 .75rem; color:var(--knd-footer-contact-muted-color,rgba(255,255,255,.72)); font-weight:700; }
.knd-footer-contact__offices { display:grid; gap:1rem; margin-top:1.25rem; }
.knd-footer-contact__office { padding-top:1rem; border-top:1px solid var(--knd-footer-contact-divider-color,rgba(255,255,255,.16)); color:var(--knd-footer-contact-muted-color,rgba(255,255,255,.72)); }
.knd-footer-contact__office h4 { margin:0 0 .35rem; color:var(--knd-footer-contact-heading-color,#fff); font-size:1.05rem; }
.knd-footer-contact-map__visual :is(img,picture,iframe),.knd-footer-contact-map__link > :is(img,picture,iframe),.knd-footer-contact-map :is(img,picture,iframe) { display:block; width:100% !important; max-width:100% !important; min-width:0 !important; border:0; box-sizing:border-box; }
.knd-footer-contact-map__visual :is(img,picture,iframe),.knd-footer-contact-map__link > :is(img,picture,iframe) { position:absolute; inset:0; height:100% !important; object-fit:cover; }
.knd-footer-contact-map__visual picture > img,.knd-footer-contact-map__link > picture > img { display:block; width:100%; height:100%; object-fit:cover; }
.knd-footer-contact-map__grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size:44px 44px; opacity:.28; }
.knd-footer-contact-map__pin { position:absolute; left:50%; top:48%; width:22px; height:22px; border-radius:50% 50% 50% 0; transform:translate(-50%,-50%) rotate(-45deg); background:var(--knd-footer-contact-cta-bg, var(--knd-color-primary,#007f79)); box-shadow:0 10px 22px rgba(0,0,0,.25); }
.knd-footer-contact-map__pin::after { content:""; position:absolute; inset:6px; border-radius:50%; background:#fff; }
.knd-footer-contact-map__link > .knd-footer-contact-map__overlay,
.knd-footer-contact-map__overlay.btn { position:absolute !important; z-index:2 !important; left:1rem; bottom:1rem; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:.45rem; width:auto; max-width:calc(100% - 2rem); min-height:var(--knd-button-min-height,44px); margin:0 !important; padding:.65rem .95rem !important; border:1px solid var(--knd-footer-contact-cta-border-color, transparent) !important; border-radius:var(--knd-footer-contact-cta-radius,var(--knd-button-border-radius,var(--knd-radius-button,10px))) !important; background:var(--knd-footer-contact-cta-bg,var(--knd-button-bg,var(--knd-color-primary,#007f79))) !important; color:var(--knd-footer-contact-cta-color,var(--knd-button-color,#fff)) !important; -webkit-text-fill-color:currentColor !important; font-weight:var(--knd-button-font-weight,700) !important; line-height:1.2 !important; text-align:center !important; text-decoration:none !important; box-shadow:0 10px 24px rgba(0,0,0,.24) !important; box-sizing:border-box !important; }
.knd-footer-contact-map__overlay::after { content:"→"; transition:transform .2s ease; }
.knd-footer-contact-map__link:hover .knd-footer-contact-map__overlay::after { transform:translateX(4px); }
.knd-footer-contact-form-card { width:100%; margin:0; padding:0; overflow:visible; background:transparent; color:inherit; border:0; border-radius:0; box-shadow:none; }
.knd-footer-contact-form-card .knd-contactform,
.knd-footer-contact-form-card .knd-contact-form { margin:0; }
.knd-footer-contact-form-card .knd-contactform { width:100%; }
#footer .knd-footer-contact-form-card .knd-contactform > .container.knd-contactform__shell,
#footer .knd-footer-contact-form-card .knd-contactform > .container-fluid.knd-contactform__shell,
.knd-footer-contact-form-card .knd-contactform > .container.knd-contactform__shell,
.knd-footer-contact-form-card .knd-contactform > .container-fluid.knd-contactform__shell { width:100% !important; max-width:var(--knd-footer-contact-form-shell-max-width, none) !important; margin:var(--knd-footer-contact-form-shell-margin, 0) !important; padding:var(--knd-footer-contact-form-shell-padding-y, 0px) var(--knd-footer-contact-form-shell-padding-x, 0px) !important; }
.knd-footer-contact-form-card .knd-contactform .knd-contactform__row,
.knd-footer-contact-form-card .knd-contactform .row.justify-content-center { justify-content:stretch !important; --bs-gutter-x:0; --bs-gutter-y:0; margin-left:0; margin-right:0; }
.knd-footer-contact-form-card .knd-contactform .knd-contactform__col,
.knd-footer-contact-form-card .knd-contactform .col-12.col-xl-10 { flex:0 0 100% !important; max-width:100% !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.knd-footer-contact-form-card .knd-contactform .knd-contactform__card,
.knd-footer-contact-form-card .knd-contactform .card { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.knd-footer-contact-form-card .knd-contactform .knd-contactform__body,
.knd-footer-contact-form-card .knd-contactform .card-body { padding: var(--knd-card-body-padding, clamp(22px, 2.6vw, 34px)) !important; }
.knd-footer-contact-form-card .knd-contactform .h5 { margin-top:0; color:var(--knd-footer-contact-heading-color,#fff); }
.knd-footer-contact-form-card input,
.knd-footer-contact-form-card textarea,
.knd-footer-contact-form-card select { background:rgba(255,255,255,.92); color:var(--knd-color-text,#111827); }
.knd-form__antispam,
.knd-form__antispam-box,
.knd-turnstile,
.knd-global-turnstile { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.knd-form__antispam iframe,
.knd-global-turnstile iframe { display:block; width:100% !important; max-width:100% !important; }
.knd-auth-turnstile { margin:1rem 0; }
@media (max-width: 991.98px) {
  .knd-footer-contact, .knd-tb-footer-contact { padding-inline: var(--knd-container-gutter,16px); }
  .knd-footer-contact__content{max-width:none;}
  .knd-footer-contact__row,
  .knd-footer-contact__row>[class*="col-"],
  .knd-footer-contact__map-column,
  .knd-footer-contact__side,
  .knd-footer-contact-map,
  .knd-template-footer-map,
  .knd-template-footer-map > .knd-tb-block__inner {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .knd-template-footer-map :where(img,iframe,video),
  .knd-footer-contact-map__link {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .knd-footer-contact-map__link {
    min-height:var(--knd-footer-contact-map-min-height-mobile,260px);
    aspect-ratio:var(--knd-footer-contact-map-aspect-ratio-mobile,4/3);
  }
  .knd-template-footer-map a[href*="google.com/maps"]:not(:has(img,iframe,picture)),
  .knd-template-footer-map a[href*="maps.google"]:not(:has(img,iframe,picture)),
  .knd-template-footer-map a[href*="maps.app.goo.gl"]:not(:has(img,iframe,picture)) {
    width:100%!important;
    max-width:100%!important;
  }
  .knd-footer-contact-map__link>.knd-footer-contact-map__overlay,
  .knd-footer-contact-map__overlay.btn {
    left:var(--knd-footer-contact-map-overlay-left-mobile,16px)!important;
    right:var(--knd-footer-contact-map-overlay-right-mobile,16px)!important;
    bottom:var(--knd-footer-contact-map-overlay-bottom-mobile,16px)!important;
    width:calc(100% - var(--knd-footer-contact-map-overlay-left-mobile,16px) - var(--knd-footer-contact-map-overlay-right-mobile,16px))!important;
    max-width:calc(100% - var(--knd-footer-contact-map-overlay-left-mobile,16px) - var(--knd-footer-contact-map-overlay-right-mobile,16px))!important;
    justify-content:center!important;
    text-align:center!important;
  }
}


@media (max-width: 767.98px) {
  .knd-footer-contact { margin-top: var(--knd-footer-contact-margin-top-mobile, 0px); }
  .knd-footer-contact .container { width:100% !important; max-width:100% !important; padding-top:0; padding-left:var(--knd-footer-contact-gutter-mobile,12px) !important; padding-right:var(--knd-footer-contact-gutter-mobile,12px) !important; }
  .knd-footer-contact__row { --bs-gutter-x:0; margin-left:0 !important; margin-right:0 !important; }
  .knd-footer-contact__row > [class*="col-"] { padding-left:0 !important; padding-right:0 !important; }
  .knd-footer-contact--form { padding-top: var(--knd-footer-contact-padding-y-mobile, clamp(24px, 8vw, 42px)); padding-bottom: var(--knd-footer-contact-padding-y-mobile, clamp(24px, 8vw, 42px)); }
  .knd-footer-contact__row { row-gap: var(--knd-footer-contact-gap-mobile, clamp(18px, 6vw, 32px)); }
  .knd-footer-contact-form-card,
  .knd-footer-contact-form-card .knd-contactform,
  .knd-footer-contact-form-card .knd-contactform__shell,
  .knd-footer-contact-form-card .knd-contactform__card { width:100% !important; max-width:100% !important; margin-inline:0 !important; }
  .knd-footer-contact-form-card .knd-contactform .knd-contactform__body,
  .knd-footer-contact-form-card .knd-contactform .card-body { padding-inline:0 !important; }
  .knd-footer-contact-form-card :is(.knd-turnstile,.knd-global-turnstile,.cf-turnstile),
  .knd-footer-contact-form-card :is(.knd-turnstile,.knd-global-turnstile,.cf-turnstile) iframe { width:100% !important; min-width:0 !important; max-width:100% !important; overflow:hidden; }
}

/* Source: assets/css/kndev-custom.css */
/* KNDev custom overrides. This file is not overwritten by the asset builder. */
.knd-form__antispam,.knd-form__antispam-box,.knd-turnstile,.knd-global-turnstile{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.knd-form__antispam iframe,.knd-global-turnstile iframe{display:block;width:100%!important;max-width:100%!important}

/* KNDev shared listing components: cards, empty states and pagination. */
.knd-card-grid{display:grid;grid-template-columns:1fr;gap:var(--knd-product-grid-gap,1.5rem)}
.knd-result-card{display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;background:var(--knd-product-card-bg,#fff);color:var(--knd-product-card-color,var(--knd-color-text,#111827));border:var(--knd-product-card-border-width,1px) solid var(--knd-product-card-border-color,var(--knd-color-border,#dbe3e8));border-radius:var(--knd-product-card-border-radius,var(--knd-radius-card,24px));box-shadow:var(--knd-product-card-shadow,none);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.knd-result-card:hover{transform:translateY(-2px);box-shadow:var(--knd-product-card-hover-shadow,var(--knd-shadow-card));border-color:var(--knd-color-primary,#007f79)}
.knd-result-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--knd-product-card-image-bg,#f3f7f6)}.knd-result-card__image img{width:100%;height:100%;object-fit:cover;image-rendering:auto}
.knd-result-card__body{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:.75rem;padding:var(--knd-product-card-padding,1rem)}.knd-result-card__title{margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.3}.knd-result-card__title a{color:inherit;text-decoration:none}.knd-result-card__title a:is(:hover,:focus-visible){color:var(--knd-color-primary,#007f79)}.knd-result-card__excerpt{display:-webkit-box;overflow:hidden;margin:0;color:var(--knd-color-muted,#64748b);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.knd-result-card__cta{margin-top:auto}
.knd-empty-state{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:clamp(2rem,6vw,4rem);text-align:center;background:var(--knd-color-surface,#f6f8fb);border:1px dashed var(--knd-color-border,#dbe3e8);border-radius:var(--knd-radius-card,24px)}.knd-empty-state__icon{display:grid;width:3.5rem;height:3.5rem;place-items:center;color:var(--knd-color-primary,#007f79);background:var(--knd-color-background,#fff);border-radius:50%;box-shadow:var(--knd-shadow-card)}.knd-empty-state__icon svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.knd-empty-state__title{margin:0;font-size:clamp(1.1rem,2vw,1.35rem)}.knd-empty-state__text{max-width:36rem;margin:0;color:var(--knd-color-muted,#64748b)}
.knd-empty-state--action{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.knd-empty-state--action:is(:hover,:focus-visible){border-color:var(--knd-color-primary,#007f79);box-shadow:var(--knd-shadow-card);transform:translateY(-1px);outline:0}body:not(.knd-hf-stuck) [data-knd-sticky-contact="system"] [data-knd-sticky-tool="search"]{display:none!important}
body:not(.knd-hf-stuck) [data-knd-sticky-contact="system"] [data-knd-sticky-tool="cart"]{display:none!important}
.knd-pagination{display:flex;justify-content:center;margin-block:clamp(1.5rem,4vw,2.5rem)}.knd-pagination__list{display:flex;max-width:100%;align-items:center;justify-content:center;gap:.4rem;margin:0;padding:.4rem;list-style:none;background:var(--knd-color-surface,#f6f8fb);border:1px solid var(--knd-color-border,#dbe3e8);border-radius:999px;overflow-x:auto}.knd-pagination__item{flex:0 0 auto}.knd-pagination__link{display:inline-flex;min-width:2.5rem;height:2.5rem;align-items:center;justify-content:center;padding:0 .75rem;color:var(--knd-color-text,#111827);font-weight:700;text-decoration:none;background:var(--knd-color-background,#fff);border:1px solid transparent;border-radius:999px;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.knd-pagination__link:is(a):is(:hover,:focus-visible){color:var(--knd-color-primary,#007f79);border-color:var(--knd-color-primary,#007f79);box-shadow:0 0 0 3px color-mix(in srgb,var(--knd-color-primary,#007f79) 18%,transparent);outline:0}.knd-pagination__item.is-current .knd-pagination__link{color:var(--knd-button-primary-color,#fff);background:var(--knd-color-primary,#007f79);border-color:var(--knd-color-primary,#007f79)}.knd-pagination__item.is-disabled .knd-pagination__link{opacity:.45;cursor:not-allowed}.knd-pagination__ellipsis{display:inline-flex;min-width:1.5rem;justify-content:center;color:var(--knd-color-muted,#64748b);font-weight:700}
html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-xxs,1),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-xxs,1),minmax(0,1fr))}@media (min-width:400px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-xs,2),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-xs,2),minmax(0,1fr))}}@media (min-width:576px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-sm,2),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-sm,2),minmax(0,1fr))}}@media (min-width:768px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-md,2),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-md,2),minmax(0,1fr))}}@media (min-width:992px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-lg,2),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-lg,3),minmax(0,1fr))}}@media (min-width:1200px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-xl,3),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-xl,4),minmax(0,1fr))}}@media (min-width:1400px){html body.knd-has-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-with-sidebar-xxl,3),minmax(0,1fr))}html body.knd-no-left-column .knd-card-grid{grid-template-columns:repeat(var(--knd-products-per-row-without-sidebar-xxl,4),minmax(0,1fr))}}@media (max-width:575.98px){.knd-pagination__list{justify-content:flex-start}.knd-pagination__link{min-width:2.25rem;height:2.25rem;padding:0 .6rem}.knd-pagination__link--direction{font-size:.875rem}}
