@charset "UTF-8";
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Light/Barlow-Light.eot");
  src: url("../assets/fonts/barlow/Light/Barlow-Light.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/Light/Barlow-Light.woff2") format("woff2"), url("../assets/fonts/barlow/Light/Barlow-Light.woff") format("woff"), url("../assets/fonts/barlow/Light/Barlow-Light.ttf") format("truetype"), url("../assets/fonts/barlow/Light/Barlow-Light.svg#Barlow-300") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Regular/Barlow-Regular.eot");
  src: url("../assets/fonts/barlow/Regular/Barlow-Regular.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/Regular/Barlow-Regular.woff2") format("woff2"), url("../assets/fonts/barlow/Regular/Barlow-Regular.woff") format("woff"), url("../assets/fonts/barlow/Regular/Barlow-Regular.ttf") format("truetype"), url("../assets/fonts/barlow/Regular/Barlow-Regular.svg#Barlow-400") format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Medium/Barlow-Medium.eot");
  src: url("../assets/fonts/barlow/Medium/Barlow-Medium.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/Medium/Barlow-Medium.woff2") format("woff2"), url("../assets/fonts/barlow/Medium/Barlow-Medium.woff") format("woff"), url("../assets/fonts/barlow/Medium/Barlow-Medium.ttf") format("truetype"), url("../assets/fonts/barlow/Medium/Barlow-Medium.svg#Barlow-500") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.eot");
  src: url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.woff2") format("woff2"), url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.woff") format("woff"), url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.ttf") format("truetype"), url("../assets/fonts/barlow/SemiBold/Barlow-SemiBold.svg#Barlow-600") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/Bold/Barlow-Bold.eot");
  src: url("../assets/fonts/barlow/Bold/Barlow-Bold.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/Bold/Barlow-Bold.woff2") format("woff2"), url("../assets/fonts/barlow/Bold/Barlow-Bold.woff") format("woff"), url("../assets/fonts/barlow/Bold/Barlow-Bold.ttf") format("truetype"), url("../assets/fonts/barlow/Bold/Barlow-Bold.svg#Barlow-700") format("svg");
  font-weight: 700;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Barlow";
  src: url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.eot");
  src: url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.woff2") format("woff2"), url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.woff") format("woff"), url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.ttf") format("truetype"), url("../assets/fonts/barlow/ExtraBold/Barlow-ExtraBold.svg#Barlow-800") format("svg");
  font-weight: 800;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "icomoon";
  src: url("../assets/fonts/icomoon/icomoon.eot?2qqxca");
  src: url("../assets/fonts/icomoon/icomoon.eot?2qqxca#iefix") format("embedded-opentype"), url("../assets/fonts/icomoon/icomoon.ttf?2qqxca") format("truetype"), url("../assets/fonts/icomoon/icomoon.woff?2qqxca") format("woff"), url("../assets/fonts/icomoon/icomoon.svg?2qqxca#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-stock-out:before {
  content: "\e90c";
}

.icon-bell:before {
  content: "\e90d";
}

.icon-mega-menu:before {
  content: "\e900";
}

.icon-pinterest:before {
  content: "\e90a";
}

.icon-account-fill:before {
  content: "\e909";
}

.icon-cart:before {
  content: "\e935";
}

.icon-table:before {
  content: "\e923";
}

.icon-quote:before {
  content: "\e947";
}

.icon-iconoir_eye:before {
  content: "\e912";
}

.icon-eye-blocked:before {
  content: "\e901";
}

.icon-x:before {
  content: "\e902";
}

.icon-checkmark:before {
  content: "\e903";
}

.icon-filters:before {
  content: "\e904";
}

.icon-magnifier:before {
  content: "\e905";
}

.icon-heart:before {
  content: "\e906";
}

.icon-heart-filled:before {
  content: "\e908";
}

.icon-linkedin:before {
  content: "\e907";
}

.icon-account:before {
  content: "\e90b";
}

.icon-tiktok:before {
  content: "\e913";
}

.icon-arrow-left:before {
  content: "\e914";
}

.icon-arrow-right:before {
  content: "\e915";
}

.icon-chevron-right:before {
  content: "\e916";
}

.icon-chevron-left:before {
  content: "\e917";
}

.icon-chevron-down:before {
  content: "\e918";
}

.icon-chevron-up:before {
  content: "\e919";
}

.icon-keyboard-shortcuts:before {
  content: "\e91a";
}

.icon-reload:before {
  content: "\e91b";
}

.icon-calendar:before {
  content: "\e91c";
}

.icon-play:before {
  content: "\e91d";
}

.icon-carret:before {
  content: "\e91f";
}

.icon-file-text:before {
  content: "\e922";
}

.icon-grid:before {
  content: "\e924";
}

.icon-minus:before {
  content: "\e926";
}

.icon-plus:before {
  content: "\e928";
}

.icon-checkmark-cross:before {
  content: "\e929";
}

.icon-checkmark-circle:before {
  content: "\e92a";
}

.icon-x-rounded:before {
  content: "\e92d";
}

.icon-dots:before {
  content: "\e92f";
}

.icon-clock-check-outline:before {
  content: "\e930";
}

.icon-warning:before {
  content: "\e932";
}

.icon-dangerous:before {
  content: "\e933";
}

.icon-export:before {
  content: "\e93d";
}

.icon-import:before {
  content: "\e93e";
}

.icon-bin:before {
  content: "\e9ac";
}

.icon-eye:before {
  content: "\e9ce";
}

.icon-facebook:before {
  content: "\ea90";
}

.icon-instagram:before {
  content: "\ea92";
}

.icon-rss:before {
  content: "\ea9b";
}

.icon-youtube:before {
  content: "\ea9d";
}

:root {
  --body-clr-dim: color-mix(in srgb, var(--body-bg-clr) 46.3%, var(--body-clr));
  --body-alt-clr-dim: color-mix(in srgb, var(--body-alt-bg-clr) 20%, var(--body-alt-clr));
  --dim-subtle: 15%; /* Just noticeable difference */
  --dim-light: 30%; /* Secondary information */
  --dim-medium: 50%; /* Tertiary information */
  --dim-strong: 70%; /* Decorative or disabled content */
  --dim-extreme: 85%; /* Very faint text, like watermarks */
  --clr-primary-50: var(--custom-clr-primary-50, #d4e4f2);
  --clr-primary-100: var(--custom-clr-primary-100, #b7d2e9);
  --clr-primary-200: var(--custom-clr-primary-200, #93bbdf);
  --clr-primary-300: var(--custom-clr-primary-300, #6fa4d4);
  --clr-primary-400: var(--custom-clr-primary-400, #4b8ec9);
  --clr-primary-500: var(--custom-clr-primary-500, #2777be);
  --clr-primary-600: var(--custom-clr-primary-600, #21639e);
  --clr-primary-700: var(--custom-clr-primary-700, #1a4f7f);
  --clr-primary-800: var(--custom-clr-primary-800, #143c5f);
  --clr-primary-900: var(--custom-clr-primary-900, #0d283f);
  --clr-primary-950: var(--custom-clr-primary-950, #081826);
  --clr-neutral-50: var(--custom-clr-neutral-50, #f9fafb);
  --clr-neutral-100: var(--custom-clr-neutral-100, #f3f4f6);
  --clr-neutral-200: var(--custom-clr-neutral-200, #e5e7eb);
  --clr-neutral-300: var(--custom-clr-neutral-300, #d1d5db);
  --clr-neutral-400: var(--custom-clr-neutral-400, #9ca3af);
  --clr-neutral-500: var(--custom-clr-neutral-500, #6b7280);
  --clr-neutral-600: var(--custom-clr-neutral-600, #4b5563);
  --clr-neutral-700: var(--custom-clr-neutral-700, #374151);
  --clr-neutral-800: var(--custom-clr-neutral-800, #1f2937);
  --clr-neutral-900: var(--custom-clr-neutral-900, #111827);
  --clr-neutral-950: var(--custom-clr-neutral-950, #030712);
  --clr-white: #ffffff;
  --clr-black: #000000;
  --clr-warning-tint: var(--custom-clr-warning-tint, #FFE8CC);
  --clr-warning: var(--custom-clr-warning, #f1b14e);
  --clr-warning-shade: var(--custom-clr-warning-shade, #d27f00);
  --clr-danger-tint: var(--custom-clr-danger-tint, #FF9D96);
  --clr-danger: var(--custom-clr-danger, #fb4e43);
  --clr-danger-shade: var(--custom-clr-danger-shade, #b0372f);
  --clr-success-tint: var(--custom-clr-success-tint, #DAF1E5);
  --clr-success: var(--custom-clr-success, #46b77b);
  --clr-success-shade: var(--custom-clr-success-shade, #318056);
  --clr-info-tint: var(--custom-clr-info-tint, #D4E4F2);
  --clr-info: var(--custom-clr-info, #2777be);
  --clr-info-shade: var(--custom-clr-info-shade, #1f5f98);
  --body-clr: var(--custom-body-clr, var(--clr-black));
  --body-bg-clr: var(--custom-body-bg-clr, #FFFFFF);
  --body-icon-clr: var(--custom-body-icon-clr, var(--clr-primary-500));
  --body-icon-hover-clr: var(--custom-body-icon-hover-clr, var(--clr-primary-600));
  --body-link-clr: var(--custom-body-link-clr, var(--clr-primary-500));
  --body-link-hover-clr: var(--custom-body-link-hover-clr, var(--clr-primary-500));
  --body-link-visited-clr: var(--custom-body-link-visited-clr, var(--clr-primary-500));
  --body-link-visited-hover-clr: var(--custom-body-link-visited-hover-clr, var(--clr-primary-500));
  --body-alt-clr: var(--custom-body-alt-clr, #8996A2);
  --body-alt-bg-clr: var(--custom-body-alt-bg-clr, #F7F8F9);
  --body-alt-icon-clr: var(--custom-body-alt-icon-clr, var(--clr-black));
  --body-alt-icon-hover-clr: var(--custom-body-alt-icon-hover-clr, var(--clr-black));
  --body-alt-link-clr: var(--custom-body-alt-link-clr, var(--clr-primary-500));
  --body-alt-link-hover-clr: var(--custom-body-alt-link-hover-clr, var(--clr-primary-500));
  --header-box-shadow-clr: var(--custom-header-box-shadow-clr, var(--clr-black));
  --header-box-shadow-opacity: var(--custom-header-box-shadow-opacity, 12%);
  --header-bg-clr: var(--custom-header-bg-clr, var(--clr-white));
  --header-icon-clr: var(--custom-header-icon-clr, var(--clr-black));
  --header-icon-hover-clr: var(--custom-header-icon-hover-clr, var(--clr-primary-500));
  --header-link-clr: var(--custom-header-link-clr, var(--clr-black));
  --header-link-hover-clr: var(--custom-header-link-hover-clr, var(--clr-primary-500));
  --header-notif-bg-clr: var(--custom-header-notif-bg-clr, var(--clr-danger));
  --header-search-clr: var(--custom-header-search-clr, var(--clr-black));
  --header-search-bg-clr: var(--custom-header-search-bg-clr, var(--clr-white));
  --header-search-border-clr: var(--custom-header-search-border-clr, var(--clr-neutral-300));
  --header-search-icon-clr: var(--custom-header-search-icon-clr, var(--clr-black));
  --header-search-icon-bg-clr: var(--custom-header-search-icon-bg-clr, var(--clr-white));
  --header-top-bar-bg-clr: var(--custom-header-top-bar-bg-clr, var(--clr-white));
  --header-top-bar-link-clr: var(--custom-header-top-bar-link-clr, var(--clr-black));
  --header-top-bar-link-hover-clr: var(--custom-header-top-bar-link-hover-clr, var(--clr-primary-500));
  --header-top-bar-announcement-text-clr: var(--custom-header-top-bar-announcement-text-clr, var(--clr-black));
  --header-top-bar-border-clr: var(--custom-header-top-bar-border-clr, var(--clr-neutral-300));
  --header-bottom-bar-bg-clr: var(--custom-header-bottom-bar-bg-clr, #0093dd);
  --header-bottom-bar-link-clr: var(--custom-header-bottom-bar-link-clr, var(--clr-white));
  --header-bottom-bar-link-hover-clr: var(--custom-header-bottom-bar-link-hover-clr, var(--clr-neutral-50));
  --header-bottom-bar-border-clr: var(--custom-header-bottom-bar-border-clr, #0093dd);
  --header-nav-bg-clr: var(--custom-header-nav-bg-clr, var(--clr-white));
  --header-nav-arrow-clr: var(--custom-header-nav-arrow-clr, var(--clr-black));
  --header-nav-overlay-opacity: var(--custom-header-nav-overlay-opacity, 50%);
  --header-nav-overlay-bg-clr: var(--custom-header-nav-overlay-bg-clr, var(--clr-black));
  --header-nav-sidebar-bg-clr: var(--custom-header-nav-sidebar-bg-clr, var(--clr-neutral-50));
  --header-nav-link-active-clr: var(--custom-header-nav-link-active-clr, var(--clr-primary-500));
  --header-nav-link-lvl-1-clr: var(--custom-header-nav-link-lvl-1-clr, var(--clr-black));
  --header-nav-link-lvl-1-hover-clr: var(--custom-header-nav-link-lvl-1-hover-clr, var(--clr-primary-500));
  --header-nav-link-lvl-2-clr: var(--custom-header-nav-link-lvl-2-clr, var(--clr-black));
  --header-nav-link-lvl-2-hover-clr: var(--custom-header-nav-link-lvl-2-hover-clr, var(--clr-primary-500));
  --header-nav-link-lvl-3-clr: var(--custom-header-nav-link-lvl-3-clr, var(--clr-black));
  --header-nav-link-lvl-3-hover-clr: var(--custom-header-nav-link-lvl-3-hover-clr, var(--clr-primary-500));
  --header-nav-extra-link-clr: var(--custom-header-nav-extra-link-clr, var(--clr-danger));
  --header-nav-extra-link-hover-clr: var(--custom-header-nav-extra-link-hover-clr, var(--clr-danger-shade));
  --header-nav-border-clr: var(--custom-header-nav-border-clr, color-mix(in srgb,var(--header-mobile-nav-link-lvl-1-clr) 6%,var(--header-mobile-nav-bg-clr)));
  --header-nav-box-shadow-clr: var(--custom-header-nav-box-shadow-clr, var(--clr-black));
  --header-mobile-top-bar-bg-clr: var(--custom-header-mobile-top-bar-bg-clr, var(--clr-white));
  --header-mobile-top-bar-clr: var(--custom-header-mobile-top-bar-clr, var(--clr-black));
  --header-mobile-top-bar-border-clr: var(--custom-header-mobile-top-bar-border-clr, color-mix(in srgb,var(--header-mobile-nav-link-lvl-1-clr) 6%,var(--header-mobile-nav-bg-clr)));
  --header-mobile-topbar-center-link-clr: var(--custom-header-mobile-topbar-center-link-clr, var(--clr-white));
  --header-mobile-topbar-center-link-hover-clr: var(--custom-header-mobile-topbar-center-link-hover-clr, var(--clr-neutral-200));
  --header-mobile-topbar-center-bg-clr: var(--custom-header-mobile-topbar-center-bg-clr, var(--clr-primary-500));
  --header-mobile-topbar-center-border-clr: var(--custom-header-mobile-topbar-center-border-clr, var(--clr-primary-500));
  --header-mobile-bottom-bar-bg-clr: var(--custom-header-mobile-bottom-bar-bg-clr, var(--clr-white));
  --header-mobile-bottom-bar-clr: var(--custom-header-mobile-bottom-bar-clr, var(--clr-black));
  --header-mobile-bottom-bar-hover-clr: var(--custom-header-mobile-bottom-bar-hover-clr, var(--clr-primary-500));
  --header-mobile-bottom-bar-border-clr: var(--custom-header-mobile-bottom-bar-border-clr, color-mix(in srgb,var(--header-mobile-nav-link-lvl-1-clr) 6%,var(--header-mobile-nav-bg-clr)));
  --header-mobile-nav-bg-clr: var(--custom-header-mobile-nav-bg-clr, var(--clr-white));
  --header-mobile-nav-link-border-clr: var(--custom-header-mobile-nav-link-border-clr, color-mix(in srgb,var(--header-mobile-nav-link-lvl-1-clr) 6%,var(--header-mobile-nav-bg-clr)));
  --header-mobile-nav-link-lvl-1-clr: var(--custom-header-mobile-nav-link-lvl-1-clr, var(--clr-black));
  --header-mobile-nav-link-lvl-1-hover-clr: var(--custom-header-mobile-nav-link-lvl-1-hover-clr, var(--clr-primary-500));
  --header-mobile-nav-link-lvl-1-arrow-clr: var(--custom-header-mobile-nav-link-lvl-1-arrow-clr, var(--clr-black));
  --header-mobile-nav-link-lvl-2-clr: var(--custom-header-mobile-nav-link-lvl-2-clr, var(--clr-black));
  --header-mobile-nav-link-lvl-2-hover-clr: var(--custom-header-mobile-nav-link-lvl-2-hover-clr, var(--clr-primary-500));
  --header-mobile-nav-link-lvl-2-arrow-clr: var(--custom-header-mobile-nav-link-lvl-2-arrow-clr, var(--clr-black));
  --header-mobile-nav-extra-link-clr: var(--custom-header-mobile-nav-extra-link-clr, var(--clr-danger));
  --header-mobile-nav-extra-link-hover-clr: var(--custom-header-mobile-nav-extra-link-hover-clr, var(--clr-danger-shade));
  --header-mobile-nav-custom-link-clr: var(--custom-header-mobile-nav-custom-link-clr, var(--clr-black));
  --header-mobile-nav-custom-link-hover-clr: var(--custom-header-mobile-nav-custom-link-hover-clr, var(--clr-primary-500));
  --header-mobile-nav-show-all-link-clr: var(--custom-header-mobile-nav-show-all-link-clr, var(--clr-primary-500));
  --header-mobile-nav-show-all-link-hover-clr: var(--custom-header-mobile-nav-show-all-link-hover-clr, var(--clr-primary-700));
  --header-mobile-nav-back-link-bg-clr: var(--custom-header-mobile-nav-back-link-bg-clr, var(--clr-white));
  --header-mobile-nav-back-link-clr: var(--custom-header-mobile-nav-back-link-clr, var(--clr-black));
  --header-mobile-nav-back-link-hover-clr: var(--custom-header-mobile-nav-back-link-hover-clr, var(--clr-primary-700));
  --header-mobile-nav-back-link-arrow-clr: var(--custom-header-mobile-nav-back-link-arrow-clr, var(--clr-black));
  --footer-clr: var(--custom-footer-clr, var(--clr-black));
  --footer-bg-clr: var(--custom-footer-bg-clr, #F7F8F9);
  --footer-icon-clr: var(--custom-footer-icon-clr, var(--clr-black));
  --footer-icon-hover-clr: var(--custom-footer-icon-hover-clr, var(--clr-black));
  --footer-link-clr: var(--custom-footer-link-clr, var(--clr-black));
  --footer-link-hover-clr: var(--custom-footer-link-hover-clr, var(--clr-primary-500));
  --footer-alt-clr: var(--custom-footer-alt-clr, var(--clr-white));
  --footer-alt-bg-clr: var(--custom-footer-alt-bg-clr, #4E5D6B);
  --footer-alt-link-clr: var(--custom-footer-alt-link-clr, var(--clr-white));
  --footer-alt-link-hover-clr: var(--custom-footer-alt-link-hover-clr, var(--clr-primary-500));
  --ribbon-discount-bg-clr: var(--custom-ribbon-discount-bg-clr, var(--clr-danger));
  --ribbon-discount-big-bg-clr: var(--custom-ribbon-discount-big-bg-clr, var(--clr-danger-shade));
  --ribbon-discount-small-bg-clr: var(--custom-ribbon-discount-small-bg-clr, var(--clr-warning));
  --ribbon-discount-new-bg-clr: var(--custom-ribbon-discount-new-bg-clr, var(--clr-success));
  --ribbon-discount-sale-bg-clr: var(--custom-ribbon-discount-sale-bg-clr, var(--clr-warning));
  --ribbon-discount-limited-bg-clr: var(--custom-ribbon-discount-limited-bg-clr, var(--clr-danger));
  --ribbon-discount-clr: var(--custom-ribbon-discount-clr, var(--clr-white));
  --ribbon-discount-big-clr: var(--custom-ribbon-discount-big-clr, var(--clr-white));
  --ribbon-discount-small-clr: var(--custom-ribbon-discount-small-clr, var(--clr-white));
  --ribbon-discount-new-clr: var(--custom-ribbon-discount-new-clr, var(--clr-white));
  --ribbon-discount-sale-clr: var(--custom-ribbon-discount-sale-clr, var(--clr-white));
  --ribbon-discount-limited-clr: var(--custom-ribbon-discount-limited-clr, var(--clr-white));
  --ff-primary: var(--custom-ff-primary, Barlow, sans-serif);
  --ff-secondary: var(--custom-ff-secondary, Barlow);
  --base-font-size: 1rem;
  --fs-50: 0.625rem;
  --fs-100: 0.688rem;
  --fs-150: 0.75rem;
  --fs-200: 0.875rem;
  --fs-250: 0.938rem;
  --fs-300: 1rem;
  --fs-350: 1.125rem;
  --fs-400: 1.25rem;
  --fs-450: 1.5rem;
  --fs-500: 1.75rem;
  --fs-550: 2rem;
  --fs-600: 2.25rem;
  --fs-650: 2.5rem;
  --fs-700: 3rem;
  --fs-750: 3.5rem;
  --fs-800: 4rem;
  --fs-850: 5rem;
  --fs-900: 6rem;
  --fs-950: 8rem;
  --scale-1: 1;
  --scale-2: 1.067;
  --scale-3: 1.125;
  --scale-4: 1.2;
  --scale-5: 1.25;
  --scale-6: 1.333;
  --scale-7: 1.414;
  --scale-8: 1.5;
  --scale-9: 1.618;
  --scale-10: 1.667;
  --scale-11: 1.778;
  --scale-12: 1.875;
  --scale-13: 2;
  --scale-14: 2.125;
  --scale-15: 2.25;
  --scale-16: 2.5;
  --scale-17: 2.75;
  --scale-18: 3;
  --lh-50: 0.938rem;
  --lh-100: 1.031rem;
  --lh-150: 1.125rem;
  --lh-200: 1.312rem;
  --lh-250: 1.406rem;
  --lh-300: 1.5rem;
  --lh-350: 1.575rem;
  --lh-400: 1.75rem;
  --lh-450: 2.025rem;
  --lh-500: 2.275rem;
  --lh-550: 2.6rem;
  --lh-600: 2.812rem;
  --lh-650: 3rem;
  --lh-700: 3.3rem;
  --lh-750: 4.131rem;
  --lh-800: 4.637rem;
  --lh-850: 5.7rem;
  --lh-900: 6.838rem;
  --lh-950: 8.962rem;
  --fw-100: 100;
  --fw-200: 200;
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
  --ls-normal: 0;
  --ls-tight: -0.025em;
  --ls-tighter: -0.05em;
  --ls-wide: 0.025em;
  --ls-wider: 0.05em;
  --ls-widest: 0.1em;
  --d1-ff: var(--custom-d1-ff, var(--ff-primary));
  --d1-fs: var(--custom-d1-fs, var(--fs-900));
  --d1-sf: var(--custom-d1-sf, var(--scale-16));
  --d1-lh: var(--custom-d1-lh, var(--lh-900));
  --d1-fw: var(--custom-d1-fw, var(--fw-800));
  --d1-ls: var(--custom-d1-ls, var(--ls-normal));
  --d1-tt: var(--custom-d1-tt, uppercase);
  --d2-ff: var(--custom-d2-ff, var(--ff-primary));
  --d2-fs: var(--custom-d2-fs, var(--fs-850));
  --d2-sf: var(--custom-d2-sf, var(--scale-16));
  --d2-lh: var(--custom-d2-lh, var(--lh-850));
  --d2-fw: var(--custom-d2-fw, var(--fw-800));
  --d2-ls: var(--custom-d2-ls, var(--ls-normal));
  --d2-tt: var(--custom-d2-tt, none);
  --d3-ff: var(--custom-d3-ff, var(--ff-primary));
  --d3-fs: var(--custom-d3-fs, var(--fs-800));
  --d3-sf: var(--custom-d3-sf, var(--scale-13));
  --d3-lh: var(--custom-d3-lh, var(--lh-800));
  --d3-fw: var(--custom-d3-fw, var(--fw-800));
  --d3-ls: var(--custom-d3-ls, var(--ls-normal));
  --d3-tt: var(--custom-d3-tt, none);
  --d4-ff: var(--custom-d4-ff, var(--ff-primary));
  --d4-fs: var(--custom-d4-fs, var(--fs-700));
  --d4-sf: var(--custom-d4-sf, var(--scale-13));
  --d4-lh: var(--custom-d4-lh, var(--lh-700));
  --d4-fw: var(--custom-d4-fw, var(--fw-700));
  --d4-ls: var(--custom-d4-ls, var(--ls-normal));
  --d4-tt: var(--custom-d4-tt, none);
  --d5-ff: var(--custom-d5-ff, var(--ff-primary));
  --d5-fs: var(--custom-d5-fs, var(--fs-650));
  --d5-sf: var(--custom-d5-sf, var(--scale-13));
  --d5-lh: var(--custom-d5-lh, var(--lh-650));
  --d5-fw: var(--custom-d5-fw, var(--fw-700));
  --d5-ls: var(--custom-d5-ls, var(--ls-normal));
  --d5-tt: var(--custom-d5-tt, none);
  --d6-ff: var(--custom-d6-ff, var(--ff-primary));
  --d6-fs: var(--custom-d6-fs, var(--fs-550));
  --d6-sf: var(--custom-d6-sf, var(--scale-13));
  --d6-lh: var(--custom-d6-lh, var(--lh-550));
  --d6-fw: var(--custom-d6-fw, var(--fw-700));
  --d6-ls: var(--custom-d6-ls, var(--ls-normal));
  --d6-tt: var(--custom-d6-tt, none);
  --h1-ff: var(--custom-h1-ff, var(--ff-primary));
  --h1-fs: var(--custom-h1-fs, var(--fs-700));
  --h1-sf: var(--custom-h1-sf, var(--scale-8));
  --h1-lh: var(--custom-h1-lh, var(--lh-750));
  --h1-fw: var(--custom-h1-fw, var(--fw-800));
  --h1-ls: var(--custom-h1-ls, var(--ls-normal));
  --h1-tt: var(--custom-h1-tt, none);
  --h2-ff: var(--custom-h2-ff, var(--ff-primary));
  --h2-fs: var(--custom-h2-fs, var(--fs-650));
  --h2-sf: var(--custom-h2-sf, var(--scale-8));
  --h2-lh: var(--custom-h2-lh, var(--lh-700));
  --h2-fw: var(--custom-h2-fw, var(--fw-800));
  --h2-ls: var(--custom-h2-ls, var(--ls-normal));
  --h2-tt: var(--custom-h2-tt, none);
  --h3-ff: var(--custom-h3-ff, var(--ff-primary));
  --h3-fs: var(--custom-h3-fs, var(--fs-600));
  --h3-sf: var(--custom-h3-sf, var(--scale-8));
  --h3-lh: var(--custom-h3-lh, var(--lh-650));
  --h3-fw: var(--custom-h3-fw, var(--fw-700));
  --h3-ls: var(--custom-h3-ls, var(--ls-normal));
  --h3-tt: var(--custom-h3-tt, none);
  --h4-ff: var(--custom-h4-ff, var(--ff-primary));
  --h4-fs: var(--custom-h4-fs, var(--fs-500));
  --h4-sf: var(--custom-h4-sf, var(--scale-7));
  --h4-lh: var(--custom-h4-lh, var(--lh-550));
  --h4-fw: var(--custom-h4-fw, var(--fw-700));
  --h4-ls: var(--custom-h4-ls, var(--ls-normal));
  --h4-tt: var(--custom-h4-tt, none);
  --h5-ff: var(--custom-h5-ff, var(--ff-primary));
  --h5-fs: var(--custom-h5-fs, var(--fs-450));
  --h5-sf: var(--custom-h5-sf, var(--scale-7));
  --h5-lh: var(--custom-h5-lh, var(--lh-450));
  --h5-fw: var(--custom-h5-fw, var(--fw-700));
  --h5-ls: var(--custom-h5-ls, var(--ls-normal));
  --h5-tt: var(--custom-h5-tt, none);
  --h6-ff: var(--custom-h6-ff, var(--ff-primary));
  --h6-fs: var(--custom-h6-fs, var(--fs-400));
  --h6-sf: var(--custom-h6-sf, var(--scale-7));
  --h6-lh: var(--custom-h6-lh, var(--lh-400));
  --h6-fw: var(--custom-h6-fw, var(--fw-700));
  --h6-ls: var(--custom-h6-ls, var(--ls-normal));
  --h6-tt: var(--custom-h6-tt, none);
  --btn-primary-clr: var(--custom-btn-primary-clr, var(--clr-white));
  --btn-action-clr: var(--custom-btn-action-clr, var(--clr-white));
}

.text-subtle {
  color: color-mix(in srgb, var(--body-bg-clr) var(--dim-subtle), var(--body-clr)) !important;
}

.text-light {
  color: color-mix(in srgb, var(--body-bg-clr) var(--dim-light), var(--body-clr)) !important;
}

.text-medium {
  color: color-mix(in srgb, var(--body-bg-clr) var(--dim-medium), var(--body-clr)) !important;
}

.text-muted {
  color: color-mix(in srgb, var(--body-bg-clr) var(--dim-strong), var(--body-clr)) !important;
}

.text-faint {
  color: color-mix(in srgb, var(--body-bg-clr) var(--dim-extreme), var(--body-clr)) !important;
}

/* Alt text utility classes */
.alt-text-subtle {
  color: color-mix(in srgb, var(--body-alt-bg-clr) var(--dim-subtle), var(--body-alt-clr)) !important;
}

.alt-text-light {
  color: color-mix(in srgb, var(--body-alt-bg-clr) var(--dim-light), var(--body-alt-clr)) !important;
}

.alt-text-medium {
  color: color-mix(in srgb, var(--body-alt-bg-clr) var(--dim-medium), var(--body-alt-clr)) !important;
}

.alt-text-muted {
  color: color-mix(in srgb, var(--body-alt-bg-clr) var(--dim-strong), var(--body-alt-clr)) !important;
}

.alt-text-faint {
  color: color-mix(in srgb, var(--body-alt-bg-clr) var(--dim-extreme), var(--body-alt-clr)) !important;
}

/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
/*
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}
 */
body, div, span, applet, object, button, input, select, textarea, article,
h1, h2, h3, h4, h5, h6, p, blockquote,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark {
  all: unset;
  display: revert;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  box-sizing: border-box;
  margin-top: 0 !important;
}
html body,
html input,
html button,
html select,
html textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  overflow-x: hidden !important;
  overflow-y: scroll;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  width: 100%;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

a {
  text-decoration: none;
  color: unset;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
  counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none !important;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

/*
  The base.scss file defines global typography styles (headers, paragraphs, labels...),
  reusable styles, and foundational styles for elements like html, body, blockquote, and kbd.
  It establishes a consistent foundation for the rest of the styles.
*/
/*
  The html and body tags are used to set global baseline settings,
  ensuring consistency across the document and establishing
  foundational styles for layout and behavior.
*/
html {
  font-family: var(--custom-ff-primary, var(--ff-primary));
  font-size: var(--custom-base-font-size, var(--base-font-size));
  scroll-snap-type: y mandatory;
  line-height: 1.5;
}

body {
  color: var(--body-clr);
  background-color: var(--body-bg-clr);
  scroll-behavior: smooth;
  width: 100% !important;
  /*a.link {
      color: var(--body-link-clr);

      &:hover {
          color: var(--body-link-hover-clr);
      }
  }*/
}
body > header {
  background-color: var(--header-bg-clr);
}
body > footer {
  color: var(--footer-clr);
  background-color: var(--footer-bg-clr);
}
body.home {
  background-color: var(--body-alt-bg-clr);
}
body.home main {
  display: flex;
  flex-direction: column;
}

/*
    Display styles are larger, more prominent text styles used for emphasis, often bigger than
    standard h1-h6 elements typically used for hero sections, headlines, or key messages.

    NOTE: Default margins were intentionally left out from display classes because these
    are used for visually prominent text elements that often appear outside of normal
    text flow (such as in grids, hero sections, or cards). Applying margins here could
    break layouts or require frequent overrides. Add margins locally if needed in
    specific contexts where you need them with utility classes or BEM block.
*/
h1[class*=display-]:not([class*="--margins"]), h2[class*=display-]:not([class*="--margins"]), h3[class*=display-]:not([class*="--margins"]), h4[class*=display-]:not([class*="--margins"]), h5[class*=display-]:not([class*="--margins"]), h6[class*=display-]:not([class*="--margins"]) {
  margin-bottom: 0;
}

.display-1 {
  font-family: var(--d1-ff);
  font-weight: var(--d1-fw);
  letter-spacing: var(--d1-ls);
  text-transform: var(--d1-tt);
  --fs-y2: var(--d1-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d1-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d1-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d1-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-1--margins {
  margin-bottom: 3rem;
}
@media screen and (max-width: 1200px) {
  .display-1--margins {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .display-1--margins {
    margin-bottom: 2rem;
  }
}
.display-2 {
  font-family: var(--d2-ff);
  font-weight: var(--d2-fw);
  letter-spacing: var(--d2-ls);
  text-transform: var(--d2-tt);
  --fs-y2: var(--d2-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d2-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d2-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d2-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-2--margins {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1200px) {
  .display-2--margins {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .display-2--margins {
    margin-bottom: 1.5rem;
  }
}
.display-3 {
  font-family: var(--d3-ff);
  font-weight: var(--d3-fw);
  letter-spacing: var(--d3-ls);
  text-transform: var(--d3-tt);
  --fs-y2: var(--d3-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d3-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d3-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d3-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-3--margins {
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  .display-3--margins {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 992px) {
  .display-3--margins {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .display-3--margins {
    margin-bottom: 1.5rem;
  }
}
.display-4 {
  font-family: var(--d4-ff);
  font-weight: var(--d4-fw);
  letter-spacing: var(--d4-ls);
  text-transform: var(--d4-tt);
  --fs-y2: var(--d4-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d4-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d4-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d4-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-4--margins {
  margin-bottom: 1.75rem;
}
@media screen and (max-width: 1200px) {
  .display-4--margins {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .display-4--margins {
    margin-bottom: 1.25rem;
  }
}
.display-5 {
  font-family: var(--d5-ff);
  font-weight: var(--d5-fw);
  letter-spacing: var(--d5-ls);
  text-transform: var(--d5-tt);
  --fs-y2: var(--d5-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d5-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d5-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d5-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-5--margins {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1200px) {
  .display-5--margins {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .display-5--margins {
    margin-bottom: 1rem;
  }
}
.display-6 {
  font-family: var(--d6-ff);
  font-weight: var(--d6-fw);
  letter-spacing: var(--d6-ls);
  text-transform: var(--d6-tt);
  --fs-y2: var(--d6-fs);
  --fs-y1: calc(var(--fs-y2) / var(--d6-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--d6-lh);
  --lh-y1: calc(var(--lh-y2) / var(--d6-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
.display-6--margins {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 1200px) {
  .display-6--margins {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .display-6--margins {
    margin-bottom: 0.75rem;
  }
}

/*
  Headings (h1-h6) define the hierarchy of content, ranging from the most important (h1) to
  the least (h6). They are used for structure and readability, unlike display styles, which
  focus on visual impact.
*/
h1 {
  font-family: var(--h1-ff);
  font-weight: var(--h1-fw);
  letter-spacing: var(--h1-ls);
  text-transform: var(--h1-tt);
  margin-bottom: 3rem;
  --fs-y2: var(--h1-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h1-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h1-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h1-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 1200px) {
  h1 {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  h1 {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 576px) {
  h1 {
    margin-bottom: 1.5rem;
  }
}

h2 {
  font-family: var(--h2-ff);
  font-weight: var(--h2-fw);
  letter-spacing: var(--h2-ls);
  text-transform: var(--h2-tt);
  margin-bottom: 2.5rem;
  --fs-y2: var(--h2-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h2-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h2-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h2-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 1200px) {
  h2 {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  h2 {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 576px) {
  h2 {
    margin-bottom: 1.5rem;
  }
}

h3 {
  font-family: var(--h3-ff);
  font-weight: var(--h3-fw);
  letter-spacing: var(--h3-ls);
  text-transform: var(--h3-tt);
  margin-bottom: 2rem;
  --fs-y2: var(--h3-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h3-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h3-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h3-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 1200px) {
  h3 {
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 768px) {
  h3 {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 576px) {
  h3 {
    margin-bottom: 1.25rem;
  }
}

h4 {
  font-family: var(--h4-ff);
  font-weight: var(--h4-fw);
  letter-spacing: var(--h4-ls);
  text-transform: var(--h4-tt);
  margin-bottom: 1.5rem;
  --fs-y2: var(--h4-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h4-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h4-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h4-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 1200px) {
  h4 {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  h4 {
    margin-bottom: 1.125rem;
  }
}
@media screen and (max-width: 576px) {
  h4 {
    margin-bottom: 1rem;
  }
}

h5 {
  font-family: var(--h5-ff);
  font-weight: var(--h5-fw);
  letter-spacing: var(--h5-ls);
  text-transform: var(--h5-tt);
  margin-bottom: 1.25rem;
  --fs-y2: var(--h5-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h5-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h5-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h5-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 1200px) {
  h5 {
    margin-bottom: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  h5 {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 576px) {
  h5 {
    margin-bottom: 0.875rem;
  }
}

h6 {
  font-family: var(--h6-ff);
  font-weight: var(--h6-fw);
  letter-spacing: var(--h6-ls);
  text-transform: var(--h6-tt);
  margin-bottom: 1.125rem;
  --fs-y2: var(--h6-fs);
  --fs-y1: calc(var(--fs-y2) / var(--h6-sf));
  --fs-y1-unitless: tan(atan2(var(--fs-y1), var(--base-font-size)));
  --fs-y2-unitless: tan(atan2(var(--fs-y2), var(--base-font-size)));
  --fs-v: calc(100vw * (var(--fs-y2-unitless) - var(--fs-y1-unitless)) / (87.5 - 30));
  --fs-r: calc((30 * var(--fs-y2) - 87.5 * var(--fs-y1)) / (30 - 87.5));
  font-size: clamp(var(--fs-y1), var(--fs-v) + var(--fs-r), var(--fs-y2));
  --lh-y2: var(--h6-lh);
  --lh-y1: calc(var(--lh-y2) / var(--h6-sf));
  --lh-y1-unitless: tan(atan2(var(--lh-y1), var(--base-font-size)));
  --lh-y2-unitless: tan(atan2(var(--lh-y2), var(--base-font-size)));
  --lh-v: calc(100vw * (var(--lh-y2-unitless) - var(--lh-y1-unitless)) / (87.5 - 30));
  --lh-r: calc((30 * var(--lh-y2) - 87.5 * var(--lh-y1)) / (30 - 87.5));
  line-height: clamp(var(--lh-y1), var(--lh-v) + var(--lh-r), var(--lh-y2));
}
@media screen and (max-width: 992px) {
  h6 {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  h6 {
    margin-bottom: 0.875rem;
  }
}
@media screen and (max-width: 576px) {
  h6 {
    margin-bottom: 0.75rem;
  }
}

/*
  Paragraphs (<p>) define body text with styles for readability,
  adjusting line height, font size, and spacing to improve legibility.
*/
p, span {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
}
@media screen and (max-width: 992px) {
  p, span {
    font-size: 0.938rem;
    line-height: 1.312rem;
  }
}
@media screen and (max-width: 576px) {
  p, span {
    font-size: 0.875rem;
    line-height: 1.031rem;
  }
}
p.lead, span.lead {
  font-size: 1.5rem;
  line-height: 2.025rem;
}
@media screen and (max-width: 1200px) {
  p.lead, span.lead {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media screen and (max-width: 768px) {
  p.lead, span.lead {
    font-size: 1.125rem;
    line-height: 1.575rem;
  }
}
p.xl, span.xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
@media screen and (max-width: 1200px) {
  p.xl, span.xl {
    font-size: 1.125rem;
    line-height: 1.575rem;
  }
}
p.lg, span.lg {
  font-size: 1.125rem;
  line-height: 1.575rem;
}
@media screen and (max-width: 1200px) {
  p.lg, span.lg {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
p.sm, span.sm {
  font-size: 0.938rem;
  line-height: 1.406rem;
}
p.xs, span.xs {
  font-size: 0.875rem;
  line-height: 1.312rem;
}

label {
  font-size: 1rem;
  line-height: 1.406rem;
  font-weight: 400;
}
label.lg {
  font-size: 1.25rem;
  line-height: 1.575rem;
}
label.sm {
  font-size: 0.938rem;
  line-height: 1.312rem;
}
label.xs {
  font-size: 0.875rem;
  line-height: 0.938rem;
}

a.link {
  user-select: none;
  color: var(--clr-primary-500);
  position: relative;
}
a.link::before {
  content: "";
  position: absolute;
  bottom: -2px;
  background-color: currentColor;
  width: 0;
  height: 2px;
  transition: width 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
a.link:visited {
  color: var(--clr-danger);
}
a.link:hover::before {
  width: 100%;
}

/*
  The <kbd> element represents user input (typically keyboard input).
  This style enhances its appearance by giving it a button-like look,
  with a subtle shadow, padding, and a monospace font for readability.
  It includes hover effects for better interaction feedback.
*/
kbd {
  background-color: var(--clr-white);
  color: var(--clr-neutral-700);
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
  border: 1px solid var(--clr-neutral-400);
  box-shadow: inset 0 -2px 0 var(--clr-neutral-400), 0 1px 1px rgba(0, 0, 0, 0.05);
  font-family: "Menlo", "Consolas", monospace;
  font-weight: 600;
  user-select: none;
  transition: all 0.2s ease-in-out;
}
kbd:hover {
  background-color: var(--clr-neutral-200);
  transform: translateY(1px);
  box-shadow: inset 0 -1px 0 var(--clr-neutral-400), 0 0 1px rgba(0, 0, 0, 0.05);
}

:disabled {
  cursor: not-allowed;
}

section {
  position: relative;
  background: var(--section-bg-clr, transparent);
}
section[data-visible-only-to-editors] {
  --block-hidden-bg-clr: #DC0000;
  --block-hidden-text-clr: #fff;
  border: 2px dashed var(--block-hidden-bg-clr);
  border-top: unset;
}
section[data-visible-only-to-editors]::after {
  background-color: var(--block-hidden-bg-clr);
  position: absolute;
  content: "Ovaj blok je skriven";
  color: var(--block-hidden-text-clr);
  text-align: center;
  font-size: var(--fs-600);
  line-height: var(--lh-750);
  font-weight: 600;
  text-transform: uppercase;
  width: 100%;
  top: 0;
}
section.bkg-index {
  position: relative;
  z-index: 1;
}

.form__input label {
  margin-bottom: 0.5rem;
}
.form__input--required abbr {
  color: var(--clr-danger);
  text-decoration: none;
  margin-left: 0.25rem;
}

input {
  display: block;
  padding: 0.5rem;
  font-size: var(--fs-250);
  line-height: 22px;
  border-radius: 0.25rem;
  transition: all 200ms ease-in-out;
  border: 1px solid var(--clr-neutral-500);
  outline: 2px solid transparent;
  background-color: var(--body-bg-clr);
  width: 100%;
}
input:not(:placeholder-shown) {
  color: var(--clr-neutral-700);
  border-color: var(--clr-neutral-700);
}
input::placeholder {
  color: var(--clr-neutral-400);
}
input:placeholder-shown {
  border-color: var(--clr-neutral-300);
}
input:hover:not(:disabled):not(:focus) {
  border-color: var(--clr-neutral-500);
}
input:focus {
  border-color: var(--clr-primary-500);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
input[data-focus-source=keyboard] {
  outline-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
input:disabled {
  color: var(--clr-neutral-400);
  border-color: var(--clr-neutral-300);
  background-color: var(--clr-neutral-100);
}
input::selection {
  background-color: var(--clr-primary-500);
  color: var(--body-bg-clr);
}
input:-webkit-autofill, input :autofill {
  -webkit-text-fill-color: var(--clr-primary-800);
  -webkit-box-shadow: 0 0 0 1000px var(--clr-primary-50) inset;
  border-color: var(--clr-primary-500);
}
input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 20px;
  width: 20px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
input[type=checkbox]:checked + i {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
input[type=checkbox]:checked + i::before {
  opacity: 1;
}
input[type=checkbox]:focus + i {
  border-color: var(--clr-primary-500);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
input[type=checkbox]:focus-visible + i {
  outline: 3px solid var(--clr-primary-500);
  outline-offset: 2px;
  border-color: var(--clr-primary-500);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
input[type=checkbox]:hover:not(:disabled):not(:focus) + i {
  border-color: var(--clr-primary-500);
}
input[type=checkbox] + i {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background-color: var(--body-bg-clr);
  border: 1px solid var(--clr-neutral-500);
  border-radius: 4px;
  transition: all 0.2s;
  font-size: 20px;
  box-sizing: border-box;
  cursor: pointer;
}
input[type=checkbox] + i::before {
  transition: opacity 0.2s ease-in-out;
  color: var(--body-bg-clr);
  opacity: 0;
}
input[type=radio] {
  position: absolute;
  opacity: 0;
  height: 20px;
  width: 20px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
input[type=radio]:checked + span {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  position: relative;
}
input[type=radio]:checked + span::before {
  content: "";
  position: absolute;
  opacity: 1;
}
input[type=radio]:focus + span {
  border-color: var(--clr-primary-500);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
input[type=radio]:focus-visible + span {
  outline: 3px solid var(--clr-primary-500);
  outline-offset: 2px;
  border-color: var(--clr-primary-500);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
input[type=radio]:hover:not(:disabled):not(:focus) + span {
  border-color: var(--clr-primary-500);
}
input[type=radio] + span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background-color: var(--body-bg-clr);
  border: 1px solid var(--clr-neutral-500);
  border-radius: 9999px;
  transition: all 0.2s;
  font-size: 12px;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
}
input[type=radio] + span::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: var(--body-bg-clr);
  border-radius: 9999px;
  opacity: 0;
  transition: all 0.2s;
}
input[type=password] ~ [data-type=password-toggle-icon], input[type=text] ~ [data-type=password-toggle-icon] {
  position: absolute;
  right: 0.625rem;
  bottom: 0.375rem;
  cursor: pointer;
  font-size: 16px;
  color: var(--clr-neutral-500);
  transition: all 0.2s;
  padding: 0.375rem;
  border-radius: 50%;
}
input[type=password] ~ [data-type=password-toggle-icon]:hover, input[type=text] ~ [data-type=password-toggle-icon]:hover {
  background-color: var(--clr-primary-50);
  color: var(--input-accent-clr);
}
input[type=password] ~ [data-type=password-toggle-icon].is-visible::before, input[type=text] ~ [data-type=password-toggle-icon].is-visible::before {
  content: "\e9ce";
}
input select {
  font-size: var(--fs-250);
  line-height: 22px;
  border-radius: 0.25rem;
  transition: all 200ms ease-in-out;
  border: 1px solid var(--input-border-clr);
  outline: var(--input-outline-offset, 2px) solid transparent;
  padding: 0.5rem 2rem 0.5rem 0.5rem;
  color: var(--body-clr);
}
input select:has(option[selected]) {
  border-color: var(--input-filled-border-clr);
}
input select:hover:not(:disabled) {
  color: var(--body-clr);
  border-color: var(--input-hover-border-clr);
}
input select:focus {
  color: unset;
  border-color: var(--input-focus-border-clr) !important;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
}

label + input {
  margin-top: 0.25rem;
}

label {
  display: inline-block;
  position: relative;
  color: var(--clr-neutral-800);
}
label input {
  margin-top: 0.25rem;
}
label abbr {
  color: var(--clr-neutral-600);
  font-size: var(--fs-200);
  text-decoration: none;
  margin-left: 0.25rem;
}
label:has(input[required]) abbr {
  color: var(--clr-danger);
  text-decoration: none;
  margin-left: 0.25rem;
}
label:has(.succes-msg) input, label:has(.succes-msg) textarea {
  border-color: var(--clr-success);
}
label:has(.succes-msg) input:hover:not(:focus), label:has(.succes-msg) textarea:hover:not(:focus) {
  border-color: var(--clr-success-shade);
}
label:has(.succes-msg) input:hover:not(:focus) ~ .succes-msg, label:has(.succes-msg) textarea:hover:not(:focus) ~ .succes-msg {
  color: var(--clr-success-shade);
}
label:has(.succes-msg) input:focus, label:has(.succes-msg) textarea:focus {
  border-color: var(--clr-success);
  box-shadow: 0px 4px 6px 0px rgba(40, 180, 40, 0.15);
}
label:has(.succes-msg) input:focus::selection, label:has(.succes-msg) textarea:focus::selection {
  background: var(--clr-success);
  color: var(--body-bg-clr);
}
label:has(.succes-msg) input:focus ~ .succes-msg, label:has(.succes-msg) textarea:focus ~ .succes-msg {
  color: var(--clr-success);
}
label:has(.succes-msg) input:focus ~ .succes-msg:hover, label:has(.succes-msg) textarea:focus ~ .succes-msg:hover {
  color: var(--clr-success);
}
label:has(.succes-msg) input[data-focus-source=keyboard], label:has(.succes-msg) textarea[data-focus-source=keyboard] {
  outline-color: var(--clr-success);
}
label:has(.succes-msg) input[data-focus-source=keyboard]:hover, label:has(.succes-msg) textarea[data-focus-source=keyboard]:hover {
  border-color: var(--clr-success-shade);
}
label:has(.succes-msg) input[data-focus-source=keyboard]::selection, label:has(.succes-msg) textarea[data-focus-source=keyboard]::selection {
  background-color: var(--clr-success);
  color: var(--body-bg-clr);
}
label:has(.error-msg) input, label:has(.error-msg) textarea {
  border-color: var(--clr-danger);
}
label:has(.error-msg) input:hover:not(:focus), label:has(.error-msg) textarea:hover:not(:focus) {
  border-color: var(--clr-danger-shade);
}
label:has(.error-msg) input:hover:not(:focus) ~ .error-msg, label:has(.error-msg) textarea:hover:not(:focus) ~ .error-msg {
  color: var(--clr-danger-shade);
}
label:has(.error-msg) input:focus, label:has(.error-msg) textarea:focus {
  border-color: var(--clr-danger);
  box-shadow: 0px 4px 6px 0px rgba(255, 80, 80, 0.2);
}
label:has(.error-msg) input:focus::selection, label:has(.error-msg) textarea:focus::selection {
  background: var(--clr-danger);
  color: var(--body-bg-clr);
}
label:has(.error-msg) input:focus ~ .error-msg, label:has(.error-msg) textarea:focus ~ .error-msg {
  color: var(--clr-danger);
}
label:has(.error-msg) input:focus ~ .error-msg:hover, label:has(.error-msg) textarea:focus ~ .error-msg:hover {
  color: var(--clr-danger);
}
label:has(.error-msg) input[data-focus-source=keyboard], label:has(.error-msg) textarea[data-focus-source=keyboard] {
  outline-color: var(--clr-danger);
}
label:has(.error-msg) input[data-focus-source=keyboard]::selection, label:has(.error-msg) textarea[data-focus-source=keyboard]::selection {
  background-color: var(--clr-danger-tint);
  color: var(--body-bg-clr);
}
label:has(input[type=checkbox]), label:has(input[type=radio]) {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  margin-bottom: 0;
}

textarea {
  transition: all 200ms ease-in-out;
  border: 1px solid var(--input-border-clr);
  outline: var(--input-outline-offset, 2px) solid transparent;
  resize: none;
  display: block;
  width: 100%;
  min-height: 8rem;
  max-height: 16rem;
  overflow-y: scroll;
  padding: 0.5rem;
  /*
  input {
  display: block;
  padding: size(8);
  font-size: var(--fs-250);
  line-height: 22px;
  border-radius: size(4);
  transition: all 200ms ease-in-out;
  border: 1px solid var(--input-border-clr);
  outline: var(--input-outline-offset, 2px) solid transparent;

  &:not(:placeholder-shown) {
      border-color: var(--input-filled-border-clr);
  }

  &:placeholder-shown {
      border-color: var(--input-border-clr);
  }

  &:hover:not(:disabled):not(:focus) {
      border-color: var(--input-hover-border-clr);
  }

  &:focus {
      border-color: var(--input-focus-border-clr);
      @include box-shadow('md', rgba(0, 0, 0, 0.12));
  }

  &[data-focus-source="keyboard"] {
      outline-color: var(--input-accent-clr);
      border-color: var(--input-accent-clr);
  }

  &:disabled {
      border-color: var(--clr-neutral-300);
      background-color: var(--clr-neutral-100);
  }

  &::selection {
      background-color: var(--input-accent-clr);
      color: var(--clr-white);
  }

  &:-webkit-autofill, :autofill {
      -webkit-text-fill-color: #222;
      -webkit-box-shadow: 0 0 0 1000px #fff inset;
  }

  // >----------------------------------> Input - Checkbox <-----------------------------------<

  &[type="checkbox"] {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 20px;
      width: 20px;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      margin: 0;

      &:checked + i {
          background-color: var(--input-accent-clr);
          border-color: var(--input-accent-clr);

          &::before {
              opacity: 1;
          }

          &:focus {
              & + i {

              }
          }
      }

      &:focus {
          & + i {
              border-color: var(--input-accent-clr);
              @include box-shadow('md', rgba(0, 0, 0, 0.12))
          }
      }

      &:focus-visible {
          & + i {
              outline: 3px solid var(--input-accent-clr);
              outline-offset: 2px;
              border-color: var(--input-accent-clr);
              @include box-shadow('md', rgba(0, 0, 0, 0.12))
          }
      }

      &:hover:not(:disabled):not(:focus) {
          & + i {
              border-color: var(--input-accent-clr);
          }
      }

      & + i {
          @include flex($ai: center, $jc: center, $inline: true);
          position: relative;
          flex-shrink: 0;
          width: 20px;
          height: 20px;
          background-color: var(--clr-white);
          border: 1px solid var(--input-border-clr);
          border-radius: 4px;
          transition: all 0.2s;
          font-size: 12px;
          box-sizing: border-box;
          cursor: pointer;

          &::before {
              transition: opacity 0.2s ease-in-out;
              color: var(--clr-white);
              opacity: 0;
          }
      }
  }

  // >------------------------------------> Input - Radio <------------------------------------<

  &[type="radio"] {
      position: absolute;
      opacity: 0;
      height: 20px;
      width: 20px;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      margin: 0;

      &:checked + span {
          background-color: var(--input-accent-clr);
          border-color: var(--input-accent-clr);

          @include pseudo() {
              opacity: 1;
          }
      }

      &:focus {
          & + span {
              border-color: var(--input-accent-clr);
              @include box-shadow('md', rgba(0, 0, 0, 0.12))
          }
      }

      &:focus-visible {
          & + span {
              outline: 3px solid var(--input-accent-clr);
              outline-offset: 2px;
              border-color: var(--input-accent-clr);
              @include box-shadow('md', rgba(0, 0, 0, 0.12))
          }
      }

      &:hover:not(:disabled):not(:focus) {
          & + span {
              border-color: var(--input-accent-clr);
          }
      }

      & + span {
          @include flex($ai: center, $jc: center, $inline: true);
          flex-shrink: 0;
          width: 20px;
          height: 20px;
          background-color: var(--clr-white);
          border: 1px solid var(--input-border-clr);
          border-radius: radius(full);
          transition: all 0.2s;
          font-size: 12px;
          box-sizing: border-box;
          cursor: pointer;

          @include pseudo() {
              width: 8px;
              height: 8px;
              background-color: var(--clr-white);
              border-radius: radius(full);
              opacity: 0;
              transition: all 0.2s;
          }
      }
  }

  // >----------------------------------> Input - Password <-----------------------------------<
  &[type="password"],
  &[type="text"] {
      // padding-right: size(32);

      & ~ [data-type="password-toggle-icon"] {
          position: absolute;
          right: size(10);
          bottom: size(6);
          cursor: pointer;
          font-size: 16px;
          color: var(--clr-neutral-500);
          transition: all 0.2s;
          padding: size(6);
          border-radius: 50%;

          &:hover {
              background-color: var(--clr-primary-50);
              color: var(--input-accent-clr);
          }

          &.is-visible {
              &::before {
                  content: "\e9ce"; // TODO: Change with actual icon of closed eye / crossed eye
              }
          }
      }
  }

  // >-----------------------------------> Select Styles <-------------------------------------<

  select {
      font-size: var(--fs-250);
      line-height: 22px;
      border-radius: size(4);
      transition: all 200ms ease-in-out;
      border: 1px solid var(--input-border-clr);
      outline: var(--input-outline-offset, 2px) solid transparent;
      padding: size(8) size(32) size(8) size(8);
      color: var(--body-clr);

      &:has(option[selected]) {
          border-color: var(--input-filled-border-clr);
      }

      &:hover:not(:disabled) {
          color: var(--body-clr);
          border-color: var(--input-hover-border-clr);
      }

      &:focus {
          color: unset;
          border-color: var(--input-focus-border-clr) !important;
          box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
      }
  }

  // >------------------------------------> Label Styles <-------------------------------------<

  label {
      display: inline-block;
      position: relative;
      color: var(--input-label-clr);

      input {
          margin-top: size(4);
      }

      abbr {
          color: var(--clr-neutral-600);
          font-size: var(--fs-200);
          text-decoration: none;
          margin-left: size(4);
      }

      &:has(input[required]) abbr {
          color: var(--clr-danger);
          text-decoration: none;
          margin-left: size(4);
      }

      &:has(.succes-msg) {
          input, textarea {
              border-color: var(--input-success);

              &:hover:not(:focus) {
                  border-color: var(--clr-success-shade);

                  & ~ .succes-msg {
                      color: var(--clr-success-shade);
                  }
              }

              &:focus {
                  border-color: var(--clr-success);
                  @include box-shadow('md', rgba(40, 180, 40, 0.15));

                  &::selection {
                      background: var(--clr-success);
                      color: var(--clr-white);
                  }

                  & ~ .succes-msg {
                      color: var(--clr-success);

                      &:hover {
                          color: var(--clr-success);
                      }
                  }
              }

              &[data-focus-source="keyboard"] {
                  outline-color: var(--clr-success);

                  &:hover {
                      border-color: var(--clr-success-shade);
                  }

                  &::selection {
                      background-color: var(--clr-success);
                      color: var(--clr-white);
                  }
              }
          }
      }

      &:has(.error-msg) {
          input, textarea {
              border-color: var(--input-error);

              &:hover:not(:focus) {
                  border-color: var(--clr-danger-shade);

                  & ~ .error-msg {
                      color: var(--clr-danger-shade);
                  }
              }

              &:focus {
                  border-color: var(--clr-danger);
                  @include box-shadow('md', rgba(255, 80, 80, 0.2));

                  &::selection {
                      background: var(--clr-danger);
                      color: var(--clr-white);
                  }

                  & ~ .error-msg {
                      color: var(--clr-danger);

                      &:hover {
                          color: var(--clr-danger);
                      }
                  }
              }

              &[data-focus-source="keyboard"] {
                  outline-color: var(--clr-danger);

                  &::selection {
                      background-color: var(--clr-danger-tint);
                      color: var(--clr-white);
                  }
              }
          }
      }

      &:has(input[type="checkbox"]),
      &:has(input[type="radio"]) {
          @include flex($g: size(8));
      }
  }

  // >----------------------------------> Textarea Styles <------------------------------------<

  textarea {
      transition: all 200ms ease-in-out;
      border: 1px solid var(--input-border-clr);
      outline: var(--input-outline-offset, 2px) solid transparent;
      resize: none;
      display: block;
      width: 100%;
      min-height: 8rem;
      max-height: 16rem;
      overflow-y: scroll;
      padding: size(8);

      &:placeholder-shown {
          border-color: var(--input-border-clr);
      }

      &:hover:not(:disabled):not(:focus) {
          border-color: var(--input-hover-border-clr);
      }

      &:focus {
          border-color: var(--input-focus-border-clr);
          @include box-shadow('md', rgba(0, 0, 0, 0.12));
      }

      &[data-focus-source="keyboard"] {
          outline-color: var(--input-accent-clr);
          border-color: var(--input-accent-clr);
      }

      &:disabled {
          background-color: var(--clr-neutral-100);
      }

      &::selection {
          background-color: var(--input-accent-clr);
          color: var(--clr-white);
      }

      &:-webkit-autofill, :autofill {
          -webkit-text-fill-color: #222;
          -webkit-box-shadow: 0 0 0 1000px #fff inset;
      }

      &[data-focus-source="keyboard"] {
          outline-color: var(--input-accent-clr);
          border-color: var(--input-accent-clr);
      }
  }

  input, textarea {
      & ~ .succes-msg,
      & ~ .error-msg {
          display: block;
          font-size: var(--fs-250);
          margin-top: size(4);
          transition: 0.2s ease-in-out;
      }

      & ~ .succes-msg {
          color: var(--clr-success);
      }

      & ~ .error-msg {
          color: var(--clr-danger);
      }
  }
  }*/
}
textarea:placeholder-shown {
  border-color: var(--input-border-clr);
}
textarea:hover:not(:disabled):not(:focus) {
  border-color: var(--input-hover-border-clr);
}
textarea:focus {
  border-color: var(--input-focus-border-clr);
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.12);
}
textarea[data-focus-source=keyboard] {
  outline-color: var(--input-accent-clr);
  border-color: var(--input-accent-clr);
}
textarea:disabled {
  background-color: var(--clr-neutral-100);
}
textarea::selection {
  background-color: var(--input-accent-clr);
  color: var(--clr-white);
}
textarea:-webkit-autofill, textarea :autofill {
  -webkit-text-fill-color: #222;
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
textarea[data-focus-source=keyboard] {
  outline-color: var(--input-accent-clr);
  border-color: var(--input-accent-clr);
}

input ~ .succes-msg, input ~ .error-msg, textarea ~ .succes-msg, textarea ~ .error-msg {
  display: block;
  font-size: var(--fs-250);
  margin-top: 0.25rem;
  transition: 0.2s ease-in-out;
}
input ~ .succes-msg, textarea ~ .succes-msg {
  color: var(--clr-success);
}
input ~ .error-msg, textarea ~ .error-msg {
  color: var(--clr-danger);
}

.w4d-header__btn::after, .w4d-header__btn i {
  transition: color 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95), fill 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

body:has(> .w4d-header--open, .nav__toggle--open) {
  overflow: hidden;
}
body > .announcement-bar ~ main {
  margin-top: 3.75rem;
}
@media screen and (max-width: 1400px) {
  body > .announcement-bar ~ main {
    margin-top: 3rem;
  }
}

.w4d-header {
  width: 100%;
  min-height: 4.5rem;
  z-index: 10;
  position: relative;
  transition: transform 0.3s ease-in-out;
  background-color: var(--header-bg-clr);
}
.w4d-header:has(.nav--topbar) {
  --nav-topbar: 3rem;
  --nav-topbar-doubled: 6rem;
}
@media screen and (min-width: 1400px) {
  .w4d-header--box-shadow .nav__list--l1::before, .w4d-header--box-shadow .nav__list--l2::before {
    box-shadow: 0 8px 24px 0 color-mix(in srgb, var(--header-nav-box-shadow-clr) 12%, transparent);
  }
}
.w4d-header--sticky {
  position: fixed;
  top: 0;
  left: 0;
}
.w4d-header--sticky.w4d-header--1 + main, .w4d-header--sticky.w4d-header--5 + main {
  padding-top: 7.5rem;
}
.w4d-header--sticky.w4d-header--2 + main, .w4d-header--sticky.w4d-header--3 + main, .w4d-header--sticky.w4d-header--4 + main {
  padding-top: 11rem;
}
.w4d-header--sticky:is(.w4d-header--2, .w4d-header--3):has(.nav--topbar) + main {
  padding-top: 14rem;
}
.w4d-header--sticky.w4d-header--5:has(.nav--topbar) + main {
  padding-top: 10.5rem;
}
.w4d-header--open .nav__container,
.w4d-header--open .nav__inner {
  transform: translateX(0);
}
.w4d-header--open .nav__container {
  visibility: visible;
  opacity: 1;
}
.w4d-header--hidden {
  transform: translateY(-100%);
}
.w4d-header--checkout {
  position: revert;
  grid-template-columns: 1fr;
  box-shadow: none;
  border-bottom: 1px solid var(--clr-neutral-300);
  padding: 0;
}
.w4d-header--checkout .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  height: 100%;
}
.w4d-header--checkout .w4d-header__logo {
  display: flex;
  align-items: center;
  padding-left: unset;
}
.w4d-header__logo {
  display: inline-block;
  grid-area: var(--logo-grid-area, initial);
  width: max-content;
  height: 7.5rem;
  padding-block: 0.75rem;
  display: flex;
  align-items: center;
}
.w4d-header__logo img {
  max-width: clamp(9rem, 20vw, 18rem);
  max-height: 6rem;
  width: auto;
  height: auto;
  object-fit: contain;
}
.w4d-header__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.625rem;
  grid-area: var(--actions-grid-area, initial);
}
.w4d-header__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  cursor: pointer;
  position: relative;
}
.w4d-header__btn i {
  font-size: 24px;
}
.w4d-header__btn--populated::after {
  position: absolute;
  left: 85%;
  content: attr(data-populated);
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  color: var(--header-icon-clr);
  line-height: 1;
  height: 100%;
  display: flex;
  align-items: center;
}
.w4d-header__btn--adding::before {
  position: absolute;
  content: "";
  top: 7px;
  right: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--header-notif-bg-clr);
  animation: add-pulse 3s forwards;
}
.w4d-header__btn i {
  color: var(--header-icon-clr);
  pointer-events: none;
}
.w4d-header__btn:hover i {
  color: var(--header-icon-hover-clr);
}
.w4d-header__btn:hover::after {
  color: var(--header-icon-hover-clr);
}
.w4d-header__btn#header_cart_icon::before {
  scale: 1;
}
.w4d-header__btn#header_cart_icon--populated::before {
  position: absolute;
  content: "";
  top: 7px;
  right: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--header-notif-bg-clr);
}
.w4d-header__btn#header_cart_icon--adding::before {
  animation: add-cart-pulse 3s forwards;
}
.w4d-header__nav {
  grid-area: var(--nav-grid-area, initial);
}
.w4d-header__search {
  grid-area: search;
}
.w4d-header__mega-menu-toggle {
  display: none;
  margin-left: 3rem;
  user-select: none;
  cursor: pointer;
  height: 100%;
  overflow: hidden;
}
.w4d-header__mega-menu-toggle .nav__toggle {
  display: block;
  margin-left: -0.875rem;
}
.w4d-header__mega-menu-toggle .nav__toggle path {
  transition: all 0.3s ease-in-out;
  stroke: var(--header-bottom-bar-link-clr);
}
.w4d-header__mega-menu-toggle .nav__toggle:not(.nav__toggle--open) {
  transition: all 0.3s ease-in-out;
}
.w4d-header__mega-menu-toggle > span {
  transition: all 0.3s ease-in-out;
  color: var(--header-bottom-bar-link-clr);
  white-space: nowrap;
  font-size: 1.125rem;
  font-weight: 600;
}
.w4d-header__mega-menu-toggle:hover .nav__toggle {
  scale: 1.1;
}
.w4d-header__mega-menu-toggle:hover .nav__toggle path {
  stroke: var(--header-bottom-bar-link-hover-clr);
}
.w4d-header__mega-menu-toggle:hover span {
  color: var(--header-bottom-bar-link-hover-clr);
}
.w4d-header--box-shadow.w4d-header--1 {
  box-shadow: 0 20px 24px 0 color-mix(in srgb, var(--header-box-shadow-clr) var(--header-box-shadow-opacity), transparent);
}
.w4d-header--box-shadow.w4d-header--2 .w4d-header__main, .w4d-header--box-shadow.w4d-header--3 .w4d-header__main, .w4d-header--box-shadow.w4d-header--4 .w4d-header__main, .w4d-header--box-shadow.w4d-header--5 .w4d-header__main {
  box-shadow: 0 20px 24px 0 color-mix(in srgb, var(--header-box-shadow-clr) var(--header-box-shadow-opacity), transparent);
}
.w4d-header--2, .w4d-header--3, .w4d-header--4, .w4d-header--5 {
  --logo-grid-area: logo;
  --actions-grid-area: actions;
  --nav-grid-area: nav;
}
.w4d-header--2 .w4d-header__main, .w4d-header--3 .w4d-header__main, .w4d-header--4 .w4d-header__main, .w4d-header--5 .w4d-header__main {
  --header-total-height: $header-height + $header-bottom-bar;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: var(--header-total-height);
}
.w4d-header--2 .w4d-header__actions, .w4d-header--3 .w4d-header__actions, .w4d-header--4 .w4d-header__actions, .w4d-header--5 .w4d-header__actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  justify-self: end;
}
.w4d-header--2 .w4d-header__nav, .w4d-header--3 .w4d-header__nav, .w4d-header--4 .w4d-header__nav, .w4d-header--5 .w4d-header__nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
.w4d-header--2 .w4d-header__search, .w4d-header--3 .w4d-header__search {
  justify-self: center;
}
.w4d-header--2 .w4d-header__logo, .w4d-header--4 .w4d-header__logo {
  padding-left: 3rem;
}
.w4d-header--2 .w4d-header__actions, .w4d-header--4 .w4d-header__actions {
  padding-right: 3rem;
}
.w4d-header--1 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 7.5rem;
  padding-inline: 3rem;
}
.w4d-header--2 .w4d-header__main {
  grid-template-areas: "logo search actions" "nav nav nav";
}
.w4d-header--2 .w4d-header__logo img {
  max-height: 6rem;
}
.w4d-header--3 .w4d-header__main {
  grid-template-areas: "logo search actions" "nav nav nav";
}
.w4d-header--4 .w4d-header__search {
  padding-left: 3rem;
}
.w4d-header--4 .w4d-header__main {
  grid-template-areas: "search logo actions" "nav nav nav";
}
.w4d-header--4 .w4d-header__logo {
  padding-left: 0;
}
.w4d-header--5 .w4d-header__main {
  grid-template-areas: "nav logo actions";
  --header-total-height: $header-height;
  padding-right: 3rem;
}
@media screen and (min-width: 1520px) {
  .w4d-header--3 .w4d-header__logo {
    padding-left: 3rem;
  }
  .w4d-header--3 .w4d-header__actions {
    padding-right: 3rem;
  }
}
@media screen and (max-width: 1520px) {
  .w4d-header--1 {
    padding-inline: 1.25rem;
  }
  .w4d-header--2 .w4d-header__logo, .w4d-header--4 .w4d-header__logo {
    padding-left: 0;
  }
  .w4d-header--2 .w4d-header__actions, .w4d-header--4 .w4d-header__actions {
    padding-right: 3rem;
  }
  .w4d-header--3 .w4d-header__logo {
    padding-left: 0;
  }
  .w4d-header--3 .w4d-header__actions {
    padding-right: 3rem;
  }
  .w4d-header__mega-menu-toggle {
    margin-left: 1.25rem;
  }
  .w4d-header--4 .w4d-header__search {
    padding-left: 1.25rem;
  }
  .w4d-header--5 .w4d-header__main {
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 1400px) {
  .w4d-header--3 .w4d-header__nav {
    background: var(--header-bottom-bar-bg-clr);
    grid-area: nav;
    display: grid;
    grid-template-columns: 250px 1fr 250px;
    align-items: center;
    border-top: 1px solid var(--header-bottom-bar-border-clr);
    height: 3.5rem;
  }
  .w4d-header--3 .w4d-header__mega-menu-toggle {
    display: flex;
    align-items: center;
    gap: 0.25rem;
  }
}
@media screen and (max-width: 1400px) {
  .w4d-header__main {
    padding-inline: 1.25rem;
  }
  .w4d-header .header_favourites,
  .w4d-header #login {
    display: none;
  }
  .w4d-header--2, .w4d-header--3, .w4d-header--4 {
    --actions-grid-area: actions-nav;
    --nav-grid-area: actions-nav;
  }
  .w4d-header--1 {
    grid-template-columns: 1fr auto auto;
    height: 6rem;
  }
  .w4d-header--1 .w4d-header__logo {
    height: 6rem;
    padding-block: 0.625rem;
  }
  .w4d-header--1 .w4d-header__logo img {
    max-height: 4.75rem;
  }
  .w4d-header--1 .w4d-header__actions {
    padding-right: 0.625rem;
  }
  .w4d-header--2:has(.nav--topbar), .w4d-header--3:has(.nav--topbar), .w4d-header--4:has(.nav--topbar) {
    padding-top: 3rem;
  }
  .w4d-header--2 .w4d-header__main, .w4d-header--3 .w4d-header__main, .w4d-header--4 .w4d-header__main {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "logo search actions-nav";
    height: 7.5rem;
  }
  .w4d-header--2 .w4d-header__actions, .w4d-header--3 .w4d-header__actions, .w4d-header--4 .w4d-header__actions {
    justify-self: end;
    margin-right: 1rem;
  }
  .w4d-header--2 .w4d-header__nav, .w4d-header--3 .w4d-header__nav, .w4d-header--4 .w4d-header__nav {
    justify-self: end;
  }
  .w4d-header--4 {
    padding-top: 0;
  }
  .w4d-header--4 .w4d-header__main {
    grid-template-areas: "search logo actions-nav";
  }
  .w4d-header--5 {
    padding-top: 3rem;
  }
  .w4d-header--5 .w4d-header__main {
    grid-template-columns: 1fr auto auto;
    grid-template-areas: "logo actions nav";
  }
  .w4d-header--5 .w4d-header__actions {
    padding-right: 0;
    margin-right: 0.625rem;
  }
  .w4d-header--sticky.w4d-header--1 + main {
    padding-top: 6rem;
  }
  .w4d-header--sticky.w4d-header--2 + main, .w4d-header--sticky.w4d-header--3 + main, .w4d-header--sticky.w4d-header--4 + main, .w4d-header--sticky.w4d-header--5 + main {
    padding-top: 7.5rem;
  }
  .w4d-header--sticky:is(.w4d-header--2, .w4d-header--3):has(.nav--topbar) {
    padding-top: 0;
  }
  .w4d-header--sticky:is(.w4d-header--2, .w4d-header--3):has(.nav--topbar) + main {
    padding-top: 10.5rem;
  }
  .w4d-header--sticky.w4d-header--5:has(.nav--topbar) + main {
    padding-top: 10.5rem;
  }
}
@media screen and (max-width: 992px) {
  .w4d-header--2, .w4d-header--3, .w4d-header--4 {
    --actions-grid-area: actions;
    --nav-grid-area: nav;
  }
  .w4d-header--1 {
    height: 4.5rem;
  }
  .w4d-header--1 .w4d-header__logo {
    height: 4.5rem;
    padding-block: 0.5rem;
  }
  .w4d-header--1 .w4d-header__logo img {
    max-height: 3.5rem;
  }
  .w4d-header--2 .w4d-header__logo, .w4d-header--3 .w4d-header__logo, .w4d-header--4 .w4d-header__logo, .w4d-header--5 .w4d-header__logo {
    height: 6rem;
    padding-block: 0.625rem;
  }
  .w4d-header--2 .w4d-header__logo img, .w4d-header--3 .w4d-header__logo img, .w4d-header--4 .w4d-header__logo img, .w4d-header--5 .w4d-header__logo img {
    max-height: 4.75rem;
  }
  .w4d-header--2 .w4d-header__main, .w4d-header--3 .w4d-header__main, .w4d-header--4 .w4d-header__main, .w4d-header--5 .w4d-header__main {
    grid-template-columns: 1fr auto auto auto;
    grid-template-areas: "logo search actions nav";
    height: 6rem;
  }
  .w4d-header--2 .w4d-header__search, .w4d-header--3 .w4d-header__search, .w4d-header--4 .w4d-header__search, .w4d-header--5 .w4d-header__search {
    justify-self: center;
    margin-right: 0.625rem;
  }
  .w4d-header--2 .w4d-header__actions, .w4d-header--3 .w4d-header__actions, .w4d-header--4 .w4d-header__actions, .w4d-header--5 .w4d-header__actions {
    justify-self: center;
    margin-right: 0.625rem;
    padding-right: 0;
  }
  .w4d-header--2 .w4d-header__nav, .w4d-header--3 .w4d-header__nav, .w4d-header--4 .w4d-header__nav, .w4d-header--5 .w4d-header__nav {
    justify-self: center;
  }
  .w4d-header--4 .w4d-header__logo {
    padding-left: 1.25rem;
  }
  .w4d-header--4 .w4d-header__search {
    padding-left: 0;
  }
  .w4d-header--5 .w4d-header__search {
    margin-right: 0;
  }
  .w4d-header--sticky.w4d-header--1 + main {
    padding-top: 4.5rem;
  }
  .w4d-header--sticky.w4d-header--2 + main, .w4d-header--sticky.w4d-header--3 + main, .w4d-header--sticky.w4d-header--4 + main, .w4d-header--sticky.w4d-header--5 + main {
    padding-top: 6rem;
  }
  .w4d-header--sticky:is(.w4d-header--2, .w4d-header--3):has(.nav--topbar) + main {
    padding-top: 9rem;
  }
  .w4d-header--sticky.w4d-header--5:has(.nav--topbar) + main {
    padding-top: 10.5rem;
  }
}
@media screen and (max-width: 768px) {
  .w4d-header--2 .w4d-header__logo, .w4d-header--3 .w4d-header__logo, .w4d-header--4 .w4d-header__logo, .w4d-header--5 .w4d-header__logo {
    height: 4.5rem;
    padding-block: 0.5rem;
  }
  .w4d-header--2 .w4d-header__logo img, .w4d-header--3 .w4d-header__logo img, .w4d-header--4 .w4d-header__logo img, .w4d-header--5 .w4d-header__logo img {
    max-height: 3.5rem;
  }
  .w4d-header--2 .w4d-header__main, .w4d-header--3 .w4d-header__main, .w4d-header--4 .w4d-header__main, .w4d-header--5 .w4d-header__main {
    height: 4.5rem;
  }
  .w4d-header--sticky.w4d-header--2 + main, .w4d-header--sticky.w4d-header--3 + main, .w4d-header--sticky.w4d-header--4 + main, .w4d-header--sticky.w4d-header--5 + main {
    padding-top: 4.5rem;
  }
  .w4d-header--sticky:is(.w4d-header--2, .w4d-header--3):has(.nav--topbar) + main {
    padding-top: 4.5rem;
  }
  .w4d-header--sticky.w4d-header--5:has(.nav--topbar) + main {
    padding-top: 10.5rem;
  }
}

.w4d-footer {
  padding: 59px 16px 63px;
  color: var(--footer-clr);
  background-color: var(--footer-bg-clr);
  /*@media (min-width: $viewport-sm) and (max-width: ($viewport-xl - .02px)) {
      padding: 40px 16px;
  }*/
}
@media screen and (max-width: 768px) {
  .w4d-footer {
    padding: 27px 15px 35px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .w4d-footer {
    padding: 40px 16px;
  }
}
.w4d-footer__logo {
  display: inline-block;
  width: max-content;
  display: flex;
  align-items: center;
}
.w4d-footer__logo img {
  max-width: clamp(9rem, 20vw, 18rem);
  max-height: 6rem;
  width: auto;
  height: auto;
  object-fit: contain;
}
.w4d-footer__container {
  display: grid;
  grid-template-columns: 340px auto 340px;
  margin: 0 auto;
  gap: 5rem;
}
@media screen and (max-width: 1400px) {
  .w4d-footer__container {
    grid-template-columns: 260px 1fr 260px;
    gap: 3rem;
  }
}
@media screen and (max-width: 1200px) {
  .w4d-footer__container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 1200px) {
  .w4d-footer__column:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .w4d-footer__column:first-child {
    align-items: flex-start;
  }
}
.w4d-footer__column--grid {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .w4d-footer__column--grid {
    justify-content: space-around;
  }
}
@media screen and (max-width: 768px) {
  .w4d-footer__column--grid {
    flex-direction: column;
    gap: 0;
  }
}
.w4d-footer__logo {
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .w4d-footer__logo {
    margin-bottom: 20px;
  }
}
.w4d-footer__logo a {
  display: block;
}
.w4d-footer__logo a img {
  display: block;
}
@media screen and (max-width: 768px) {
  .w4d-footer__logo a img {
    max-width: 120px;
  }
}
@media screen and (min-width: 576px) and (max-width: 768px) {
  .w4d-footer__logo a img {
    margin: 0 auto;
  }
}
.w4d-footer-developer-logo {
  position: absolute;
  width: 80px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 992px) {
  .w4d-footer-developer-logo {
    position: relative;
    transform: none;
    margin-top: 1.25rem;
  }
}
.w4d-footer__menu:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .w4d-footer__menu.show .menu {
    display: block;
    margin-left: 16px;
  }
}
.w4d-footer__menu.show .w4d-footer__xs-toggle {
  color: var(--footer-link-clr);
}
.w4d-footer__menu.show .w4d-footer__xs-toggle::after {
  color: var(--footer-clr);
  background: var(--footer-clr);
  transform: rotate(0deg);
}
@media screen and (max-width: 768px) {
  .w4d-footer__menu .menu {
    display: none;
  }
}
.w4d-footer__xs-toggle {
  font-size: 1rem;
  font-weight: 600;
  line-height: 2rem;
  color: var(--footer-clr);
  cursor: pointer;
}
.w4d-footer__xs-toggle::after {
  position: relative;
  line-height: 14px;
  display: inline-block;
  width: 14px;
  height: 14px;
  content: "\f002";
  color: var(--footer-clr);
  background: var(--footer-clr);
  background-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 14px 14px;
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /></svg>');
  transform: rotate(-90deg);
  margin-left: 10px;
}
@media screen and (min-width: 576px) and (max-width: 768px) {
  .w4d-footer .social-icons {
    justify-content: center;
  }
}
.w4d-footer .menu .menu-item a {
  line-height: 1.75rem;
  color: var(--footer-link-clr);
  display: block;
}
@media screen and (max-width: 576px) {
  .w4d-footer .menu .menu-item a {
    font-size: 0.938rem;
    line-height: 2.025rem;
  }
}
.w4d-footer .menu .menu-item a:hover {
  color: var(--footer-link-hover-clr);
}
.w4d-footer--secondary {
  display: block;
  padding: 18px 20px 22px;
  background-color: var(--footer-alt-bg-clr);
  color: var(--footer-alt-clr);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .w4d-footer--secondary {
    padding: 17px 19px;
  }
}
.w4d-footer--secondary .menu {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .w4d-footer--secondary .menu {
    gap: 10px 18px;
    flex-wrap: wrap;
  }
}
.w4d-footer--secondary .menu .menu-item a {
  font-size: 12px;
  line-height: 14px;
  font-weight: 600;
  color: var(--footer-alt-link-clr);
}
.w4d-footer--secondary .menu .menu-item a:hover {
  color: var(--footer-alt-link-hover-clr);
}
@media screen and (max-width: 768px) {
  .w4d-footer--secondary .menu .menu-item a {
    font-size: 10px;
    line-height: 12px;
  }
}
.w4d-footer--secondary p {
  font-size: 12px;
  line-height: 14px;
}
.w4d-checkout-footer {
  background-color: color-mix(in srgb, var(--footer-bg-clr) 90%, var(--footer-clr));
}
.w4d-checkout-footer .w4d-footer-developer-logo {
  position: relative;
  transform: unset;
  width: 80px;
}
.w4d-checkout-footer .w4d-footer-developer-logo .st0 {
  fill: #2f629b;
}
.w4d-checkout-footer .w4d-footer-developer-logo .st1 {
  fill: #49c8f5;
}
@media screen and (max-width: 992px) {
  .w4d-checkout-footer .w4d-footer-developer-logo {
    position: relative;
    transform: none;
    margin-top: 0;
  }
}
.w4d-checkout-footer .container {
  height: 88px;
  background-color: color-mix(in srgb, var(--footer-bg-clr) 90%, var(--footer-clr));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .w4d-checkout-footer .container {
    flex-direction: column;
    height: auto;
    padding: 20px;
    gap: 10px;
  }
}
.w4d-checkout-footer .container p {
  font-size: 12px;
  line-height: 14px;
  color: var(--clr-black);
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .w4d-checkout-footer .container p {
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .w4d-checkout-footer .container p:last-child {
    text-align: right;
  }
}
.w4d-checkout-footer .container .payment-methods {
  gap: 20px 12px;
}
@media screen and (max-width: 768px) {
  .w4d-checkout-footer .container .payment-methods {
    gap: 0 10px;
    justify-content: center;
  }
}
.w4d-checkout-footer .container .payment-methods img {
  transform: scale(0.8);
}
@media screen and (max-width: 768px) {
  .w4d-checkout-footer .container .payment-methods img {
    transform: scale(0.6);
  }
}

.container {
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.container--full {
  max-width: unset;
}
@media screen and (max-width: 576px) {
  .container.xs-p-0 {
    padding: 0;
  }
}
.container.grid {
  display: grid;
  gap: 40px 20px;
}
@media screen and (max-width: 576px) {
  .container.grid {
    gap: 24px 16px;
  }
}
.container.grid.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.container.grid.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 1200px) {
  .container.grid.grid-lg-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .container.grid.grid-sm-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  .container.grid.grid-md-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .container.grid.grid-xs-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.container .col-span-2 {
  grid-column: span 2/span 2;
}

.content {
  padding-bottom: 5rem;
}
@media screen and (max-width: 576px) {
  .content {
    padding-bottom: 1.25rem;
  }
}
@media screen and (min-width: 1200px) {
  .content--shop {
    padding-top: calc(66.803% + 2.5rem);
  }
}
.content--shop .accordion__nav {
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 3.5625rem !important;
  margin: 0 !important;
}
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
  margin-bottom: 1.25rem;
  font-weight: 700;
  margin-top: 1rem;
  display: inline-block;
}
@media screen and (max-width: 576px) {
  .content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
    margin-top: 0.625rem;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .content h1 {
    font-size: 1.125rem;
    line-height: 1.406rem;
  }
}
@media screen and (max-width: 576px) {
  .content h2 {
    font-size: 1.0625rem;
    line-height: 1.312rem;
  }
}
@media screen and (max-width: 576px) {
  .content h3 {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}
.content h4 {
  font-size: 0.938rem;
  line-height: 1.1875rem;
}
.content h5 {
  font-size: 0.875rem;
  line-height: 1.125rem;
}
.content h6 {
  font-size: 0.75rem;
  line-height: 1.0625rem;
}
.content p {
  margin-bottom: 1.25rem;
}
.content ol, .content ul {
  list-style: initial;
}
.content .wp-block-group .wp-block-heading {
  text-transform: uppercase;
}
.content .wp-block-group h2.wp-block-heading {
  font-size: 1.25rem;
  line-height: 1.5rem;
}
@media screen and (max-width: 576px) {
  .content .wp-block-group h2.wp-block-heading {
    font-size: 1rem;
    line-height: 1.25rem;
  }
}

@media screen and (max-width: 576px) {
  aside.aside-xs-full {
    grid-column: span 2/span 2;
  }
}
aside.aside-bkg {
  position: relative;
  min-height: 65vh;
}
aside.aside-bkg::before {
  content: "";
  position: absolute;
  top: 0;
  background: var(--body-alt-bg-clr);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1520px) {
  aside.aside-bkg::before {
    width: calc(100% + 20px);
  }
}
@media screen and (min-width: 1520px) {
  aside.aside-bkg::before {
    width: calc(100% + (100vw - 1520px) / 2 + 20px);
  }
}
@media screen and (max-width: 576px) {
  aside.aside-bkg::before {
    width: 100vw;
  }
}
aside.aside-bkg--white::before {
  background: var(--clr-white);
}
aside.aside-bkg--right::before {
  left: 0;
}
@media screen and (max-width: 576px) {
  aside.aside-bkg--right::before {
    left: -20px;
  }
}
aside.aside-bkg--left::before {
  right: 0;
}
@media screen and (max-width: 576px) {
  aside.aside-bkg--left::before {
    right: auto;
    left: -20px;
  }
}

html:not(.dgwt-wcas-overlay-mobile-on) .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon {
  max-width: unset;
}

body:has(.w4d-header--1) .dgwt-wcas-suggestions-wrapp {
  margin-top: 0;
}

.w4d-header .dgwt-wcas-search-wrapp {
  width: max-content;
}
.w4d-header .dgwt-wcas-search-wrapp:hover {
  cursor: pointer;
}
.w4d-header .dgwt-wcas-search-wrapp:hover .dgwt-wcas-ico-magnifier-handler {
  fill: var(--header-icon-hover-clr);
}
.w4d-header .dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier-handler {
  fill: var(--header-icon-clr);
  transition: color 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95), fill 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.w4d-header--1 .dgwt-wcas-search-form, .w4d-header--5 .dgwt-wcas-search-form {
  top: -36px !important;
  left: -442px !important;
}
.w4d-header--1 .dgwt-wcas-search-icon, .w4d-header--5 .dgwt-wcas-search-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp:hover input[type=search].dgwt-wcas-search-input, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp:hover input[type=search].dgwt-wcas-search-input {
  background-color: var(--clr-neutral-100);
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
  height: 7.5rem;
  border-radius: 0;
  border: unset;
  background-color: var(--clr-neutral-50);
  transition: all 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {
  border: unset;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
  padding: 0;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
  left: unset;
  right: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover {
  box-shadow: 0 0 0 4px #e4e4e4;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader), .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) {
  width: 33px;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader)::before, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader)::before {
  width: 33px;
  height: 33px;
  border-radius: 50%;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader):hover, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader):hover {
  opacity: 1;
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader):hover::before, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader):hover::before {
  box-shadow: 0 0 0 4px var(--clr-neutral-200);
  background: var(--clr-neutral-200);
}
.w4d-header--1 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) svg, .w4d-header--5 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) svg {
  z-index: 1;
}
.w4d-header--1 .dgwt-wcas-open-pirx-compact .dgwt-wcas-suggestions-wrapp, .w4d-header--5 .dgwt-wcas-open-pirx-compact .dgwt-wcas-suggestions-wrapp {
  margin-top: 0 !important;
}
.w4d-header--2 .dgwt-wcas-search-wrapp, .w4d-header--3 .dgwt-wcas-search-wrapp, .w4d-header--4 .dgwt-wcas-search-wrapp {
  max-width: clamp(300px, 40vw, 800px);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
  height: 54px;
  cursor: auto;
  color: var(--header-search-clr);
  background-color: var(--header-search-bg-clr);
  border: 1px solid var(--header-search-border-clr);
  border-radius: 0.5rem;
  width: clamp(300px, 40vw, 800px);
  padding: 0.875rem 3rem 0.875rem 1rem;
  transition: all 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::placeholder, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::placeholder, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::placeholder {
  color: color-mix(in srgb, var(--header-search-clr) 50%, transparent);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover input[type=search].dgwt-wcas-search-input, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover input[type=search].dgwt-wcas-search-input, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover input[type=search].dgwt-wcas-search-input {
  border-color: color-mix(in srgb, var(--header-search-border-clr) 85%, var(--header-search-bg-clr) 15%);
  background-color: color-mix(in srgb, var(--header-search-bg-clr) 96%, var(--header-search-clr) 4%);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit {
  background-color: color-mix(in srgb, var(--header-search-bg-clr) 96%, var(--header-search-clr) 4%);
  border-color: color-mix(in srgb, var(--header-search-border-clr) 85%, var(--header-search-bg-clr) 15%);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within input[type=search].dgwt-wcas-search-input, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within input[type=search].dgwt-wcas-search-input, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within input[type=search].dgwt-wcas-search-input {
  border-color: color-mix(in srgb, var(--header-search-bg-clr) 75%, var(--header-search-clr) 25%);
  background-color: color-mix(in srgb, var(--header-search-bg-clr) 98%, var(--header-search-clr) 2%);
}
.w4d-header--2 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit, .w4d-header--3 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit, .w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit {
  border-color: color-mix(in srgb, var(--header-search-bg-clr) 75%, var(--header-search-clr) 25%);
  background-color: color-mix(in srgb, var(--header-search-bg-clr) 98%, var(--header-search-clr) 2%);
}
.w4d-header--2 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp, .w4d-header--3 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp, .w4d-header--4 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
  border-radius: 0.5rem;
  background-color: var(--clr-white);
  padding: 0;
  overflow: hidden;
  height: 54px;
}
.w4d-header--2[data-search-border-left-toggle="1"] .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit, .w4d-header--3[data-search-border-left-toggle="1"] .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit, .w4d-header--4[data-search-border-left-toggle="1"] .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
  border-left: 1px solid var(--header-search-border-clr);
}
.w4d-header--2[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit, .w4d-header--3[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit, .w4d-header--4[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:hover button.dgwt-wcas-search-submit {
  border-left-color: color-mix(in srgb, var(--header-search-border-clr) 85%, var(--header-search-bg-clr) 15%);
}
.w4d-header--2[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit, .w4d-header--3[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit, .w4d-header--4[data-search-border-left-toggle="1"] .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp:focus-within button.dgwt-wcas-search-submit {
  border-left-color: color-mix(in srgb, var(--header-search-bg-clr) 75%, var(--header-search-clr) 25%);
}
.w4d-header--2 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit, .w4d-header--3 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit, .w4d-header--4 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
  background-color: var(--header-search-icon-bg-clr);
  left: unset;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 1;
  width: unset;
  cursor: pointer;
  border-radius: unset;
  border-top-right-radius: calc(0.5rem - 1px);
  border-bottom-right-radius: calc(0.5rem - 1px);
  border: 1px solid var(--header-search-border-clr);
  border-left: unset;
  box-shadow: unset !important;
  transition: all 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.w4d-header--2 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover, .w4d-header--3 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover, .w4d-header--4 .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover {
  background: color-mix(in srgb, var(--header-search-icon-bg-clr) 90%, var(--header-search-icon-clr) 10%) !important;
}
.w4d-header--2 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader), .w4d-header--3 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader), .w4d-header--4 .dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) {
  width: 54px !important;
  margin-right: 0 !important;
}
@media screen and (max-width: 992px) {
  .w4d-header--2 .dgwt-wcas-search-icon, .w4d-header--3 .dgwt-wcas-search-icon, .w4d-header--4 .dgwt-wcas-search-icon {
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.w4d-header--4 .dgwt-wcas-search-wrapp {
  margin: unset;
}
.w4d-header--4 .dgwt-wcas-sf-wrapp {
  width: fit-content;
}
.w4d-header--4 .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
  width: clamp(300px, 12vw, 460px);
}

@media screen and (min-width: 992px) {
  body:has(.w4d-header--2, .w4d-header--3) .dgwt-wcas-suggestions-wrapp {
    width: clamp(300px, 40vw, 800px) !important;
  }
}

@media screen and (min-width: 992px) {
  body:has(.w4d-header--2, .w4d-header--3, .w4d-header--4) .dgwt-wcas-suggestions-wrapp {
    top: calc(135px + var(--has-announcement-bar, 0) * 3.75rem) !important;
    border-radius: 0.5rem !important;
    border: 1px solid var(--header-search-border-clr) !important;
    overflow: hidden;
  }
}

.dgwt-wcas-style-pirx .dgwt-wcas-preloader {
  margin-right: 1rem;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
  border-radius: 0;
}
.dgwt-wcas-suggestion {
  background-color: transparent !important;
}
.dgwt-wcas-suggestion:hover {
  background-color: var(--header-search-bg-hover-clr) !important;
  transition: background-color 150ms ease-in-out !important;
}
.dgwt-wcas-suggestion-selected {
  background-color: unset !important;
}
.dgwt-wcas-suggestions-wrapp {
  background: var(--header-search-bg-clr) !important;
  padding-bottom: 0 !important;
  border: unset !important;
  overflow-y: unset !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
@media screen and (min-width: 992px) {
  .dgwt-wcas-suggestions-wrapp {
    width: 600px !important;
  }
}
.dgwt-wcas-suggestion-more {
  font-size: 1rem;
  line-height: 2rem;
  font-weight: 700;
  box-sizing: border-box;
  transition: background-color 150ms ease-in-out !important;
  padding-block: 0.5rem;
  background-color: var(--clr-primary-500) !important;
}
.dgwt-wcas-suggestion-more:hover {
  background-color: var(--clr-primary-600) !important;
}
.dgwt-wcas-suggestion-more span {
  color: var(--clr-white);
}
.dgwt-wcas-suggestion-product img {
  max-width: 45px;
  max-height: 45px;
}
.dgwt-wcas-st-more {
  display: flex;
  align-items: center;
}
.dgwt-wcas-st-more-total {
  margin-left: 0.75rem;
  background-color: var(--clr-primary-600);
  border-radius: 12px;
  min-width: 2rem;
  padding-inline: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 0.938rem;
  padding-block: 0.375rem;
}
.dgwt-wcas-st {
  color: var(--header-search-clr) !important;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit svg path {
  fill: var(--header-search-icon-clr) !important;
}

.dgwt-wcas-style-pirx .dgwt-wcas-close:not(.dgwt-wcas-inner-preloader) path {
  fill: var(--header-search-clr) !important;
}

.dgwt-wcas-search-submit {
  cursor: pointer !important;
}

.woocommerce table.shop_table {
  margin: 0 !important;
}
.woocommerce table.shop_table td {
  border: none !important;
}
.woocommerce-message {
  background-color: var(--clr-neutral-200);
}
.woocommerce-info {
  color: var(--clr-info-shade);
  background-color: var(--clr-info-tint);
  border-top-color: var(--clr-info);
}
.woocommerce-info::before {
  color: var(--clr-info);
}
.woocommerce a.button-wc-backward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
  border-radius: size(4);
  border: 1px solid transparent;
  font-size: fs(300);
  line-height: size(48);
  font-weight: fw(600);
  transition: 0.2s ease-in-out;
  color: var(--clr-white);
  background-color: var(--clr-primary-500);
}
.woocommerce a.button-wc-backward:hover {
  background: var(--clr-primary-600);
}
.woocommerce-variation-price:not(:has(.variation__price-lowest-in-30-days)) .variation__price {
  margin: size(16) 0;
}
.woocommerce-variation-price > .availability.availability--backorder {
  color: var(--clr-neutral-500);
}
.woocommerce form .form-row.woocommerce-validated input.input-text {
  border-color: var(--clr-success);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text {
  border-color: var(--clr-danger);
}
.woocommerce form .form-row.woocommerce-invalid label {
  color: var(--clr-neutral-800);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
  color: var(--body-clr-dim);
}

.gallery-item.active:hover .play-icon {
  width: 90px;
  height: 90px;
  border-radius: 50%;
}

.play-icon {
  content: "";
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translate(50%, -50%);
  width: 4rem;
  height: 4rem;
  border-radius: 0.25rem;
  opacity: 1;
  z-index: 2323;
  background-color: var(--clr-white);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease-in-out;
  text-align: center;
}
.play-icon i {
  font-size: 1.75rem;
}

.gallery-video {
  cursor: pointer;
}

.product-gallery__thumbnail {
  position: relative;
}
.product-gallery__thumbnail:has(.video-thumbnail)::before {
  position: absolute;
  font-family: "icomoon";
  content: "\e91d";
  opacity: 0.8;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50%;
  width: 50%;
  right: 0;
  top: 0;
  background: white;
  border-radius: 50%;
  transform: translate(-50%, 50%);
}

.form__success-msg {
  color: var(--clr-success) !important;
  margin-top: 0.5rem;
}
.form__error-msg {
  color: var(--clr-danger) !important;
  margin-top: 0.5rem;
}
.form__input-success {
  background: color-mix(in srgb, var(--clr-success-tint) 40%, var(--body-bg-clr)) !important;
  border-color: var(--clr-success) !important;
}
.form__requirements li .icon-checkmark {
  color: var(--clr-success);
}
.form__requirements li .icon-x-rounded {
  color: var(--clr-danger);
}

.select2-container--default .select2-results__option--disabled {
  display: none;
}

.woocommerce-additional-fields {
  display: grid;
  -ms-grid-columns: 260px 1fr;
  grid-template-columns: 260px 1fr;
  margin-bottom: 60px;
}
.woocommerce-additional-fields h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: var(--clr-black);
  text-transform: uppercase;
}
.woocommerce-additional-fields #order_comments_field {
  padding: 0;
}

#toggle_r1_field {
  grid-column: 1/-1 !important;
  padding: 8px !important;
  background-color: var(--clr-neutral-50);
  border-radius: 4px;
  position: relative;
}

#toggle_r1::before {
  line-height: 24px !important;
  width: 100%;
}

.remove_coupon {
  cursor: pointer;
  color: var(--body-clr);
  background-color: var(--clr-neutral-300);
  padding: 4px 10px;
  border-radius: 5px;
  font-weight: 600;
  font-size: 0.875rem;
}
.remove_coupon i {
  background-color: inherit;
  border-radius: 50%;
  padding: 4px;
  font-size: 9px;
  margin-left: 5px;
  position: absolute;
  border: 3px solid var(--body-bg-clr);
  color: inherit;
  margin-top: 3px;
  line-height: 9px;
}

body:has(#cmplz-cookiebanner-container.cmplz-show) {
  overflow: hidden;
}

.cmplz-soft-cookiewall {
  backdrop-filter: blur(5px);
}

.box-now__wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: 16px;
}
.box-now__wrapper #box_now_delivery_button {
  flex-basis: 25%;
  padding: 10px;
  margin: 0 16px 0 0;
  text-align: center;
  font-weight: 600;
}
.box-now__wrapper #box_now_selected_locker_details {
  margin: 0px;
  box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.1);
  padding: 16px;
}
.box-now__wrapper #box_now_selected_locker_details div p:first-of-type {
  display: none;
}

/*
    The file has 5 header types

    Design approach: Mobile First
 */
.nav__text, .nav__link.next::after, .nav__link, .nav .back::before, .nav .header {
  transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body:has(.nav__list--topbar-center) .w4d-header--hidden {
  transform: translateY(calc(-100% - 3rem));
}
body:has(.nav__list--topbar-center) .nav__container {
  height: 100dvh;
}

body:has(> .w4d-header .nav--3.nav--open):before {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: var(--header-nav-overlay-bg-clr);
  opacity: var(--header-nav-overlay-opacity);
  z-index: 3;
  display: block;
}

.nav {
  width: 100%;
}
.nav--topbar {
  display: grid;
  grid-template-columns: auto max-content;
  border-bottom: 1px solid var(--header-top-bar-border-clr);
  padding-inline: 1.25rem;
  height: 3rem;
  background-color: var(--header-top-bar-bg-clr);
}
@media screen and (max-width: 1400px) {
  .nav--topbar {
    background-color: var(--header-mobile-topbar-center-bg-clr);
  }
}
@media screen and (max-width: 768px) {
  .nav--topbar {
    display: none;
  }
}
.nav--overlay .nav__container {
  background-color: color-mix(in srgb, var(--header-nav-overlay-bg-clr) var(--header-nav-overlay-opacity), transparent);
  backdrop-filter: blur(2px);
}
.nav .header {
  display: flex;
  position: relative;
  background-color: var(--header-mobile-nav-back-link-bg-clr);
  background-repeat: no-repeat;
  background-size: 0 100%;
  background-position: left center;
  background-image: linear-gradient(to right, color-mix(in srgb, var(--header-mobile-nav-back-link-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%, color-mix(in srgb, var(--header-mobile-nav-back-link-bg-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%);
}
.nav .header:hover {
  background-size: 100% 100%;
}
.nav .header:hover .back::before {
  color: var(--header-mobile-nav-back-link-hover-clr) !important;
}
.nav .header:hover .title {
  color: var(--header-mobile-nav-back-link-hover-clr);
}
.nav .back {
  position: absolute;
  inset: 0;
}
.nav .back::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0.625rem;
  content: "\e917";
  font-size: 1.5rem;
  font-family: "icomoon";
  color: var(--header-mobile-nav-back-link-arrow-clr);
}
.nav .title {
  font-weight: 700;
  text-align: center;
  line-height: 1.5rem;
  flex: 1;
  order: 1;
  padding: 1rem 3rem;
  color: var(--header-mobile-nav-back-link-clr);
}
.nav__list--l1 {
  left: 0;
  position: relative;
  transform: translateZ(0);
}
.nav__list--topbar-left-mobile, .nav__list--topbar-right-mobile {
  position: relative;
  border-top: 1px solid var(--header-mobile-nav-link-border-clr);
  padding-block: 0.375rem;
}
.nav__list--topbar-left-mobile:before, .nav__list--topbar-right-mobile:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 12px solid color-mix(in srgb, var(--header-link-clr) 12%, var(--header-bg-clr));
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  top: -6px;
  pointer-events: none;
}
.nav__list--topbar-left-mobile:after, .nav__list--topbar-right-mobile:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  right: 0;
  border-right: 12px solid color-mix(in srgb, var(--header-link-clr) 12%, var(--header-bg-clr));
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  top: -6px;
  pointer-events: none;
}
.nav__list--topbar-center {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid var(--header-mobile-topbar-center-border-clr);
  background-color: var(--header-topbar-center-bg-clr);
  height: 3rem;
  justify-content: center;
}
.nav__list--topbar-center .nav__link {
  font-weight: 700;
  font-size: 1rem;
  text-align: center;
}
.nav__list--topbar-right {
  justify-content: flex-end;
}
.nav__list--l2, .nav__list--l3, .nav__list--l4, .nav__list--l5 {
  display: none;
  left: 100%;
  position: absolute;
  top: 0;
}
.nav__item--topbar-mobile .header {
  display: none;
}
.nav__item--topbar:first-child .nav__link {
  padding-left: 0;
}
.nav__item--topbar:last-child .nav__link {
  padding-right: 0;
}
.nav__item--show-all-desktop {
  display: none;
}
.nav__link {
  color: var(--header-nav-link-lvl-1-clr);
  width: 100%;
  display: block;
  user-select: none;
}
.nav__link:hover {
  background-size: 100% 100%;
}
.nav__link:hover span {
  color: var(--header-mobile-nav-link-lvl-1-hover-clr);
  transform: translateX(0.625rem);
}
.nav__link:hover.next::after {
  color: var(--header-mobile-nav-link-lvl-1-hover-clr);
}
.nav__link--1 {
  white-space: nowrap;
}
.nav__link--topbar {
  display: block;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 3rem;
  padding-inline: 0.5rem;
  color: var(--custom-header-top-bar-link-clr, var(--header-link-clr));
}
.nav__link--topbar:hover {
  color: var(--header-top-bar-link-hover-clr);
}
.nav__link--topbar-mobile:hover .nav__text {
  color: var(--header-mobile-nav-custom-link-hover-clr);
}
.nav__link.next::after {
  font-family: "icomoon";
  content: "\e916";
  font-size: 1.5rem;
  color: var(--header-mobile-nav-link-lvl-1-arrow-clr);
  margin-right: 1rem;
}
.nav__link--show-all {
  border-top: 1px solid color-mix(in srgb, var(--header-link-clr) 6%, var(--header-bg-clr));
}
.nav__link--show-all .nav__text {
  color: var(--header-mobile-nav-show-all-link-clr) !important;
}
.nav__link--show-all::after {
  transition: transform 0.3s ease-in-out;
}
.nav__link--show-all:hover::after {
  transform: translateX(0.625rem) scaleX(1.15) !important;
}
.nav__link--show-all:hover span {
  color: var(--header-mobile-nav-show-all-link-hover-clr) !important;
}
.nav__link--special:hover .nav__text {
  color: var(--header-nav-extra-link-hover-clr);
}
.nav__link--special-mobile:hover .nav__text {
  color: var(--header-mobile-nav-extra-link-hover-clr);
}
.nav__text {
  width: 100%;
  padding-inline: 1rem;
  line-height: 3.5rem;
}
.nav__text--l1 {
  font-size: 1rem;
  font-weight: 700;
}
.nav__text--l2, .nav__text--l3, .nav__text--l4, .nav__text--l5 {
  flex: 1;
  font-size: 1rem;
  font-weight: 500;
}
.nav__text--special-mobile {
  color: var(--header-mobile-nav-extra-link-clr);
  font-weight: 600;
  font-size: 1rem;
  line-height: 3rem;
}
.nav__text--topbar-mobile {
  line-height: 2.6rem;
  font-size: 0.938rem;
  color: var(--header-mobile-nav-custom-link-clr);
}
.nav__container {
  display: flex;
  flex-direction: column;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  inset: 0;
  height: 100dvh;
  width: 100%;
}
.nav__container--transitions-enabled {
  transition: visibility 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95), opacity 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95), transform 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.nav__container > div:last-child {
  flex: 1;
  background: var(--header-mobile-nav-bg-clr);
}
.nav__inner {
  display: grid;
  grid-template-rows: min-content auto min-content;
  max-width: min(480px, 100% - 2.5rem);
  width: 100%;
  margin-left: auto;
  transform: translateX(100%);
  touch-action: pan-y;
  overscroll-behaviour-x: none;
}
.nav__container--transitions-enabled .nav__inner {
  transition: transform 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.nav__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 1rem;
  border-bottom: 1px solid var(--header-mobile-top-bar-border-clr);
  height: 4.5rem;
  container-type: inline-size;
  background: var(--header-mobile-top-bar-bg-clr);
}
.nav__header-icon {
  font-size: 1.5rem;
  cursor: pointer;
  padding: 1.125rem;
}
.nav__header .w4d-header__logo {
  height: clamp(3.5rem, 12cqi, 6rem);
  padding-left: 0 !important;
}
.nav__header .w4d-header__logo img {
  max-height: clamp(3.5rem, 8cqi, 6rem);
  max-width: clamp(7.5rem, 20cqi, 15rem);
}
.nav__btn {
  font-size: 1.125rem;
  font-weight: 600;
  padding: 0.625rem 1rem;
  cursor: pointer;
  color: var(--header-mobile-bottom-bar-clr);
  display: flex;
  align-items: center;
  transition: color 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  height: 4.5rem;
}
.nav__btn i {
  font-size: 1.25rem;
}
.nav__btn:first-child i {
  margin-right: 1ch;
}
.nav__btn:hover {
  color: var(--header-mobile-bottom-bar-hover-clr);
}
.nav__btn-group {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
  border-top: 1px solid var(--header-mobile-bottom-bar-border-clr);
  position: relative;
  background: var(--header-mobile-bottom-bar-bg-clr);
}
.nav__btn-group::before {
  bottom: calc(100% + 2px);
  position: absolute;
  content: "";
  width: 100%;
  height: 20px;
  background: linear-gradient(to bottom, transparent, var(--header-mobile-nav-bg-clr));
  pointer-events: none;
}
.nav__links-wrapper {
  background-color: var(--header-bg-clr);
  max-height: calc(100dvh - 4.5rem - 4.5rem - 1px);
  scrollbar-width: thin;
  scrollbar-color: var(--clr-primary-500) var(--clr-primary-50);
}
.nav__links-wrapper::-webkit-scrollbar {
  width: 1em;
  height: 1em;
}
.nav__links-wrapper::-webkit-scrollbar-track {
  background: var(--clr-primary-50);
  border-radius: 100vw;
  margin-block: 0.375em;
}
.nav__links-wrapper::-webkit-scrollbar-thumb {
  background: wheat;
  border-radius: 100vw;
  border: 2px solid var(--clr-primary-50);
}
.nav__links-wrapper::-webkit-scrollbar-thumb:hover {
  background: red;
}
.nav__links-wrapper::-webkit-scrollbar-button {
  display: none;
  background: navajowhite;
  height: 0;
}
.nav__links-wrapper::-webkit-scrollbar-corner {
  background: red;
}
.nav__toggle {
  position: relative;
  z-index: 99;
  transition: all 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.nav__toggle label {
  overflow: hidden;
  display: block;
  cursor: pointer;
  width: 48px;
  height: 48px;
}
.nav__toggle svg {
  width: 100%;
  height: 100%;
  transform: scale(1.5) translateY(1px);
  transform-origin: center center;
  transform-box: fill-box;
}
.nav__toggle path {
  fill: none;
  stroke: var(--header-icon-clr);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 24 126.6418304443;
  stroke-dashoffset: -38;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.nav__toggle circle {
  opacity: 0;
}
.nav__toggle .line--1,
.nav__toggle .line--3 {
  stroke-dasharray: 24 126.6418304443;
}
.nav__toggle .line--2 {
  stroke-dasharray: 24 70;
}
@media screen and (max-width: 1400px) {
  .nav__toggle--open {
    transform: translateX(0.875rem);
  }
}
.nav__toggle--open path {
  stroke: var(--header-mobile-top-bar-clr);
}
.nav__toggle--open svg .line--1,
.nav__toggle--open svg .line--3 {
  stroke-dasharray: 22.627416998 126.6418304443;
  stroke-dashoffset: -94.1149185097;
}
.nav__toggle--open svg .line--2 {
  stroke-dasharray: 0 70;
  stroke-dashoffset: -50;
}
.nav--1 .nav__link--l1:not(.nav__link--mobile) {
  padding: 1rem;
  line-height: 1;
}
.nav--1 .nav__link--l1:not(.nav__link--mobile):hover {
  color: var(--header-nav-link-lvl-1-hover-clr);
}
@media screen and (min-width: 1520px) {
  .nav--topbar {
    padding-inline: 3rem;
  }
  .nav--5 .nav__links-wrapper {
    padding-left: 3rem !important;
  }
}
@media screen and (min-width: 1400px) {
  .nav__list--bottom-bar {
    display: flex;
    justify-content: center;
  }
  .nav__list--l1 {
    display: flex;
    transform: unset;
    position: unset;
  }
  .nav__list--l1::before {
    content: "";
    position: absolute;
    left: 50%;
    z-index: -1;
    top: 100%;
    transition: height 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
    width: 100vw;
    height: var(--submenu-height, 0);
    transform: translateX(-50%);
    border-top: 1px solid transparent;
    clip-path: inset(0px -10px -32px -10px);
  }
  .nav__list--l1:has(> .nav__item:hover)::before {
    border-color: var(--header-nav-border-clr);
    background: var(--header-nav-bg-clr);
  }
  .nav__list--l2 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 300px));
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    position: absolute !important;
    z-index: 2;
    left: 50% !important;
    right: 0;
    width: 100dvw !important;
    transform: translateX(-50%);
    gap: 3rem 4rem;
    padding: 3rem 4rem;
    box-sizing: border-box;
    transition: opacitiy 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95), visibility 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav__list--l3 {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    left: 0 !important;
    top: 0 !important;
  }
  .nav__item--topbar-mobile {
    display: none;
  }
  .nav__item--show-all {
    display: none;
  }
  .nav__item--l1:hover .nav__link--l1,
  .nav__item--l1:hover .nav__list--l2 {
    opacity: 1;
    visibility: visible;
  }
  .nav__item--l3 {
    transition: max-height 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav__item--l3--hidden {
    max-height: 0;
    overflow: hidden;
  }
  .nav__link--l1 {
    white-space: nowrap;
    font-size: 1.125rem;
    font-weight: 600;
  }
  .nav__link--l1:hover {
    color: var(--header-nav-link-lvl-1-hover-clr);
  }
  .nav__link--l2 {
    color: var(--header-nav-link-lvl-2-clr);
    padding: 0;
    margin-bottom: 0.625rem;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 1.125rem;
    opacity: 0;
    transition: all 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav__link--l2.nav__link--animate-in {
    opacity: 1;
    transform: translateY(0);
  }
  .nav__link--l2:hover {
    transform: translateX(0.5rem);
    color: var(--header-nav-link-lvl-2-hover-clr);
  }
  .nav__link--l3 {
    color: var(--header-nav-link-lvl-3-clr);
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    padding: 0;
    opacity: 0;
    transition: all 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav__link--l3.nav__link--animate-in {
    opacity: 1;
    transform: translateY(0);
  }
  .nav__link--l3:hover {
    transform: translateX(0.375rem);
    color: var(--header-nav-link-lvl-3-hover-clr);
  }
  .nav__link--active {
    color: var(--header-nav-link-active-clr);
    position: relative;
  }
  .nav__link--special {
    display: none;
    color: var(--header-bottom-bar-link-clr);
    font-weight: 600;
    font-size: 1.125rem;
    padding-inline: 0.625rem;
    line-height: 3rem;
  }
  .nav__link--special:hover {
    color: var(--header-bottom-bar-link-hover-clr);
  }
  .nav__text--1 {
    white-space: nowrap;
  }
  .nav--1 .nav__list--l1 {
    margin-top: 2.125rem;
  }
  .nav--1 .nav__list--l1::before {
    height: calc(var(--submenu-height, 2.25rem) - 2.25rem);
  }
  .nav--1 .nav__list--l2 {
    top: 100%;
    border-top: 2.25rem solid transparent;
    margin-top: -2.25rem;
  }
  .nav--1 .nav__item--l1 {
    padding-bottom: 2.25rem;
  }
  .nav--2 .nav__links-wrapper, .nav--4 .nav__links-wrapper {
    display: flex;
    justify-content: center;
    background: var(--header-bottom-bar-bg-clr);
  }
  .nav--2 .nav__list--l1::before, .nav--4 .nav__list--l1::before {
    top: 100%;
    height: var(--submenu-height, 0);
  }
  .nav--2 .nav__list--l2, .nav--4 .nav__list--l2 {
    top: 100%;
  }
  .nav--2 .nav__link--l1, .nav--4 .nav__link--l1 {
    color: var(--header-bottom-bar-link-clr);
    padding-inline: 1.25rem;
    line-height: 3.5rem;
  }
  .nav--3:not(.nav--topbar) {
    position: absolute;
    top: 100%;
    left: 0;
    height: calc(100dvh - 14rem);
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: visibility 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95), opacity 300ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav--3.nav--open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }
  .nav--3 .nav__container {
    height: 70vh !important;
    backdrop-filter: unset;
    background-color: unset;
    min-height: 30rem;
    max-height: 65rem;
  }
  .nav--3 .nav__inner {
    grid-template-rows: 1fr;
    margin-left: unset;
    margin-right: auto;
    max-width: fit-content;
  }
  .nav--3 .nav__links-wrapper {
    max-height: unset;
  }
  .nav--3 .nav__list--l1 {
    display: flex;
    flex-direction: column;
    grid-column: 2;
    width: 25rem;
    padding: 2.5rem 2rem 2.5rem 3rem;
    background: var(--header-nav-sidebar-bg-clr);
    height: 100%;
    overflow-y: auto;
  }
  .nav--3 .nav__list--l1::before {
    content: unset;
  }
  .nav--3 .nav__list--l2 {
    place-content: baseline;
    background-color: var(--header-nav-bg-clr);
    overflow-y: auto;
    height: 100%;
    left: 25rem !important;
    border-top: unset;
    transform: unset;
    width: calc(100dvw - 25rem) !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    max-width: 121.5rem;
    padding-top: 3.25rem;
    padding-bottom: 8rem;
    max-height: 100%;
  }
  .nav--3 + .nav__list--bottom-bar {
    display: flex;
  }
  .nav--3 + .nav__list--bottom-bar .nav__link--special-bottom-bar {
    line-height: 3rem;
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--header-bottom-bar-link-clr);
    padding-inline: 1rem;
  }
  .nav--3 + .nav__list--bottom-bar .nav__link--special-bottom-bar:hover {
    color: var(--header-bottom-bar-link-hover-clr);
  }
  .nav--3 .nav__item--l1 {
    color: var(--header-bottom-bar-link-clr);
    font-weight: 600;
    font-size: 1.125rem;
    cursor: pointer;
    flex-shrink: 0;
  }
  .nav--3 .nav__item--l1:hover {
    color: var(--header-bottom-bar-link-hover-clr);
  }
  .nav--3 .nav__item--l1:hover > .nav__list--l2 {
    visibility: hidden;
    opacity: 0;
    transition: unset;
    cursor: auto;
  }
  .nav--3 .nav__item--l1:hover > .nav__link {
    color: var(--header-nav-link-active-clr);
  }
  .nav--3 .nav__item--l1:hover > .nav__link::after {
    opacity: 1;
    visibility: visible;
  }
  .nav--3 .nav__item--l1:has(.nav__link--active) > .nav__link::after {
    opacity: 1;
    visibility: visible;
  }
  .nav--3 .nav__item--l1:has(.nav__link--active) > .nav__list {
    visibility: visible;
    opacity: 1;
  }
  .nav--3 .nav__item--l1--special {
    display: revert;
  }
  .nav--3 .nav__item--l1--special .nav__link {
    color: var(--header-nav-extra-link-clr);
  }
  .nav--3 .nav__item--l1--special:hover .nav__link {
    color: var(--header-nav-extra-link-hover-clr);
  }
  .nav--3 .nav__item--l2 {
    max-width: 312px;
  }
  .nav--3 .nav__item--submenu-open > .nav__item--show-all-desktop {
    display: flex;
  }
  .nav--3 .nav__item--show-all-desktop {
    position: absolute;
    left: 25rem;
    bottom: 0;
    width: calc(100dvw - 25rem);
    max-width: 121.5rem;
    border-top: 1px solid var(--header-nav-border-clr);
    background-color: var(--header-nav-bg-clr);
    z-index: 10;
  }
  .nav--3 .nav__item--show-all-desktop::before {
    pointer-events: none;
    content: "";
    position: absolute;
    bottom: calc(100% + 1px);
    width: 100%;
    height: 40px;
    background: linear-gradient(to top, var(--header-nav-bg-clr) 30%, transparent);
  }
  .nav--3 .nav__link {
    opacity: 1;
  }
  .nav--3 .nav__link--l1 {
    line-height: 3rem;
    pointer-events: none;
  }
  .nav--3 .nav__link--l1::after {
    content: "";
    position: fixed;
    width: 0;
    height: 0;
    border-left: 12px solid var(--header-nav-link-active-clr);
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    left: 25rem;
    transform: translateY(1.125rem);
    z-index: 9;
    opacity: 0;
    visibility: hidden;
    transition: all 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav--3 .nav__link--l2 {
    margin-bottom: 0.75rem;
  }
  .nav--3 .nav__link--show-all-desktop {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    transform: unset;
    height: 5rem;
    padding-left: 4rem;
    font-weight: 400;
    text-transform: none;
    color: var(--header-nav-link-lvl-2-clr);
    transition: color 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav--3 .nav__link--show-all-desktop::after {
    font-family: "icomoon";
    content: "\e915";
    color: var(--header-nav-arrow-clr);
    font-size: 1.125rem;
    margin-left: 2rem;
    transition: color 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  }
  .nav--3 .nav__link--show-all-desktop:hover {
    color: var(--header-nav-link-lvl-2-hover-clr);
  }
  .nav--3 .nav__link--show-all-desktop:hover::after {
    color: var(--header-nav-arrow-hover-clr);
  }
  .nav--5 .nav__list--l1 {
    display: flex;
    align-items: center;
    margin-top: 2.25rem;
  }
  .nav--5 .nav__list--l1::before {
    top: 100%;
    left: 0;
    transform: unset;
  }
  .nav--5 .nav__list--l2 {
    top: 100%;
    left: 0 !important;
    transform: unset;
    justify-content: flex-start;
    padding: 3rem 3rem;
  }
  .nav--5 .nav__item--special {
    display: none;
  }
  .nav--5 .nav__item--special-bottom-bar {
    padding-bottom: 2.25rem;
  }
  .nav--5 .nav__item--l1 {
    padding-bottom: 2.25rem;
  }
  .nav--5 .nav__item--l1:first-child .nav__link--l1 {
    padding-left: 0;
  }
  .nav--5 .nav__item--l1:last-child .nav__link--l1 {
    padding-right: 0;
  }
  .nav--5 .nav__link--l1, .nav--5 .nav__link--special-bottom-bar {
    padding-inline: 0.5rem;
    padding-block: 1rem;
    font-weight: 400;
    white-space: nowrap;
    line-height: 1;
    display: block;
    font-size: 1.125rem;
  }
  .nav--5 .nav__links-wrapper {
    background-color: var(--header-bg-clr);
    padding-left: 1.25rem;
  }
  .nav--topbar {
    grid-template-columns: minmax(0, 37.5rem) auto minmax(0, 37.5rem);
    gap: 1.5rem;
  }
  .nav--topbar-center {
    position: relative;
    background-color: unset;
    border-bottom: unset;
  }
  .nav--topbar .nav__list:nth-child(2) {
    position: relative;
    background: unset;
    border: unset;
  }
  .nav__toggle {
    display: none;
  }
  .nav__container {
    visibility: visible;
    opacity: 1;
    position: relative;
    height: unset !important;
    inset: unset;
    transition: none;
  }
  .nav__container .w4d-header__logo {
    padding-left: 0;
  }
  .nav__inner {
    margin-left: auto;
    max-width: unset;
    transform: unset;
    transition: none;
  }
  .nav__header, .nav__btn-group {
    display: none;
  }
  .nav--alt {
    --top-offset: 5.375rem;
  }
  .nav--alt.nav--2 {
    --top-offset: 3.5rem + 0.125rem;
  }
  .nav--alt.nav--5 .nav__list--l1 {
    margin-top: 2.125rem;
  }
  .nav--alt.nav--5 .nav__item--l1, .nav--alt.nav--5 .nav__item--special-bottom-bar {
    padding-bottom: 2.25rem;
  }
  .nav--alt.nav--5 .nav__item--l1:hover .nav__link--l1, .nav--alt.nav--5 .nav__item--special-bottom-bar:hover .nav__link--l1 {
    color: var(--header-nav-link-lvl-1-hover-clr);
  }
  .nav--alt.nav--4 .nav__list--l2 {
    top: 3.5rem;
  }
  .nav--alt .nav__list--l1::before {
    content: unset;
  }
  .nav--alt .nav__list--l2 {
    gap: unset;
    grid-template-columns: unset;
    justify-content: unset;
    transform: unset;
    margin-top: unset;
    border-top: unset;
    padding: unset;
    right: unset;
    display: grid;
    grid-template-rows: 0fr;
    left: 0 !important;
    position: absolute;
    background-color: var(--header-nav-bg-clr);
    box-shadow: 0 22px 24px 0 rgba(0, 0, 0, 0.12);
    overflow: hidden;
    opacity: 0;
    width: max-content !important;
    visibility: hidden;
    top: var(--top-offset);
    transition: grid-template-rows 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .nav--alt .nav__list--l2 > div {
    overflow: hidden;
  }
  .nav--alt .nav__list--l2::before {
    content: unset;
  }
  .nav--alt .nav__item--l1 {
    position: relative;
  }
  .nav--alt .nav__item--l2 {
    padding-bottom: 0;
    overflow: visible !important;
  }
  .nav--alt .nav__item--l2:not(:last-child) {
    border-bottom: 1px solid var(--clr-neutral-300);
  }
  .nav--alt .nav__item:hover .nav__list--l2 {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
  }
  .nav--alt .nav__link--l2 {
    margin-bottom: 0;
    opacity: 1;
    padding: 0 3rem 0 1.25rem;
    text-transform: unset;
    white-space: nowrap;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 3rem;
    transition: transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .nav--alt .nav__link--l2:hover {
    transform: translateX(8px);
  }
}
@media screen and (max-width: 1400px) {
  .nav__links-wrapper {
    overflow-x: hidden;
    background-color: var(--header-mobile-nav-bg-clr);
  }
  .nav__list {
    width: 100%;
  }
  .nav__list--topbar-center .nav__link {
    color: var(--header-mobile-topbar-center-link-clr);
  }
  .nav__list--topbar-center .nav__link:hover {
    color: var(--header-mobile-topbar-center-link-hover-clr);
  }
  .nav__list--topbar-center-mobile {
    display: none;
  }
  .nav__list--bottom-bar {
    display: none;
  }
  .nav__link--mobile, .nav__link--topbar-mobile, .nav__link--special-mobile {
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: left center;
    background-image: var(--nav-mobile-bg-image);
  }
  .nav__link--mobile {
    display: flex;
    align-items: center;
  }
  .nav__link--mobile.nav__link--l1 {
    color: var(--header-mobile-nav-link-lvl-1-clr);
    --nav-mobile-bg-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--header-mobile-nav-link-lvl-1-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%,
        color-mix(in srgb, var(--header-mobile-nav-link-lvl-1-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%
    );
  }
  .nav__link--mobile.nav__link--l1:hover .nav__text {
    color: var(--header-mobile-nav-link-lvl-1-hover-clr);
  }
  .nav__link--mobile:not(.nav__link--l1) {
    color: var(--header-mobile-nav-link-lvl-2-clr);
    --nav-mobile-bg-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--header-mobile-nav-link-lvl-2-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%,
        color-mix(in srgb, var(--header-mobile-nav-link-lvl-2-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%
    );
  }
  .nav__link--mobile:not(.nav__link--l1):hover .nav__text {
    color: var(--header-mobile-nav-link-lvl-2-hover-clr);
  }
  .nav__link--topbar-mobile {
    --nav-mobile-bg-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--header-mobile-nav-custom-link-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%,
        color-mix(in srgb, var(--header-mobile-nav-custom-link-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%
    );
  }
  .nav__link--special-mobile {
    --nav-mobile-bg-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--header-mobile-nav-extra-link-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%,
        color-mix(in srgb, var(--header-mobile-nav-extra-link-hover-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%
    );
  }
  .nav__link--show-all {
    --nav-mobile-bg-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--header-mobile-nav-show-all-link-hover-clr) 6%, var(--header-mobile-nav-bg-clr)) 50%,
        color-mix(in srgb, var(--header-mobile-nav-show-all-link-clr) 2%, var(--header-mobile-nav-bg-clr)) 100%
    );
  }
  .nav__item:not(:first-child) > .nav__link--mobile,
  .nav__item:not(:first-child) > .nav__link--special-mobile {
    border-top: 1px solid var(--header-mobile-nav-link-border-clr);
  }
  .nav--1 {
    order: 2;
  }
  .nav--2 .nav__toggle--open, .nav--3 .nav__toggle--open, .nav--4 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(calc(-1 * var(--nav-topbar, 0rem) - 0.75rem));
  }
  .nav--4 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(-0.625rem);
  }
  .nav--5 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(calc(-1 * (var(--nav-topbar-doubled, 3rem) + 0.625rem)));
  }
}
@media screen and (min-width: 992px) {
  .nav__header {
    height: 6rem;
  }
  .nav__link--topbar {
    font-size: 1rem;
  }
}
@media screen and (max-width: 992px) {
  .nav--2 .nav__toggle--open, .nav--3 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(calc(-1 * (var(--nav-topbar, 0) + 0.75rem)));
  }
  .nav--4 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(-0.75rem);
  }
}
@media screen and (min-width: 768px) {
  .nav__list--topbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: auto;
  }
  .nav__list--topbar-center .nav__link {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  .nav--topbar {
    height: 0;
    border-bottom: none;
  }
  .nav__list--topbar-left, .nav__list--topbar-right {
    display: none;
  }
  .nav--2 .nav__toggle--open, .nav--3 .nav__toggle--open, .nav--5 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(0);
  }
  .nav--4 .nav__toggle--open {
    transform: translateX(0.875rem) translateY(0);
  }
}
@media screen and (min-width: 992px) and (max-width: 1400px) {
  .nav__list--topbar-center .nav__link {
    font-size: 1.25rem;
  }
}

.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  padding-inline: 2rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  font-size: 1rem;
  line-height: 2.5rem;
  font-weight: 600;
  background: var(--clr-primary-200);
  color: var(--clr-black);
  transition: all 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  text-align: center;
  /*    &__tertiary {
          background: var(--clr-neutral-200);
          color: var(--clr-neutral-800);

          &:hover {
              background: var(--clr-primary-600);
              color: var(--clr-white);
          }

          &--disabled {
              background-color: var(--clr-neutral-200);
              color: var(--clr-neutral-400);
              cursor: not-allowed;

              &:hover {
                  background-color: var(--clr-neutral-200);
                  color: var(--clr-neutral-400);
              }
          }
      }*/
}
.btn--big {
  line-height: 3rem;
}
@media screen and (max-width: 1200px) {
  .btn--big {
    line-height: 2.5rem;
  }
}
@media screen and (max-width: 992px) {
  .btn--big {
    padding-inline: 1.5rem;
  }
}
.btn--small {
  line-height: 2rem;
  padding-inline: 1.25rem;
  font-size: 0.875rem;
}
.btn--square-icon {
  padding: 0;
  min-width: 3rem;
  font-size: 1.5rem;
}
.btn--square-icon.btn--big {
  min-width: 50px;
}
.btn--primary {
  background-color: var(--clr-primary-500);
  color: var(--btn-primary-clr);
}
.btn--primary:hover {
  background-color: var(--clr-primary-600);
}
.btn--primary:disabled, .btn--primary--disabled {
  background-color: var(--clr-primary-300);
  cursor: not-allowed;
}
.btn--primary:disabled:hover, .btn--primary--disabled:hover {
  background-color: var(--clr-primary-300);
}
.btn--primary.loading {
  background-color: var(--clr-neutral-600);
  cursor: not-allowed;
  opacity: 0.7;
  user-select: none;
  position: relative;
}
.btn--primary-light {
  background: var(--body-bg-clr);
  color: var(--clr-neutral-800);
  border-color: var(--clr-neutral-800);
}
.btn--primary-light:hover {
  background: var(--clr-primary-600);
  color: var(--btn-primary-clr);
  border-color: transparent;
}
.btn--primary-light:disabled, .btn--primary-light-disabled {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
  border-color: var(--clr-neutral-400);
  cursor: not-allowed;
}
.btn--primary-light:disabled:hover, .btn--primary-light-disabled:hover {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
}
.btn--primary-neutral {
  background: var(--clr-neutral-200);
  color: var(--clr-neutral-800);
}
.btn--primary-neutral:hover {
  background: var(--clr-primary-600);
  color: var(--btn-primary-clr);
  border-color: transparent;
}
.btn--primary-neutral:disabled, .btn--primary-neutral--disabled {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
  border-color: var(--clr-neutral-400);
  cursor: not-allowed;
}
.btn--primary-neutral:disabled:hover, .btn--primary-neutral--disabled:hover {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
}
.btn--secondary {
  background: var(--clr-secondary-500);
  color: var(--btn-secondary-clr);
}
.btn--secondary:hover {
  background: var(--clr-secondary-600);
}
.btn--secondary:disabled, .btn--secondary--disabled {
  background-color: var(--clr-secondary-300);
  cursor: not-allowed;
}
.btn--secondary:disabled:hover, .btn--secondary--disabled:hover {
  background-color: var(--clr-secondary-300);
}
.btn--secondary.loading {
  background-color: var(--clr-neutral-600);
  cursor: not-allowed;
  opacity: 0.7;
  user-select: none;
  position: relative;
}
.btn--secondary-outline {
  background: var(--clr-white);
  color: var(--btn-secondary-clr);
  border-color: var(--clr-neutral-800);
}
.btn--secondary-outline:hover {
  background: var(--clr-secondary-600);
  color: var(--btn-secondary-clr);
  border-color: transparent;
}
.btn--secondary-outline:disabled, .btn--secondary-outline--disabled {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
  border-color: var(--clr-neutral-400);
  cursor: not-allowed;
}
.btn--secondary-outline:disabled:hover, .btn--secondary-outline--disabled:hover {
  background-color: var(--clr-white);
  color: var(--clr-neutral-400);
}
.btn--ghost {
  background: transparent;
  color: var(--clr-neutral-800);
  border-color: var(--clr-white);
  font-weight: 400;
}
.btn--ghost:hover {
  background: var(--clr-neutral-50);
  color: var(--clr-black);
  border-color: var(--clr-neutral-400);
}
.btn--ghost:disabled, .btn--ghost-disabled {
  color: var(--clr-neutral-500);
  cursor: not-allowed;
}
.btn--ghost-white {
  color: var(--clr-white);
}
.btn--action-override {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  border-radius: 4px !important;
  border: 1px solid transparent !important;
  font-size: 16px !important;
  transition: 0.2s ease-in-out !important;
  background: var(--clr-success) !important;
  color: var(--clr-white) !important;
  height: 48px !important;
  padding: 0 39px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}
.btn--action-override:hover {
  background: var(--clr-success-shade) !important;
  color: var(--clr-white) !important;
}
.btn--action-override--disabled {
  background-color: var(--clr-success-tint) !important;
  color: var(--clr-white) !important;
  cursor: not-allowed !important;
}
.btn--action-override--disabled:hover {
  background-color: var(--clr-success-tint) !important;
}
@media screen and (max-width: 992px) {
  .btn--action-override {
    flex-grow: 1;
  }
}
.btn--action {
  background: var(--clr-success);
  color: var(--btn-action-clr);
  width: 100%;
  text-transform: uppercase;
  user-select: none;
}
.btn--action:hover {
  background: var(--clr-success-shade);
}
.btn--action:disabled, .btn--action-disabled {
  background-color: var(--clr-success-tint);
  color: var(--btn-action-clr);
  cursor: not-allowed;
}
@media screen and (max-width: 1200px) {
  .btn:not(.product-table__data) > .btn {
    font-size: 15px;
    line-height: 2rem;
    padding-inline: 2rem;
  }
}
@media screen and (max-width: 992px) {
  .btn {
    padding-inline: 24px;
  }
}

.w4d_add_to_cart_button,
.w4d_update_cart_button {
  cursor: pointer;
  position: relative;
  margin-top: 1rem;
}
.w4d_add_to_cart_button:disabled,
.w4d_update_cart_button:disabled {
  background-color: var(--clr-neutral-600);
  cursor: not-allowed;
  opacity: 0.7;
  user-select: none;
}
.w4d_add_to_cart_button.loading::after,
.w4d_update_cart_button.loading::after {
  position: absolute;
  content: "";
  right: 1rem;
  width: 2rem;
  padding: 0.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--clr-primary-500);
  --_m:
      conic-gradient(#0000 10%, #000),
      linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}

.w4d_add_to_cart_button[aria-hidden=true],
.w4d-send-inquiry[aria-hidden=true] {
  display: none;
}
.w4d_add_to_cart_button[aria-hidden=false],
.w4d-send-inquiry[aria-hidden=false] {
  display: inline-flex;
}

.quick-order {
  margin-bottom: 3rem;
}
.quick-order__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 3.5rem;
}
.quick-order__header .quick-order__product-title {
  font-weight: 600;
}
.quick-order__body {
  display: flex;
  flex-direction: column;
}
.quick-order__total {
  font-weight: 600;
  border: 1px dashed var(--clr-neutral-400);
  border-radius: 0.25rem;
  padding-inline: 2rem;
  line-height: 2.25rem;
  width: 14.125rem;
  text-align: center;
  background-color: var(--clr-neutral-50);
}
.quick-order__shortcuts {
  display: grid;
  grid-template-columns: minmax(min-content, max-content) 1fr;
  gap: 1rem;
  background-color: var(--clr-neutral-50);
  border: 1px dashed var(--clr-neutral-600);
  border-radius: 0.25rem;
  color: var(--clr-neutral-800);
  padding: 0 1rem;
  margin-bottom: 0;
  position: relative;
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  transition: all 400ms ease-in;
  overflow: hidden;
}
.quick-order__shortcuts--show {
  padding: 1rem;
  opacity: 1;
  visibility: visible;
  max-height: 500px;
  margin-bottom: 1.25rem;
  transition: all 400ms ease-in;
}
.quick-order__shortcuts-item {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  gap: 1rem;
}
.quick-order__shortcuts-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border: 1px dashed var(--clr-neutral-600);
  border-radius: 0.25rem;
  color: var(--clr-neutral-800);
  padding: 0.25rem 0.75rem;
  cursor: pointer;
  transition: 200ms ease-out;
  z-index: 2;
}
.quick-order__shortcuts-toggle--active {
  background-color: var(--clr-neutral-50);
}
.quick-order__shortcuts-toggle:hover {
  background-color: var(--clr-white);
  color: var(--clr-primary-400);
  border-color: var(--clr-primary-400);
}
.quick-order__shortcuts-toggle i {
  font-size: 1.125rem;
}
@media screen and (max-width: 992px) {
  .quick-order__shortcuts-toggle {
    display: none;
  }
}
.quick-order__search-criteria {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.quick-order__search-criteria-list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.quick-order__search-criteria-item {
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  color: var(--clr-neutral-600);
  border: 1px solid var(--clr-neutral-400);
  transition: 200ms ease-out;
  cursor: pointer;
  user-select: none;
}
.quick-order__search-criteria-item:hover {
  border-color: var(--clr-primary-500);
  color: var(--clr-primary-500);
}
.quick-order__search-criteria-item--active {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.quick-order__search-criteria-item--active:hover {
  border-color: var(--clr-primary-700);
  background-color: var(--clr-primary-600);
  color: var(--clr-white);
}
.quick-order__row {
  display: grid;
  grid-template-columns: 1fr 12.125rem;
  margin-right: 2rem;
  gap: 2.5rem;
  position: relative;
}
@media screen and (max-width: 992px) {
  .quick-order__row {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-right: 0;
  }
  .quick-order__row .product-quantity {
    margin-right: 2rem;
  }
}
.quick-order__row:has(.product-search.show) {
  z-index: 10;
}
.quick-order__row:not(:last-child) {
  margin-bottom: 1.5rem;
}
.quick-order__row--new {
  grid-template-rows: 0fr;
  opacity: 0;
  overflow: hidden;
  animation: fadeInRow 250ms ease-out forwards;
}
.quick-order__row--new > * {
  overflow: hidden;
}
.quick-order__row--remove {
  overflow: hidden;
  animation: fadeOutRow 250ms linear forwards;
}
.quick-order__row--remove > * {
  overflow: hidden;
}
@keyframes fadeInRow {
  to {
    grid-template-rows: 1fr;
    opacity: 1;
  }
}
@keyframes fadeOutRow {
  to {
    grid-template-rows: 0fr;
    opacity: 0;
    margin-bottom: 0;
  }
}
.quick-order__product {
  position: relative;
  flex-grow: 1;
}
.quick-order__product-title {
  border: 1px solid var(--clr-neutral-300);
  background-color: var(--clr-white);
  border-radius: 0.25rem;
  padding: 0 1rem;
  line-height: 38px;
  width: 100%;
  transition: 200ms ease-out;
}
.quick-order__product-title + .loader-1 {
  top: 0.5rem;
  right: 0.625rem;
  background: var(--clr-primary-400);
}
.quick-order__product-title:focus-visible {
  outline: none;
}
.quick-order__product-title::placeholder {
  color: var(--clr-neutral-600);
  font-weight: 400;
}
.quick-order__product-title:hover {
  border-color: var(--clr-neutral-600);
}
.quick-order__product-title:focus {
  border-color: var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
}
.quick-order__product-title:focus::placeholder {
  color: var(--clr-neutral-800);
}
.quick-order:has(.product-search.show) .quick-order__header .quick-order__product-title {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-color: var(--clr-primary-500);
}
.quick-order__uploaded-file {
  background-color: var(--clr-neutral-50);
  border: 1px dashed var(--clr-neutral-600);
  border-radius: 0.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--clr-neutral-800);
  transition: 300ms ease-out;
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  margin-bottom: 0;
  padding: 0;
}
.quick-order__uploaded-file.visible {
  padding: 1rem;
  opacity: 1;
  visibility: visible;
  height: auto;
  margin-bottom: 2rem;
}
.quick-order__uploaded-file-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quick-order__uploaded-file-text i {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--clr-neutral-400);
  color: var(--clr-neutral-800);
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 0.938rem;
  transition: 200ms ease-out;
  cursor: pointer;
}
.quick-order__uploaded-file-text i:hover {
  color: var(--clr-white);
  background-color: var(--clr-neutral-600);
}
.quick-order__uploaded-file-text-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  width: 30rem;
}
.quick-order__notif {
  will-change: height, padding, margin;
  transition: height 400ms ease-out, padding 400ms ease-out, margin 400ms ease-out, transform 400ms cubic-bezier(0.3, 0.4, 0.3, 1);
  overflow: hidden;
  perspective: 1000px;
  opacity: 1;
}
.quick-order__notif--hide {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  transform: translate3d(-80%, 0, -150px) rotateY(35deg) scale(0.85);
}
@media screen and (max-width: 992px) {
  #quick-order-import-to-cart-btn {
    width: 100% !important;
  }
}

#quick-order-import-to-cart-btn,
#quick-order-reset-btn {
  visibility: hidden;
  opacity: 0;
  transition: 200ms ease-out;
}
#quick-order-import-to-cart-btn.show,
#quick-order-reset-btn.show {
  visibility: visible;
  opacity: 1;
}

#quick-order-import-to-cart-btn,
.js-csv-load {
  width: 14.125rem;
  position: relative;
}
#quick-order-import-to-cart-btn .loader-1,
.js-csv-load .loader-1 {
  right: 0.5rem;
}

@media screen and (max-width: 992px) {
  .js-csv-load {
    width: max-content;
  }
}

#quick-order-import-to-cart-btn:focus {
  outline: 3px solid var(--green-color-light-1);
  outline-offset: 2px;
}

#quick-order-reset-btn:focus {
  outline: 3px solid var(--clr-primary-600);
  outline-offset: 2px;
  background: var(--clr-primary-600);
  color: var(--clr-white);
  border-color: transparent;
}

.product-search {
  position: absolute;
  border: 1px solid var(--clr-primary-500);
  border-top: unset;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transition: 200ms ease-out;
  z-index: 10;
}
.product-search.show {
  visibility: visible;
  opacity: 1;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
}
.product-search__empty {
  background: var(--clr-primary-100);
  line-height: 2.5rem;
  padding-inline: 1rem;
}
.product-search__list {
  display: flex;
  flex-direction: column;
  max-height: 25rem;
  overflow-y: auto;
  scrollbar-color: var(--clr-primary-500) transparent;
  scrollbar-width: thin;
}
.product-search__list::-webkit-scrollbar {
  width: 0.5rem;
}
.product-search__list::-webkit-scrollbar-thumb {
  background-color: var(--clr-primary-500);
  border-radius: 0.25rem;
}
.product-search__list::-webkit-scrollbar-track {
  background: transparent;
  display: none;
}
.product-search__list::-webkit-scrollbar-button {
  height: 0;
  width: 0;
}
.product-search__item {
  display: flex;
  align-items: center;
  padding: 0.75rem;
  transition: 200ms ease-out;
  cursor: pointer;
  background-color: var(--clr-white);
}
.product-search__item:hover {
  background-color: var(--clr-neutral-200);
}
.product-search__item--focused {
  background-color: var(--clr-neutral-200);
}
.product-search__item--focused:hover {
  background-color: var(--clr-neutral-300);
}
.product-search__item:not(:last-child) {
  border-bottom: 1px solid var(--clr-neutral-400);
}
.product-search__image {
  width: 3.75rem;
  height: 3.75rem;
  margin-right: 0.875rem;
}
.product-search__image img {
  max-width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-search__title {
  color: var(--clr-neutral-900);
  margin-bottom: 0.125rem;
}
.product-search__title strong {
  font-weight: 600;
  color: var(--clr-black);
}
.product-search__code {
  color: var(--clr-neutral-600);
  padding-right: 0.75rem;
  margin-right: 0.75rem;
  border-right: 1px solid var(--clr-neutral-600);
  font-size: 0.938rem;
}
.product-search__code strong {
  font-weight: 600;
  color: var(--clr-neutral-900);
}
.product-search__price {
  padding-right: 0.5rem;
  color: var(--clr-neutral-800);
}
.product-search__price--old {
  text-decoration: line-through;
}
.product-search__price--discount {
  font-weight: 700;
  color: var(--clr-danger);
}
.product-search__unit {
  user-select: none;
  color: var(--clr-neutral-600);
  background-color: var(--clr-neutral-50);
  border: 1px solid var(--clr-neutral-400);
  border-radius: 0.25rem;
  font-size: 0.938rem;
  padding: 0.125rem 0.375rem;
}

.alert {
  border-left: 0.5rem solid var(--clr-neutral-400);
  border-radius: 0.25rem;
  box-shadow: 4px 3px 12px 0 rgba(0, 0, 0, 0.15);
  padding: 1rem;
  margin-bottom: 2rem;
  will-change: height, padding, margin;
  transition: height 400ms ease-out, padding 400ms ease-out, margin 400ms ease-out, opacity 350ms ease-out, transform 400ms cubic-bezier(0.3, 0.4, 0.3, 1);
  overflow: hidden;
  perspective: 1000px;
  opacity: 1;
}
.alert--hide {
  opacity: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  transform: translate3d(-80%, 0, -150px) rotateY(35deg) scale(0.85);
}
.alert__header {
  display: flex;
  align-items: center;
}
.alert__title {
  font-size: 1rem;
  font-weight: 600;
  padding-right: 6rem;
  color: var(--clr-neutral-800);
  position: relative;
  flex-grow: 1;
}
.alert__title .icon-x-rounded {
  position: absolute;
  right: 0;
  color: var(--clr-neutral-600);
  transition: 200ms ease-out;
  cursor: pointer;
  border-radius: 50%;
  padding: 0.25rem;
  font-size: 1.125rem;
}
.alert__title .icon-x-rounded:hover {
  scale: 1.1;
  background-color: var(--clr-neutral-600);
  color: var(--clr-white);
}
.alert__icon {
  font-size: 1.5rem;
  margin-right: 0.75rem;
}
.alert__list {
  padding-right: 3rem;
  padding-left: 36px;
  position: relative;
  display: block;
}
.alert__list::before {
  position: absolute;
  content: "";
  width: 1px;
  height: calc(100% - 1rem);
  background-color: var(--clr-neutral-400);
  left: 11px;
}
.alert__row {
  display: flex;
  position: relative;
  align-items: center;
  gap: 0.5rem;
}
.alert__row::before {
  position: absolute;
  content: "";
  width: 13px;
  left: -24px;
  height: 1px;
  background-color: var(--clr-neutral-400);
  top: 50%;
  transform: translateY(-50%);
}
.alert__row:not(:last-child) {
  margin-bottom: 0.5rem;
}
.alert__item {
  color: var(--clr-neutral-800);
}
.alert__item:first-child {
  max-width: 32ch;
  padding-inline: 1rem;
  width: 80%;
  border: 1px dashed var(--clr-neutral-400);
  border-radius: 0.25rem;
  line-height: 2rem;
}
.alert__item:last-child {
  border-radius: 0.25rem;
  line-height: 2rem;
  width: 4rem;
  border: 1px dashed var(--clr-neutral-400);
  text-align: center;
  max-width: 10ch;
}
.alert--warning {
  border-color: var(--clr-warning);
}
.alert--warning .icon-warning {
  color: var(--clr-warning);
}
.alert--danger {
  border-color: var(--clr-danger);
}
.alert--danger .icon-dangerous {
  color: var(--clr-danger);
}

.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--style--gallery-gap-default, var(--gallery-block--gutter-size, var(--wp--style--block-gap, 0.5em)));
  margin-bottom: 2rem;
}

.content ul, .wp-block-list {
  list-style: inside !important;
}

.payment-methods li {
  list-style: none !important;
}

.product-flyout {
  position: fixed;
  top: 0;
  right: -150%;
  height: 100vh;
  width: 32rem;
  transition: right 0.3s ease-out;
  z-index: 999;
  box-shadow: -16px 0 32px 0 rgba(0, 0, 0, 0.16);
  background-color: var(--body-bg-clr);
}
.product-flyout:has(.variations_container) .product__quantity {
  margin-bottom: 14px;
}
.product-flyout--active {
  right: 0;
}
.product-flyout__content {
  padding: 2.5rem 3rem;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  height: 100vh;
}
.product-flyout__image {
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: 2rem;
  transition: 150ms ease-in-out;
  border: 1px solid var(--clr-neutral-50);
  border-radius: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-flyout__image:hover {
  border: 1px solid var(--clr-neutral-400);
  background-color: var(--clr-neutral-50);
}
.product-flyout__image img {
  object-fit: contain;
  width: 100%;
}
.product-flyout__close {
  font-size: 1.5rem;
  position: absolute;
  box-shadow: -14px 0px 23px 0 rgba(0, 0, 0, 0.16);
  right: 100%;
  top: 0;
  background-color: var(--body-alt-bg-clr);
  padding: 1.5rem;
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  overflow-x: clip;
  transition: 200ms ease-in-out;
  cursor: pointer;
  color: var(--body-clr);
}
.product-flyout__close:after {
  transition: 200ms ease-in-out;
  position: absolute;
  content: "";
  top: 100%;
  right: 0;
  bottom: 0.375rem;
  background: transparent;
  width: 1.25rem;
  height: 1.25rem;
  border-top-right-radius: 1.25rem;
  box-shadow: 0.5rem -0.5rem 0 0.5rem var(--body-alt-bg-clr);
  z-index: -1;
}
.product-flyout__close:hover {
  background-color: var(--body-alt-clr-dim);
}
.product-flyout__close:hover::after {
  box-shadow: 0.5rem -0.5rem 0 0.5rem var(--body-alt-clr-dim);
}
.product-flyout__sku {
  font-size: 0.875rem;
  margin-right: 1rem;
}
.product-flyout__info {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
.product-flyout__info .availability {
  padding-top: unset;
}
.product-flyout .price-wrapper {
  margin-bottom: 2rem;
  padding-top: 0;
}
.product-flyout .price > div {
  display: inline-block;
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  color: var(--clr-black);
}
.product-flyout .price__before {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  line-height: 2rem !important;
  position: relative;
  top: 3px;
}
.product-flyout .price--discount > div {
  color: var(--clr-danger);
}
.product-flyout .product-quantity,
.product-flyout .product-quantity__dual {
  margin-bottom: 1.25rem;
}
.product-flyout:has(.product-quantity__dual) .product-quantity {
  margin-bottom: 0;
}
.product-flyout .ribbon {
  font-size: 0.875rem;
  margin-left: unset;
  margin-bottom: 0.5rem;
}
.product-flyout .content--shop {
  padding-top: unset;
}
.product-flyout .accordion__content {
  font-size: 14px;
  text-align: justify;
}
.product-flyout #summary-attributes .table tr td {
  width: unset;
}
.product-flyout #summary-attributes .table tr td:first-child {
  width: unset;
}
.product-flyout .btn--action {
  margin-top: unset;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 992px) {
  .product-flyout {
    width: 100vw;
  }
  .product-flyout__content {
    padding: 1rem 1.5rem;
  }
}

.product-quantity__dual > .product-quantity:first-of-type:not([data-step="1"])::before,
.product-quantity:not([data-step="1"])::before {
  position: absolute;
  content: "Min. količina: " attr(data-step);
  font-size: 12px;
  bottom: 115%;
  left: calc(50% - 20px);
  transform: translateX(-50%);
  background: var(--clr-primary-500);
  color: var(--clr-white);
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
  border-radius: 0.75rem;
  opacity: 0;
  visibility: hidden;
  scale: 0.9 1;
  transform-origin: center bottom;
  transition: opacity 0.2s ease, visibility 0.2s ease, scale 0.2s ease;
  transition-delay: 0s;
}
.product-quantity__dual > .product-quantity:first-of-type:not([data-step="1"]):focus-within::before,
.product-quantity:not([data-step="1"]):focus-within::before {
  opacity: 1;
  visibility: visible;
  scale: 1 1;
  transition-delay: 0s;
}
.product-quantity__dual > .product-quantity:first-of-type:not([data-step="1"]):not(:focus-within)::before,
.product-quantity:not([data-step="1"]):not(:focus-within)::before {
  transition-delay: 1s; /* Dugi delay za izlaznu tranziciju */
}

.woocommerce-cart-form__cart-item .product-quantity {
  overflow: hidden;
  margin-inline: 1rem;
}
@media screen and (max-width: 992px) {
  .woocommerce-cart-form__cart-item .product-quantity {
    margin-inline: 0;
  }
}
.woocommerce-cart-form__cart-item .product-quantity .product-quantity__unit,
.woocommerce-cart-form__cart-item .product-quantity .product-quantity__cart {
  display: none;
}

.product-quantity {
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 0.25rem;
  background-color: var(--body-bg-clr);
  transition: 200ms ease-in-out;
  /*&:has(.product-quantity__number:not([value="0"])) {
      .product-quantity__cart {
          visibility: visible;
          opacity: 1;
          left: 98%;
      }
  }*/
}
.product-quantity:hover {
  border-color: var(--clr-neutral-600);
}
.product-quantity:hover .product-quantity__number {
  border-color: var(--clr-primary-500);
}
.product-quantity:hover .product-quantity__remove {
  border-color: var(--clr-neutral-600);
}
.product-quantity:focus-within {
  border-color: var(--clr-primary-500);
}
.product-quantity:focus-within .product-quantity__remove {
  border-color: var(--clr-primary-500);
}
.product-quantity--changed .product-quantity__cart,
.product-quantity--changed .product-quantity__remove {
  visibility: visible;
  opacity: 1;
  left: calc(100% - 5px);
}
.product-quantity--added-to-cart .product-quantity__cart {
  background-color: var(--green-color-light-1);
  border-color: var(--green-color-light-1);
  animation: paddingAdjust 0.4s cubic-bezier(0.25, 0.46, 0.45, 2) forwards, resetState 0.3s ease-in-out forwards 1.9s;
}
.product-quantity--added-to-cart .product-quantity__cart i {
  scale: 0;
}
.product-quantity--added-to-cart .product-quantity__cart:hover {
  background-color: var(--clr-secondary-500);
  border-color: var(--clr-secondary-500);
}
.product-quantity--added-to-cart .product-quantity__cart::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 14px;
  border: solid white;
  border-width: 0 2.5px 2.5px 0;
  transform: translate(-50%, -60%) rotate(45deg) scale(0);
  animation: checkmark 0.4s cubic-bezier(0.25, 0.46, 0.45, 2) forwards;
}
.product-quantity__dual {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@keyframes resetState {
  to {
    visibility: hidden;
    opacity: 0;
    left: 80%;
    transform: translateY(1px);
    height: calc(100% - 5px);
  }
}
@keyframes paddingAdjust {
  0% {
    padding-left: 0.625rem;
  }
  70% {
    padding-left: 1.3rem;
  }
  100% {
    padding-left: 0.625rem;
  }
}
@keyframes checkmark {
  0% {
    transform: translate(-50%, -60%) rotate(45deg) scale(0);
    opacity: 0;
  }
  70% {
    transform: translate(-50%, -60%) rotate(45deg) scale(1.4);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -60%) rotate(45deg) scale(1);
    opacity: 1;
  }
}
.product-quantity input[type=number]::-webkit-outer-spin-button,
.product-quantity input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-quantity input[type=number] {
  -moz-appearance: textfield;
}
.product-quantity__stepper {
  text-align: center;
  min-width: 2rem;
  line-height: 2.5rem;
  cursor: pointer;
  transition: 200ms ease-out;
  color: var(--clr-neutral-800);
  background-color: var(--body-bg-clr);
}
.product-quantity__stepper--wide {
  min-width: 3rem;
}
.product-quantity__stepper.icon-minus {
  border-right: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.product-quantity__stepper.icon-minus:hover {
  background-color: var(--clr-neutral-50);
  border-color: var(--clr-neutral-300);
}
.product-quantity__stepper.icon-plus {
  border-left: 1px solid transparent;
}
.product-quantity__stepper.icon-plus:hover {
  background-color: var(--clr-neutral-50);
  border-left-color: var(--clr-neutral-300);
}
.product-quantity__number {
  padding: 0;
  border: unset;
  width: 100%;
  text-align: center;
  line-height: 2.5rem;
  color: var(--clr-neutral-800);
  font-weight: 700;
  min-width: 4rem;
}
.product-quantity__number:placeholder-shown {
  color: var(--clr-neutral-600);
}
.product-quantity__number:focus {
  box-shadow: unset;
}
.product-quantity__number[data-focus-source] {
  border: unset;
  outline: unset;
  box-shadow: unset;
}
.product-quantity__cart {
  display: flex;
  align-items: center;
  position: absolute;
  left: 80%;
  visibility: hidden;
  opacity: 0;
  cursor: pointer;
  padding-inline: 0.625rem;
  font-size: 1rem;
  height: 100%;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  box-sizing: content-box;
  border: 1px solid var(--clr-primary-500);
  transition: 250ms ease-in-out;
  z-index: 3;
  background-color: var(--clr-primary-500);
  color: var(--clr-white);
}
.product-quantity__cart--error {
  background-color: var(--clr-danger) !important;
  border-color: var(--clr-danger-shade) !important;
  animation: paddingAdjust 0.4s cubic-bezier(0.25, 0.46, 0.45, 2) forwards, resetState 0.3s ease-in-out forwards 1.9s;
}
.product-quantity__cart--error i::before {
  font-size: 1.25rem;
  content: "\e933";
}
.product-quantity__cart:hover {
  background-color: var(--clr-primary-600);
  padding-left: 0.875rem;
}
.product-quantity__remove {
  display: flex;
  align-items: center;
  position: absolute;
  left: 80%;
  visibility: hidden;
  opacity: 0;
  cursor: pointer;
  padding-left: 0.75rem;
  padding-right: 0.625rem;
  font-size: 1rem;
  height: 100%;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  box-sizing: content-box;
  border: 1px solid var(--clr-neutral-300);
  transition: 250ms ease-in-out;
  z-index: 3;
  background-color: var(--clr-neutral-300);
  color: var(--clr-neutral-600);
}
.product-quantity__remove:hover {
  background-color: var(--clr-danger) !important;
  border-color: var(--clr-danger-shade) !important;
  color: var(--clr-white) !important;
  padding-left: 0.875rem !important;
}
.product-quantity__unit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  flex-shrink: 0;
  line-height: 2.5rem;
  color: var(--clr-neutral-600);
  border-left: 1px solid var(--clr-neutral-300);
  background-color: var(--clr-neutral-50);
  user-select: none;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  z-index: 8;
}

@keyframes bounce-scale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.125);
  }
  100% {
    transform: scale(1);
  }
}
.animate-total {
  animation: bounce-scale 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: transform;
  transform-origin: right center;
}

@keyframes bounce-scale-2 {
  0% {
    transform: scale(1) rotate(0deg);
  }
  25% {
    transform: scale(1.25) rotate(-3deg);
  }
  50% {
    transform: scale(0.95) rotate(2deg);
  }
  75% {
    transform: scale(1.1) rotate(-1deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
.animate-quantity {
  animation: bounce-scale-2 0.6s cubic-bezier(0.36, 0, 0.66, 1.5);
  will-change: transform;
  transform-origin: center center;
}

.blog-wrapper {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 4rem;
  margin-top: 4rem;
  margin-bottom: 5rem;
}
.blog-wrapper--single {
  grid-template-columns: 1fr;
  max-width: clamp(32rem, 8vw, 48rem);
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .blog-wrapper--single {
    padding-inline: 0.75rem;
  }
}
.blog-container__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin-bottom: 3rem;
  position: relative;
}
.blog-container__content.load::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.8);
}
.blog-container__content.load::after {
  position: absolute;
  content: "";
  width: 2rem;
  padding: 0.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--clr-primary-500);
  --_m:
          conic-gradient(#0000 10%,#000),
          linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
  left: 50%;
  top: 10rem;
  z-index: 999;
}
@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
.blog__sidebar {
  border-right: 1px solid var(--clr-neutral-300);
  padding-right: 4rem;
}
.blog__sidebar-info {
  padding-right: 4rem;
}
.blog__sidebar-info--absolute {
  position: absolute;
  left: -15rem;
}
@media screen and (max-width: 1200px) {
  .blog__sidebar-info--absolute {
    position: relative;
    left: 0;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 1200px) {
  .blog__sidebar-info {
    padding-right: 0;
  }
}
.blog__sidebar-title {
  font-weight: 800;
  font-size: 4rem;
  line-height: 4.5rem;
  margin-bottom: -0.875rem;
  user-select: none;
}
.blog__sidebar-title:not(:has(+ .blog__sidebar-title-decoration)) + .blog__aside-separator {
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.blog__sidebar-title-decoration {
  font-family: "Birthstone", serif;
  font-size: 72px;
  line-height: 90px;
  white-space: nowrap;
  margin-bottom: 1.25rem;
  user-select: none;
}
.blog__sidebar p {
  color: var(--clr-neutral-600);
}
.blog__nav {
  display: flex;
  flex-direction: column;
}
.blog__nav-link {
  line-height: 2rem;
  color: var(--clr-neutral-600);
  transition: 200ms ease-in-out;
}
.blog__nav-link:hover {
  color: var(--clr-neutral-800);
  transform: translateX(2px);
}
.blog__nav-link--active {
  color: var(--clr-black);
  font-weight: 600;
}
.blog__nav-link--active:hover {
  color: var(--clr-black);
}
.blog__aside-separator {
  width: 90px;
  height: 1px;
  background-color: var(--clr-neutral-300);
  margin-bottom: 3rem;
  margin-top: 2rem;
}
.blog__article-thumbnail {
  overflow: hidden;
  display: block;
  margin-bottom: 0.75rem;
  border-radius: 8px;
  height: 19rem;
}
.blog__article-thumbnail:hover img {
  scale: 1.05;
}
.blog__article-img {
  transition: 500ms ease-in-out;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.blog__article-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 14px;
  color: var(--clr-neutral-800);
}
.blog__article-info p {
  font-size: inherit;
  color: currentColor;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.blog__article-title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-bottom: 0.5rem;
}
.blog__return {
  position: absolute;
  left: -15rem;
  bottom: 0;
  color: var(--body-link-clr);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 4rem;
  transition: 250ms ease-in-out;
}
.blog__return:hover {
  scale: 1.025;
  color: var(--body-link-hover-clr);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1200px) {
  .blog__return {
    position: relative;
    left: unset;
    margin-left: 0.5rem;
    padding-right: 0;
  }
}
.blog__reading-time {
  color: var(--clr-neutral-800);
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  .blog__reading-time {
    margin-bottom: 0;
  }
}

.flow img {
  margin-bottom: 3rem;
  width: 100%;
}
.flow img + figcaption {
  color: var(--clr-neutral-600);
  margin-bottom: 3rem;
}
.flow img:has(+ figcaption) {
  margin-bottom: 0.375rem;
}
.flow h3 {
  margin-bottom: 1.5rem;
}
.flow h2 {
  font-size: 1.5rem;
  line-height: 28px;
  font-weight: 800;
  margin-bottom: 1.5rem;
}
.flow p {
  margin-bottom: 1.5rem;
}

.ribbon {
  width: 64px;
  height: 24px;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  background-color: var(--ribbon-discount-bg-clr, var(--clr-danger));
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
  color: var(--ribbon-discount-clr, var(--clr-white));
}
.ribbon--big-discount {
  background-color: var(--ribbon-discount-big-bg-clr, var(--clr-danger-shade));
  color: var(--ribbon-discount-big-clr, var(--clr-white));
}
.ribbon--small-discount {
  background-color: var(--ribbon-discount-small-bg-clr, var(--clr-warning));
  color: var(--ribbon-discount-small-clr, var(--clr-white));
}

.context-menu {
  position: absolute;
  right: 0;
  top: 80%;
  border: 1px solid var(--clr-neutral-700);
  border-radius: 0.375rem;
  color: var(--clr-neutral-900);
  background-color: var(--clr-white);
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: 200ms ease-out;
}
.context-menu--open {
  visibility: visible;
  opacity: 1;
  transform: translateY(10px);
}
.context-menu__item {
  white-space: nowrap;
  text-align: left;
  padding: 0.375rem 0.75rem;
  transition: 200ms ease-out;
}
.context-menu__item:not(:last-child) {
  border-bottom: 1px solid var(--clr-neutral-700);
}
.context-menu__item:hover {
  color: var(--clr-white);
  background-color: var(--clr-neutral-500);
}

.account {
  display: grid;
  grid-template-columns: 1fr 348px;
  gap: 5.625rem;
  margin-bottom: 5rem;
}
.account-sidebar__user {
  padding: 1.25rem 1.625rem;
  color: var(--clr-white);
  background-color: var(--clr-neutral-600);
  border-radius: 0.25rem;
  margin-bottom: 1.5rem;
}
.account-sidebar__user-email {
  font-size: 1.25rem;
  font-weight: 700;
  display: block;
  line-height: 2;
}
.account-sidebar__user p {
  color: var(--clr-white);
  margin-bottom: 0 !important;
}
.account-sidebar__nav {
  margin-bottom: 1rem;
}
.account-sidebar__nav-link {
  padding: 0.75rem 1.5rem;
  display: block;
  border: 1px solid var(--clr-neutral-300);
  background-color: var(--clr-white);
  transition: 200ms ease-out;
}
.account-sidebar__nav-link--active {
  color: var(--clr-primary-500);
  font-weight: 600;
}
.account-sidebar__nav-link:hover {
  background-color: var(--clr-neutral-50);
}
.account-sidebar__nav-link:not(:first-child) {
  border-top: unset;
}
.account-sidebar__nav-link:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.account-sidebar__nav-link:last-child {
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.account-sidebar__logout {
  padding: 0.75rem 1.5rem;
  color: var(--clr-neutral-600);
  background-color: var(--clr-neutral-100);
  display: block;
  border: 1px solid var(--clr-neutral-400);
  border-radius: 0.25rem;
  transition: 200ms ease-out;
}
.account-sidebar__logout:hover {
  background-color: var(--clr-neutral-200);
}

.cart {
  position: relative;
  border-radius: 0.375rem;
  border-collapse: collapse !important;
  margin-bottom: 2rem;
}
.cart::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--clr-white);
  opacity: 0;
  z-index: 100;
  transition: 150ms ease-in-out;
  visibility: hidden;
}
.cart::after {
  content: "";
  position: absolute;
  right: 1rem;
  width: 1.5rem;
  padding: 0.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--clr-primary-500);
  opacity: 0;
  --_m:
          conic-gradient(#0000 10%,#000),
          linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
  transition: 150ms ease-in-out;
  z-index: 9999;
  visibility: hidden;
  right: calc(50% - 1.5rem);
  top: calc(50% - 1.5rem);
}
.cart--loading::before, .cart--loading::after {
  opacity: 0.6;
  visibility: visible;
}
.cart-collaterals .cart_totals::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--clr-white);
  opacity: 0;
  z-index: 100;
  transition: 150ms ease-in-out;
  visibility: hidden;
}
.cart-collaterals .cart_totals::after {
  content: "";
  position: absolute;
  right: 1rem;
  width: 1.5rem;
  padding: 0.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--clr-primary-500);
  opacity: 0;
  --_m:
          conic-gradient(#0000 10%,#000),
          linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
  transition: 150ms ease-in-out;
  z-index: 9999;
  visibility: hidden;
  right: calc(50% - 1.5rem);
  top: calc(50% - 1.5rem);
}
.cart-collaterals--loading .cart_totals {
  position: relative;
}
.cart-collaterals--loading .cart_totals::before, .cart-collaterals--loading .cart_totals::after {
  opacity: 0.6;
  visibility: visible;
}
.cart__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cart__item {
  border: 1px solid var(--clr-neutral-300) !important;
  border-radius: 0.25rem;
}
.cart__item-remove {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.938rem;
  color: var(--clr-neutral-800);
  cursor: pointer;
  transition: color 0.2s ease-in-out;
  user-select: none;
}
.cart__item-remove i {
  color: var(--clr-danger);
}
.cart__item-remove:hover {
  color: var(--clr-primary-400);
}
.cart__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 576px) {
  .cart__actions {
    flex-wrap: wrap;
  }
  .cart__actions > * {
    flex: 1;
  }
}

.loader-1 {
  display: none;
  position: absolute;
  right: 1rem;
  width: 24px;
  padding: 0.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--clr-white);
  opacity: 1;
  --_m:
          conic-gradient(#0000 10%,#000),
          linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
  z-index: 9999;
}
.loader-1.show {
  display: block;
}

@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
.ios {
  background-color: var(--clr-neutral-50);
  border: 1px dashed var(--clr-neutral-600);
  border-radius: 0.25rem;
  color: var(--clr-neutral-800);
  padding: 1rem;
  margin-bottom: 2rem;
  position: relative;
  transition: max-height 400ms cubic-bezier(0.215, 0.61, 0.355, 1) 100ms, padding 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 100ms, margin 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 100ms, border-width 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 100ms, visibility 0s linear 500ms, opacity 250ms ease-out;
  opacity: 1;
  visibility: visible;
  max-height: 100px;
  height: auto;
  overflow: hidden;
  transform-origin: top;
}
.ios--hide {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  margin-bottom: 0;
  padding-block: 0;
  border-width: 0;
}
.ios .icon-x-rounded {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--clr-neutral-400);
  color: var(--clr-neutral-800);
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 0.938rem;
  transition: 200ms ease-out;
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  transition: opacity 200ms ease-out, transform 200ms ease-out;
}
.ios .icon-x-rounded:hover {
  color: var(--clr-white);
  background-color: var(--clr-neutral-600);
}
.ios .icon-x-rounded:hover {
  transform: translateY(-50%) scale(1.1);
}
.ios .icon-x-rounded:active {
  transform: translateY(-50%) scale(0.95);
}

.w4d_notice {
  --offset-top: 215px;
  --offset-right: 2.5rem;
  display: flex;
  justify-content: space-between;
  padding-left: 1.5rem;
  border-radius: 1rem 0 1rem 0.25rem;
  overflow: hidden;
  width: 600px;
  z-index: 9999;
  position: fixed;
  top: var(--offset-top);
  right: var(--offset-right);
  animation: fadeInSlideRight 500ms forwards;
  color: var(--clr-white);
}
.w4d_notice--success {
  background-color: var(--clr-success);
}
.w4d_notice--success .w4d_notice__close-container {
  background-color: var(--clr-success-shade);
}
.w4d_notice--success .w4d_notice__close-container:hover {
  background-color: color-mix(in srgb, var(--clr-success) 50%, black);
}
.w4d_notice--error {
  background-color: var(--clr-danger);
}
.w4d_notice--error .w4d_notice__close-container {
  background-color: var(--clr-danger-shade);
}
.w4d_notice--error .w4d_notice__close-container:hover {
  background-color: color-mix(in srgb, var(--clr-danger) 50%, black);
}
.w4d_notice__close-container {
  transition: 300ms ease-out;
  cursor: pointer;
  border-left: 2px solid var(--clr-white);
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
}
.w4d_notice__status-icon {
  font-size: 32px;
}
.w4d_notice__text {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
  user-select: none;
  padding-right: 4rem;
  padding-block: 0.5rem;
  color: var(--clr-white);
}
.w4d_notice__close {
  font-size: 24px;
  display: inline-block;
}
@media screen and (max-width: 992px) {
  .w4d_notice {
    --offset-top: 5rem;
    --offset-right: 1.25rem;
    top: var(--offset-top);
    right: var(--offset-right);
    width: calc(100% - var(--offset-right) * 2);
    padding: 1rem;
  }
  .w4d_notice__text {
    padding-right: 1rem;
  }
  .w4d_notice__status-icon {
    font-size: 18px;
  }
  .w4d_notice__close {
    font-size: 18px;
  }
}

@keyframes fadeInSlideRight {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  50% {
    opacity: 1;
    transform: translateX(-100px);
  }
  100% {
    transform: translateX(0);
  }
}
.w4d-sync {
  text-align: center;
  padding-block: 20vh;
}

.favourite {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.favourite i {
  font-size: 1.25rem;
  color: var(--body-alt-clr);
  position: relative;
  background: transparent;
  border-radius: 50%;
  line-height: 1;
}
.favourite i::before {
  line-height: 1;
}
.favourite i::after {
  content: "\e908";
  font-family: "icomoon";
  font-size: 1.25rem;
  color: #e74c3c;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
  line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
  .favourite:hover:not(.favourite--active) {
    animation: heart-pulse 1s infinite;
  }
  .favourite:hover:not(.favourite--active) i {
    color: var(--clr-danger);
  }
}
.favourite--active i {
  color: var(--clr-danger);
}
.favourite--active i::after {
  height: 100%;
}
.favourite--active[data-cart-favourite] p::before {
  content: "\e908" !important;
}
.favourite--just-added {
  animation: pulse-activated 1s forwards;
}
.favourite--just-added i {
  animation: pulse-fadeout 2s forwards;
}
.favourite[data-cart-favourite] {
  height: unset;
  width: unset;
  animation: unset;
}
.favourite[data-cart-favourite]:hover {
  animation: unset;
}

.aside-nav__submenu-toggle, .aside-nav__text {
  transition: color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.aside-nav__list--l2.aside-nav__list--open, .aside-nav__list--l3.aside-nav__list--open, .aside-nav__list--l4.aside-nav__list--open, .aside-nav__list--l5.aside-nav__list--open {
  transition: max-height 300ms cubic-bezier(0.42, 0, 1, 1), opacity 300ms cubic-bezier(0.42, 0, 1, 1), visibility 300ms cubic-bezier(0.42, 0, 1, 1), transform 300ms cubic-bezier(0.42, 0, 1, 1);
}

.aside-nav__list--l2, .aside-nav__list--l3, .aside-nav__list--l4, .aside-nav__list--l5 {
  transition: max-height 200ms cubic-bezier(0, 0, 0.58, 1), opacity 200ms cubic-bezier(0, 0, 0.58, 1), visibility 200ms cubic-bezier(0, 0, 0.58, 1), transform 200ms cubic-bezier(0, 0, 0.58, 1);
}

.aside {
  background-color: var(--body-bg-clr);
  padding: 2.25rem 1.75rem 0 3rem;
}
@media screen and (max-width: 1400px) {
  .aside {
    display: none;
  }
}

.aside-nav__list--l2, .aside-nav__list--l3, .aside-nav__list--l4, .aside-nav__list--l5 {
  content-visibility: hidden;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  padding: 0;
  margin: 0;
  transform: translate3d(-100%, 0, 0);
}
.aside-nav__list--l2.aside-nav__list--open, .aside-nav__list--l3.aside-nav__list--open, .aside-nav__list--l4.aside-nav__list--open, .aside-nav__list--l5.aside-nav__list--open {
  content-visibility: visible;
  max-height: 3000px;
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.aside-nav__list--l2[data-closing=true], .aside-nav__list--l3[data-closing=true], .aside-nav__list--l4[data-closing=true], .aside-nav__list--l5[data-closing=true] {
  content-visibility: visible !important;
}
.aside-nav__list--open.aside-nav__list--l2 {
  margin: 1rem 0 1rem 1.25rem;
}
.aside-nav__list--open.aside-nav__list--l3 {
  margin: 0.625rem 0 0.625rem 1rem;
}
.aside-nav__list--open.aside-nav__list--l4 {
  margin: 0.5rem 0 0.5rem 0.75rem;
}
.aside-nav__list--open.aside-nav__list--l5 {
  margin: 0.375rem 0 0.375rem 0.5rem;
}
.aside-nav__link {
  position: relative;
  display: block;
}
.aside-nav__link--active .aside-nav__text,
.aside-nav__link--active .aside-nav__submenu-toggle {
  color: var(--header-link-hover-clr) !important;
}
.aside-nav__link--special {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.275rem;
  color: var(--clr-danger);
}
.aside-nav__link:hover .aside-nav__text,
.aside-nav__link:hover .aside-nav__submenu-toggle {
  color: var(--clr-primary);
}
.aside-nav__link:hover .aside-nav__text {
  transform: translateX(var(--hover-offset, 0));
}
.aside-nav__text {
  display: block;
  font-size: var(--fs);
  font-weight: var(--fw);
  line-height: var(--lh);
  color: var(--clr);
}
.aside-nav__text--l1 {
  --fs: 1.125rem;
  --fw: 700;
  --lh: 2.275rem;
  --clr: var(--clr-black);
  --hover-offset: 0;
}
.aside-nav__text--l2 {
  --fs: 1rem;
  --fw: 600;
  --lh: 2.025rem;
  --clr: var(--clr-neutral-800);
  --hover-offset: 0.5rem;
}
.aside-nav__text--l3 {
  --clr: var(--clr-neutral-800);
  --hover-offset: 0.375rem;
}
.aside-nav__text--l3, .aside-nav__text--l4, .aside-nav__text--l5 {
  --fs: 1rem;
  --fw: 400;
  --lh: 1.75rem;
}
.aside-nav__text--l4, .aside-nav__text--l5 {
  --clr: var(--clr-neutral-600);
  --hover-offset: 0.25rem;
}
.aside-nav__submenu-toggle {
  position: absolute;
  cursor: pointer;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1;
  width: 2rem;
  height: 2rem;
  text-align: center;
  align-content: center;
}
.aside-nav__submenu-toggle--open {
  animation: chevron-spin-180 0.4s ease-out forwards;
}

.social-share__label {
  color: var(--clr-neutral-600);
  margin-bottom: 0.75rem;
}
.social-share__list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.social-share__link {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.25rem;
  border: 1px solid var(--clr-neutral-300);
  background-color: var(--clr-white);
  color: var(--clr-neutral-600);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95), border-color 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95), color 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95), scale 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.social-share__link:first-child {
  margin-left: 0.125rem;
}
.social-share__link:hover {
  background-color: var(--clr-neutral-100);
  border-color: var(--clr-neutral-400);
  color: var(--clr-neutral-800);
  scale: 1.15;
}

.product-gallery .social-share {
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
}
.product-gallery .social-share .social-share__label {
  margin-bottom: 0;
}

.benefits-bar {
  background-color: var(--custom-bg-clr, var(--clr-primary-700));
}
.benefits-bar__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding: 10px 0;
}
@media screen and (max-width: 992px) {
  .benefits-bar__list {
    align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .benefits-bar__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }
}
@media screen and (max-width: 576px) {
  .benefits-bar__list {
    gap: 12px;
  }
}
.benefits-bar__item a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.benefits-bar__item a span {
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
  text-transform: uppercase;
  color: var(--clr-white);
}
@media screen and (max-width: 768px) {
  .benefits-bar__item a span {
    flex: 1;
  }
}
.benefits-bar__media {
  width: 20px;
  height: 20px;
}
.benefits-bar__media img {
  object-fit: contain;
}

dialog {
  border: none;
  display: none; /* user agent style */
  opacity: 0;
  overflow: visible;
  transition: all 350ms allow-discrete;
  border-radius: var(--custom-border-radius, 0.5rem);
  box-shadow: var(--has-box-shadow, 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.2));
  margin: auto;
  translate: 0 -10vh;
  padding: 0;
  z-index: 9999;
}
dialog::backdrop {
  transition: all 350ms allow-discrete;
  opacity: 0;
  background: var(--custom-backdrop-bg, rgba(0, 0, 0, 0.3));
}
dialog[data-dialog] {
  left: auto;
  top: calc(100% + 1rem);
}
dialog[open] {
  display: block; /* user agent style */
  opacity: 1;
  translate: 0 0;
}
@starting-style {
  dialog[open] {
    opacity: 0;
    translate: 0 -10vh;
  }
}
dialog[open]::backdrop {
  opacity: 0.75;
}
dialog[data-modal] {
  left: revert;
}
dialog:modal {
  translate: 0 25vh;
  margin: auto;
}
dialog:modal[open] {
  display: block; /* user agent style */
  opacity: 1;
  translate: 0 0;
}
@starting-style {
  dialog:modal[open] {
    opacity: 0;
    translate: 0 -25vh;
  }
}
dialog .close {
  font-size: 1.25rem;
  background-color: var(--clr-neutral-50);
  width: 64px;
  height: 64px;
  position: absolute;
  top: 0;
  left: 100%;
  cursor: pointer;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  overflow: hidden;
  transition: background-color 0.2s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}
dialog .close:hover {
  background-color: var(--clr-neutral-200);
}
@media screen and (max-width: 992px) {
  dialog .close {
    display: none;
  }
}

@starting-style {
  dialog[open]::backdrop {
    opacity: 0;
  }
}
.confirmation-dialog {
  top: 120%;
  left: auto;
  width: min(60ch, 90vw);
  max-width: 90vw;
  padding: 1rem 1.25rem;
  border-left: 0.5rem solid var(--clr-warning);
}
.confirmation-dialog__title {
  color: var(--clr-neutral-800);
  font-size: 1.25rem;
  margin-bottom: 0;
  padding-right: 4rem;
}
.confirmation-dialog__header {
  display: flex;
  align-items: center;
}
.confirmation-dialog__icon {
  color: var(--clr-warning);
  font-size: 1.5rem;
  margin-right: 0.75rem;
}
.confirmation-dialog__message {
  color: var(--clr-neutral-600);
  margin-top: 0.75rem;
}
.confirmation-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.confirmation-dialog__close {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0.75rem;
  top: 0.625em;
  width: 3rem;
  height: 3rem;
  color: var(--clr-neutral-600);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95), color 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.confirmation-dialog__close:hover {
  background-color: var(--clr-neutral-100);
  color: var(--clr-black);
}

.availability-notify {
  max-width: 480px;
  width: 100%;
  padding: 3rem 4rem;
}
.availability-notify h4 {
  text-align: center;
}
.availability-notify #notify-response {
  color: red;
}
.availability-notify .not_mess {
  padding: 20px;
  text-align: center;
}

@media screen and (min-width: 992px) {
  dialog:has(.availability-notify) {
    border-top-right-radius: 0;
  }
}

.availability-notify {
  width: min(60ch, 90vw);
  padding: 2.5rem;
  user-select: none;
  text-align: left;
}
.availability-notify__title {
  text-transform: uppercase;
  font-weight: 800;
  text-align: center;
  text-wrap: balance;
}
.availability-notify__validation-msg {
  color: var(--clr-danger);
  position: absolute;
  bottom: 100%;
  animation: fade-in 0.3s ease-in-out;
}
.availability-notify__dialog-open-btn {
  color: var(--clr-warning);
}
.availability-notify__dialog-open-btn:hover i {
  animation: bell-shake 1s ease-out infinite;
}
.availability-notify__dialog-open-btn i {
  transform-origin: top center;
}
.availability-notify__icon-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--clr-white);
  z-index: -1;
  border-radius: 200px 200px 0 0;
  top: -22%;
  left: 50%;
  transform: translate(-50%, -22%);
  width: clamp(120px, 30vw, 220px);
  height: auto;
  position: absolute;
}
.availability-notify .stock-icon {
  color: var(--clr-neutral-500);
  font-size: clamp(4rem, 7vw + 2rem, 8rem);
  animation: subtle-pulse 4s ease-in-out infinite;
  transform-origin: bottom center;
}
@media screen and (max-width: 576px) {
  .availability-notify {
    padding: 1.5rem;
  }
}

.shop-archive {
  display: grid;
  grid-template-columns: 372px 1fr;
  padding: 0;
  gap: 48px;
  min-height: 60vh;
}
@media screen and (max-width: 1400px) {
  .shop-archive {
    grid-template-columns: 1fr;
  }
}
.shop-archive > section {
  min-width: 0;
  width: 100%;
}
.shop-archive__actions {
  display: flex;
  gap: 2rem;
  align-items: center;
}
.shop-archive__actions-icon {
  font-size: 16px;
  box-sizing: border-box;
  padding-inline: 0.5rem;
  color: var(--body-alt-clr);
  border: 1px solid var(--body-alt-clr);
  border-radius: 4px;
  width: 32px;
  aspect-ratio: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: all 100ms ease-in;
  background-color: transparent;
  cursor: pointer;
  user-select: none;
}
.shop-archive__actions-icon:disabled {
  color: var(--clr-neutral-600);
  background-color: var(--clr-neutral-200);
  border-color: var(--clr-neutral-400) !important;
  transition: all 200ms ease-in-out;
  cursor: not-allowed;
}
.shop-archive__actions-icon:hover {
  border-color: var(--clr-primary-500);
  color: var(--clr-primary-500);
}
.shop-archive__actions-icon--active {
  background-color: var(--body-bg-clr);
  border-color: var(--body-clr) !important;
  color: var(--body-clr);
}
.shop-archive__actions-icon--active:hover {
  border-color: var(--clr-primary-500) !important;
  color: var(--clr-primary-500);
}
.shop-archive__actions-icon:has(.icon-grid) {
  border-right-color: transparent;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.shop-archive__actions-icon:has(.icon-table) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.shop-archive__products-per-page {
  display: flex;
  gap: 0.5rem;
}
.shop-archive__header {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  grid-template-areas: "title sorting" "desc desc";
  gap: 0.75rem 2rem;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--clr-neutral-300);
}
@media screen and (max-width: 768px) {
  .shop-archive__header {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "title" "desc" "sorting";
    gap: 0.5rem 0;
    align-items: start;
    border-bottom: unset;
    padding: 1rem 0 0 0;
  }
}
.shop-archive__header > h1.page-title {
  grid-area: title;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 576px) {
  .shop-archive__header > h1.page-title {
    text-align: center;
    position: relative;
  }
}
.shop-archive__header > .shop-archive__actions {
  grid-area: sorting;
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .shop-archive__header > .shop-archive__actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
.shop-archive__header > .archive_desc_wrapper {
  grid-area: desc;
  width: 100%;
  position: relative;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .shop-archive__header > .archive_desc_wrapper {
    margin-top: 0.25rem;
  }
}
@media screen and (max-width: 576px) {
  .shop-archive .woocommerce-breadcrumb {
    display: none;
  }
}
.shop-archive .back {
  display: none;
  padding: 0.25rem 1rem;
}
@media screen and (max-width: 768px) {
  .shop-archive .back {
    display: block;
  }
}

.archive_desc.truncated {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* Number of lines to show */
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
  max-height: 7em;
  transition: max-height 0.4s;
}

.archive_desc.truncated::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.25rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--body-alt-bg-clr) 100%);
  pointer-events: none;
  opacity: 0;
  animation: fadeInOverlay 0.6s forwards;
  animation-delay: 0.3s;
}

@keyframes fadeInOverlay {
  to {
    opacity: 1;
  }
}
.archive_desc:not(.truncated) {
  -webkit-line-clamp: unset;
  overflow: visible;
}

.toggle-desc-btn {
  background: none;
  border: none;
  color: var(--body-link-clr);
  cursor: pointer;
  padding: 0;
}

.tabs__nav {
  display: flex;
  justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .tabs__nav {
    flex-wrap: wrap;
    gap: 6px 20px;
    flex-direction: column;
    justify-content: center;
    padding-inline: 20px;
    margin-bottom: 24px;
  }
  .tabs__nav button {
    border: 1px solid var(--clr-neutral-400);
    text-align: center;
    width: 100%;
    border-radius: 8px;
    padding-block: 4px;
  }
  .tabs__nav .active {
    border: 1px solid var(--clr-neutral-800);
  }
}
.tabs__nav button {
  color: var(--clr-neutral-600);
  font-size: 32px;
  line-height: 38px;
  font-weight: 300;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 768px) {
  .tabs__nav button {
    font-size: 18px;
    line-height: 32px;
  }
}
.tabs__nav button.active {
  color: var(--clr-black);
  font-weight: 900;
}
.tabs__nav button::before {
  display: block;
  content: attr(title);
  font-weight: 900;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
.tabs__content {
  padding-top: 50px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .tabs__content {
    padding-top: 20px;
  }
}
.tabs__content > div:not(:first-child) {
  display: none;
}

.product-card {
  position: relative;
  background-color: var(--body-bg-clr);
  border: 1px solid var(--clr-neutral-200);
  border-radius: 8px;
  transition: 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  cursor: pointer !important;
}
@media screen and (min-width: 768px) {
  .product-card:hover {
    border-color: var(--clr-neutral-600);
    box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.0784313725);
  }
  .product-card:hover .product-card__media {
    margin-bottom: -64px;
  }
  .product-card:hover .product-card__add-to-card {
    opacity: 1;
    height: 64px;
  }
}
.product-card__header {
  position: absolute;
  top: 22px;
  width: 100%;
  z-index: 1;
  height: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 10px;
}
@media screen and (max-width: 576px) {
  .product-card__header {
    top: 18px;
    height: 16px;
    padding-right: 10px;
  }
}
.product-card__link {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
}
.product-card__media {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
  transition: 0.3s ease-in-out;
}
.product-card__media img {
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  object-position: center;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 576px) {
  .product-card__media img {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
  }
}
.product-card__content {
  position: relative;
  padding: 10px 20px 24px;
  margin-top: auto;
  color: var(--body-clr);
  background-color: var(--body-bg-clr);
  flex: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 576px) {
  .product-card__content {
    padding: 0 14px 12px;
  }
}
.product-card__content h4 {
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  text-transform: uppercase;
  margin-bottom: 5px;
}
@media screen and (max-width: 576px) {
  .product-card__content h4 {
    font-size: 14px;
    line-height: 16.4px;
    margin-bottom: 1px;
  }
}
.product-card__content > p {
  color: var(--body-clr-dim);
  font-size: 13px;
  font-weight: 400;
  line-height: 13px;
  margin-top: 6px;
}
@media screen and (max-width: 576px) {
  .product-card__content > p {
    font-size: 11px;
    line-height: 13px;
  }
}
.product-card__content > p span {
  color: var(--body-clr);
}
.product-card__content .price {
  margin-top: auto;
  margin-bottom: 0;
}
.product-card__content span {
  color: var(--clr-neutral-500);
}
.product-card__details {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  color: var(--body-clr) !important;
  margin-bottom: 10px;
  margin-top: 0px;
}
@media screen and (max-width: 576px) {
  .product-card__details {
    font-size: 14px !important;
    line-height: 16px !important;
    margin-bottom: 8px;
  }
}
.product-card__details span {
  font-size: 0.875rem;
  line-height: 1.031rem;
}
.product-card__details p {
  word-break: break-word;
}
.product-card__add-to-card {
  width: 100%;
  height: 0;
  border-top: 1px solid var(--clr-neutral-600);
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  opacity: 0;
  transition: 0.3s ease-in-out;
  z-index: 2;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  color: var(--body-clr);
  overflow: hidden;
  margin-top: 0.5rem;
}
.product-card__add-to-card::before {
  font-size: 1.25rem;
  font-family: "icomoon";
  content: "\e935";
  color: var(--body-clr);
  transition: 0.3s ease-in-out;
}
.product-card__add-to-card:hover {
  background: var(--clr-primary-500);
  color: var(--clr-white);
}
.product-card__add-to-card:hover::before {
  color: var(--clr-white);
}

.offering-carousel-wrapper .glide__slides {
  justify-content: stretch;
}
.offering-carousel-wrapper .glide__slide {
  align-self: stretch;
  height: auto;
}

.offering-carousel-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 32px;
}
@media screen and (max-width: 576px) {
  .offering-carousel-footer {
    padding-inline: 20px;
    justify-content: space-between;
  }
  .offering-carousel-footer:has(.glide__arrows[style*="display: none"]) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center !important;
  }
}
.offering-carousel-footer .glide__arrows {
  position: absolute;
  bottom: inherit;
  right: 0;
}
@media screen and (max-width: 576px) {
  .offering-carousel-footer .glide__arrows {
    position: relative;
    right: auto;
  }
}
.offering-carousel-footer .glide__arrow {
  background-color: var(--clr-neutral-600);
}
.offering-carousel-footer .glide__arrow::before {
  color: var(--clr-white);
  background: var(--clr-white);
}
.offering-carousel-footer .glide__arrow--disabled {
  background-color: var(--clr-neutral-400);
}
.offering-carousel-footer .glide__arrow--disabled::before {
  color: var(--clr-neutral-500);
  background: var(--clr-neutral-500);
}

.product-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-bottom: 48px;
  position: relative;
}
.product-cards.load::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background-color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .product-cards {
    gap: 20px 16px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .product-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .product-cards {
    gap: 14px 10px;
    margin-bottom: 60px !important;
  }
}
@media only screen and (min-width: 2048px) {
  .product-cards {
    grid-template-columns: repeat(6, 1fr);
  }
}

.shop-grid:not(:has(.pagination)) .product-cards {
  margin-bottom: 96px !important;
}

/*
    NOTE: All the values for sizes are in px values intentionally in this block
    since there is no text in it
 */
.brand-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 64px;
  padding: 20px 0;
  overflow: hidden;
}
.brand-logos__slider-wrapper {
  align-items: center;
}
.brand-logos__slider .glide__arrows {
  position: initial;
}
.brand-logos__centered {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .brand-logos__centered {
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }
  .brand-logos__centered img {
    max-height: 6rem;
  }
}
.brand-logos__centered a {
  height: 100%;
  display: flex;
}
.brand-logos__centered img {
  width: auto;
  height: 100%;
  max-height: 10rem;
  object-fit: contain;
}
.brand-logos__centered li {
  flex-grow: 1;
}
.brand-logos li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.brand-logos li:nth-child(n+7) {
  display: none;
}
.brand-logos img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s;
  max-height: 100px;
}
.brand-logos img:hover {
  transform: scale(1.05);
}
@media screen and (max-width: 1200px) {
  .brand-logos {
    gap: 48px;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .brand-logos {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 480px) {
  .brand-logos {
    gap: 48px;
    grid-template-columns: repeat(2, 1fr);
  }
}

.load-more-container {
  grid-column: 1/-1;
  text-align: center;
  margin-top: 20px;
}

.posts {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  gap: 2.5rem;
  width: 100%;
}
.posts-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.posts-wrapper .btn {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .posts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 16px;
    padding-top: 19px;
  }
}
.posts--grid {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 24px;
  padding-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .posts--grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 16px;
  }
}

.article {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.article__media {
  position: relative;
  width: 100%;
  padding-bottom: 68.57%;
  border-radius: var(--article-media-border-radius, 0);
  overflow: hidden;
  margin-bottom: 1rem;
}
@media screen and (max-width: 576px) {
  .article__media {
    margin-bottom: 0.375rem;
  }
}
.article__media img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article span {
  color: var(--clr-neutral-600);
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 576px) {
  .article span {
    margin-bottom: 0.375rem;
  }
}
.article h5 a:hover {
  color: var(--clr-primary-500);
}

.form__input {
  margin-bottom: 30px;
  width: 100%;
  /*input:not([type="radio"]):not([type="checkbox"]):not([type="search"]):not([type="submit"]),*/
}
@media screen and (max-width: 768px) {
  .form__input {
    margin-bottom: 20px;
  }
}
.form__input select {
  background-color: var(--white);
  border-radius: 4px;
  padding: 0 12px;
  font-size: 16px;
  line-height: 48px;
  color: var(--clr-black);
  border: 1px solid var(--clr-black-40);
  width: 100%;
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media screen and (max-width: 768px) {
  .form__input select {
    height: 40px;
    line-height: 40px;
    font-size: 14px;
  }
}
.form__input textarea {
  background-color: var(--clr-white);
  border-radius: 4px;
  padding: 0 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 48px;
  height: 48px;
  color: var(--clr-black);
  border: 1px solid var(--clr-neutral-300);
}
@media screen and (max-width: 768px) {
  .form__input textarea {
    height: 40px;
    line-height: 40px;
    font-size: 14px;
  }
}
.form__input textarea::placeholder {
  color: var(--clr-black);
  font-size: 16px;
  font-weight: 600;
  line-height: 48px;
}
@media screen and (max-width: 768px) {
  .form__input textarea::placeholder {
    font-size: 14px;
    line-height: 40px;
  }
}
.form__input textarea:focus {
  border-color: var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
}
.form__input textarea {
  min-height: 12.5rem;
  word-break: break-all;
  line-height: inherit;
  padding: 0.75rem;
}
.form__input .custom-scrollbar::placeholder {
  color: var(--clr-neutral-600);
  line-height: inherit;
}
.form__input .custom-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.form__input .custom-scrollbar::-webkit-scrollbar-track {
  border-radius: 10px;
}
.form__input .custom-scrollbar::-webkit-scrollbar-thumb {
  background: #D9D9D9;
  border-radius: 10px;
  transition: background 0.3s ease;
}
.form__input .custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #888;
}
.form__input input[type=submit] {
  background-color: var(--clr-primary-500);
  padding: 0 39px;
  height: 48px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 48px;
  cursor: pointer;
  color: var(--clr-white);
  transition: 0.2s ease-in-out;
}
@media screen and (max-width: 768px) {
  .form__input input[type=submit] {
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    padding: 0 20px;
  }
}
.form__input input[type=submit]:hover {
  background-color: var(--clr-primary-600);
}
.form__input--flex {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .form__input--flex {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }
}
@media screen and (max-width: 576px) {
  .form__input--flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }
}
@media screen and (max-width: 992px) {
  .form__input--column {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .form__input--column {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .form__input--column {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
}
.form__input--column input[type=email] {
  width: 100%;
}
.form__input--required {
  color: var(--clr-danger);
  margin-left: 3px;
}
.form__input--info {
  color: var(--clr-neutral-600);
  margin-left: 3px;
}
@media screen and (max-width: 768px) {
  .form__input input[type=email] {
    width: 100%;
  }
}
.form__radio {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.form__radio:hover input[type=radio] {
  border: 1px solid var(--clr-primary-500);
}
.form__radio input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  margin-right: 10px;
}
.form__radio input[type=radio]:checked {
  background-color: var(--clr-primary-500);
  border: 2px solid var(--clr-primary-500);
}
.form__radio input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: white;
  transform: translate(-50%, -50%);
}
.form__checkbox {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
}
.form__checkbox:hover input[type=checkbox] {
  border: 1px solid var(--clr-primary-500);
}
.form__checkbox label {
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
}
@media screen and (max-width: 768px) {
  .form__checkbox label {
    font-size: 14px;
    line-height: 16px;
  }
}
.form__checkbox a {
  display: block;
  margin: -5px;
  color: var(--clr-primary-500);
}
.form__checkbox a:hover {
  color: var(--clr-danger);
  text-decoration: underline;
}
.form__checkbox .checkout_privacy_anchor {
  display: initial;
  padding: 10px;
}
.form__checkbox input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--clr-white);
  border: 1px solid var(--clr-neutral-300);
  margin: 0;
  color: transparent;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: grid;
  place-content: center;
}
.form__checkbox input[type=checkbox]::before {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 120ms transform ease-in-out;
  font-size: 1.25rem;
  font-family: icomoon;
  content: "\e902";
  color: var(--clr-white);
}
.form__checkbox input[type=checkbox]:checked {
  border-color: var(--clr-primary-500);
  background-color: var(--clr-primary-500);
}
.form__checkbox input[type=checkbox]:checked::before {
  transform: scale(1);
}
.form__checkbox input[type=checkbox]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
.form__single-col {
  display: grid;
  grid-template-columns: auto;
}
.form__double-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .form__double-col {
    grid-template-columns: 1fr;
    gap: 0px;
  }
}
.form__double-col__flex {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media screen and (min-width: 1400px) {
  .form__double-col__flex {
    grid-template-columns: 61.404% 1fr;
  }
}
.form__double-col .form__input {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.form__double-col .form__input input {
  width: 100%;
}
.form--newsletter {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  max-width: 510px;
  margin: 0 auto;
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .form--newsletter {
    padding-top: 20px;
  }
}
.form--newsletter .form__input input:not([type=radio]):not([type=checkbox]):not([type=search]):not([type=submit]) {
  flex: 1;
}
.form--newsletter .form__input input[name=email] {
  line-height: 32px;
}
@media screen and (max-width: 1200px) {
  .form--newsletter .form__input input[name=email] {
    line-height: unset;
  }
}
.form--newsletter .form__checkbox {
  position: relative;
  /* Success styling */
}
.form--newsletter .form__checkbox::after {
  position: absolute;
  content: attr(data-msg);
  top: 100%;
  margin-top: 0.75rem;
  white-space: nowrap;
  left: 50%;
  transform: translateX(-50%);
}
.form--newsletter .form__checkbox[data-msg-type=error]::after {
  color: var(--clr-danger);
}
.form--newsletter .form__checkbox[data-msg-type=success]::after {
  color: var(--green-color-light-1);
}
.form--newsletter .form__checkbox.highlight-error input[type=checkbox] {
  border: 2px solid var(--clr-danger);
  /* Red border for error */
  box-shadow: 0 0 2px var(--clr-danger);
  transition: border 0.2s ease, box-shadow 0.2s ease;
}
.form--register {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .form--register {
    margin-bottom: 40px;
  }
}
.form--register .form__input {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .form--register .form__input label {
    font-size: 12px;
  }
}
.form--register .form__input input:not([type=radio]):not([type=checkbox]):not([type=submit]) {
  height: 40px !important;
  max-height: 40px;
  line-height: 40px !important;
}
.form--register .form__input--submit-disabled input[type=submit] {
  background-color: var(--clr-primary-300);
  cursor: not-allowed;
  user-select: none;
}
.form--register .form__input--submit-disabled input[type=submit]:hover {
  background-color: var(--clr-primary-300);
}
.form--register .form__input input[type=submit] {
  margin-top: 28px;
  width: auto;
}
@media screen and (max-width: 768px) {
  .form--register .form__input input[type=submit] {
    margin-top: 0;
  }
}
.form--register .form__input label {
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .form--register .form__input--flex {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .form--register .form__double-col__flex {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.form--register h3 {
  margin-top: 28px;
}
@media screen and (max-width: 768px) {
  .form--register h3 {
    margin-top: 16px;
  }
}
.form--register h3,
.form--register p {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .form--register h3,
  .form--register p {
    margin-bottom: 16px;
  }
}
.form--same-address {
  display: none;
}

.woocommerce-breadcrumb {
  margin: 1.25rem 0 1rem;
}
@media screen and (max-width: 768px) {
  .woocommerce-breadcrumb {
    margin: 0.875rem 0 0.625rem;
  }
}
.woocommerce .woocommerce-breadcrumb {
  margin: 0.875rem 0 1.25rem;
}
.single-product .woocommerce-breadcrumb {
  margin: 0 0 1.25rem;
}
.woocommerce-breadcrumb .breadcrumb-item,
.woocommerce-breadcrumb .delimiter {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: var(--body-alt-clr-dim);
  margin-right: 0.625rem;
}
.woocommerce-breadcrumb .breadcrumb-item a:hover,
.woocommerce-breadcrumb .delimiter a:hover {
  color: var(--body-clr-dim);
}
.woocommerce .woocommerce-breadcrumb::before, .woocommerce .woocommerce-breadcrumb::after {
  display: none;
}

.accordion {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 576px) {
  .accordion.accordion--desktop-open {
    width: calc(100% + 2.5rem);
    margin-left: -1.25rem;
  }
}
.accordion__content {
  box-sizing: content-box;
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out, padding-bottom 0.3s ease-out;
  will-change: height, padding-bottom;
  line-height: 1.25rem;
  padding: 0 2.3125rem 0 0;
  text-wrap: pretty;
  margin: 0 !important;
}
.accordion__content p {
  margin-bottom: 1.25rem;
}
.accordion--desktop-open .accordion__content {
  /*@include mq(xs, min-width) {
      display: block !important;
      padding: 0;
      margin: 0;
  }*/
}
@media only screen and (min-width: 576px) {
  .accordion--desktop-open .accordion__content {
    display: block !important;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .accordion__content {
    font-size: 0.875rem;
  }
}
.accordion__item {
  padding: 0 1.5rem;
  border: 1px solid var(--clr-neutral-300);
  border-bottom: 0;
  height: 100%;
  min-height: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .accordion__item {
    min-height: 2.625rem;
    padding: 0 1rem;
  }
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__item {
    border: none;
    min-height: unset;
  }
}
.accordion--desktop-open .accordion__item {
  /*@include mq(xs, min-width) {
      padding: 0;
      border: none;
      margin-bottom: 35px;
  }

  @include mq(sm, min-width) {
      margin-bottom: 54px;
  }*/
}
@media only screen and (min-width: 576px) {
  .accordion--desktop-open .accordion__item {
    padding: 0;
    border: none;
    margin-bottom: 2.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .accordion--desktop-open .accordion__item {
    margin-bottom: 3.375rem;
  }
}
.accordion__item:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.accordion__item:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: 1px solid var(--clr-neutral-300);
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__item:last-child {
    border: none;
  }
}
.accordion--desktop-open .accordion__item:last-child {
  /*@include mq(xs, min-width) {
      border: none;
      margin: 0;
  }*/
}
@media only screen and (min-width: 576px) {
  .accordion--desktop-open .accordion__item:last-child {
    border: none;
    margin: 0;
  }
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__item:not(:last-child) {
    border-bottom: 4px solid var(--clr-neutral-50);
  }
}
.accordion__nav {
  cursor: pointer;
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5625rem;
  padding: 0 2.3125rem 0 0;
  margin-block: 1rem;
  display: block !important;
}
@media screen and (max-width: 768px) {
  .accordion__nav {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.125rem !important;
    margin-block: 0.75rem !important;
  }
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__nav {
    display: flex;
    align-items: center;
    margin: 0;
    width: 100%;
    min-height: 3.5625rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 3.5625rem;
    text-transform: uppercase;
  }
}
.accordion--desktop-open .accordion__nav {
  /*@media only screen and (min-width: $viewport-xs) {
      padding: 0;
      pointer-events: none;
      font-size: fs(400);
      font-weight: fw(700);
      line-height: lh(450);
      margin: 0 0 size(16);
      text-transform: uppercase;
  }*/
}
@media screen and (min-width: 576px) {
  .accordion--desktop-open .accordion__nav {
    padding: 0;
    pointer-events: none;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2.025rem;
    margin: 0 0 1rem;
    text-transform: uppercase;
  }
}
.accordion__nav.active::before, .accordion__nav.active::after {
  transform: rotate(180deg) !important;
}
.accordion__nav::before, .accordion__nav::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 10px;
  height: 1px;
  background: var(--clr-black);
  transform-origin: center center;
}
@media screen and (min-width: 576px) {
  .accordion--desktop-open .accordion__nav::before, .accordion--desktop-open .accordion__nav::after {
    display: none;
  }
}
.accordion__nav::after {
  transform: rotate(-90deg);
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__nav::after {
    display: none;
  }
}
.accordion__nav::before {
  transform: rotate(0deg);
}
@media screen and (max-width: 576px) {
  .accordion--desktop-open .accordion__nav::before {
    position: absolute;
    right: 0;
    top: 1.3125rem;
    line-height: 0.875rem;
    display: inline-block;
    width: 0.875rem;
    height: 0.875rem;
    content: "\f002";
    color: var(--clr-black);
    background: var(--clr-black);
    background-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 0.875rem 0.875rem;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /></svg>');
  }
}

.content--shop .accordion__content {
  height: unset !important;
  overflow: unset !important;
}

@media screen and (max-width: 768px) {
  .filters {
    position: sticky;
    top: calc(100dvh - 80px);
    left: 0;
    z-index: 8;
  }
}
@media screen and (min-width: 768px) {
  .filters {
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .filters.xs-show {
    position: relative;
    top: 0;
  }
}
.filters span {
  line-height: unset;
}
@media screen and (max-width: 768px) {
  .filters.open {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto;
    background: var(--body-bg-clr);
  }
  .filters.open::before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: var(--clr-black);
    opacity: 0.5;
  }
  .filters.open .filters__reset-all {
    background-color: transparent;
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .open .filters__header, .open .filters__wrapper, .open .filters__footer {
    background: var(--body-bg-clr);
    position: relative;
  }
}
.filters__toggle {
  cursor: pointer;
  transition: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .filters__toggle {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .filters__toggle {
    border: 1px solid var(--clr-neutral-800);
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.3);
    background-color: var(--body-bg-clr);
  }
  .filters__toggle i {
    font-size: 1.5rem;
  }
  .filters__toggle:hover {
    background: var(--clr-primary-600);
    color: var(--body-bg-clr);
    border-color: transparent;
  }
  .filters__toggle:hover::before {
    color: var(--body-clr);
    background: var(--body-bg-clr);
  }
  .open .filters__toggle {
    border: none;
    box-shadow: none;
    height: 25px;
    font-size: 0;
    color: transparent;
    background-color: transparent;
    width: 100%;
    padding: 0;
  }
  .open .filters__toggle:hover {
    background-color: transparent;
  }
  .open .filters__toggle::before {
    display: none;
  }
  .open .filters__toggle::after {
    position: absolute;
    top: 10px;
    left: calc(50% - 12px);
    line-height: 12px;
    display: inline-block;
    width: 24px;
    height: 12px;
    font-family: "icomoon";
    content: "\e918";
    color: var(--clr-black);
    background-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 24px 24px;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /></svg>');
    font-size: 20px;
  }
}
.filters__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 1rem;
}
.open .filters__header {
  align-items: flex-start;
}
.filters__header__content {
  display: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .filters__header__content {
    display: flex;
  }
  .filters__header__content h4 {
    padding-left: 6px;
  }
}
.filters__header__content h4 {
  padding-bottom: 0;
}
.filters__header h4 {
  display: none;
  font-size: 18px;
  font-weight: 700;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .open .filters__header h4 {
    display: block;
  }
}
.filters__wrapper {
  margin-bottom: 35px;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 0.75rem;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow-x: clip;
}
.filters__wrapper--expanded {
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .filters__wrapper--expanded {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .filters__wrapper {
    display: none;
    margin-bottom: 0;
    padding-top: 1px;
    border: none;
    gap: 4px;
    background-color: var(--clr-neutral-200) !important;
    max-height: calc(100vh - 145px - 125px);
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .xs-show .filters__wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0 !important;
    background-color: transparent !important;
  }
  .filters__wrapper::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .open .filters__wrapper {
    display: flex;
    flex-direction: column;
  }
}
.filters__expand-and-clear {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  display: flex;
  background-color: var(--clr-neutral-50);
}
.filters__expand-and-clear::before {
  content: "";
  position: absolute;
  width: 2.75rem;
  height: 60px;
  background: linear-gradient(90deg, rgba(247, 248, 249, 0) 0%, var(--body-alt-bg-clr) 70%);
  left: -2.75rem;
  top: -10px;
  pointer-events: none;
}
.filters__expand-and-clear::after {
  position: absolute;
  content: "";
  width: 7rem;
  left: 0;
  pointer-events: none;
  top: -10px;
  height: 60px;
  background-color: var(--body-alt-bg-clr);
}
@media screen and (max-width: 768px) {
  .filters__expand-and-clear {
    display: none;
  }
}
.filters__expand-and-clear--expanded {
  position: relative;
}
.filters__expand-and-clear--expanded::before {
  width: 0.5rem;
  background: unset;
}
.filters__expand-and-clear--expanded::after {
  display: none;
}
.filters__expand-transparent-gradient {
  width: 2.75rem;
  background: linear-gradient(90deg, rgba(247, 248, 249, 0) 0%, var(--body-alt-bg-clr) 70%);
}
.filters__expand-btn {
  display: none;
  background-color: var(--body-alt-bg-clr);
  padding: 0.5rem 0 0.5rem 1rem;
  border-left: 1px solid var(--body-alt-bg-clr);
  align-items: center;
  gap: 0.25rem;
  color: var(--body-alt-clr);
  transition: 200ms ease-in-out;
  cursor: pointer;
  z-index: 50;
  user-select: none;
}
.filters__expand-btn i {
  transform: translateY(1px);
  font-size: 18px;
}
.filters__expand-btn:hover {
  color: var(--body-clr);
}
.filters__reset-all {
  background-color: var(--body-alt-bg-clr);
  font-size: 16px;
  font-weight: 400;
  color: var(--body-alt-clr);
  cursor: pointer;
  align-items: center;
  gap: 0.5rem;
  transition: 150ms ease-in-out;
  padding: 0.5rem 1rem;
  z-index: 50;
  user-select: none;
  display: none;
}
.filters__reset-all.show {
  display: flex;
}
@media screen and (max-width: 768px) {
  .filters__reset-all {
    display: none !important;
  }
}
.filters__reset-all i {
  transform: translateY(2px);
}
.filters__reset-all:hover {
  scale: 1.035;
  text-shadow: -1px -1px 3px rgba(0, 0, 0, 0.15);
}
.filters__footer {
  display: none;
  padding: 12px 16px;
}
@media screen and (max-width: 768px) {
  .open .filters__footer {
    display: flex;
    gap: 11px;
    border-top: 1px solid var(--clr-neutral-200);
  }
}
.filters__footer .btn {
  cursor: pointer;
  font-weight: 700;
}
.filters__footer .btn:last-child {
  flex: 1;
  gap: 8px;
  text-align: center;
}

.filter {
  position: relative;
  visibility: visible;
  opacity: 1;
  transition: all 200ms ease-in-out;
}
@media screen and (max-width: 768px) {
  .filter .select2 {
    display: inline;
  }
}
.filter .select2.has-selection .select2-selection__rendered .select2-selection__choice:not(:first-of-type) {
  display: none;
}
.filter .select2 .select2-selection {
  height: 40px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--clr-neutral-300);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 12px;
  padding-right: 43px;
  position: relative;
  background-color: var(--body-bg-clr);
}
@media screen and (max-width: 768px) {
  .filter .select2 .select2-selection:not(.xs-show .filter .select2 .select2-selection) {
    height: 54px;
    border-radius: 0;
    border: none;
    padding-left: 16px;
  }
}
.filter .select2 .select2-selection__clear {
  opacity: 0;
}
.filter .select2 .select2-search {
  display: none;
}
.filter--no-search .custom-search {
  padding-bottom: 0 !important;
}
.filter--no-search .custom-search input {
  display: none;
}
.filter--no-search.filter--single .select2-search--dropdown {
  padding: 16px 0 0 0 !important;
}
@media screen and (max-width: 768px) {
  .filter--no-search.filter--single .select2-search--dropdown {
    padding-top: 0 !important;
  }
}
.filter--no-search.filter--single .select2-search--dropdown input {
  display: none;
}
.filter--no-checkbox .checkbox-container {
  padding-left: 0 !important;
}
.filter--no-checkbox .checkbox-container .select2-checkbox,
.filter--no-checkbox .checkbox-container .checkmark {
  display: none;
}
.filter--single .select2-container .select2-dropdown {
  border-top-left-radius: 8px !important;
  border-top-right-radius: 8px !important;
  border: 1px solid var(--clr-neutral-300) !important;
}
.filter--single .select2-search--dropdown {
  padding: 25px 20px;
}
@media screen and (max-width: 768px) {
  .filter--single .select2-search--dropdown {
    padding: 25px 16px 0;
  }
}
.filter--single .select2-search--dropdown input {
  height: 40px;
  border-radius: 4px;
  border: 1px solid var(--clr-neutral-300) !important;
  padding: 0 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  color: var(--clr-black);
  width: 100%;
}
.filter--sort .select2 .select2-selection {
  height: 32px;
}
.filter--sort .select2-selection__rendered {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
}
@media screen and (min-width: 768px) {
  .filter--sort .select2-container .select2-dropdown {
    left: auto !important;
    right: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  .filter--sort .select2-container--default .select2-results > .select2-results__options {
    display: flex;
    gap: 0.875rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar {
    display: none;
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options .select2-results__option {
    padding: 0 12px;
    border: 1px solid var(--clr-neutral-300);
    border-radius: 4px;
    height: 28px;
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options .select2-results__option.select2-results__option--selected {
    border: 1px solid var(--clr-black);
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options .select2-results__option.select2-results__option--selected .checkbox-container {
    color: var(--clr-black);
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options .select2-results__option .checkbox-container {
    font-size: 12px;
    font-weight: 400;
    line-height: 25px;
    color: var(--clr-neutral-600);
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options .select2-results__option .checkbox-container .checkbox-container__text {
    white-space: nowrap;
    user-select: none;
  }
  .filter--sort .select2-container--default .select2-results > .select2-results__options::after {
    content: "";
    position: absolute;
    right: 0;
    top: -1px;
    background: linear-gradient(270deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
    width: 32px;
    height: 30px;
  }
}
@media screen and (max-width: 768px) {
  .filter--sort {
    display: none;
  }
}
.filter--sort-mobile {
  display: none;
}
@media screen and (max-width: 768px) {
  .filter--sort-mobile {
    display: block;
  }
  .filter--sort-mobile .select2-results__options {
    margin-bottom: 0;
  }
  .filter--sort-mobile .select2-results__options .checkbox-container__text {
    line-height: unset;
  }
  .filter--sort-mobile .select2-results__options .select2-results__option {
    height: unset !important;
  }
  .filter--sort-mobile .select2-results__options .select2-results__option .checkbox-container {
    line-height: unset !important;
  }
  .filter--sort-mobile .select2-results__option {
    padding: 0.5rem 1rem !important;
  }
}
.filter .select2-container {
  width: 100% !important;
}
@media screen and (max-width: 768px) {
  .filter .select2-container {
    margin-top: 10px;
    min-width: 280px;
    position: relative !important;
    top: 0 !important;
  }
  .filter .select2-container:not(.xs-show .filter .select2-container) {
    margin-top: 0;
  }
}
.filter .select2-container .custom-search {
  border: 1px solid var(--clr-neutral-300);
  border-bottom: 0;
  padding: 25px 20px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: var(--body-bg-clr);
  position: relative;
  z-index: 1052;
}
@media screen and (min-width: 768px) {
  .filter .select2-container .custom-search {
    min-width: 280px;
    margin-top: 10px;
    margin-bottom: -10px;
  }
}
@media screen and (max-width: 768px) {
  .filter .select2-container .custom-search {
    border: none;
    border-radius: 0;
    padding: 0 16px 20px;
  }
}
.filter .select2-container .custom-search input {
  height: 40px;
  border-radius: 4px;
  border: 1px solid var(--clr-neutral-300);
  background-color: var(--body-bg-clr);
  padding: 0 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  color: var(--body-clr);
  width: 100%;
}
.filter .select2-container .custom-search input::placeholder {
  color: var(--body-clr);
}
.filter .select2-container .reset-button {
  border-top: 1px solid var(--clr-neutral-300);
  width: 100%;
  height: 56px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 56px;
  color: var(--body-clr);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .filter .select2-container .reset-button {
    display: flex;
    line-height: 1;
    padding-left: 16px;
  }
  .xs-show .filter .select2-container .reset-button {
    align-items: center;
  }
  .filter .select2-container .reset-button:not(.xs-show .filter .select2-container .reset-button) {
    height: 40px;
    border-top: 0;
  }
}
.filter .select2-container .reset-button::before {
  font-family: icomoon;
  content: "\e91b";
  color: var(--body-clr);
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .filter .select2-container .reset-button::before {
    top: -2px;
  }
}
.filter .select2-container .select2-dropdown {
  width: 100% !important;
  border: 1px solid var(--clr-neutral-300);
  border-top: none;
  border-radius: 0 0 8px 8px;
}
@media screen and (min-width: 768px) {
  .filter .select2-container .select2-dropdown {
    min-width: 280px;
    margin-top: 10px;
    box-shadow: 0px 8px 24px 0px rgba(0, 0, 0, 0.0784313725);
    background-color: var(--body-bg-clr);
  }
}
@media screen and (max-width: 768px) {
  .filter .select2-container .select2-dropdown {
    position: relative;
  }
  .filter .select2-container .select2-dropdown:not(.xs-show .filter .select2-container .select2-dropdown) {
    border-radius: 0 !important;
    border: none !important;
  }
}
.filter .select2-container--default.select2-container--focus .select2-selection--single, .filter .select2-container--default.select2-container--open .select2-selection--single, .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .filter .select2-container--default.select2-container--open .select2-selection--multiple {
  border: 1px solid var(--clr-primary-500);
}
@media screen and (min-width: 768px) {
  .filter .select2-container--default.select2-container--focus .select2-selection--single, .filter .select2-container--default.select2-container--open .select2-selection--single, .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .filter .select2-container--default.select2-container--open .select2-selection--multiple {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
  }
}
.filter .select2-container--default.select2-container--focus .select2-selection--single::before, .filter .select2-container--default.select2-container--open .select2-selection--single::before, .filter .select2-container--default.select2-container--focus .select2-selection--multiple::before, .filter .select2-container--default.select2-container--open .select2-selection--multiple::before {
  color: var(--body-clr);
}
.filter .select2-container--default.select2-container--focus .select2-selection--single::after, .filter .select2-container--default.select2-container--open .select2-selection--single::after, .filter .select2-container--default.select2-container--focus .select2-selection--multiple::after, .filter .select2-container--default.select2-container--open .select2-selection--multiple::after {
  color: var(--body-clr);
  pointer-events: none;
  transform: rotate(-180deg);
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default.select2-container--focus .select2-selection--single::after, .filter .select2-container--default.select2-container--open .select2-selection--single::after, .filter .select2-container--default.select2-container--focus .select2-selection--multiple::after, .filter .select2-container--default.select2-container--open .select2-selection--multiple::after {
    transform: rotate(-90deg);
  }
}
@media screen and (min-width: 768px) {
  .filter .select2-container--default.select2-container--focus .select2-selection--single, .filter .select2-container--default.select2-container--open .select2-selection--single, .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .filter .select2-container--default.select2-container--open .select2-selection--multiple {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
  }
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default.select2-container--focus .select2-selection--single:not(.xs-show .filter .select2-container--default.select2-container--focus .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--multiple), .filter .select2-container--default.select2-container--open .select2-selection--single:not(.xs-show .filter .select2-container--default.select2-container--focus .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--multiple), .filter .select2-container--default.select2-container--focus .select2-selection--multiple:not(.xs-show .filter .select2-container--default.select2-container--focus .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--multiple), .filter .select2-container--default.select2-container--open .select2-selection--multiple:not(.xs-show .filter .select2-container--default.select2-container--focus .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--multiple) {
    border: none;
  }
  .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--focus .select2-selection--multiple, .xs-show .filter .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--clr-neutral-300);
  }
}
.filter .select2-container--default.select2-container--open .select2-selection--single, .filter .select2-container--default.select2-container--open .select2-selection--multiple {
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default.select2-container--open .select2-selection--single::after, .filter .select2-container--default.select2-container--open .select2-selection--multiple::after {
    transform: rotate(0deg) !important;
  }
}
.filter .select2-container--default .select2-selection--single::before, .filter .select2-container--default .select2-selection--multiple::before {
  content: attr(title);
  position: relative;
  left: 0;
  top: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: var(--body-alt-clr);
  display: block;
  margin-right: 6px;
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default .select2-selection--single:not(.xs-show .filter .select2-container--default .select2-selection--single, .xs-show .filter .select2-container--default .select2-selection--multiple)::before, .filter .select2-container--default .select2-selection--multiple:not(.xs-show .filter .select2-container--default .select2-selection--single, .xs-show .filter .select2-container--default .select2-selection--multiple)::before {
    font-size: 14px;
    font-weight: 700;
    line-height: 54px;
    color: var(--body-clr);
  }
}
.filter .select2-container--default .select2-selection--single::after, .filter .select2-container--default .select2-selection--multiple::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 11px;
  line-height: 16px;
  display: inline-block;
  width: 16px;
  height: 18px;
  font-size: 16px;
  font-family: "icomoon";
  content: "\e918";
  color: var(--body-alt-clr);
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default .select2-selection--single::after, .filter .select2-container--default .select2-selection--multiple::after {
    right: 20px;
    color: var(--body-alt-clr);
    transform: rotate(-90deg);
  }
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    position: relative;
  }
}
.filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--single:not(.xs-show .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple), .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple:not(.xs-show .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .xs-show .filter .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple) {
    border-radius: 0;
  }
}
.filter .select2-container--default .select2-results__option--selected, .filter .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: transparent;
}
.filter .select2-container--default .select2-selection--single.select2-selection--clearable, .filter .select2-container--default .select2-selection--multiple.select2-selection--clearable {
  padding-right: 37px;
  border-color: var(--clr-black);
}
.filter .select2-container .select2-results__option--selected .checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.filter .select2-container .select2-results__option--selected .checkbox-container input ~ .checkmark {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
.filter .select2-container--default .select2-results > .select2-results__options {
  max-height: 290px;
  margin-bottom: 16px;
  overscroll-behavior-y: contain;
}
@media screen and (max-width: 768px) {
  .filter .select2-container--default .select2-results > .select2-results__options {
    padding: 0 16px;
    margin-bottom: 20px;
  }
  .xs-show .filter .select2-container--default .select2-results > .select2-results__options {
    margin-top: 20px;
  }
}
.filter .select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar {
  width: 4px;
}
.filter .select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-track {
  background-color: var(--clr-neutral-200);
  border-radius: 50px;
}
.filter .select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-thumb {
  background-color: var(--clr-neutral-600);
  outline: none;
  border-radius: 50px;
}
.filter .select2-container .select2-selection--single .select2-selection__rendered {
  display: none;
}
.filter .select2-container--default .select2-selection--single.select2-selection--clearable .select2-selection__rendered {
  margin: 0;
  border: none;
  background-color: var(--clr-black);
  padding: 0 7px;
  border-radius: 50px;
  color: var(--body-clr);
  font-size: 12px;
  font-weight: 600;
  height: 20px;
  display: block;
  line-height: 19px;
}
.filter .select2-container--default .select2-selection--multiple .select2-selection__choice {
  margin: 0;
  border: none;
  background-color: var(--clr-black);
  padding: 0 7px;
  border-radius: 50px;
  color: var(--body-clr);
  font-size: 12px;
  font-weight: 600;
  height: 20px;
  display: block;
}
.filter .select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--clr-white);
}
.filter .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  display: none;
}
.filter .select2-container--default .select2-selection--single .select2-selection__clear {
  display: none;
}
@media screen and (max-width: 768px) {
  .filter .select2-selection__clear {
    display: none;
  }
}
.filter .select2-results__option {
  padding: 8px 20px !important;
  transition: 100ms ease-in;
}
.filter .select2-results__option:hover {
  background-color: color-mix(in srgb, var(--body-bg-clr) var(--dim-extreme), var(--body-clr)) !important;
}
.filter .select2-results__option:last-child, .filter .select2-results__option:last-of-type {
  margin-bottom: 0;
}
.filter .select2-results__option.reset-button-wrapper {
  padding-top: 0 !important;
}
.filter .checkbox-container {
  display: flex;
  align-items: flex-start;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-left: 30px;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: var(--clr-black);
}
.filter .checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.filter .checkbox-container .checkmark {
  position: absolute;
  top: 3px;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: white;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 4px;
  overflow: hidden;
}
.filter .checkbox-container .checkmark::after {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  position: absolute;
  inset: 0;
  font-family: "icomoon";
  content: "\e903";
  color: var(--clr-white);
}
.filter .checkbox-container .quantity {
  height: 20px;
  background: var(--body-alt-bg-clr);
  padding: 0 12px;
  border-radius: 50px;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 19px;
  color: var(--body-alt-clr);
  display: inline-block;
}
.filter .checkbox-container__text {
  color: var(--body-clr);
  flex: 1;
  line-height: 24px;
  text-wrap: wrap;
}
.filter .checkbox-container__color {
  width: 24px;
  height: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-right: 11px;
  border-radius: 50px;
  overflow: hidden;
  margin-bottom: 3px;
}
.filter .checkbox-container__color > div {
  width: 12px;
  height: 12px;
}
.filter--small-dot .checkbox-container__color {
  width: 8px;
  height: 8px;
  position: relative;
  top: 9px;
  margin-bottom: 0;
}
.filter .select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none;
}

#filter-product-count {
  line-height: 24px;
  color: var(--clr-primary-500);
  background-color: var(--clr-white);
  padding-inline: 0.5rem;
  border-radius: 8px;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  transition: all 200ms ease-in-out;
}

.filter .select2-container--default .select2-selection--multiple.select2-selection--clearable::before,
.filter .select2-container--default .select2-selection--single.select2-selection--clearable::before {
  color: var(--clr-black) !important;
}

.select2-container.has-selection .select2-selection {
  border-color: var(--body-clr) !important;
}
.select2-container.has-selection .select2-selection::before {
  color: var(--body-clr);
}
.select2-container.has-selection .select2-selection::after {
  color: var(--body-clr);
}

.range-select--disabled .range-select__trigger {
  background-color: var(--clr-neutral-200) !important;
  color: var(--clr-neutral-600) !important;
  border-color: var(--clr-neutral-300) !important;
  cursor: not-allowed;
}

.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: var(--clr-neutral-200) !important;
  color: var(--clr-neutral-600) !important;
  border-color: var(--clr-neutral-300) !important;
  cursor: not-allowed;
}
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__choice,
.select2-container--default.select2-container--disabled .select2-selection--multiple .select2-selection__choice {
  background-color: var(--clr-neutral-600);
}

.filters__reset-all,
.filters__expand-btn {
  transition: 150ms ease-in-out;
}
.filters__reset-all:disabled,
.filters__expand-btn:disabled {
  cursor: not-allowed;
  color: var(--clr-neutral-600);
}

.filter .select2-container .select2-results__option--selected .checkbox-container input ~ .checkmark {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}

.range-filter__container .price-input {
  display: flex;
  flex-direction: row;
  width: 100%;
  margin-bottom: 25px;
  gap: 38px;
  position: relative;
}
.range-filter__container .price-input::before {
  content: "-";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px;
  font-weight: 400;
  line-height: 19.2px;
  color: var(--body-clr);
}
.range-filter__container .price-input__field {
  display: flex;
}
@media screen and (max-width: 768px) {
  .range-filter__container .price-input__field {
    flex: 1;
  }
}
.range-filter__container .price-input__field input {
  flex: 1;
  height: 40px;
  text-align: center;
  background: var(--body-bg-clr);
  border: 1px solid var(--clr-neutral-400);
  border-radius: 4px;
  font-size: 16px;
  font-weight: 400;
  color: var(--body-clr);
  width: 100%;
  appearance: none;
  /* Chrome, Safari, Edge, Opera - Remove Arrows/Spinners */
  /* Firefox */
  -moz-appearance: textfield;
}
.range-filter__container .price-input__field input::-webkit-outer-spin-button, .range-filter__container .price-input__field input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.range-filter__container .price-input__field input:focus {
  border-color: var(--clr-primary-500);
}
.range-filter__slider-container {
  width: 100%;
  height: 4px;
  position: relative;
  background: var(--clr-neutral-200);
  border-radius: 50px;
}
.range-filter__slider {
  height: 100%;
  position: absolute;
  border-radius: 50px;
  background: var(--clr-success);
}
.range-filter__input {
  position: relative;
}
.range-filter__input input {
  padding: 0;
  border: unset;
  position: absolute;
  width: 100%;
  height: 4px;
  background: none;
  top: -4px;
  pointer-events: none;
  cursor: pointer;
  -webkit-appearance: none;
}
.range-filter__input input[type=range]::-webkit-slider-thumb {
  height: 20px;
  width: 20px;
  border-radius: 50px;
  background: var(--clr-primary-500);
  pointer-events: auto;
  -webkit-appearance: none;
  border: 3px solid var(--clr-white);
  box-shadow: 0 0 0 1px var(--clr-neutral-400);
}
.range-filter__input input[type=range]::-moz-range-thumb {
  height: 14px;
  width: 14px;
  border-radius: 50px;
  background: var(--clr-primary-500);
  pointer-events: auto;
  appearance: none;
  border: 3px solid var(--clr-white);
  box-shadow: 0 0 0 1px var(--clr-neutral-400);
}

.range-select__trigger {
  height: 40px;
  margin: 0;
  border: 1px solid var(--clr-neutral-300);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 37px 0 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: var(--body-alt-clr);
  background-color: var(--body-bg-clr);
  border-radius: 4px;
  user-select: none;
}
@media screen and (max-width: 768px) {
  .range-select__trigger {
    height: 54px;
    border-radius: 0;
    border: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 54px;
    color: var(--body-alt-clr);
    position: relative;
    padding-left: 16px;
  }
}
.range-select__trigger::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 11px;
  line-height: 16px;
  display: inline-block;
  width: 16px;
  height: 18px;
  font-size: 16px;
  font-family: "icomoon";
  content: "\e918";
  color: var(--body-alt-clr);
}
@media screen and (max-width: 768px) {
  .range-select__trigger::after {
    right: 20px;
    color: var(--body-alt-clr);
    transform: rotate(-90deg);
  }
}
.range-select__trigger .price-info {
  margin: 0 0 0 6px;
  border: none;
  background-color: var(--clr-black);
  padding: 0 7px;
  border-radius: 50px;
  color: var(--clr-white);
  font-size: 12px;
  font-weight: 600;
  height: 20px;
  display: block;
  line-height: 19px;
}
@media screen and (min-width: 768px) {
  .range-select.open .range-select__trigger {
    border: 1px solid var(--body-clr);
    color: var(--body-clr);
  }
}
.range-select.open .range-select__trigger::after {
  color: var(--body-clr);
  transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  .range-select.open .range-select__trigger::after {
    transform: rotate(-180deg);
  }
}
.range-select.open .range-select__dropdown {
  display: block;
}
@media screen and (max-width: 768px) {
  .range-select.open .range-select__dropdown {
    position: relative;
    top: 0;
    margin-top: 0;
    width: 100%;
    border-radius: 0;
    border: none;
    padding-top: 0;
  }
}
.range-select__dropdown {
  overflow: hidden;
  display: none;
  position: absolute;
  left: 0;
  top: 40px;
  margin-top: 10px;
  background: var(--body-bg-clr);
  border: 1px solid var(--clr-neutral-400);
  padding: 25px 0 0;
  border-radius: 8px;
  width: 280px;
  z-index: 9999;
}
.range-select__dropdown .range-filter {
  padding: 0 20px;
}
.range-select__reset {
  border-top: 1px solid var(--body-clr-dim);
  width: 100%;
  height: 56px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 56px;
  color: var(--body-clr);
  cursor: pointer;
  margin-top: 25px;
  transition: 200ms ease-in-out;
  /*     &:hover {
          background-color: var(--body-alt-clr-dim);
      } */
}
@media screen and (max-width: 768px) {
  .range-select__reset {
    height: 40px;
    line-height: 1;
    display: flex;
    padding-left: 16px;
    border-top: 0;
  }
}
.range-select__reset::before {
  font-family: "icomoon";
  content: "\e91b";
  color: var(--body-clr);
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .range-select__reset::before {
    top: -2px;
  }
}

.shop-sidebar-wrapper {
  padding-top: 22px;
  color: var(--body-clr);
}
@media screen and (max-width: 1200px) {
  .shop-sidebar-wrapper {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 1200px) {
  .shop-sidebar-wrapper::before {
    width: calc(100% + 40px) !important;
    left: -20px !important;
  }
}
.shop-sidebar-wrapper .availability.availability--backorder {
  color: var(--clr-neutral-500);
}

@media screen and (max-width: 1200px) {
  .shop-sidebar,
  .product-flyout {
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  .shop-sidebar .woocommerce-breadcrumb,
  .product-flyout .woocommerce-breadcrumb {
    display: none;
  }
}
.shop-sidebar h1,
.product-flyout h1 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-transform: uppercase;
  word-break: break-word;
}
@media screen and (max-width: 768px) {
  .shop-sidebar h1,
  .product-flyout h1 {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
.shop-sidebar__info,
.product-flyout__info {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .shop-sidebar__info,
  .product-flyout__info {
    gap: 20px;
  }
}
@media (min-width: 1200px) and (max-width: 1199.98px) {
  .shop-sidebar__info,
  .product-flyout__info {
    gap: 10px;
  }
}
.shop-sidebar__info span,
.product-flyout__info span {
  font-size: 14px;
  font-weight: 400;
  line-height: 32px;
  color: var(--body-clr);
}
@media screen and (max-width: 768px) {
  .shop-sidebar__info span,
  .product-flyout__info span {
    font-size: 12px;
  }
}
.shop-sidebar .availability,
.product-flyout .availability {
  font-size: 14px;
  font-weight: 400;
  line-height: 32px;
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .availability,
  .product-flyout .availability {
    font-size: 12px;
  }
}
.shop-sidebar .price-wrapper,
.product-flyout .price-wrapper {
  padding-top: 2rem;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .price-wrapper,
  .product-flyout .price-wrapper {
    padding-top: 2.5rem;
  }
}
.shop-sidebar .price-wrapper > p,
.product-flyout .price-wrapper > p {
  font-size: 12px;
  font-weight: 400;
  line-height: 14px;
  color: var(--body-clr-dim);
}
.shop-sidebar .price,
.product-flyout .price {
  gap: 22px;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .price,
  .product-flyout .price {
    gap: 19px;
  }
}
.shop-sidebar .price > div,
.product-flyout .price > div {
  font-size: 32px;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .price > div,
  .product-flyout .price > div {
    font-size: 20px;
    line-height: 32px;
  }
}
.shop-sidebar .price__before,
.product-flyout .price__before {
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 32px !important;
  position: relative;
  top: 3px;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .price__before,
  .product-flyout .price__before {
    font-size: 16px !important;
  }
}
.shop-sidebar .ribbon,
.product-flyout .ribbon {
  border-radius: 50px;
  margin-bottom: 17px;
  width: 72px;
  height: 28px;
  line-height: 28px;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .ribbon,
  .product-flyout .ribbon {
    width: 56px;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
    margin-bottom: 10px;
  }
}
.shop-sidebar .payment-methods,
.product-flyout .payment-methods {
  gap: 1rem;
  padding: 40px 0 24px;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .payment-methods,
  .product-flyout .payment-methods {
    padding: 32px 0;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.shop-sidebar .payment-methods img,
.product-flyout .payment-methods img {
  transform: scale(0.8);
}
.shop-sidebar__options,
.product-flyout__options {
  display: flex;
  flex-direction: column;
}
.shop-sidebar__options input[type=submit],
.product-flyout__options input[type=submit] {
  text-align: center;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .shop-sidebar__options input[type=submit],
  .product-flyout__options input[type=submit] {
    height: 40px;
    line-height: 40px;
  }
}
.shop-sidebar .filters,
.product-flyout .filters {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .shop-sidebar .filters,
  .product-flyout .filters {
    padding-top: 20px;
  }
}
.shop-sidebar .filters__wrapper,
.product-flyout .filters__wrapper {
  padding-top: 40px;
  border: none;
  width: 100%;
  margin: 0;
  flex-direction: column;
}
.shop-sidebar .filters__wrapper::before,
.product-flyout .filters__wrapper::before {
  display: none;
}
.shop-sidebar .variations,
.product-flyout .variations {
  width: 100%;
}
.shop-sidebar .variations label,
.product-flyout .variations label {
  margin-bottom: 0.25rem;
  display: block;
}
.shop-sidebar .variations__option,
.product-flyout .variations__option {
  position: relative;
  margin-bottom: 1rem;
}
.shop-sidebar .variations__option--advanced,
.product-flyout .variations__option--advanced {
  --radio-btn-size: 40px;
}
.shop-sidebar .variations__option--advanced .variations__list,
.product-flyout .variations__option--advanced .variations__list {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}
.shop-sidebar .variations__option--advanced .variations__label,
.product-flyout .variations__option--advanced .variations__label {
  --bg-clr-default: var(--bg-clr, transparent);
  height: 100%;
  margin-bottom: 0;
  background: var(--bg-img, var(--bg-clr-default)) no-repeat center/cover;
  border-radius: var(--custom-border-radius, 0.25rem);
  position: relative;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
  color: var(--clr-black);
}
.shop-sidebar .variations__option--advanced .variations__label--needs-outline,
.product-flyout .variations__option--advanced .variations__label--needs-outline {
  outline: 1px solid var(--clr-neutral-300);
  outline-offset: -1px;
}
.shop-sidebar .variations__option--advanced .variations__label--text,
.product-flyout .variations__option--advanced .variations__label--text {
  padding-inline: 0.75rem;
  line-height: calc(var(--radio-btn-size) - 3px);
}
.shop-sidebar .variations__option--advanced .variations__input,
.product-flyout .variations__option--advanced .variations__input {
  transform: unset;
  top: -1px;
  left: -1px;
  width: var(--radio-btn-size);
  height: var(--radio-btn-size);
}
.shop-sidebar .variations__option--advanced .variations__input:disabled + .variations__label::before,
.product-flyout .variations__option--advanced .variations__input:disabled + .variations__label::before {
  --strike: 1px;
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* The middle band (at 50%) is the diagonal from top-left to bottom-right */
  background: linear-gradient(to bottom left, transparent calc(50% - var(--strike)), var(--clr-white) calc(50% - var(--strike)), var(--clr-white) calc(50% + var(--strike)), transparent calc(50% + var(--strike)));
  z-index: 1;
}
.shop-sidebar .variations__option--advanced .variations__input:disabled + .variations__label--needs-outline::before,
.product-flyout .variations__option--advanced .variations__input:disabled + .variations__label--needs-outline::before {
  background: var(--clr-neutral-300);
}
.shop-sidebar .variations__option--advanced .variations__input--text,
.product-flyout .variations__option--advanced .variations__input--text {
  width: 100%;
}
.shop-sidebar .variations__option--advanced .variations__input--text:disabled + .variations__label::before,
.product-flyout .variations__option--advanced .variations__input--text:disabled + .variations__label::before {
  --strike: 1px;
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* The middle band (at 50%) is the diagonal from top-left to bottom-right */
  background: linear-gradient(to bottom left, transparent calc(50% - var(--strike)), var(--clr-neutral-400) calc(50% - var(--strike)), var(--clr-neutral-400) calc(50% + var(--strike)), transparent calc(50% + var(--strike)));
  z-index: 1;
}
.shop-sidebar .variations__option--advanced .variations__item,
.product-flyout .variations__option--advanced .variations__item {
  position: relative;
  width: var(--radio-btn-size);
  height: var(--radio-btn-size);
  border-radius: var(--custom-border-radius, 0.25rem);
  border: 1px solid transparent;
  padding: 0.25rem;
}
.shop-sidebar .variations__option--advanced .variations__item:has(.variations__input:checked),
.product-flyout .variations__option--advanced .variations__item:has(.variations__input:checked) {
  border-color: var(--clr-primary-500);
}
.shop-sidebar .variations__option--advanced .variations__item--text,
.product-flyout .variations__option--advanced .variations__item--text {
  min-width: var(--radio-btn-size);
  text-align: center;
  padding: 0;
  width: max-content;
  border-color: var(--clr-primary-800);
}
.shop-sidebar .variations__option--advanced .variations__item--text:has(.variations__input:checked),
.product-flyout .variations__option--advanced .variations__item--text:has(.variations__input:checked) {
  border-color: var(--clr-black);
  background-color: var(--clr-black);
}
.shop-sidebar .variations__option--advanced .variations__item--text:has(.variations__input:checked) .variations__label,
.product-flyout .variations__option--advanced .variations__item--text:has(.variations__input:checked) .variations__label {
  color: var(--clr-white);
}
.shop-sidebar .variations__option--advanced .variations__item--text:has(.variations__input:disabled),
.product-flyout .variations__option--advanced .variations__item--text:has(.variations__input:disabled) {
  border-color: var(--clr-neutral-400);
}
.shop-sidebar .variations__option.active::after,
.product-flyout .variations__option.active::after {
  transform: rotate(180deg);
}
.shop-sidebar .variations__option:not(.variations__option--advanced)::after,
.product-flyout .variations__option:not(.variations__option--advanced)::after {
  position: absolute;
  background: var(--clr-black);
  top: calc(50% - 8px);
  right: 11px;
  line-height: 16px;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "\f002";
  color: var(--clr-neutral-600);
  background: var(--clr-neutral-600);
  background-size: 100% 100%;
  transition: transform 200ms ease-in-out;
  pointer-events: none;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 16px 16px;
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /></svg>');
}
.shop-sidebar .variations select,
.product-flyout .variations select {
  width: 100%;
  border-radius: 4px;
  border: 1px solid var(--clr-neutral-300);
  padding: 0.5rem 1rem;
  background: white;
  color: var(--clr-neutral-600);
  transition: 200ms ease-out;
  user-select: none;
  position: relative;
}
.shop-sidebar .variations select option:disabled,
.product-flyout .variations select option:disabled {
  color: lightgrey;
}
.shop-sidebar .variations select option:disabled:hover,
.product-flyout .variations select option:disabled:hover {
  color: #fffdfd;
}
.shop-sidebar .variations select:hover,
.product-flyout .variations select:hover {
  border-color: var(--clr-primary-600);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
}
.shop-sidebar .variations select:focus,
.product-flyout .variations select:focus {
  border-color: var(--clr-primary-500);
  color: var(--clr-black);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12);
}
.shop-sidebar .variations select:has(option:checked:not([value=""])),
.product-flyout .variations select:has(option:checked:not([value=""])) {
  color: var(--clr-black);
  border-color: var(--clr-primary-500);
}
.shop-sidebar .variations .reset_variations,
.product-flyout .variations .reset_variations {
  display: none !important;
}
.shop-sidebar .single_variation_wrap .quantity,
.product-flyout .single_variation_wrap .quantity {
  display: none !important;
}
.shop-sidebar .woocommerce-Price-amount,
.product-flyout .woocommerce-Price-amount {
  font-size: 32px;
  line-height: 32px;
  color: var(--clr-black);
  font-weight: 700;
  margin-bottom: 1rem;
}
.shop-sidebar .woocommerce-variation-price .variation__price span,
.product-flyout .woocommerce-variation-price .variation__price span {
  font-weight: inherit;
  font-size: inherit;
}
.shop-sidebar .woocommerce-variation-price .variation__price-sale,
.product-flyout .woocommerce-variation-price .variation__price-sale {
  position: relative;
  display: inline-block;
  color: var(--clr-danger) !important;
  margin-right: 1rem;
  margin-top: 2rem;
  font-weight: 700;
  font-size: 2rem;
}
.shop-sidebar .woocommerce-variation-price .variation__price-sale[data-discount]::after,
.product-flyout .woocommerce-variation-price .variation__price-sale[data-discount]::after {
  content: "-" attr(data-discount) "%";
  position: absolute;
  width: 72px;
  height: 28px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  color: var(--clr-white);
  top: -36px;
  left: 0;
}
.shop-sidebar .woocommerce-variation-price .variation__price-sale.discount--low::after,
.product-flyout .woocommerce-variation-price .variation__price-sale.discount--low::after {
  background-color: var(--clr-warning);
}
.shop-sidebar .woocommerce-variation-price .variation__price-sale.discount--medium::after,
.product-flyout .woocommerce-variation-price .variation__price-sale.discount--medium::after {
  background-color: var(--clr-danger);
}
.shop-sidebar .woocommerce-variation-price .variation__price-sale.discount--high::after,
.product-flyout .woocommerce-variation-price .variation__price-sale.discount--high::after {
  background-color: var(--clr-danger-shade);
}
.shop-sidebar .woocommerce-variation-price .variation__price-regular,
.product-flyout .woocommerce-variation-price .variation__price-regular {
  display: inline-block;
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  color: var(--clr-black);
}
.shop-sidebar .woocommerce-variation-price .variation__price-regular--crossed,
.product-flyout .woocommerce-variation-price .variation__price-regular--crossed {
  display: inline-block;
  text-decoration: line-through;
  font-weight: 400;
  font-size: 1.5rem;
  color: var(--clr-neutral-600) !important;
}
.shop-sidebar .woocommerce-variation-price .variation__price-lowest-in-30-days,
.product-flyout .woocommerce-variation-price .variation__price-lowest-in-30-days {
  margin-bottom: 1rem;
}

.discount-badge {
  position: absolute;
  border-radius: 50px;
  margin-bottom: 17px;
  width: 72px;
  height: 28px;
  line-height: 28px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: var(--clr-white);
  background-color: var(--clr-danger);
  top: -36px;
  left: 0;
}

.availability {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 15px;
  font-size: 13px;
  font-weight: 400;
  line-height: 13px;
}
@media screen and (max-width: 576px) {
  .availability {
    font-size: 13px;
    line-height: 16px;
  }
}
.availability::before {
  content: "";
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50px;
  margin-right: 9px;
  background-color: var(--clr-success);
}
@media screen and (max-width: 576px) {
  .availability::before {
    width: 5px;
    height: 5px;
    margin-right: 6px;
  }
}
.availability--backorder::before {
  background-color: var(--clr-warning);
}
.availability--query::before {
  background-color: var(--body-clr-dim);
}

.price {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.5rem;
}
.price > div {
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  color: var(--body-clr);
}
@media screen and (max-width: 576px) {
  .price > div {
    font-size: 14px;
    line-height: 16px;
  }
}
.price > div::after {
  content: attr(data-price-suffix);
  color: var(--clr-neutral-500);
  font-size: 1rem;
  margin-left: 0.25rem;
}
.price__before {
  font-weight: 400 !important;
  color: var(--body-clr-dim) !important;
  text-decoration: line-through;
}
.price--discount div:first-child {
  color: var(--clr-danger);
}

.payment-methods {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .payment-methods {
    gap: 13px 10px;
    justify-content: flex-start;
  }
}
@media (min-width: 576px) and (max-width: 1399.98px) {
  .payment-methods {
    justify-content: center;
  }
}
.payment-methods img {
  display: block;
}
@media screen and (max-width: 768px) {
  .payment-methods img {
    transform: scale(0.8);
  }
}

.delivery-details {
  border: 1px solid var(--clr-neutral-400);
  border-radius: 4px;
  overflow: hidden;
}
.delivery-details li {
  height: 48px;
  display: flex;
  align-items: center;
  background-color: var(--clr-white);
  padding: 0 22px;
  gap: 11px;
  border-bottom: 1px solid var(--clr-neutral-400);
}
@media screen and (max-width: 576px) {
  .delivery-details li {
    height: 40px;
    padding: 0 17px;
    gap: 9px;
  }
}
.delivery-details li:last-child {
  border: none;
}
.delivery-details li img {
  max-width: 17px;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 576px) {
  .delivery-details li img {
    max-width: 14px;
  }
}
.delivery-details li span {
  font-size: 14px;
  font-weight: 600;
  line-height: 17px;
  color: var(--clr-neutral-800);
}
@media screen and (max-width: 576px) {
  .delivery-details li span {
    font-size: 12px;
  }
}

.table {
  width: 100%;
}
.table th, .table td {
  border-bottom: 4px solid var(--body-bg-clr);
}
.table tr td {
  height: 32px;
  padding: 4px 20px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .table tr td {
    padding: 5px 10px;
  }
}
.table tr td:first-child {
  width: 38.796%;
  position: relative;
}
.table tr td:first-child::before {
  content: "";
  background-color: var(--body-alt-bg-clr);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: 4px;
}
.table tr td:first-child p {
  color: var(--body-alt-clr);
}
.table tr td p {
  margin: 0;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .table tr td p {
    line-height: 1.3;
  }
}

.downloads {
  display: flex;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .downloads {
    flex-direction: column;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .downloads {
    flex-direction: column;
  }
}
.downloads__item {
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--clr-neutral-300);
  padding: 18px 20px 13px;
  min-height: 130px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
.downloads__item p {
  line-height: 1;
  margin: 0 0 3px;
}
.downloads__item span {
  line-height: 1;
  color: var(--clr-neutral-500);
}
.downloads__item a {
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
  color: var(--clr-primary-500);
}
@media screen and (max-width: 768px) {
  .downloads__item a {
    font-size: 14px;
  }
}
.downloads__item a:hover {
  text-decoration: underline;
}

.product-gallery {
  display: flex;
  gap: 1.25rem;
}
@media screen and (min-width: 1200px) {
  .product-gallery {
    margin-bottom: 40px;
    position: absolute;
    right: 100%;
    top: 40px;
    width: calc(66.6666666667vw - 20px);
    max-width: 993.3333333333px;
  }
}
@media screen and (max-width: 1200px) {
  .product-gallery {
    margin-top: 14px;
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px;
    gap: 16px;
  }
  .product-gallery::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    background-color: var(--clr-white);
    width: calc(100% + 40px);
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .product-gallery {
    flex-direction: column-reverse;
    max-width: calc(100vw - 40px);
    width: 100%;
    padding-top: 16px;
  }
}
.product-gallery__favorites {
  position: absolute;
  top: 0;
  right: 64px;
  width: 24px;
  height: 24px;
  z-index: 1;
  cursor: pointer;
}
.product-gallery__favorites i {
  font-size: 1.5rem !important;
}
.product-gallery__favorites i::after {
  font-size: 1.5rem !important;
}
@media screen and (max-width: 1200px) {
  .product-gallery__favorites {
    top: 20px;
    right: 20px;
  }
}
@media screen and (max-width: 576px) {
  .product-gallery__favorites {
    top: 18px;
    right: 0;
  }
}
.product-gallery__thumbnails-wrapper {
  position: relative;
}
@media screen and (max-width: 768px) {
  .product-gallery__thumbnails-wrapper {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
@media screen and (min-width: 768px) {
  .product-gallery__thumbnails-wrapper {
    height: auto;
    aspect-ratio: 1.358/1;
  }
}
.product-gallery .w4d-thumb-scroll {
  position: absolute;
  left: 0;
  right: 0;
  height: 30px;
  text-align: center;
  line-height: 30px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  cursor: pointer;
  z-index: 10;
  font-size: 18px;
  user-select: none;
}
.product-gallery .w4d-scroll-up {
  top: 0;
}
.product-gallery .w4d-scroll-down {
  bottom: 0;
}
.product-gallery__thumbnails {
  overflow: scroll;
  height: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .product-gallery__thumbnails {
    gap: 10px;
  }
}
@media (min-width: 1400px) and (max-width: 1450px) {
  .product-gallery__thumbnails {
    gap: 8px;
  }
}
@media screen and (max-width: 768px) {
  .product-gallery__thumbnails {
    flex-direction: row;
    gap: 16px;
  }
  .product-gallery__thumbnails .w4d-thumb-scroll {
    display: none;
  }
}
@media screen and (max-width: 576px) {
  .product-gallery__thumbnails {
    gap: 8px;
  }
}
.product-gallery__thumbnails::-webkit-scrollbar {
  display: none;
}
.product-gallery__thumbnail {
  width: 90px;
  height: 90px;
  max-height: 90px;
  border: 1px solid var(--clr-neutral-200);
  border-radius: 4px;
  padding: 5px;
  cursor: pointer;
  display: flex;
  flex-direction: 90px 1 0;
}
@media (min-width: 576px) and (max-width: 1199.98px) {
  .product-gallery__thumbnail {
    width: 65px;
    height: 65px;
    display: flex;
    flex-direction: 65px 1 0;
    max-width: 65px;
    max-height: 65px;
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .product-gallery__thumbnail {
    width: 60px;
    height: 60px;
    flex: 60px 1 0;
    max-width: 60px;
    max-height: 60px;
  }
}
@media screen and (max-width: 576px) {
  .product-gallery__thumbnail {
    width: 40px;
    height: 40px;
    flex: 40px 1 0;
    max-width: 40px;
  }
}
.product-gallery__thumbnail.active {
  cursor: unset;
  border: 1px solid var(--clr-neutral-500);
}
.product-gallery__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-gallery__gallery {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1.358/1;
  background-color: var(--clr-white);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-gallery__gallery:hover::before {
  opacity: 0.6;
}
.product-gallery__gallery:hover::after {
  opacity: 1;
}
.product-gallery__gallery::before {
  content: "";
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 4px;
  opacity: 0.6;
  background-color: var(--clr-white);
}
.product-gallery__gallery::after {
  position: absolute;
  font-size: 1.75rem;
  font-family: icomoon;
  content: "\e905";
  color: var(--clr-black);
}
.product-gallery__gallery::before, .product-gallery__gallery::after {
  transition: 0.2s ease-in-out;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 576px) {
  .product-gallery__gallery::before, .product-gallery__gallery::after {
    display: none;
  }
}
.product-gallery__gallery > a {
  width: 100%;
  position: relative;
  display: none;
}
.product-gallery__gallery > a.active {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.product-gallery__gallery > a > img {
  width: 100%;
  object-fit: contain;
}

.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
  border-color: var(--clr-primary-500) !important;
}

.product-table--single-order .product-table__row:last-child:hover {
  background-color: var(--clr-primary-50);
}

.product-archive .product-table {
  min-width: 1200px;
}

.product-table {
  color: var(--body-clr);
  margin-bottom: 0.5rem;
  width: 100%;
}
.product-table--single-order {
  min-width: 800px;
}
.product-table--single-order .product-table__data:first-child {
  flex: 0 0 300px;
}
.product-table--single-order .product-table__data:nth-child(2) {
  flex: 1 0 75px;
}
.product-table__header {
  display: flex;
  background-color: var(--clr-neutral-100);
  border: 1px solid var(--clr-neutral-200);
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  color: var(--body-clr);
  border-bottom: unset;
  line-height: 3rem;
  font-weight: 700;
  font-size: 14px;
}
.product-table__header .product-table__data:first-child {
  padding-block: unset;
  cursor: unset;
}
.product-table__row {
  display: flex;
  align-items: center;
  border: 1px solid var(--clr-neutral-200);
  border-bottom: unset;
  transition: 200ms ease-out;
}
.product-table__row:last-child {
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-bottom: 1px solid var(--clr-neutral-200);
}
.product-table__row:hover {
  background-color: var(--body-bg-clr);
  color: var(--body-clr);
}
.product-table__data--peek {
  transition: 200ms ease-out;
  border-right: 1px solid transparent;
  position: relative;
}
.product-table__data--peek::after {
  font-family: "icomoon";
  content: "\e912";
  position: absolute;
  right: 1.5rem;
  opacity: 0;
  transition: 200ms ease-out;
  color: var(--clr-neutral-500);
  font-size: 1.125rem;
}
.product-table__data--peek:hover {
  border-right: 1px solid var(--clr-neutral-200);
}
.product-table__data--peek:hover::after {
  opacity: 1;
}
.product-table__data--bold {
  font-weight: 700;
}
.product-table__data:first-child {
  flex: 1 0 300px;
  min-width: 300px;
  padding-inline: 1rem;
  padding-block: 0.75rem;
  display: flex;
  cursor: pointer;
  color: var(--body-clr);
  align-items: center;
  gap: 1.25rem;
}
.product-table__data:nth-child(2) {
  flex: 0 0 75px;
  min-width: 75px;
  text-align: center;
}
.product-table__data:nth-child(3) {
  flex: 0 0 190px;
  min-width: 190px;
  text-align: center;
  padding-inline: 1rem;
}
.product-table__data:nth-child(4) {
  flex: 0 0 200px;
  min-width: 200px;
  text-align: right;
  padding-inline: 1rem;
}
.product-table__data:nth-child(5) {
  flex: 0 0 252px;
  min-width: 252px;
  text-align: center;
  padding-inline: 1rem;
  padding-right: 3rem;
}
.product-table__data:nth-child(6) {
  flex: 0 0 140px;
  min-width: 140px;
  text-align: right;
  padding-inline: 1rem;
  font-weight: 700;
}
.product-table__data:not(:first-child) {
  flex-shrink: 0;
}
.product-table .btn-availability {
  width: 100%;
  border-color: var(--clr-neutral-600);
}
.product-table .btn--primary-light:focus {
  background-color: var(--clr-primary-500);
  color: var(--clr-white);
}
.product-table .product__vp-price {
  font-weight: 700;
}
.product-table .product__vp-price--discount {
  color: var(--clr-danger);
}
.product-table .product__vp-price--old {
  font-weight: 400;
  text-decoration: line-through;
  padding-right: 12px;
}
.product-table .product__title {
  color: var(--body-clr);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-table .availability-icon {
  font-size: 1.25rem;
  color: var(--clr-success);
}
.product-table .availability-icon.icon-clock-check-outline {
  color: var(--clr-warning);
  font-size: 1.375rem;
}
.product-table .availability-icon.icon-checkmark-cross {
  color: var(--clr-neutral-600);
}
.product-table .ribbon {
  margin-left: 0.5rem;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
  padding-inline: 0.75rem;
  width: auto;
}
.product-table .availability-notify-btn {
  font-size: 1.25rem;
}

.product-archive:has(.product-table) {
  overflow-x: auto;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 33px;
  margin-bottom: 80px;
}
@media screen and (max-width: 576px) {
  .pagination {
    margin-bottom: 72px;
  }
}
.pagination--hidden {
  display: none;
}
.pagination input {
  margin: 0 10px;
  text-align: center;
  border-radius: 4px;
  background-color: var(--clr-white);
  border: 1px solid var(--clr-neutral-400);
  width: 32px;
  height: 32px;
  font-weight: 700;
}
.pagination input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pagination input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pagination input[type=number] {
  -moz-appearance: textfield;
}
.pagination__next::before, .pagination__prev::before {
  font-size: 1.25rem;
  font-family: icomoon;
  color: var(--clr-black);
}
.pagination__next--inactive::before, .pagination__prev--inactive::before {
  color: var(--clr-neutral-600);
}
.pagination__prev {
  margin-right: 30px;
}
.pagination__prev::before {
  content: "\e914";
}
.pagination__next::before {
  margin-left: 30px;
  content: "\e915";
}
@media screen and (max-width: 576px) {
  .pagination__next::before {
    margin-left: 23px;
  }
}
.pagination--total {
  margin-left: 4px;
}
.pagination--full-width {
  grid-column: 1/-1;
}

.single-post-hero {
  display: grid;
  grid-template-columns: 66.196% 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 1200px) {
  .single-post-hero {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .single-post-hero {
    gap: 0;
  }
}
.single-post-hero__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  object-fit: cover;
  max-height: 25rem;
}
.single-post-hero__excerpt {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .single-post-hero__excerpt {
    margin-top: 20px;
  }
}
.single-post-hero__excerpt .date {
  font-size: 16px;
  margin-bottom: 12px;
  color: var(--clr-neutral-600);
}
.single-post-hero__excerpt .excerpt {
  font-size: 16px;
  margin-bottom: 12px;
  line-height: 24px;
  font-weight: bold;
}
.single-post-hero__excerpt .share-section p {
  font-size: 16px;
  margin-bottom: 8px;
  color: var(--clr-neutral-600);
}
.single-post-hero__excerpt .share-section__social-icons {
  display: flex;
  gap: 1.25rem;
}
.single-post-hero__excerpt .share-section__social-icons a {
  display: inline-block;
}
.single-post-hero__excerpt .share-section__social-icons a img {
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
}
.single-post-hero__excerpt .share-section__social-icons a img:hover {
  transform: scale(1.1);
}

.single-post-section {
  margin-top: 38px;
}
.single-post-section p {
  margin-bottom: 35px;
}
.single-post-section h3 {
  margin-bottom: 15px;
}

.single-post-sidebar__item {
  max-width: 360px;
}
.single-post-sidebar__item .date {
  font-size: 16px;
  margin-bottom: 0;
  font-weight: 400;
  color: var(--clr-neutral-600);
}
.single-post-sidebar__item a {
  color: var(--clr-black);
  display: block;
}
.single-post-sidebar__item a:hover {
  color: var(--clr-primary-500);
}

.wishlist {
  display: grid;
  gap: 20px;
  margin-bottom: 160px;
}
@media screen and (min-width: 1200px) {
  .wishlist {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .wishlist {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 768px) {
  .wishlist {
    margin-bottom: 40px;
  }
}
.wishlist__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 36px;
}
@media screen and (max-width: 768px) {
  .wishlist__topbar {
    margin-bottom: 20px;
  }
}
.wishlist__topbar span {
  font-size: 16px;
  margin-left: 10px;
}
.wishlist__topbar button {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.wishlist__topbar button:hover {
  color: var(--clr-danger);
}
.wishlist__topbar button:hover::before {
  color: var(--clr-danger);
  background: var(--clr-danger);
}

.orders-table {
  color: var(--clr-neutral-800);
  margin-bottom: 5rem;
}
.orders-table__header, .orders-table__row {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) minmax(80px, 160px) minmax(58px, 160px) minmax(120px, 160px) minmax(72px, 72px);
  align-items: center;
}
.orders-table__header {
  font-weight: 600;
  color: var(--clr-black);
  border-bottom: 1px solid var(--clr-neutral-300);
}
.orders-table__row {
  transition: 200ms ease-out;
}
.orders-table__row:not(:last-child) {
  border-bottom: 1px solid var(--clr-neutral-300);
}
.orders-table__row:hover {
  background-color: var(--clr-neutral-50);
}
.orders-table__data {
  padding-block: 1.25rem;
}
@media screen and (max-width: 992px) {
  .orders-table__data {
    font-size: 13px;
  }
}
.orders-table__data:first-child {
  padding-inline: 1rem;
}
.orders-table__data:nth-child(2), .orders-table__data:nth-child(3) {
  text-align: center;
}
.orders-table__data:nth-child(4) {
  text-align: right;
  padding-inline: 1rem;
}
.orders-table__data:nth-child(5) {
  text-align: center;
  padding-inline: 1rem;
}
.orders-table__data:nth-child(5) .icon-dots {
  color: var(--clr-neutral-600);
  padding: 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid transparent;
  transition: 200ms ease-out;
  position: relative;
}
.orders-table__data:nth-child(5) .icon-dots:hover {
  background-color: var(--clr-white);
  border-color: var(--clr-neutral-400);
}

.odrer-address-container {
  display: flex;
}
@media screen and (max-width: 992px) {
  .odrer-address-container {
    flex-direction: column;
    gap: 2.5rem;
  }
}
.odrer-address-container > div {
  flex: 1;
}

@media screen and (max-width: 1400px) {
  dialog[data-dialog=login] {
    top: 0;
    translate: unset;
  }
}

dialog[data-modal=existing-user-login] {
  border-top-right-radius: 0;
}

.login {
  display: flex;
  flex-direction: column;
  width: 400px;
  overflow: hidden;
  border-radius: inherit;
  background-color: var(--clr-white);
}
.login header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 2.5rem 1.25rem;
}
.login header h4 {
  font-size: 1.125rem;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0;
  font-weight: 800;
}
.login .form {
  padding: 0 2.5rem 1.25rem;
}
.login .form__input {
  margin-bottom: 12px;
}
.login footer {
  padding: 2rem 2.5rem 2rem;
  border-top: 1px solid var(--clr-neutral-400);
  background-color: var(--clr-neutral-50);
}
.login .btn {
  width: 100%;
}
@media screen and (min-width: 1400px) {
  .login .w4d-header__logo {
    display: none;
  }
}
@media screen and (max-width: 1400px) {
  .login {
    position: fixed;
    right: 0;
    top: calc(var(--has-announcement-bar, 0) * 48px);
    height: calc(100dvh - 4.5rem - var(--has-announcement-bar) * 3rem - 1px);
    max-width: min(480px, 100% - 2.5rem);
    width: 100%;
  }
  .login header {
    padding: 1.5rem 1.25rem 1rem;
  }
  .login header .w4d-header__logo img {
    max-width: 280px;
    max-height: 64px;
  }
  .login .form {
    flex: 1;
  }
}

.feature-box {
  display: grid;
  gap: 48px;
  max-width: 377px;
}
@media screen and (max-width: 992px) {
  .feature-box {
    gap: 20px;
    max-width: 100%;
  }
}
@media screen and (max-width: 576px) {
  .feature-box {
    grid-template-columns: repeat(2, 1fr);
  }
}
.feature-box[data-drop-shadow="1"] {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.0784313725);
}
.feature-box--drop-shadow {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.0784313725);
}
.feature-box__item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  align-items: center;
}
@media screen and (max-width: 992px) {
  .feature-box__item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.feature-box__media {
  width: 64px;
  height: 64px;
  background-color: var(--clr-white);
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.0784313725);
  border-radius: var(--border-radius, 64px);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 992px) {
  .feature-box__media {
    width: 48px;
    height: 48px;
  }
}
.feature-box__media img {
  display: block;
  width: 32px;
  max-height: 32px;
  object-fit: contain;
}
@media screen and (max-width: 992px) {
  .feature-box__media img {
    width: 24px;
    max-height: 24px;
  }
}
.feature-box__content h4 {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  color: var(--clr-primary-500);
  text-transform: uppercase;
}
.feature-box__content p {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: var(--clr-black);
  text-wrap: initial;
}

.announcement-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  background-color: var(--custom-bg-clr, var(--clr-primary-400));
  box-shadow: var(--box-shadow, none);
  padding: 1rem 3rem 1rem 1.25rem;
  transition: opacity 150ms ease-in;
  z-index: 99;
  position: fixed;
  width: 100%;
  top: 0;
  height: 100%;
  max-height: 60px;
}
.announcement-bar + .w4d-header {
  top: 3.75rem;
}
.announcement-bar__text {
  color: var(--custom-clr, var(--clr-white));
  font-weight: 700;
  text-align: center;
}
.announcement-bar__remove {
  font-size: 1.5rem;
  position: absolute;
  right: 52px;
  padding: 0.5rem;
  cursor: pointer;
}
.announcement-bar--hide {
  opacity: 0;
}
.announcement-bar img {
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 1660px) {
  .announcement-bar__remove {
    right: 28px;
  }
}
@media screen and (max-width: 1400px) {
  .announcement-bar {
    max-height: 48px;
  }
  .announcement-bar + .w4d-header {
    --announcement-top: 3rem;
    --base-height: calc(100dvh - var(--announcement-top));
    --nav-base-calc: calc(var(--base-height) - var(--additional-height, 0px));
  }
  .announcement-bar + .w4d-header--1, .announcement-bar + .w4d-header--2, .announcement-bar + .w4d-header--3, .announcement-bar + .w4d-header--4, .announcement-bar + .w4d-header--5 {
    top: var(--announcement-top);
  }
  .announcement-bar + .w4d-header--1 .nav__container {
    height: calc(var(--base-height) + 1px);
  }
  .announcement-bar + .w4d-header--2 .nav__container, .announcement-bar + .w4d-header--3 .nav__container, .announcement-bar + .w4d-header--4 .nav__container, .announcement-bar + .w4d-header--5 .nav__container {
    height: var(--base-height);
  }
  .announcement-bar + .w4d-header--2 {
    --additional-height: calc(3rem * 3);
  }
  .announcement-bar + .w4d-header--2 .nav__links-wrapper {
    max-height: calc(var(--nav-base-calc) + 1px);
  }
  .announcement-bar + .w4d-header--3 {
    --additional-height: calc(3rem * 2 + 7.5rem);
  }
  .announcement-bar + .w4d-header--3 .nav__links-wrapper {
    max-height: calc(var(--nav-base-calc) + 1px);
  }
  .announcement-bar + .w4d-header--4, .announcement-bar + .w4d-header--5 {
    --additional-height: calc(7.5rem + 3rem);
  }
  .announcement-bar + .w4d-header--4 .nav__links-wrapper, .announcement-bar + .w4d-header--5 .nav__links-wrapper {
    max-height: calc(var(--nav-base-calc) + 1px);
  }
  .announcement-bar + .w4d-header .nav__list--topbar-center {
    top: var(--announcement-top);
  }
  .announcement-bar__remove {
    right: 20px;
  }
}
@media screen and (max-width: 992px) {
  .announcement-bar + .w4d-header--4, .announcement-bar + .w4d-header--5 {
    top: var(--announcement-top);
  }
  .announcement-bar + .w4d-header--4 .nav__container, .announcement-bar + .w4d-header--5 .nav__container {
    height: var(--base-height);
  }
  .announcement-bar + .w4d-header--4 {
    --additional-height: 6rem;
  }
  .announcement-bar + .w4d-header--4 .nav__links-wrapper {
    max-height: calc(var(--nav-base-calc) + 1px);
  }
  .announcement-bar + .w4d-header--5 {
    --additional-height: calc(6rem + 3rem);
  }
  .announcement-bar + .w4d-header--5 .nav__links-wrapper {
    max-height: calc(var(--nav-base-calc) + 1px);
  }
}
@media screen and (max-width: 576px) {
  .announcement-bar img {
    width: 20px;
    height: 20px;
  }
  .announcement-bar__remove {
    right: 16px;
  }
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.5rem;
  color: var(--footer-icon-clr) !important;
}
@media screen and (max-width: 768px) {
  .social-icons {
    gap: 0.5rem;
    font-size: 1.25rem;
  }
}
.social-icons i {
  padding: 0.5rem;
  transition: color 0.2s ease;
}
.social-icons a:hover i {
  color: var(--footer-icon-hover-clr);
}
.social-icons svg {
  display: block;
}
@media screen and (max-width: 768px) {
  .social-icons svg {
    max-height: 16px;
  }
}
.social-icons a:hover svg path {
  fill: var(--footer-icon-hover-clr);
}

.woo-wrapper {
  display: grid;
  grid-template-columns: minmax(400px, 1000px) 415px;
  gap: 65px;
  position: relative;
}
@media only screen and (max-width: 1399.98px) {
  .woo-wrapper {
    gap: 20px;
  }
}
@media only screen and (max-width: 991.98px) {
  .woo-wrapper {
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 992px) {
  .woo-wrapper__content {
    min-height: 678px;
  }
}
.woo-wrapper__product-ctas {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .woo-wrapper__product-ctas {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.woo-wrapper__product-ctas > a,
.woo-wrapper__product-ctas .favourite p {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 32px !important;
  cursor: pointer;
  color: var(--clr-black);
}
.woo-wrapper__product-ctas > a:hover,
.woo-wrapper__product-ctas .favourite p:hover {
  color: var(--clr-primary-500);
}
.woo-wrapper__product-ctas .favourite p {
  display: flex;
  align-items: center;
}
.woo-wrapper__product-ctas .favourite p::before {
  font-size: 1rem;
  font-family: icomoon;
  content: "\e906";
  color: var(--clr-neutral-600);
  margin-right: 10px;
}

@media only screen and (min-width: 992px) {
  .woocommerce .cart-collaterals {
    width: 100%;
    max-width: 415px;
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media only screen and (max-width: 991.98px) {
  .woocommerce .cart-collaterals {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals {
    margin-bottom: 20px;
  }
}
.woocommerce .cart-collaterals .payment-methods {
  list-style: none;
  gap: 1rem;
  padding: 32px 0 0;
  justify-content: center;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .payment-methods {
    padding: 16px 0 0;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
}
.woocommerce .cart-collaterals .payment-methods img {
  transform: scale(0.8);
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  float: initial;
  width: 100%;
  border: 1px solid var(--clr-neutral-300);
  background-color: var(--body-bg-clr);
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.0784313725);
  border-radius: 4px;
}
.woocommerce .cart-collaterals .cart_totals > p,
.woocommerce-page .cart-collaterals .cart_totals > p {
  padding: 23px 32px 16px;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: var(--clr-primary-500);
  text-transform: uppercase;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .cart_totals > p,
  .woocommerce-page .cart-collaterals .cart_totals > p {
    padding: 20px 16px 16px;
  }
}
.woocommerce .cart-collaterals .cart_totals .coupon,
.woocommerce-page .cart-collaterals .cart_totals .coupon {
  padding: 0 32px 31px;
  border-bottom: 1px solid var(--clr-neutral-300);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .cart_totals .coupon,
  .woocommerce-page .cart-collaterals .cart_totals .coupon {
    padding: 0 16px 20px;
  }
}
@media only screen and (max-width: 575.98px) {
  .woocommerce .cart-collaterals .cart_totals .coupon,
  .woocommerce-page .cart-collaterals .cart_totals .coupon {
    flex-direction: column;
  }
}
.woocommerce .cart-collaterals .cart_totals .coupon input[type=text],
.woocommerce-page .cart-collaterals .cart_totals .coupon input[type=text] {
  height: 40px;
  line-height: 40px;
  border: 1px solid var(--clr-neutral-300);
  font-size: 16px;
  font-weight: 400;
  color: var(--clr-black);
  border-radius: 4px;
  flex: 1;
  padding: 0 16px;
}
@media only screen and (max-width: 575.98px) {
  .woocommerce .cart-collaterals .cart_totals .coupon input[type=text],
  .woocommerce-page .cart-collaterals .cart_totals .coupon input[type=text] {
    width: 100%;
    flex: initial;
  }
}
.woocommerce .cart-collaterals .cart_totals .coupon input[type=text]:focus,
.woocommerce-page .cart-collaterals .cart_totals .coupon input[type=text]:focus {
  border: 1px solid var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
}
.woocommerce .cart-collaterals .cart_totals .coupon button[type=submit],
.woocommerce-page .cart-collaterals .cart_totals .coupon button[type=submit] {
  height: 40px;
  border-radius: 4px;
  background-color: var(--clr-primary-500);
  color: var(--btn-primary-clr);
  padding: 0 16px;
  text-align: center;
}
@media only screen and (max-width: 575.98px) {
  .woocommerce .cart-collaterals .cart_totals .coupon button[type=submit],
  .woocommerce-page .cart-collaterals .cart_totals .coupon button[type=submit] {
    width: 100%;
  }
}
.woocommerce .cart-collaterals .cart_totals .coupon button[type=submit]:hover,
.woocommerce-page .cart-collaterals .cart_totals .coupon button[type=submit]:hover {
  background: var(--clr-primary-600);
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding: 1.75rem 2.5rem;
  border-top: 1px solid var(--clr-neutral-300);
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout,
  .woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    padding: 1.25rem 1rem;
  }
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout a {
  margin: 0;
  height: 3rem;
  line-height: 3rem;
  padding: 0;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  background-color: var(--clr-success);
  color: var(--clr-white);
  transition: background-color 0.2s ease-in-out;
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a:hover,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout a:hover {
  background-color: var(--clr-success-shade);
}
.woocommerce .cart-collaterals .cart_totals .shop_table,
.woocommerce-page .cart-collaterals .cart_totals .shop_table {
  margin: 0;
  border-spacing: 0;
  padding: 1.25rem 2rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table {
    padding: 1.25rem 1rem;
  }
}
.woocommerce .cart-collaterals .cart_totals .shop_table tr,
.woocommerce-page .cart-collaterals .cart_totals .shop_table tr {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.woocommerce .cart-collaterals .cart_totals .shop_table th, .woocommerce .cart-collaterals .cart_totals .shop_table td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table td {
  border: none;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: var(--body-clr);
  width: auto;
}
.woocommerce .cart-collaterals .cart_totals .shop_table td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table td {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table td,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table td {
    text-align: left;
  }
}
.woocommerce .cart-collaterals .cart_totals .shop_table .order-total th, .woocommerce .cart-collaterals .cart_totals .shop_table .order-total td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total th,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .order-total td {
  font-weight: 700;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td {
  color: var(--clr-neutral-600);
  line-height: 1.312rem;
  padding-top: 0.375rem;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td strong,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td strong {
  font-weight: 700;
  color: var(--clr-black);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator {
  padding: 1rem 0;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button {
  height: 2.5rem;
  line-height: 2.6rem;
  border-radius: 4px;
  background: var(--clr-white);
  color: var(--clr-neutral-800);
  border: 1px solid var(--clr-neutral-800);
  font-size: 1rem;
  font-weight: 700;
  padding: 0 1rem;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:hover,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-calculator .shipping-calculator-button:hover {
  background: var(--clr-primary-600);
  color: var(--clr-white);
  border-color: transparent;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form p,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form p {
  padding: 0;
  margin: 0 0 10px;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form button[type=submit],
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form button[type=submit] {
  height: 2.5rem;
  line-height: 2.6rem;
  border-radius: 4px;
  background: var(--clr-neutral-200);
  color: var(--clr-neutral-800);
  font-size: 1rem;
  font-weight: 700;
  padding: 0 1rem;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form button[type=submit]:hover,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form button[type=submit]:hover {
  background: var(--clr-primary-600);
  color: var(--clr-white);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form input[type=text],
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form input[type=text] {
  height: 2.5rem;
  line-height: 2.6rem;
  border: 1px solid var(--clr-neutral-300);
  font-size: 1rem;
  font-weight: 400;
  color: var(--clr-black);
  border-radius: 4px;
  flex: 1;
  padding: 0 1rem;
  text-align: left;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form input[type=text]:focus,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form input[type=text]:focus {
  border: 1px solid var(--clr-primary-500);
  box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.1215686275);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection {
  height: 40px;
  margin: 0;
  border: 1px solid var(--clr-neutral-300);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 43px 0 12px;
  border-radius: 4px;
  background-color: #fff;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single::after,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 11px;
  line-height: 16px;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "\f002";
  color: var(--clr-neutral-600);
  background: var(--clr-neutral-600);
  background-size: 100% 100%;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single::after,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single::after {
    right: 20px;
    color: var(--clr-black);
    background: var(--clr-black);
    transform: rotate(-90deg);
  }
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single .select2-selection__arrow,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single .select2-selection__arrow {
  display: none;
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single .select2-selection__rendered,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2 .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  color: var(--clr-black);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single, .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single {
  border: 1px solid var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::before, .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::before,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::before,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::before {
  color: var(--clr-black);
}
.woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::after, .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::after,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::after,
.woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::after {
  color: var(--clr-black);
  background: var(--clr-black);
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::after, .woocommerce .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::after,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--focus .select2-selection--single::after,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table .shipping-calculator-form .select2.select2-container--open .select2-selection--single::after {
    transform: rotate(-90deg);
  }
}

.woocommerce-page.page-id-7 .select2-dropdown,
.woocommerce-page.page-id-8 .select2-dropdown {
  border: 1px solid var(--clr-neutral-300) !important;
  border-radius: 4px !important;
  margin-top: 10px;
}
.woocommerce-page.page-id-7 .select2-dropdown .select2-results__options,
.woocommerce-page.page-id-8 .select2-dropdown .select2-results__options {
  padding: 0 10px 0 20px;
  margin-bottom: 25px;
  margin-right: 10px;
}
.woocommerce-page.page-id-7 .select2-dropdown .select2-search,
.woocommerce-page.page-id-8 .select2-dropdown .select2-search {
  padding: 25px 20px 10px;
}
.woocommerce-page.page-id-7 .select2-dropdown .select2-search .select2-search__field,
.woocommerce-page.page-id-8 .select2-dropdown .select2-search .select2-search__field {
  height: 40px;
  border-radius: 4px;
  border: 1px solid var(--clr-neutral-300);
  padding: 0 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  color: var(--clr-black);
  width: 100%;
}
.woocommerce-page.page-id-7 .select2-dropdown .select2-results__option,
.woocommerce-page.page-id-8 .select2-dropdown .select2-results__option {
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: var(--clr-black);
  margin-bottom: 10px;
  background-color: transparent !important;
}

.woocommerce table.shop_table {
  border: none;
  border-radius: 0;
  border-spacing: 0 16px;
  margin: -16px 0;
  position: relative;
}

@media only screen and (max-width: 767.98px) {
  .woocommerce .cart-collaterals table.shop_table tr {
    margin-bottom: 0;
  }
}

.woocommerce table.shop_table tr {
  border: none;
}
@media only screen and (max-width: 991.98px) {
  .woocommerce table.shop_table tr {
    margin-bottom: 20px;
  }
}
.woocommerce table.shop_table tr:not(.woocommerce-cart-form__cart-item.cart_item) td {
  padding: 0 !important;
  border: none !important;
}

@media only screen and (max-width: 991.98px) {
  .woocommerce-cart-form {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 767.98px) {
  .woocommerce-cart-form {
    margin-bottom: 20px;
  }
}

/*.woocommerce .woo-wrapper__content table.shop_table tbody:first-child tr:first-child td,
.woocommerce .woo-wrapper__content table.shop_table tbody:first-child tr:first-child th {
    border-top: 1px solid var(--clr-neutral-300);

    @media only screen and (max-width: ($viewport-sm - .02px)) {
        border: none;
    }
}*/
.woocommerce .woo-wrapper__content .cart-collaterals table.shop_table tbody:first-child tr:first-child td,
.woocommerce .woo-wrapper__content .cart-collaterals table.shop_table tbody:first-child tr:first-child th {
  border: none !important;
}

.woocommerce .woo-wrapper__content table.shop_table td {
  padding: 20px 0;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td {
    border: none;
    padding: 5px 16px !important;
    display: block;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td:first-child {
  padding-left: 22px;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td:first-child {
    padding-top: 20px !important;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td:last-child {
  padding-right: 24px;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td:last-child {
    padding-bottom: 20px !important;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-thumbnail {
  width: 80px;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-thumbnail {
    display: block;
    width: 100%;
  }
  .woocommerce .woo-wrapper__content table.shop_table td.product-thumbnail::before {
    display: none;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-thumbnail a {
  display: block;
  width: 80px;
  height: 80px;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-thumbnail a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-name {
  width: 100%;
  padding-left: 23px;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-name a {
  width: auto;
  height: auto;
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  color: var(--clr-black);
}
.woocommerce .woo-wrapper__content table.shop_table td.product-name .product-sku {
  margin-top: -3px;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-name .product-sku p {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 32px;
}
.woocommerce .woo-wrapper__content table.shop_table td .favourite p {
  margin: 0;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price {
  text-align: right;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price font {
  vertical-align: unset !important;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-price {
    text-align: left;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price .sale-price,
.woocommerce .woo-wrapper__content table.shop_table td.product-price .regular-price {
  display: inline;
}
@media (min-width: 992px) and (max-width: 1260px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-price .sale-price,
  .woocommerce .woo-wrapper__content table.shop_table td.product-price .regular-price {
    display: block;
    margin: 0 !important;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price .sale-price bdi,
.woocommerce .woo-wrapper__content table.shop_table td.product-price .regular-price bdi {
  margin-left: 3px;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price .sale-price {
  color: var(--clr-danger);
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price .regular-price {
  margin-right: 12px;
  text-decoration: line-through;
  color: var(--clr-neutral-600);
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-price::before {
    margin-right: 10px;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-price, .woocommerce .woo-wrapper__content table.shop_table td.product-subtotal, .woocommerce .woo-wrapper__content table.shop_table td.product-quantity {
  padding-left: 15px;
  padding-right: 15px;
  width: 100px;
}
@media only screen and (max-width: 1199.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-price, .woocommerce .woo-wrapper__content table.shop_table td.product-subtotal, .woocommerce .woo-wrapper__content table.shop_table td.product-quantity {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 991.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-price, .woocommerce .woo-wrapper__content table.shop_table td.product-subtotal, .woocommerce .woo-wrapper__content table.shop_table td.product-quantity {
    width: 100%;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-subtotal {
  padding-right: 24px;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-subtotal .amount bdi {
  display: flex;
  align-items: center;
}
.woocommerce .woo-wrapper__content table.shop_table td .quantity-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  font-size: 24px;
  font-weight: 300;
  line-height: 40px;
  color: var(--clr-black);
  cursor: pointer;
  position: relative;
}
@media only screen and (max-width: 1199.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td .quantity-button {
    width: 40px;
    min-width: 40px;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-quantity input[type=number] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-quantity input[type=number]::-webkit-inner-spin-button,
.woocommerce .woo-wrapper__content table.shop_table td.product-quantity input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.woocommerce .woo-wrapper__content table.shop_table td.product-quantity .product-quantity-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 4px;
  height: 40px;
  max-width: 100px;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td.product-quantity .product-quantity-wrapper {
    margin-top: 5px;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td.product-quantity .product-quantity-wrapper .qty {
  width: 32px;
  font-size: 16px;
  font-weight: 700;
  line-height: 40px;
  color: var(--clr-black);
}
.woocommerce .woo-wrapper__content table.shop_table td .button[type=submit] {
  height: 40px;
  line-height: 40px;
  border-radius: 4px;
  background: var(--clr-neutral-200);
  color: var(--clr-neutral-800);
  font-size: 16px;
  font-weight: 700;
  padding: 0 16px;
  opacity: 1;
  position: absolute;
  right: 0;
}
@media only screen and (max-width: 991.98px) {
  .woocommerce .woo-wrapper__content table.shop_table td .button[type=submit] {
    text-align: center;
  }
}
.woocommerce .woo-wrapper__content table.shop_table td .button[type=submit]:disabled {
  display: none;
  background-color: var(--clr-neutral-200);
  color: var(--clr-neutral-300);
  cursor: not-allowed;
}
.woocommerce .woo-wrapper__content table.shop_table td .button[type=submit]:disabled:hover {
  background-color: var(--clr-neutral-200);
  color: var(--clr-neutral-300);
}
.woocommerce .woo-wrapper__content table.shop_table td .button[type=submit]:hover {
  background: var(--clr-primary-600);
  color: var(--clr-white);
}

.woocommerce a.remove {
  color: var(--clr-black) !important;
  border-radius: 0;
}
.woocommerce a.remove:hover {
  background-color: transparent;
  color: var(--clr-primary-500) !important;
}

@media only screen and (max-width: 767.98px) {
  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before {
    float: initial;
  }
}

@media only screen and (max-width: 767.98px) {
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    text-align: left !important;
  }
}

@media only screen and (max-width: 991.98px) {
  .woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td,
  .woocommerce-page .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals td {
    background-color: transparent;
  }
}

.woocommerce-variation-add-to-cart > .quantity {
  display: none;
}

.woocommerce table.shop_table_responsive th {
  display: block !important;
}
.woocommerce table.shop_table_responsive td::before {
  display: none;
  font-weight: 600;
}
@media screen and (max-width: 992px) {
  .woocommerce table.shop_table_responsive td::before {
    content: attr(data-title);
    display: inline;
    float: unset !important;
  }
}
@media screen and (max-width: 992px) {
  .woocommerce table.shop_table_responsive td.product-subtotal {
    display: flex;
    gap: 1rem;
  }
}
.woocommerce table.shop_table_responsive tr:nth-child(2n) td {
  background-color: unset !important;
}

@media screen and (max-width: 992px) {
  .cart__body .product-quantity__stepper {
    min-width: 3rem;
  }
}

.order-total td::before {
  content: "" !important;
}

.progress-bar-container {
  width: 100%;
  background-color: var(--clr-primary-50);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 32px;
  position: relative;
}

.progress-bar {
  width: 10%;
  background-color: var(--clr-primary-100);
  height: 32px;
  border-radius: 4px 0 0 4px;
  position: relative;
  transition: 0.5s ease-in-out;
}
.progress-bar--completed {
  background-color: var(--clr-success);
}
.progress-bar--completed .progress-bar__text {
  color: var(--clr-white) !important;
  right: 50% !important;
  transform: translateX(50%) !important;
}
.progress-bar__text {
  position: absolute;
  top: 0;
  height: 32px;
  line-height: 32px;
  padding: 0 10px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
}
.progress-bar__text strong span {
  font-weight: 700;
}
.progress-bar .inside-left {
  right: 10px;
  color: var(--clr-black);
}
.progress-bar .outside-right {
  left: calc(100% + 10px);
  color: var(--clr-black);
}
@media screen and (max-width: 768px) {
  .progress-bar {
    position: unset !important;
  }
  .progress-bar .outside-right {
    width: 100% !important;
    text-align: center !important;
    right: 0 !important;
    left: 0 !important;
  }
}

.checkout-tabs__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 100%;
}
@media screen and (max-width: 768px) {
  .checkout-tabs__nav {
    gap: 40px;
    position: relative;
  }
  .checkout-tabs__nav::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(25px + 16px);
    width: 100%;
    height: 1px;
    background-color: var(--clr-neutral-300);
    z-index: -1;
  }
}
@media screen and (max-width: 576px) {
  .checkout-tabs__nav {
    gap: 20px;
  }
}
@media screen and (max-width: 480px) {
  .checkout-tabs__nav {
    gap: 10px;
  }
}
.checkout-tabs__nav li {
  position: relative;
  transition: 200ms ease-out;
}
.checkout-tabs__nav li a {
  width: 250px;
  height: 7.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  color: var(--clr-neutral-600);
}
@media screen and (max-width: 1400px) {
  .checkout-tabs__nav li a {
    width: 200px;
  }
}
@media screen and (max-width: 1200px) {
  .checkout-tabs__nav li a {
    width: 160px;
    text-align: center;
    line-height: 1.2;
    justify-content: flex-start;
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 992px) {
  .checkout-tabs__nav li a {
    width: 140px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .checkout-tabs__nav li a {
    height: 4.5rem;
    color: transparent;
    user-select: none;
    font-size: 0;
    width: auto;
  }
}
.checkout-tabs__nav li a::before {
  content: "";
  width: 32px;
  height: 32px;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 50%;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--clr-neutral-400);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--clr-white);
}
.checkout-tabs__nav li a.disabled-unchecked {
  color: var(--clr-neutral-400);
  cursor: not-allowed;
  user-select: none;
}
.checkout-tabs__nav li a.disabled-unchecked::after {
  background-color: var(--clr-neutral-400);
}
.checkout-tabs__nav li a.disabled, .checkout-tabs__nav li a.checked {
  color: var(--clr-black);
  font-weight: 700;
}
.checkout-tabs__nav li a.disabled::before, .checkout-tabs__nav li a.checked::before {
  font-size: 1.5rem;
  font-family: icomoon;
  content: "\e903" !important;
  color: var(--clr-white);
  background-color: unset;
  border-color: var(--clr-success);
}
.checkout-tabs__nav li a.disabled::after, .checkout-tabs__nav li a.checked::after {
  position: absolute;
  width: 32px;
  height: 32px;
  content: "";
  background-color: var(--clr-success);
  margin-top: -32px;
  border-radius: 50px;
  z-index: -1;
}
@media screen and (max-width: 1200px) {
  .checkout-tabs__nav li a.disabled::after, .checkout-tabs__nav li a.checked::after {
    margin-top: 0;
  }
}
.checkout-tabs__nav li a.disabled {
  color: var(--clr-neutral-500);
  user-select: none;
}
.checkout-tabs__nav li a.disabled::before {
  border-color: var(--clr-neutral-500);
}
.checkout-tabs__nav li a.disabled::after {
  background-color: var(--clr-neutral-500);
}
.checkout-tabs__nav li a.active {
  color: var(--clr-black);
  font-weight: 700;
}
.checkout-tabs__nav li a.active::before {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
  color: var(--clr-white);
}
@media screen and (min-width: 768px) {
  .checkout-tabs__nav li a.active::after {
    position: absolute;
    left: 0;
    bottom: -1px;
    content: "";
    width: 100%;
    height: 3px;
    background-color: var(--clr-primary-500);
  }
}
.checkout-tabs__nav li:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.checkout-tabs__nav li:nth-child(1) a::before {
  content: "1";
}
.checkout-tabs__nav li:nth-child(2) a::before {
  content: "2";
}
.checkout-tabs__nav li:nth-child(3) a::before {
  content: "3";
}
.checkout-tabs__nav li:nth-child(4) a::before {
  content: "4";
}
.checkout-tabs__nav li:nth-child(5) a::before {
  content: "5";
}
.checkout-tabs__content:not(:first-child) {
  display: none;
}
.checkout-tabs__content > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .checkout-tabs__content > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
  }
  .checkout-tabs__content > header p {
    display: none;
  }
}
.checkout-tabs__content > header h2 {
  font-size: 3rem;
  line-height: 3.3rem;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .checkout-tabs__content > header h2 {
    font-size: 1.75rem;
    line-height: 2.025rem;
  }
}
@media screen and (max-width: 576px) {
  .checkout-tabs__content > header h2 {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}
.checkout-tabs__content > header p a {
  text-decoration: none;
  color: var(--clr-primary-500);
}
.checkout-tabs__content .next-step-btns-wrapper {
  margin-left: 260px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media (max-width: 1400px) {
  .checkout-tabs__content .next-step-btns-wrapper {
    margin-left: 0;
  }
}
@media only screen and (max-width: 767.98px) {
  .checkout-tabs__content .next-step-btns-wrapper {
    margin-left: 0;
    gap: 10px;
  }
}
@media only screen and (min-width: 1200px) {
  .checkout-tabs__content .next-step-btns-wrapper .btn--primary-light {
    display: none;
  }
}
.checkout-tabs__content .btn--primary-light,
.checkout-tabs__content .btn--action {
  text-transform: uppercase;
  font-weight: 700;
}
@media (max-width: 1199.98px) {
  .checkout-tabs__content .btn--primary-light,
  .checkout-tabs__content .btn--action {
    flex-grow: 1;
  }
}

.checkout {
  display: grid;
  grid-template-columns: 1fr 454px;
  gap: 65px;
  padding: 60px 0 150px;
}
@media only screen and (max-width: 1199.98px) {
  .checkout {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media only screen and (max-width: 767.98px) {
  .checkout {
    padding: 40px 0 60px;
  }
}
@media only screen and (max-width: 575.98px) {
  .checkout {
    padding-top: 20px;
  }
}
.checkout-tabs__content:has(.checkout__delivery) .next-step-btns-wrapper {
  margin-left: 260px;
}
@media (max-width: 991.98px) {
  .checkout-tabs__content:has(.checkout__delivery) .next-step-btns-wrapper {
    margin-left: 200px;
  }
}
@media (max-width: 767.98px) {
  .checkout-tabs__content:has(.checkout__delivery) .next-step-btns-wrapper {
    margin-left: 0;
  }
}
.checkout__delivery {
  display: grid;
  grid-template-columns: 260px 1fr;
  margin-bottom: 60px;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .checkout__delivery {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .checkout__delivery {
    grid-template-columns: 200px 1fr;
  }
}
@media only screen and (max-width: 767.98px) {
  .checkout__delivery {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
}
.checkout__delivery h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: var(--clr-black);
  text-transform: uppercase;
}
@media only screen and (max-width: 767.98px) {
  .checkout__delivery h3 {
    font-size: 16px;
  }
}
.checkout__delivery ul, .checkout__delivery .form__checkbox {
  margin-bottom: 30px;
}
.checkout__delivery ul li p {
  color: var(--clr-black);
}
.checkout__delivery__summary {
  padding: 22px 29px 19px 27px;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 4px;
  margin-bottom: 32px;
}
.checkout__delivery__summary:last-child {
  margin-bottom: 0;
}
.checkout__delivery__summary h6 {
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  margin-bottom: 10px;
}
.checkout__delivery__summary img {
  display: block;
  margin-bottom: 10px;
}
.checkout__delivery__summary p {
  text-wrap: initial;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--clr-black);
}
@media (max-width: 576px) {
  .checkout-thank-you__content .next-step-btns-wrapper .btn--primary-light {
    flex-grow: 1;
  }
}

.woocommerce-form-coupon-toggle,
.woocommerce form.checkout_coupon {
  display: none !important;
}

.woocommerce-checkout .woocommerce form .form-row-first,
.woocommerce-checkout .woocommerce form .form-row-last,
.woocommerce-checkout .woocommerce-page form .form-row-first,
.woocommerce-checkout .woocommerce-page form .form-row-last {
  width: 100%;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  gap: 20px 40px;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 767.98px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    gap: 20px;
  }
}
@media only screen and (max-width: 575.98px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[readonly],
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input[readonly] {
  background-color: #eeeeee;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[readonly]:focus,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input[readonly]:focus {
  border-color: var(--clr-neutral-300);
  -webkit-box-shadow: none;
  box-shadow: none;
}
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  margin-top: 40px;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767.98px) {
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    margin-top: 0;
  }
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  display: grid;
  grid-template-columns: 260px 1fr;
  margin-bottom: 60px;
}
@media only screen and (max-width: 1399.98px) {
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 1199.98px) {
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
}
.woocommerce-checkout .woocommerce-billing-fields::before,
.woocommerce-checkout .woocommerce-shipping-fields::before,
.woocommerce-checkout .woocommerce-additional-fields::before {
  display: none;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .woocommerce-checkout .woocommerce-billing-fields h3,
  .woocommerce-checkout .woocommerce-shipping-fields h3,
  .woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 1rem;
  }
}
.woocommerce-checkout .woocommerce-shipping-fields .checkbox {
  all: revert;
  display: flex;
  flex-direction: row-reverse;
  position: relative;
}
@media screen and (max-width: 1400px) {
  .woocommerce-checkout .woocommerce-shipping-fields .checkbox {
    align-items: center;
    justify-content: flex-end;
  }
}
.woocommerce-checkout .woocommerce-shipping-fields .checkbox span {
  all: revert;
}
.woocommerce-checkout .woocommerce-shipping-fields .checkbox input {
  position: absolute;
  left: 100%;
  top: 0;
}
@media screen and (max-width: 1400px) {
  .woocommerce-checkout .woocommerce-shipping-fields .checkbox input {
    left: 16px;
    position: relative;
  }
}
.woocommerce-checkout input[type=checkbox] {
  margin: 0 !important;
  position: revert;
  opacity: 1;
  transform: unset;
  display: inline-flex !important;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--clr-white);
  border: 1px solid var(--clr-neutral-300);
  color: transparent;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  place-content: center;
  cursor: pointer;
}
.woocommerce-checkout input[type=checkbox]::before {
  transition: 120ms transform ease-in-out;
  font-size: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: icomoon;
  content: "\e903";
  color: var(--clr-white);
}
.woocommerce-checkout input[type=checkbox]:checked {
  border-color: var(--clr-primary-500);
  background-color: var(--clr-primary-500);
}
.woocommerce-checkout input[type=checkbox]:checked::before {
  transform: scale(1);
}
.woocommerce-checkout input[type=checkbox]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=email] {
  height: 40px;
  line-height: 40px;
  border: 1px solid var(--clr-neutral-300);
  font-size: 16px;
  font-weight: 400;
  color: var(--clr-black);
  border-radius: 4px;
  flex: 1;
  padding: 0 16px;
}
@media screen and (max-width: 576px) {
  .woocommerce-checkout input[type=text],
  .woocommerce-checkout input[type=tel],
  .woocommerce-checkout input[type=email] {
    width: 100%;
  }
}
.woocommerce-checkout input[type=text]:focus,
.woocommerce-checkout input[type=tel]:focus,
.woocommerce-checkout input[type=email]:focus {
  border-color: var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
}
.woocommerce-checkout textarea {
  border: 1px solid var(--clr-neutral-300);
  font-size: 16px;
  font-weight: 400;
  color: var(--clr-black);
  border-radius: 4px;
  flex: 1;
  padding: 10px 16px;
}
.woocommerce-checkout .select2 .select2-selection {
  height: 40px;
  margin: 0;
  border: 1px solid var(--clr-neutral-300);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 43px 0 12px;
  border-radius: 4px !important;
  background-color: #fff;
}
.woocommerce-checkout .select2 .select2-selection--single::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 11px;
  line-height: 16px;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "\f002";
  color: var(--clr-neutral-600);
  background: var(--clr-neutral-600);
  background-size: 100% 100%;
}
@media screen and (max-width: 768px) {
  .woocommerce-checkout .select2 .select2-selection--single::after {
    right: 20px;
    color: var(--clr-black);
    background: var(--clr-black);
    transform: rotate(-90deg);
  }
}
.woocommerce-checkout .select2 .select2-selection--single .select2-selection__arrow {
  display: none;
}
.woocommerce-checkout .select2 .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
  color: var(--clr-black);
}
.woocommerce-checkout .select2.select2-container--focus .select2-selection--single, .woocommerce-checkout .select2.select2-container--open .select2-selection--single {
  border: 1px solid var(--clr-primary-500);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1215686275);
}
.woocommerce-checkout .select2.select2-container--focus .select2-selection--single::before, .woocommerce-checkout .select2.select2-container--open .select2-selection--single::before {
  color: var(--clr-black);
}
.woocommerce-checkout .select2.select2-container--focus .select2-selection--single::after, .woocommerce-checkout .select2.select2-container--open .select2-selection--single::after {
  color: var(--clr-black);
  background: var(--clr-black);
  transform: rotate(-180deg);
}
@media only screen and (max-width: 767.98px) {
  .woocommerce-checkout .select2.select2-container--focus .select2-selection--single::after, .woocommerce-checkout .select2.select2-container--open .select2-selection--single::after {
    transform: rotate(-90deg);
  }
}

.radio-button-wrapper {
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 22px 29px 19px 27px;
  border: 1px solid var(--clr-neutral-300);
  border-radius: 4px;
  margin-bottom: 16px !important;
}
.radio-button-wrapper:last-child {
  margin-bottom: 0;
}
.radio-button-wrapper h6 {
  font-size: 1rem;
  line-height: 1.312rem;
}
.radio-button-wrapper input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.radio-button-wrapper .checkmark {
  position: absolute;
  top: 21px;
  left: 27px;
  height: 20px;
  width: 20px;
  background-color: var(--clr-white);
  border-radius: 50%;
  border: 1px solid var(--clr-neutral-300);
}
.radio-button-wrapper .checkmark::after {
  content: "";
  position: absolute;
  display: none;
}
.radio-button-wrapper:hover input ~ .checkmark {
  border-color: var(--clr-primary-500);
}
.radio-button-wrapper input:checked ~ .checkmark {
  background-color: var(--clr-primary-500);
  border-color: var(--clr-primary-500);
}
.radio-button-wrapper input:checked ~ .checkmark::after {
  display: block;
}
.radio-button-wrapper .checkmark::after {
  top: 5px;
  left: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clr-white);
}
.radio-button-wrapper__text p {
  padding-top: 14px;
  text-wrap: initial;
}
.radio-button-wrapper__header {
  padding-left: 12px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.radio-button-wrapper__header h6, .radio-button-wrapper__header span {
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
}

.woocommerce-Price-amount {
  font-weight: inherit;
}
.woocommerce-Price-amount span {
  font-weight: inherit;
}

@media screen and (min-width: 1400px) {
  dialog[data-modal=order-summary] {
    display: block;
    opacity: 1;
    position: relative;
    margin: unset;
    box-shadow: unset;
    translate: unset;
  }
}

@media screen and (min-width: 1400px) {
  a[data-modal-open=order-summary] {
    display: none;
  }
}
.order-summary {
  border: 1px solid var(--clr-neutral-300);
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  width: min(50ch, 90vw);
  overflow: hidden;
}
.order-summary header {
  background-color: var(--clr-neutral-50);
  padding: 26px 32px;
  border-bottom: 1px solid var(--clr-neutral-300);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .order-summary header {
    padding: 20px;
  }
}
.order-summary header h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: var(--clr-black);
  text-transform: uppercase;
}
.order-summary header .js-close-summary {
  display: none;
}
@media screen and (max-width: 1200px) {
  .order-summary header .js-close-summary {
    display: inline-block;
    cursor: pointer;
    font-size: 1.5rem;
  }
}
.order-summary footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.125rem 2rem;
  border-top: 1px solid var(--clr-neutral-300);
}
@media screen and (max-width: 576px) {
  .order-summary footer {
    padding: 1.25rem;
  }
}
.order-summary__products {
  padding: 25px 32px 27px;
  border-bottom: 1px solid var(--clr-neutral-300);
}
@media screen and (max-width: 576px) {
  .order-summary__products {
    padding: 1.25rem;
  }
}
.order-summary__products > a {
  color: var(--clr-primary-500);
  text-decoration: none;
}
.order-summary__products ul {
  margin-bottom: 24px;
}
.order-summary__products ul.hide {
  display: none;
}
.order-summary__products ul li {
  margin-bottom: 20px;
}
.order-summary__products ul li:last-child {
  margin-bottom: 0;
}
.order-summary__products ul li a {
  display: flex;
  justify-content: space-between;
  gap: 0.625rem;
}
.order-summary__product {
  display: flex;
  justify-content: space-between;
  flex: 1;
}
.order-summary__product img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  margin-right: 20px;
}
.order-summary__product h6 {
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  color: var(--clr-black);
  margin-bottom: -4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 252px;
}
@media only screen and (max-width: 494px) {
  .order-summary__product h6 {
    max-width: calc(100vw - 160px);
  }
}
.order-summary__product span {
  font-size: 0.875rem;
  color: var(--body-clr-dim);
}
.order-summary__product > div {
  flex: 1;
}
.order-summary__products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.order-summary__products-header div {
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
  cursor: pointer;
}
.order-summary__products-header div:hover {
  color: var(--clr-primary-500);
}
.order-summary__product-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 14px;
  line-height: 18px;
}
.order-summary__product-price > span {
  color: var(--clr-danger);
}
.order-summary__table {
  padding: 18px 32px 21px;
}
.order-summary__table table {
  width: 100%;
}
.order-summary__table td, .order-summary__table th {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: var(--clr-black);
}
.order-summary__table td {
  text-align: right;
}

.checkout-thank-you {
  display: grid;
  grid-template-columns: 1fr 454px;
  gap: 65px;
  padding: 60px 0 150px;
}
.checkout-thank-you__content h1 {
  font-size: 48px;
  font-weight: 800;
  line-height: 57px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .checkout-thank-you__content h1 {
    font-size: 28px;
    line-height: 33px;
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 576px) {
  .checkout-thank-you__content h1 {
    font-size: 20px;
    line-height: 24px;
  }
}
.checkout-thank-you__content h2 {
  font-size: 24px;
  font-weight: 400;
  line-height: 24px;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .checkout-thank-you__content h2 {
    font-size: 16px;
    margin-bottom: 40px;
  }
}
.checkout-thank-you__content h2 strong {
  font-weight: 700;
}
.checkout-thank-you__content p {
  margin-bottom: 24px;
  text-wrap: initial;
}
.checkout-thank-you__info {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
}
.checkout-thank-you__info .table {
  width: 50%;
}
.checkout-thank-you .order-summary__table:not(:last-of-type) {
  border-bottom: 1px solid var(--clr-neutral-300);
}
.checkout-thank-you .order-summary__table p {
  line-height: 19px;
}
@media screen and (max-width: 1400px) {
  .checkout-thank-you {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .checkout-thank-you {
    padding: 40px 0 60px;
  }
  .checkout-thank-you__info {
    flex-direction: column;
    align-items: flex-start;
  }
  .checkout-thank-you .table {
    width: 100%;
  }
  .checkout-thank-you img {
    margin: 0 auto;
  }
}
@media screen and (max-width: 576px) {
  .checkout-thank-you {
    padding-top: 20px;
  }
}

.highlight-cards__upper p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.25rem;
}
.highlight-cards__cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  margin-bottom: 4rem;
}
.highlight-cards__wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  gap: 2.5rem;
}
.highlight-cards__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  grid-row-gap: 0;
  background-color: var(--card-background, var(--clr-white));
  border-radius: var(--border-radius, 8px);
  box-shadow: var(--card-shadow, 0 4px 20px rgba(0, 0, 0, 0.15));
  border: 1px solid transparent;
  transition: all 0.3s ease;
  padding: 4rem 1.75rem;
}
.highlight-cards__item:hover {
  box-shadow: var(--has-hover-shadow, 0 4px 20px rgba(0, 0, 0, 0.15));
  background: var(--card-background-hover, var(--clr-primary-500));
}
.highlight-cards__item:hover .highlight-cards__title, .highlight-cards__item:hover .highlight-cards__description {
  color: var(--card-text-color-hover, var(--clr-white));
}
.highlight-cards__item:hover .highlight-cards__img {
  filter: brightness(0) invert(1);
}
.highlight-cards__item:hover .highlight-cards__link {
  color: var(--arrow-color-hover, var(--clr-white));
}
.highlight-cards__img {
  max-width: 80px;
  max-height: 80px;
  margin-bottom: 1.75rem;
}
.highlight-cards__title {
  font-size: 1.5rem;
  line-height: 1.5rem;
  color: var(--card-text-color, var(--clr-black));
  margin-bottom: 0.75rem;
}
.highlight-cards__description {
  color: var(--card-text-color, var(--clr-neutral-700));
}
.highlight-cards__link {
  width: max-content;
  padding: 0.125rem 0.5rem;
  margin-left: -0.5rem;
  color: var(--arrow-color, var(--clr-primary-500));
  transition: color 0.2s ease-in-out;
  margin-top: 1.25rem;
}
.highlight-cards__link i {
  font-size: 1.5rem;
}
@media screen and (max-width: 1200px) {
  .highlight-cards__wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .highlight-cards__wrapper {
    grid-template-columns: 1fr;
  }
  .highlight-cards__item {
    border-left: none;
    padding-block: 2rem;
  }
  .highlight-cards__item:not(:last-child) {
    border-bottom: 2px solid var(--clr-neutral-300);
  }
  .highlight-cards__cta {
    margin-top: 0.5rem;
    margin-bottom: 2rem;
  }
}

.image-highlight-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.image-highlight-block__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 62.5rem;
  text-align: center;
}
.image-highlight-block__text {
  color: var(--clr-black);
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
}
.image-highlight-block__text--danger {
  color: var(--clr-danger);
}
.image-highlight-block h2 {
  margin-bottom: 2rem;
  font-size: 6rem;
  line-height: 8rem;
  font-weight: 700;
}
.image-highlight-block h3 {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.25rem;
  margin-bottom: 4rem;
  padding: 0 1.5rem;
}
.image-highlight-block img {
  width: 100%;
  max-height: 966px;
  min-height: 200px;
  border-radius: 0.5rem;
}
.image-highlight-block .btn {
  margin-top: 4rem;
}
@media screen and (max-width: 1200px) {
  .image-highlight-block h2 {
    font-size: 4rem;
    line-height: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .image-highlight-block__text {
    font-size: 1rem;
    font-weight: 500;
  }
  .image-highlight-block h2 {
    font-size: 3rem;
    line-height: 3.5rem;
    margin-bottom: 2rem;
  }
  .image-highlight-block h3 {
    font-size: 1rem;
    line-height: 1.125rem;
  }
  .image-highlight-block .btn {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 576px) {
  .image-highlight-block p {
    margin-bottom: 0.625rem;
  }
  .image-highlight-block h2 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-bottom: 1.5rem;
  }
  .image-highlight-block h3 {
    margin-bottom: 2.5rem;
  }
}

.numbered-steps {
  display: grid;
  gap: 2rem 4rem;
  grid-template-columns: repeat(4, 1fr);
  counter-reset: numbered-steps 0;
}
.numbered-steps__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  grid-row-gap: 0;
  border-left: 2px solid var(--clr-neutral-300);
  counter-increment: numbered-steps 1;
  transition: all 0.3s ease-in-out;
  padding: 0 2rem 0.5rem;
}
.numbered-steps__card:hover {
  background-color: var(--clr-neutral-100);
}
.numbered-steps__arrow {
  font-size: 1.5rem;
  width: fit-content;
  padding: 2px 6px 2px 6px;
}
.numbered-steps__arrow i {
  color: var(--icon-color, #000);
  transition: color 0.2s ease-in-out;
}
.numbered-steps__arrow:hover i {
  color: color-mix(in srgb, var(--icon-color, #000), var(--body-clr) 50%);
}
.numbered-steps__counter {
  color: var(--clr-neutral-800);
  margin-block: 0.5rem;
}
.numbered-steps__counter::before {
  content: "0" counter(numbered-steps);
}
.numbered-steps__description {
  color: var(--clr-neutral-800);
  margin-bottom: 2rem;
  display: -webkit-box;
  line-clamp: 5;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .numbered-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .numbered-steps {
    grid-template-columns: 1fr;
  }
  .numbered-steps__card {
    padding: 0 0.5rem 1.5rem;
    border-left: none;
  }
  .numbered-steps__card:not(:last-child) {
    border-bottom: 2px solid var(--clr-neutral-300);
  }
}

.featured-content-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}
.featured-content-row__lead {
  text-align: center;
  max-width: 70%;
}
.featured-content-row__lead p {
  color: var(--clr-neutral-600);
}
.featured-content-row__wrapper {
  display: flex;
  flex-direction: row;
  gap: 40px;
}
.featured-content-row__item {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  transition: transform 0.3s ease-in;
}
.featured-content-row__item:hover {
  transform: scale(105%);
}
.featured-content-row__img {
  max-height: 305px;
  object-position: center;
  object-fit: contain;
  margin-bottom: 0.625rem;
}
.featured-content-row__img img {
  border-radius: var(--border-radius, 10px);
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .featured-content-row__wrapper {
    flex-wrap: wrap;
    gap: 20px;
  }
  .featured-content-row__item {
    flex-basis: calc(50% - 20px);
  }
  .featured-content-row__item:nth-child(3) {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 992px) {
  .featured-content-row {
    gap: 32px;
  }
  .featured-content-row__lead {
    max-width: 100%;
  }
  .featured-content-row__wrapper {
    flex-direction: column;
    align-items: normal;
  }
  .featured-content-row__item {
    transform: none;
    margin-bottom: 1.25rem;
  }
  .featured-content-row__item:hover {
    transform: none;
  }
}

.cards-carousel .offering-carousel-footer {
  padding: 0;
}
.cards-carousel .glide__track, .cards-carousel .glide__slides {
  overflow: visible;
}
.cards-carousel__lead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3.5rem;
}
.cards-carousel__lead .glide {
  width: fit-content;
}
.cards-carousel__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.75rem 2.5rem;
  background-color: var(--card-bg-clr, var(--clr-primary-100));
  border-radius: 0.5rem;
  min-height: 250px;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  box-shadow: var(--card-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));
}
.cards-carousel__item:hover {
  background-color: var(--card-hover-bg-clr, var(--clr-neutral-500));
  box-shadow: var(--has-hover-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));
}
.cards-carousel__item:hover .cards-carousel__title {
  color: var(--card-title-hover-clr, var(--clr-white));
}
.cards-carousel__item:hover .cards-carousel__description {
  color: var(--card-text-hover-clr, var(--clr-primary-100));
}
.cards-carousel__item:hover .cards-carousel__link {
  color: var(--card-link-hover-clr, var(--clr-white));
}
.cards-carousel__title {
  color: var(--card-title-clr, var(--clr-black));
  transition: color 0.3s;
}
.cards-carousel__description {
  color: var(--card-text-clr, var(--clr-neutral-700));
  transition: color 0.3s;
}
.cards-carousel__link {
  width: max-content;
  color: var(--card-link-clr, var(--clr-neutral-700));
  transition: color 0.3s;
  padding: 0.125rem 0.5rem;
  margin-left: -0.5rem;
}

#accordion__p {
  width: fit-content;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--clr-neutral-400);
}

.faq-tabs {
  display: flex;
  width: 100%;
  align-items: flex-start;
}
.faq-tabs h2 {
  max-width: 35%;
  margin-top: 1.5rem;
}
.faq-tabs .accordion {
  width: 100%;
}
.faq-tabs .accordion__item {
  border: none;
  padding: 0;
  margin: 0 1.5rem;
}
.faq-tabs .accordion__item:not(:last-child) {
  border-bottom: 1px solid var(--clr-neutral-400);
}
.faq-tabs .accordion .btn {
  margin-bottom: 3rem;
}
.faq-tabs .accordion h3 {
  font-weight: 400;
}

.category-icons-grid {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(var(--min-column-width, 233px), 1fr));
}
.category-icons-grid__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding: 1rem 1rem 2rem 1rem;
  position: relative;
  text-align: center;
  transition: scale 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.category-icons-grid__item:hover {
  scale: var(--has-hover-scale, 1.05);
}
.category-icons-grid__link {
  position: absolute;
  inset: 0;
}
.category-icons-grid img {
  border-radius: var(--img-border-radius);
  box-shadow: var(--has-box-shadow, 0 0.25rem 1rem rgba(0, 0, 0, 0.12));
  width: auto;
  height: auto;
  margin-inline: auto;
  max-height: var(--min-column-width, 233px);
}
.category-icons-grid__title {
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.125rem;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .category-icons-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.hero-dual-img {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6rem;
  padding: 6rem 0;
  position: relative;
}
.hero-dual-img__content {
  flex: 0 0 35%;
  z-index: 2;
  position: relative;
}
.hero-dual-img__content p:nth-child(1) {
  margin-bottom: 0.5rem;
}
.hero-dual-img__overline {
  color: var(--clr-danger);
  text-transform: uppercase;
}
.hero-dual-img__description {
  margin-bottom: 4rem;
  color: var(--clr-neutral-800);
}
.hero-dual-img__gallery {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  position: relative;
  z-index: 1;
}
.hero-dual-img__gallery img {
  width: 100%;
  max-width: 23rem;
  height: auto;
  object-fit: cover;
}
.hero-dual-img__gallery img:first-of-type {
  border-radius: var(--border-radius-img-1, 4rem 0 0 0);
}
.hero-dual-img__gallery img:last-of-type {
  border-radius: var(--border-radius-img-2, 0 0 4rem 0);
}
.hero-dual-img__bg-shape {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.hero-dual-img__bg-shape-1 {
  top: -2%;
  right: -3.5rem;
  width: 12.5rem;
}
.hero-dual-img__bg-shape-2 {
  bottom: 0;
  right: 41%;
  width: 16.25rem;
}
@media screen and (max-width: 1400px) {
  .hero-dual-img {
    gap: 1.25rem;
  }
  .hero-dual-img__bg-shape-1 {
    top: 2%;
    right: -5%;
    width: 12.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    bottom: 2%;
    right: 50%;
    width: 17.25rem;
  }
}
@media screen and (max-width: 1200px) {
  .hero-dual-img {
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
    padding: 4rem 0;
  }
  .hero-dual-img__content {
    max-width: 100%;
    text-align: center;
    flex-direction: column;
    align-items: center;
  }
  .hero-dual-img__content div {
    justify-content: center;
  }
  .hero-dual-img__description {
    margin-bottom: 2rem;
  }
  .hero-dual-img__bg-shape-1 {
    top: 30%;
    right: 0;
    width: 17.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    bottom: 0;
    left: 0;
    width: 17.5rem;
  }
}
@media screen and (max-width: 992px) {
  .hero-dual-img {
    overflow: hidden;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
  }
  .hero-dual-img__bg-shape-1 {
    top: 28%;
    right: 0;
    width: 12.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    bottom: -4%;
    left: -9%;
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .hero-dual-img__gallery {
    gap: 1rem;
  }
  .hero-dual-img__gallery img {
    width: 48%;
    height: auto;
    object-fit: cover;
    flex: 1 1 0;
  }
  .hero-dual-img__gallery img:first-of-type {
    border-radius: 2rem 0 0 0;
  }
  .hero-dual-img__gallery img:last-of-type {
    border-radius: 0 0 2rem 0;
  }
  .hero-dual-img__bg-shape-1 {
    top: 30%;
    right: 0;
    width: 12.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    bottom: -5%;
    left: -15%;
    width: 12.5rem;
  }
}
@media screen and (max-width: 576px) {
  .hero-dual-img {
    padding: 2.5rem 0;
  }
  .hero-dual-img__images {
    flex-direction: column;
    gap: 2rem;
  }
  .hero-dual-img__bg-shape-1 {
    top: 40%;
    right: 0;
    width: 10.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    bottom: -7%;
    left: -5%;
  }
}
@media screen and (max-width: 480px) {
  .hero-dual-img__btn {
    margin-inline: 0.5rem;
  }
  .hero-dual-img__btn:first-of-type {
    margin-top: 0;
  }
  .hero-dual-img__bg-shape-1 {
    top: 45%;
    right: -15%;
    width: 8.5rem;
  }
  .hero-dual-img__bg-shape-2 {
    left: -35%;
  }
}

.numbered-features {
  counter-reset: card-counter;
}
.numbered-features__lead {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 62.5rem;
  width: 100%;
  margin-inline: auto;
}
.numbered-features__description {
  color: var(--clr-neutral-600);
}
.numbered-features__list {
  display: flex;
  flex-direction: row;
  gap: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
.numbered-features__item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  border-top: 1px solid var(--border-color, var(--clr-neutral-500));
  padding-top: 2.5rem;
  counter-increment: card-counter;
}
.numbered-features__item-title {
  margin-top: -0.75rem;
  margin-bottom: 0;
}
.numbered-features__item-description {
  margin-bottom: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--clr-neutral-500);
}
.numbered-features__item-link {
  color: var(--body-link-clr);
}
.numbered-features__item-icon {
  width: 100%;
  max-width: 4rem;
  grid-row: 1/-1;
}
.numbered-features__number {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--number-clr, var(--clr-neutral-400));
  flex-shrink: 0;
  position: relative;
}
.numbered-features__number::before {
  content: "0" counter(card-counter);
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--number-clr, var(--clr-neutral-400));
}
.numbered-features__content {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  gap: 1rem 3rem;
  padding-right: 4rem;
  max-width: 37.5rem;
  width: 69%;
}
@media screen and (max-width: 1400px) {
  .numbered-features__content {
    width: 100%;
    padding-right: 0;
    gap: 1rem 2rem;
  }
  .numbered-features__item-title {
    margin-top: -0.625rem;
  }
}
@media screen and (max-width: 992px) {
  .numbered-features__list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .numbered-features__content {
    gap: 1rem;
  }
  .numbered-features__item {
    padding-top: 1.5rem;
    gap: 0.75rem;
  }
  .numbered-features__item-icon {
    width: 3.5rem;
  }
}

.tabs-showcase__heading {
  text-align: center;
  margin-bottom: 4rem;
}
.tabs-showcase__heading h2 {
  margin-bottom: 0;
}
.tabs-showcase__heading p {
  max-width: 62rem;
  margin: 1.5rem auto 0;
}
@media screen and (max-width: 992px) {
  .tabs-showcase__heading {
    margin-bottom: 2rem;
  }
}
.tabs-showcase__wrapper {
  display: flex;
  gap: 4rem;
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__wrapper {
    flex-direction: column;
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .tabs-showcase__wrapper {
    gap: 2.5rem;
  }
}
.tabs-showcase__list {
  flex: 0 0 15%;
  list-style: none;
  padding: 0;
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__list {
    flex-direction: row;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    position: relative;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
}
@media screen and (max-width: 1200px) and (max-width: 576px) {
  .tabs-showcase__list {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__list::-webkit-scrollbar {
    display: none;
  }
}
.tabs-showcase__list-item {
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s;
  color: var(--clr-neutral-500);
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__list-item {
    flex-shrink: 0;
    padding: 0.625rem 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .tabs-showcase__list-item {
    padding: 0.5rem 1.25rem;
  }
}
.tabs-showcase__list-item--active {
  border: 1px solid var(--clr-neutral-700);
  color: var(--clr-neutral-800);
  font-weight: 600;
  border-radius: 0.25rem;
}
.tabs-showcase__tab-content {
  display: none;
  flex: 1;
}
.tabs-showcase__tab-content--active {
  display: block;
}
.tabs-showcase__tab-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__tab-wrapper {
    flex-direction: row;
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .tabs-showcase__tab-wrapper {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.tabs-showcase__tab-wrapper img {
  flex: 0 0 auto;
  max-width: 37.5rem;
  max-height: 75rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .tabs-showcase__tab-wrapper img {
    max-height: none;
    width: calc(50% + 20 * (100vw - 768px) / 432);
  }
}
@media screen and (max-width: 768px) {
  .tabs-showcase__tab-wrapper img {
    max-width: 100%;
    width: 100%;
  }
}
.tabs-showcase__tab-wrapper .tabs-showcase__tab-text {
  flex: 0 0 40%;
}
@media screen and (max-width: 1400px) {
  .tabs-showcase__tab-wrapper .tabs-showcase__tab-text {
    flex: 0 1 auto;
  }
}
@keyframes tabs-showcase__fade-in-up {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tabs-showcase .tabs-showcase__tab-content .tabs-showcase__tab-wrapper {
  opacity: 0;
  transform: translateY(100px);
}
.tabs-showcase .tabs-showcase__tab-content--active .tabs-showcase__tab-wrapper {
  animation: tabs-showcase__fade-in-up 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.testimonial .glide__slide {
  padding: 1rem;
  scroll-snap-align: start;
  transition: all 0.3s ease-in-out;
}
.testimonial .glide__track {
  overflow: visible;
}
.testimonial__heading-wrapper {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-bottom: 4rem;
}
.testimonial__heading-wrapper .display-4 {
  grid-column: 2;
}
.testimonial__card {
  background-color: var(--card-bg-clr, var(--clr-white));
  border-radius: 0.5rem;
  padding: 3rem;
  box-shadow: var(--has-box-shadow, 0 0 0.5rem rgba(0, 0, 0, 0.24));
  text-align: center;
}
.testimonial__author-img {
  border: 5px solid #FFFFFF;
  border-radius: var(--avatar-border-radius, 100%);
  box-shadow: var(--avatar-box-shadow, 0 0 0.5rem rgba(0, 0, 0, 0.24));
  margin-bottom: 1.5rem;
  width: 5.5rem;
  height: 5.5rem;
}
.testimonial__quote i {
  font-size: 2.5rem;
  color: var(--quote-clr, --body-icon-clr);
  display: block;
  margin-bottom: 2rem;
}
.testimonial__quote-text {
  color: var(--clr-neutral-800);
  margin-bottom: 2rem;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 4;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  min-height: 6em;
}
@media screen and (max-width: 1200px) {
  .testimonial__card {
    padding: 1.25rem;
  }
}
@media screen and (max-width: 992px) {
  .testimonial__heading-wrapper {
    margin-bottom: 1.5rem;
  }
  .testimonial__quote i {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .testimonial__card {
    margin-left: -2px;
  }
}
@media screen and (max-width: 576px) {
  .testimonial__heading-wrapper {
    grid-template-columns: 1fr auto;
  }
  .testimonial__heading-wrapper .display-4 {
    grid-column: 1;
    text-align: left;
  }
}

.fluid-media__container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  padding: 150px 0;
  overflow: hidden;
  background: var(--fluid-bg-image, none) no-repeat center center/cover scroll;
}
.fluid-media__container:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--filter-color, #272626);
  opacity: var(--filter-opacity, 0.52);
  z-index: -1;
}
.fluid-media__container .fluid-media__video {
  position: absolute;
  top: auto;
  left: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: -2;
}
.fluid-media__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.25rem;
  min-height: 400px;
  max-width: 1000px;
  text-align: center;
}
.fluid-media__content .display-2 {
  color: var(--clr-white);
}
.fluid-media__content p {
  color: var(--clr-neutral-50);
}
.fluid-media__cta {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
}
.fluid-media__video {
  z-index: -99;
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.fluid-media__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 992px) {
  .fluid-media__container {
    flex-direction: column;
    align-items: center;
    padding: 0;
    width: 100%;
    margin-left: 0;
    left: 0;
  }
  .fluid-media__container .fluid-media__video {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    padding-top: 0;
  }
  .fluid-media__container .fluid-media__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .fluid-media__container--video:before {
    display: none;
  }
  .fluid-media__container__content {
    width: 100%;
    padding: 0 20px;
  }
  .fluid-media__container__content--dark h2 {
    color: var(--black);
  }
  .fluid-media__container__content--dark p {
    color: var(--clr-neutral-800);
  }
}

.hero-single {
  position: relative;
  overflow: hidden;
  background-image: var(--background-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--section-bg-clr, #FEEED7);
}
.hero-single__wrapper {
  display: grid;
  gap: 4rem;
  grid-template-columns: 50% auto;
}
.hero-single__lead {
  z-index: 6;
  align-content: center;
}
.hero-single__lead .btn {
  margin-top: 2rem;
}
.hero-single__lead--dark .display-3 {
  color: var(--clr-white) !important;
}
.hero-single__lead--dark p {
  color: var(--clr-white) !important;
}
.hero-single__media {
  z-index: 6;
  margin: 4rem auto;
}
.hero-single__elipse1 {
  position: absolute;
  left: 32%;
  top: 62%;
  width: 85%;
  height: 77%;
  background-color: var(--hero-single-elipse-bgc-1, #eac590);
  clip-path: ellipse(29% 52%);
  z-index: 4;
}
.hero-single__elipse2 {
  position: absolute;
  left: 20%;
  top: 82%;
  width: 73%;
  height: 82%;
  background-color: var(--hero-single-elipse-bgc-2, #FDE1B9);
  clip-path: ellipse(29% 49%);
  z-index: 5;
}
.hero-single__img {
  border-radius: var(--border-radius, 5px);
  box-shadow: var(--hero-single-img-box-shadow, 0 8px 16px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 992px) {
  .hero-single__wrapper {
    display: grid;
    grid-template-columns: 100%;
    gap: unset;
  }
  .hero-single__lead {
    order: 2;
    padding-bottom: 4rem;
  }
  .hero-single__img {
    width: 100%;
  }
  .hero-single__elipse1 {
    position: absolute;
    left: 18%;
    width: 100%;
    height: 66%;
    clip-path: ellipse(42% 35%);
    margin-top: 6%;
    z-index: 4;
  }
  .hero-single__elipse2 {
    position: absolute;
    left: -18%;
    width: 100%;
    height: 66%;
    clip-path: ellipse(45% 46%);
    z-index: 5;
  }
  .hero-single__btn {
    width: 100%;
  }
}
@media screen and (max-width: 992px) {
  .hero-single__elipse1 {
    clip-path: ellipse(42% 35%);
    margin-top: 6%;
  }
  .hero-single__elipse2 {
    clip-path: ellipse(45% 46%);
  }
}
@media screen and (max-width: 576px) {
  .hero-single__elipse1 {
    clip-path: ellipse(40% 20%);
    margin-top: 6%;
  }
  .hero-single__elipse2 {
    clip-path: ellipse(41% 37%);
  }
}

.product-features__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 992px) {
  .product-features__heading {
    margin-bottom: 2rem;
  }
}
.product-features__content {
  background: linear-gradient(to right, var(--product-features-bg, transparent) 50%, transparent 50%);
}
.product-features__grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: start;
  position: relative;
  margin-top: 4rem;
}
.product-features__grid--centered {
  align-items: center;
}
.product-features__grid--centered .product-features__column--left,
.product-features__grid--centered .product-features__column--right {
  justify-content: center;
  padding: 4rem;
}
.product-features__column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.product-features__image {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.product-features__image img {
  width: 100%;
  height: auto;
}
.product-features__card {
  width: 100%;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product-features__card > p {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 992px) {
  .product-features__card > p {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .product-features__card > p {
    margin-bottom: 0.5rem;
  }
}
.product-features__card .feature-card__icon {
  display: inline-flex;
  margin-bottom: 0.75rem;
}

@media screen and (max-width: 992px) {
  .product-features__heading h2 {
    text-align: center;
  }
  .product-features__heading p {
    text-align: center;
  }
  .product-features__content {
    background: transparent;
  }
  .product-features__grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .product-features__column--center {
    order: 1;
    margin: auto;
  }
  .product-features__column--left {
    order: 2;
  }
  .product-features__column--right {
    order: 3;
  }
  .product-features__column {
    max-width: 37rem;
    gap: 2rem;
  }
  .product-features__card {
    width: 100%;
  }
  .product-features__card p {
    text-align: left;
  }
}
.product-overview {
  display: grid;
  gap: 0 2rem;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas: "image heading" "image description" "image features" "image actions";
}
.product-overview__image {
  grid-area: image;
  display: flex;
  align-items: center;
  position: relative;
  height: max-content;
}
.product-overview__image img {
  display: inline-block;
  width: 100%;
}
.product-overview__marker {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--pin-bg-clr, var(--clr-primary-500));
  color: var(--pin-text-clr, var(--body-bg-clr));
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 800;
  cursor: pointer;
  transition: 0.5s ease;
}
.product-overview__marker:hover {
  background-color: var(--pin-bg-active-clr, var(--body-bg-clr));
  color: var(--pin-text-active-clr, black);
}
.product-overview__marker.is-active {
  background-color: var(--pin-bg-active-clr, var(--body-bg-clr));
  color: var(--pin-text-active-clr, var(--clr-primary-500));
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.33);
}
.product-overview__heading {
  grid-area: heading;
  font-size: 4rem;
  line-height: 5rem;
  font-weight: 800;
  padding: 0 5rem;
}
.product-overview__description {
  grid-area: description;
  color: var(--clr-neutral-700);
  margin-top: 2rem;
  padding: 0 5rem;
}
.product-overview__features {
  grid-area: features;
  counter-reset: feature-counter;
  margin-top: 2rem;
  padding: 0 5rem;
}
.product-overview__feature-item {
  counter-increment: feature-counter;
  padding: 0;
  overflow: hidden;
}
.product-overview__feature-item::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: var(--clr-neutral-300);
  display: block;
}
.product-overview__feature-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 0;
  cursor: pointer;
}
.product-overview__feature-number {
  flex-shrink: 0;
  position: relative;
}
.product-overview__feature-number::before {
  width: 1.25rem;
  content: "0" counter(feature-counter);
  display: block;
  font-size: 1.125rem;
  color: var(--clr-neutral-400);
}
.product-overview__feature-text {
  font-size: 1.125rem;
}
.product-overview__feature-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}
.product-overview__feature-content p {
  margin: 0;
  padding-bottom: 1.5rem;
}
.product-overview__feature-toggle {
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0.25rem;
  line-height: 1;
  margin-left: auto;
}
.product-overview__feature-toggle:hover, .product-overview__feature-toggle:focus {
  color: var(--clr-primary-500);
}
.product-overview__actions {
  grid-area: actions;
  margin-top: 2rem;
  padding: 0 5rem;
  display: flex;
  gap: 1.25rem;
}
.product-overview__actions .btn__action-override {
  flex-grow: 0;
}
.product-overview__actions .product-overview__button {
  height: 3rem;
  width: fit-content;
}
@media screen and (max-width: 1660px) {
  .product-overview__heading {
    font-size: 3rem;
    line-height: 3.5rem;
  }
}
@media screen and (max-width: 1400px) {
  .product-overview__heading {
    font-size: 2.25rem;
    line-height: 2.5rem;
    padding: 0 1.5rem;
  }
  .product-overview__description {
    padding: 0 1.5rem;
  }
  .product-overview__features {
    padding: 0 1.5rem;
  }
  .product-overview__actions {
    padding: 0 1.5rem;
  }
}
@media screen and (max-width: 992px) {
  .product-overview {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas: "heading" "description" "image" "features" "actions";
    gap: 0;
  }
  .product-overview__heading {
    margin-bottom: 1rem;
  }
  .product-overview__description {
    margin-top: 0;
    margin-bottom: 1rem;
  }
  .product-overview__actions {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .product-overview__feature-header {
    padding: 1rem 0;
  }
  .product-overview__feature-number {
    font-size: 1rem;
  }
  .product-overview__feature-text {
    font-size: 1rem;
  }
  .product-overview__feature-toggle {
    font-size: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .product-overview__actions {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .product-overview__actions .btn {
    width: 100%;
    max-width: 18.75rem;
  }
}

.featured-categories-1 {
  display: flex;
  flex-direction: row;
  gap: 6rem;
}
@media screen and (max-width: 1200px) {
  .featured-categories-1 {
    gap: 2rem;
    flex-direction: column;
  }
}
.featured-categories-1__intro {
  max-width: 17.75rem;
}
@media screen and (max-width: 1200px) {
  .featured-categories-1__intro {
    max-width: 100%;
  }
}
.featured-categories-1__intro p:first-child {
  margin-bottom: 2rem;
  text-transform: uppercase;
}
@media screen and (max-width: 1200px) {
  .featured-categories-1__intro p:first-child {
    margin-bottom: 1rem;
  }
}
.featured-categories-1__intro h3 {
  margin-bottom: 0;
  text-transform: uppercase;
}
.featured-categories-1__intro p:nth-of-type(2) {
  margin-top: 1rem;
}
.featured-categories-1__content {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  .featured-categories-1__content {
    flex-direction: column;
    gap: 40px;
  }
}
.featured-categories-1__card {
  flex: 1 1 33%;
  display: block;
  text-decoration: none;
  color: inherit;
}
@media screen and (max-width: 992px) {
  .featured-categories-1__card {
    flex: 1 1 100%;
    max-height: none;
  }
}
.featured-categories-1__card:hover img, .featured-categories-1__card:focus img {
  z-index: 3;
  transform: var(--has-hover-scale, scale(1.04));
  box-shadow: var(--has-box-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));
}
.featured-categories-1__card:not(:hover):not(:focus) img {
  animation: z-index-hack 0.2s;
}
.featured-categories-1__image {
  margin-bottom: 1.5rem;
}
.featured-categories-1__image img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 2;
  transition: transform 0.2s ease-in, box-shadow 0.2s ease-in;
  will-change: transform;
}
.featured-categories-1__card-text {
  text-align: center;
  padding: 0 2.5rem;
}
@media screen and (max-width: 1200px) {
  .featured-categories-1__card-text {
    padding: 0 1.5rem;
  }
}
.featured-categories-1__card-text h3 {
  text-transform: uppercase;
  font-weight: 400;
}
.featured-categories-1__card-text p {
  margin-top: 1rem;
}

@keyframes z-index-hack {
  0%, 100% {
    z-index: 2;
  }
}
.themes-overview-1 {
  display: flex;
  flex-direction: row;
  gap: 40px;
}
.themes-overview-1__intro {
  text-align: center;
}
.themes-overview-1__item {
  flex: 1 1 50%;
  text-align: center;
}
.themes-overview-1__item .themes-overview-1__desc {
  margin-top: 0.625rem;
}
.themes-overview-1__item .themes-overview-1__heading {
  font-size: 1.5rem;
  margin-top: 0.625rem;
  margin-bottom: 0;
}
.themes-overview-1__item img {
  display: block;
  width: 100%;
  border-radius: var(--img-border-radius, 8px);
}
.themes-overview-1__item .themes-overview-1__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 1200px) {
  .themes-overview-1__item .themes-overview-1__content {
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 768px) {
  .themes-overview-1__item .themes-overview-1__content {
    margin-top: 1rem;
  }
}
.themes-overview-1__item .themes-overview-1__content > a.btn.btn--primary-light {
  margin-top: 1.75rem;
}
.themes-overview-1__item .themes-overview-1__content > .themes-overview-1__desc:first-child,
.themes-overview-1__item .themes-overview-1__content > .themes-overview-1__heading:first-child,
.themes-overview-1__item .themes-overview-1__content > a.btn.btn--primary-light:first-child {
  margin-top: 0;
}
.themes-overview-1__item .themes-overview-1__content > a:first-child > .themes-overview-1__heading {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .themes-overview-1 {
    flex-direction: column;
  }
}

.featured-topics-1 {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(calc((100% - 24px * 3) / 4), 1fr));
}
.featured-topics-1__card {
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease-in, box-shadow 0.2s ease-in;
  border-radius: var(--box-border-radius, 0px);
}
.featured-topics-1__card--light .featured-topics-1__title, .featured-topics-1__card--light .featured-topics-1__description {
  color: var(--clr-white);
}
.featured-topics-1__card:hover, .featured-topics-1__card:focus {
  z-index: 3;
  transform: var(--has-hover-scale, scale(1.04));
  box-shadow: var(--has-box-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));
}
.featured-topics-1__image-wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.featured-topics-1__image-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  transition: transform 0.2s ease-in, box-shadow 0.2s ease-in;
  will-change: transform;
}
.featured-topics-1__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background-color: var(--filter-color, transparent);
  opacity: var(--opacity, 1);
}
.featured-topics-1__content {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  padding: 1rem;
}
.featured-topics-1__title {
  font-size: 2.5rem;
  line-height: 2.5rem;
  font-weight: 800;
  margin-bottom: 0;
}
.featured-topics-1__description {
  font-size: 1.125rem;
  line-height: 1.25rem;
  font-weight: 600;
  margin-top: 0.5rem;
}
.featured-topics-1__link {
  margin-top: 2rem;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 992px) {
  .featured-topics-1 {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - 24px) / 2), 1fr));
  }
}
@media screen and (max-width: 576px) {
  .featured-topics-1 {
    grid-template-columns: 1fr;
  }
  .featured-topics-1__content {
    padding: 0.5rem;
  }
}

.photo-collage-1 {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: 600px 748px;
  gap: var(--has-gap, 1.5rem);
}
.photo-collage-1__image {
  display: flex;
}
.photo-collage-1__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--image-border-radius, 0);
}
.photo-collage-1__image:nth-child(1) {
  grid-column: 1/7;
  grid-row: 1;
}
.photo-collage-1__image:nth-child(2) {
  grid-column: 7/10;
  grid-row: 1;
  align-items: flex-end;
}
.photo-collage-1__image:nth-child(2) img {
  max-height: 450px;
}
.photo-collage-1__image:nth-child(3) {
  grid-column: 2/6;
  grid-row: 2;
}
.photo-collage-1__image:nth-child(4) {
  grid-column: 6/10;
  grid-row: 2;
}
.photo-collage-1__image:nth-child(4) img {
  max-height: 500px;
}
@media screen and (max-width: 576px) {
  .photo-collage-1 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    padding: 0 1.25rem;
  }
  .photo-collage-1__image {
    grid-column: 1;
    grid-row: auto;
  }
}

.photo-collage-2__lead {
  margin-bottom: 4rem;
  text-align: center;
}
.photo-collage-2__description {
  margin-top: 1.75rem;
}
.photo-collage-2__gallery {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--has-gap, 1.5rem);
}
.photo-collage-2__item img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.photo-collage-2__item:nth-child(1) {
  grid-column: 1/-1;
}
.photo-collage-2__item:nth-child(2) {
  grid-column: 1/4;
}
.photo-collage-2__item:nth-child(3) {
  grid-column: 4/-1;
}
.photo-collage-2__item:nth-child(4) {
  grid-column: 1/3;
}
.photo-collage-2__item:nth-child(5) {
  grid-column: 3/5;
}
.photo-collage-2__item:nth-child(6) {
  grid-column: 5/-1;
}
@media screen and (max-width: 992px) {
  .photo-collage-2__description {
    margin-top: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .photo-collage-2__lead {
    margin-bottom: 1.75rem;
  }
  .photo-collage-2__gallery {
    gap: var(--has-gap, 1rem);
    grid-template-columns: 1fr;
  }
  .photo-collage-2__item {
    grid-column: 1;
  }
}

.featured-products-collage-1__lead {
  text-align: center;
  margin-bottom: 4rem;
}
.featured-products-collage-1__lead p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .featured-products-collage-1__lead {
    margin-bottom: 2rem;
  }
  .featured-products-collage-1__lead p {
    margin-top: 1rem;
  }
}
.featured-products-collage-1__grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .featured-products-collage-1__grid {
    margin-bottom: 1rem;
    gap: 1rem;
  }
}
.featured-products-collage-1__grid:last-child {
  margin-bottom: 0;
}
.featured-products-collage-1__item {
  height: 100%;
}
.featured-products-collage-1__item--large {
  grid-row: span 2;
  grid-column: span 2;
}
.featured-products-collage-1--layout-1 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, auto);
}
.featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large {
  grid-column: 1/3;
  grid-row: 1/3;
}
.featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large .product-card__content {
  flex: 0;
}
.featured-products-collage-1--layout-2 {
  grid-template-columns: repeat(4, 1fr);
}
.featured-products-collage-1--layout-3 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, auto);
}
.featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large {
  grid-column: 3/5;
  grid-row: 1/3;
}
.featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large .product-card__content {
  flex: 0;
}
@media screen and (max-width: 992px) {
  .featured-products-collage-1--layout-1, .featured-products-collage-1--layout-3 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large, .featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large {
    grid-column: 1/3;
    grid-row: auto;
  }
  .featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large .product-card__content, .featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large .product-card__content {
    flex: 0;
  }
  .featured-products-collage-1--layout-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .featured-products-collage-1--layout-1, .featured-products-collage-1--layout-2, .featured-products-collage-1--layout-3 {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
  }
  .featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large, .featured-products-collage-1--layout-2 > .featured-products-collage-1__item--large, .featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large {
    grid-column: 1/3;
    grid-row: auto;
  }
  .featured-products-collage-1--layout-1 > .featured-products-collage-1__item--large .product-card__content, .featured-products-collage-1--layout-2 > .featured-products-collage-1__item--large .product-card__content, .featured-products-collage-1--layout-3 > .featured-products-collage-1__item--large .product-card__content {
    flex: 0;
  }
}

.featured-collage-1 {
  display: grid;
  grid-gap: 1.5rem;
}
.featured-collage-1__content {
  position: absolute;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  z-index: 2;
  inset: 0;
  padding: 0 0.625rem;
  pointer-events: none;
}
.featured-collage-1__title {
  color: var(--custom-title-clr, var(--title-clr));
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.featured-collage-1__description {
  color: var(--custom-text-clr, var(--text-clr));
  margin-top: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.featured-collage-1__link {
  margin-top: 2rem;
  pointer-events: auto;
}
.featured-collage-1__card {
  position: relative;
  overflow: hidden;
}
.featured-collage-1__card > a {
  position: absolute;
  inset: 0;
  z-index: 5;
  opacity: 0;
}
.featured-collage-1__image-wrapper {
  position: relative;
  height: 100%;
}
.featured-collage-1__image-wrapper:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--filter-color, transparent);
  opacity: var(--filter-opacity, 0);
  z-index: 2;
}
.featured-collage-1__image-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.featured-collage-1--layout-1 {
  grid-template-columns: repeat(2, 1fr);
}
.featured-collage-1--layout-1 .featured-collage-1__card {
  aspect-ratio: 3/2;
}
.featured-collage-1--layout-2 {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(4, 1fr);
}
.featured-collage-1--layout-2 .featured-collage-1__card:first-child {
  grid-column: 1/span 3;
  grid-row: 1/span 4;
  aspect-ratio: 1;
}
.featured-collage-1--layout-2 .featured-collage-1__card:nth-child(2) {
  grid-column: 4/span 3;
  grid-row: 1/span 2;
}
.featured-collage-1--layout-2 .featured-collage-1__card:nth-child(3) {
  grid-column: 4/span 3;
  grid-row: 3/span 2;
}
.featured-collage-1--layout-3 {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(8, 1fr);
}
.featured-collage-1--layout-3 .featured-collage-1__card:first-child {
  grid-column: 1/-1;
  grid-row: 1/span 4;
  aspect-ratio: 19/8;
}
.featured-collage-1--layout-3 .featured-collage-1__card:nth-child(2) {
  grid-column: 1/span 2;
  grid-row: 5/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-3 .featured-collage-1__card:nth-child(3) {
  grid-column: 3/span 2;
  grid-row: 5/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-3 .featured-collage-1__card:nth-child(4) {
  grid-column: 5/span 2;
  grid-row: 5/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-4 {
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(5, 1fr);
}
.featured-collage-1--layout-4 .featured-collage-1__card:first-child {
  grid-column: 1/span 3;
  grid-row: 1/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-4 .featured-collage-1__card:nth-child(2) {
  grid-column: 4/span 3;
  grid-row: 1/span 2;
}
.featured-collage-1--layout-4 .featured-collage-1__card:nth-child(3) {
  grid-column: 1/span 3;
  grid-row: 4/span 2;
}
.featured-collage-1--layout-4 .featured-collage-1__card:nth-child(4) {
  grid-column: 4/span 3;
  grid-row: 3/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-5 {
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(6, 176px-1.5rem/2);
}
.featured-collage-1--layout-5 .featured-collage-1__card:first-child {
  grid-column: 1/span 6;
  grid-row: 1/span 3;
  aspect-ratio: 4/3;
}
.featured-collage-1--layout-5 .featured-collage-1__card:nth-child(2) {
  grid-column: 7/span 3;
  grid-row: 1/span 2;
  aspect-ratio: 1;
  max-height: 352px;
}
.featured-collage-1--layout-5 .featured-collage-1__card:nth-child(3) {
  grid-column: 10/span 3;
  grid-row: 1/span 2;
  aspect-ratio: 1;
  max-height: 352px;
}
.featured-collage-1--layout-5 .featured-collage-1__card:nth-child(4) {
  grid-column: 1/span 6;
  grid-row: 4/span 2;
}
.featured-collage-1--layout-5 .featured-collage-1__card:nth-child(5) {
  grid-column: 7/span 6;
  grid-row: 3/span 3;
  aspect-ratio: 4/3;
}
@media screen and (max-width: 1200px) {
  .featured-collage-1__link {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 992px) {
  .featured-collage-1__link {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .featured-collage-1--layout-1, .featured-collage-1--layout-2, .featured-collage-1--layout-3, .featured-collage-1--layout-4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .featured-collage-1--layout-1 .featured-collage-1__card, .featured-collage-1--layout-2 .featured-collage-1__card, .featured-collage-1--layout-3 .featured-collage-1__card, .featured-collage-1--layout-4 .featured-collage-1__card {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .featured-collage-1--layout-5 .featured-collage-1__card:first-child {
    grid-column: 1/-1;
    grid-row: 1/span 3;
  }
  .featured-collage-1--layout-5 .featured-collage-1__card:nth-child(2) {
    grid-column: 1/span 6;
    grid-row: 4/span 2;
  }
  .featured-collage-1--layout-5 .featured-collage-1__card:nth-child(3) {
    grid-column: 7/span 6;
    grid-row: 4/span 2;
  }
  .featured-collage-1--layout-5 .featured-collage-1__card:nth-child(4) {
    grid-column: 1/-1;
    grid-row: 6/span 2;
  }
  .featured-collage-1--layout-5 .featured-collage-1__card:nth-child(5) {
    grid-column: 1/-1;
    grid-row: 8/span 3;
  }
}

.instashop-1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 992px) {
  .instashop-1 {
    gap: 2rem;
  }
}
@media screen and (max-width: 576px) {
  .instashop-1 {
    gap: 1.5rem;
  }
}
.instashop-1__lead {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .instashop-1__lead {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 576px) {
  .instashop-1__lead {
    margin-bottom: 1.5rem;
  }
}
.instashop-1__lead p {
  margin-top: 1.75rem;
}
@media screen and (max-width: 576px) {
  .instashop-1__lead p {
    margin-top: 1.5rem;
  }
}
.instashop-1__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .instashop-1__gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .instashop-1__gallery {
    grid-template-columns: repeat(1, 1fr);
  }
}
.instashop-1__gallery-item {
  position: relative;
  overflow: hidden;
}
.instashop-1__gallery-item a {
  display: block;
  position: relative;
  all: unset;
  cursor: pointer;
}
.instashop-1__gallery-item:hover .instashop-1__overlay {
  opacity: 1;
  visibility: visible;
  text-decoration: none;
}
.instashop-1__gallery-item img {
  display: block;
}
.instashop-1__overlay {
  position: absolute;
  inset: 0;
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 2;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
}
.instashop-1__overlay-icon {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}
.instashop-1__overlay-text {
  padding: 0 1.25rem;
  font-size: 1rem;
  line-height: 1.125rem;
}

.benefits-2__content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4rem;
  justify-content: center;
}
.benefits-2__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 0 0 calc((100% - 12rem) / 4);
}
@media screen and (max-width: 992px) {
  .benefits-2__item {
    flex: 0 0 calc((100% - 4rem) / 2);
  }
}
@media screen and (max-width: 768px) {
  .benefits-2__item {
    flex: 0 0 100%;
  }
}
.benefits-2__item h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0;
}
.benefits-2__item p {
  margin-top: 0.5rem;
}
.benefits-2__icon {
  margin-bottom: 1.5rem;
}
.benefits-2__icon img,
.benefits-2__icon svg {
  width: auto;
  height: auto;
  max-width: 8rem;
}
@media screen and (max-width: 1200px) {
  .benefits-2__icon img,
  .benefits-2__icon svg {
    max-width: 6rem;
  }
}

body.instashop-mobile-overlay-active {
  overflow: hidden;
}

.instashop-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
.instashop-2__lead {
  text-align: center;
}
.instashop-2__description {
  margin-top: 1.75rem;
}
.instashop-2__content {
  position: relative;
}
.instashop-2__img {
  border-radius: var(--border-radius, 0);
  display: block;
  width: 100%;
  max-height: 950px;
  object-fit: contain;
}
.instashop-2__marker {
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--pin-bg-clr, var(--clr-primary-500));
  color: var(--pin-text-clr, var(--body-bg-clr));
  border-radius: 50%;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  z-index: 2;
}
.instashop-2__marker:hover, .instashop-2__marker--active {
  background-color: var(--pin-active-bg-clr, var(--body-bg-clr));
  color: var(--pin-active-text-clr, var(--base-color));
}
.instashop-2__marker--active {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.33);
}
.instashop-2__popup {
  position: absolute;
  top: var(--top-offset, 0);
  left: var(--left-offset, 0);
  z-index: 10;
  background-color: var(--body-bg-clr);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
  min-width: 12.5rem;
  max-width: 18.75rem;
  border-radius: 0.5rem;
  visibility: hidden;
  opacity: 0;
  transition: visibility 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95), opacity 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.instashop-2__popup-content {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
.instashop-2__popup-content .product-card {
  border: none;
}
.instashop-2__popup-close {
  display: none;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  background: transparent;
  border: none;
  font-size: 1rem;
  cursor: pointer;
}
.instashop-2__popup-close:hover {
  color: var(--clr-primary-500);
}
.instashop-2__popup--active {
  visibility: visible;
  opacity: 1;
}
.instashop-2__mobile-actions {
  display: none;
  text-align: center;
  margin-top: 2rem;
}
.instashop-2__mobile-overlay {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(var(--base-rgb, 0, 0, 0), 0.9);
  z-index: 999;
  padding-left: 3rem;
  box-sizing: border-box;
  gap: 0.625rem;
  transition: visibility 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95), opacity 200ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.instashop-2__mobile-overlay-content {
  background-color: var(--body-bg-clr);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 0;
  max-width: 26.25rem;
  margin-left: auto;
}
.instashop-2__mobile-overlay-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.25rem 2rem;
  background: var(--base-color-20);
}
.instashop-2__mobile-overlay-title {
  font-size: 1rem;
  margin-bottom: 0;
}
.instashop-2__mobile-overlay-close {
  background: transparent;
  border: none;
  font-size: 2rem;
  line-height: 1;
  padding: 0 0.75rem 0.75rem 0.75rem;
  margin-right: -0.75rem;
  cursor: pointer;
}
.instashop-2__mobile-overlay-close:hover {
  color: var(--clr-primary-500);
}
.instashop-2__mobile-overlay-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
}
.instashop-2__mobile-overlay--active {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .instashop-2 {
    gap: 2rem;
  }
  .instashop-2__marker {
    display: none;
  }
  .instashop-2__popup {
    display: none !important;
  }
  .instashop-2__mobile-actions {
    display: block;
  }
}

.featured-products-1 .featured-products-1-slider.glide__track {
  overflow: visible;
}
.featured-products-1__heading-wrapper {
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 992px) {
  .featured-products-1__heading-wrapper {
    margin-bottom: 1.5rem;
  }
}
.featured-products-1__heading-wrapper p {
  margin-top: 1.75rem;
}

.featured-products-1-glide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.featured-products-1-glide .featured-products-1__arrows {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 2rem;
}

.newsletter {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: var(--bg-img-url);
  padding-inline: 0;
}
.newsletter--img-left {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 50%;
}
.newsletter--img-right {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  flex: 0 0 50%;
}
.newsletter__img {
  object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
}
.newsletter__img-wrapper {
  width: 50%;
}
.newsletter__title {
  text-align: center;
  color: var(--clr);
}
.newsletter__description {
  text-align: center;
  color: var(--clr);
}
.newsletter__gdpr-text {
  color: var(--clr);
}
.newsletter__content {
  width: var(--has-img);
  padding: 2rem 3rem;
}
@media screen and (max-width: 768px) {
  .newsletter-wrapper--left, .newsletter-wrapper--right {
    flex-direction: column;
  }
  .newsletter__image {
    order: 2;
    width: 100%;
  }
  .newsletter__content {
    order: 1;
    width: 100%;
    padding: 2.5rem 1.5rem;
  }
}

.link-group {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.link-group__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.link-group__item {
  display: contents;
}
.link-group__item:first-child .link-group__link {
  font-weight: 700;
}
.link-group__link {
  line-height: 1.312rem;
  transition: color 100ms cubic-bezier(0.45, 0.05, 0.55, 0.95);
}
.link-group__link:hover {
  color: var(--custom-link-hover-clr, var(--clr-primary-500));
}
@media screen and (max-width: 768px) {
  .link-group {
    grid-template-columns: repeat(2, 1fr);
  }
  .link-group__list {
    gap: 0.25rem;
  }
  .link-group__link {
    font-size: 0.875rem;
    line-height: 1.125rem;
  }
}

.service-advantages {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding-block: 3.5rem;
}
@media screen and (max-width: 992px) {
  .service-advantages {
    align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .service-advantages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 1.25rem;
    padding: 2.5rem 0;
  }
}
.service-advantages__item a {
  display: grid;
  grid-template-columns: 5rem 1fr;
  align-items: center;
  flex: 1;
  gap: 2px 0;
}
@media screen and (max-width: 1200px) {
  .service-advantages__item a {
    grid-template-columns: 4rem 1fr;
  }
}
@media screen and (max-width: 992px) {
  .service-advantages__item a {
    grid-template-columns: 1fr;
  }
}
.service-advantages__item h6, .service-advantages__item p {
  margin-bottom: 0;
  padding-left: 1.5rem;
}
@media screen and (max-width: 1200px) {
  .service-advantages__item h6, .service-advantages__item p {
    padding-left: 1rem;
  }
}
@media screen and (max-width: 992px) {
  .service-advantages__item h6, .service-advantages__item p {
    padding-left: 0;
  }
}
.service-advantages__item h6 {
  order: 2;
  grid-column: 2/span 2;
  align-self: flex-end;
  color: var(--text-color, var(--clr-black));
}
@media screen and (max-width: 992px) {
  .service-advantages__item h6 {
    grid-column: initial;
  }
}
.service-advantages__item p {
  align-self: flex-start;
  order: 3;
  color: var(--text-color, var(--clr-black));
}
.service-advantages__media {
  order: 1;
  grid-row: 1/span 2;
  width: 5rem;
  height: 5rem;
  border-radius: var(--border-radius, 1rem);
  border: 4px solid var(--clr-white);
  background-color: var(--advantage-media-bg-clr, var(--clr-primary-500));
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .service-advantages__media {
    width: 4rem;
    height: 4rem;
    border: 3px solid var(--clr-white);
  }
}
@media screen and (max-width: 992px) {
  .service-advantages__media {
    grid-row: initial;
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 576px) {
  .service-advantages__media {
    width: 3rem;
    height: 3rem;
    border: 2px solid var(--clr-white);
    border-radius: 0.5rem;
  }
}
.service-advantages__media img {
  max-width: 2.5rem;
}
@media screen and (max-width: 1200px) {
  .service-advantages__media img {
    max-width: 2rem;
  }
}

.category-ctas {
  display: flex;
}
@media only screen and (max-width: 991.98px) {
  .category-ctas {
    flex-wrap: wrap;
  }
}
.category-ctas__item {
  position: relative;
  flex: 1;
  transition: all 0.2s ease-in;
  z-index: 1;
}
@media screen and (max-width: 992px) {
  .category-ctas__item {
    flex: 50%;
    height: 65vw;
  }
}
.category-ctas__item .category-ctas__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--filter-color, var(--accent-color-shade-2));
  opacity: var(--opacity, 0.4);
}
.category-ctas__item:not(:hover, :focus) {
  animation: z-index-hack 0.2s;
}
.category-ctas__item:hover {
  z-index: 3;
}
.category-ctas__item:hover .category-ctas__media {
  transform: var(--has-scale-grow, scale(1.04));
  box-shadow: var(--has-drop-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));
}
.category-ctas__item:hover .category-ctas__media-img {
  scale: var(--zoom, 1.05);
}
.category-ctas__media {
  position: relative;
  height: 100%;
  transition: all 0.2s ease-in;
  overflow: hidden;
}
.category-ctas__media-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-filter: grayscale(var(--grayscale-value, none));
  filter: grayscale(var(--grayscale-value, none));
  display: block;
}
.category-ctas__media-img--zoom {
  transition: scale 0.5s ease-in;
}
.category-ctas__content {
  padding: 0 23px 48px;
  text-align: center;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: absolute;
  top: 0;
  color: var(--text-color, var(--clr-white));
}
@media screen and (max-width: 576px) {
  .category-ctas__content {
    padding: 2rem 0.875rem;
  }
}
.category-ctas__content .display-6 {
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .category-ctas__content .display-6 {
    font-weight: 700;
  }
}
.category-ctas__content p {
  margin-top: 0.625rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .category-ctas__content p {
    min-height: 2.25rem;
  }
}
@media screen and (max-width: 768px) {
  .category-ctas__content p {
    margin-top: 0.25rem;
  }
}
.category-ctas__content .btn {
  margin-top: 2rem;
  align-self: center;
}
@media screen and (max-width: 576px) {
  .category-ctas__content .btn {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .category-ctas__content .btn {
    margin-top: 1.125rem;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .category-ctas__content .btn {
    padding: 0 1.25rem;
  }
}

.hero-carousel {
  overflow: hidden;
}
.hero-carousel__bkg {
  position: relative;
  z-index: -1;
  height: 100%;
  max-height: 43.75rem;
}
.hero-carousel__bkg:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background-color: var(--filter-color, unset);
  opacity: var(--opacity, 1);
  transition: opacity 0.3s ease;
}
.hero-carousel__bkg picture img {
  width: 100%;
  height: 100%;
  max-height: 100vh;
  object-fit: fill;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .hero-carousel__bkg picture img {
    object-position: 27%;
  }
}
.hero-carousel__video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.hero-carousel__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hero-carousel__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.hero-carousel__content span {
  color: var(--clr-white);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  max-width: 50%;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .hero-carousel__content span {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 991.98px) {
  .hero-carousel__content span {
    font-size: 1.125rem;
    max-width: 65%;
  }
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel__content span {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.hero-carousel__content-wrapper {
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
}
.hero-carousel__content [class*=display-] {
  color: var(--clr-white);
  text-transform: uppercase;
  max-width: 65%;
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel__content [class*=display-] {
    max-width: 75%;
    text-shadow: 2px 2px 16px rgba(0, 0, 0, 0.25);
  }
}
.hero-carousel__content p {
  color: var(--clr-white);
  margin-top: 2rem;
}
@media screen and (max-width: 1200px) {
  .hero-carousel__content p {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 576px) {
  .hero-carousel__content p {
    margin-top: 1.25rem;
  }
}
.hero-carousel__content--dark span {
  color: var(--clr-black);
}
.hero-carousel__content--dark [class*=display-] {
  color: var(--clr-black);
}
.hero-carousel__content--dark p {
  color: var(--clr-black);
}
.hero-carousel__content .btn {
  margin-top: 3.5rem;
}
@media screen and (max-width: 1400px) {
  .hero-carousel__content .btn {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 1200px) {
  .hero-carousel__content .btn {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 576px) {
  .hero-carousel__content .btn {
    margin-top: 1.25rem;
  }
}
.hero-carousel__content--start {
  align-items: flex-start;
  text-align: left;
}
.hero-carousel__content--center {
  align-items: center;
  text-align: center;
}
.hero-carousel__content--end {
  align-items: flex-end;
  text-align: right;
}
.hero-carousel .glide__slide {
  position: relative;
  height: unset;
}
.hero-carousel .glide__arrows, .hero-carousel .glide__bullets {
  position: absolute;
  bottom: 0;
  right: 0;
}
.hero-carousel .glide__arrow:hover {
  background-color: var(--clr-white);
}
.hero-carousel .glide__bullets {
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  bottom: 26px;
  width: max-content;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .hero-carousel .glide__bullets {
    justify-content: flex-start;
    bottom: 12px;
    left: 20px;
    transform: unset;
  }
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel .glide__bullets {
    justify-content: flex-start;
    gap: 12px;
    bottom: 2px;
    left: 20px;
    display: none;
  }
}
.hero-carousel .glide__bullet {
  width: 48px;
  padding: 20px 0;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel .glide__bullet {
    width: 28px;
  }
}
.hero-carousel .glide__bullet:hover::after {
  height: 4px;
  background-color: var(--clr-white);
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel .glide__bullet:hover::after {
    height: 3px;
  }
}
.hero-carousel .glide__bullet::after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 2px;
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel .glide__bullet::after {
    height: 1px;
  }
}
.hero-carousel .glide__bullet--active::after {
  height: 4px;
  background-color: var(--clr-white);
}
@media only screen and (max-width: 767.98px) {
  .hero-carousel .glide__bullet--active::after {
    height: 3px;
  }
}

.offering-carousel-wrapper .glide__track--centered {
  justify-content: center !important;
  display: flex !important;
}
.offering-carousel-wrapper .glide__track--centered .glide__slides {
  justify-content: center !important;
  transform: none !important;
}

.offering-carousel-wrapper .glide__arrows,
.hero-carousel .glide__arrows {
  bottom: 32px;
  right: calc((100vw - 1520px) / 2);
  display: flex;
  align-items: center;
  z-index: 1;
}
@media only screen and (max-width: 1540px) {
  .offering-carousel-wrapper .glide__arrows,
  .hero-carousel .glide__arrows {
    right: 20px;
  }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .offering-carousel-wrapper .glide__arrows,
  .hero-carousel .glide__arrows {
    bottom: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  .offering-carousel-wrapper .glide__arrows,
  .hero-carousel .glide__arrows {
    bottom: 16px;
  }
}
.offering-carousel-wrapper .glide__arrow,
.hero-carousel .glide__arrow {
  text-indent: -9999px;
  white-space: nowrap;
  width: 48px;
  height: 32px;
  display: block;
  background-color: rgba(255, 255, 255, 0.5);
  position: relative;
  cursor: pointer;
  transition: background-color 0.25s ease-in-out;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .offering-carousel-wrapper .glide__arrow,
  .hero-carousel .glide__arrow {
    width: 40px;
    height: 28px;
  }
}
.offering-carousel-wrapper .glide__arrow::before,
.hero-carousel .glide__arrow::before {
  position: absolute;
  right: 7px;
  top: calc(50% - 10px);
  line-height: 20px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "\f002";
  color: var(--clr-black);
  background: var(--clr-black);
  background-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: 20px 20px;
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /></svg>');
  transform: rotate(-90deg);
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .offering-carousel-wrapper .glide__arrow::before,
  .hero-carousel .glide__arrow::before {
    right: 5px;
    top: calc(50% - 8px);
    line-height: 16px;
    width: 16px;
    height: 16px;
    mask-size: 16px 16px;
  }
}
.offering-carousel-wrapper .glide__arrow--right,
.hero-carousel .glide__arrow--right {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
}
.offering-carousel-wrapper .glide__arrow--left,
.hero-carousel .glide__arrow--left {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
}
.offering-carousel-wrapper .glide__arrow--left::before,
.hero-carousel .glide__arrow--left::before {
  right: auto;
  left: 7px;
  transform: rotate(90deg);
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .offering-carousel-wrapper .glide__arrow--left::before,
  .hero-carousel .glide__arrow--left::before {
    left: 5px;
  }
}
@media screen and (max-width: 768px) {
  .offering-carousel-wrapper .glide__arrow--left::before,
  .hero-carousel .glide__arrow--left::before {
    left: 2px;
  }
}
.offering-carousel-wrapper .glide__arrow--disabled,
.hero-carousel .glide__arrow--disabled {
  background-color: rgba(255, 255, 255, 0.5) !important;
  cursor: not-allowed;
}
.offering-carousel-wrapper .glide__arrow--disabled::before,
.hero-carousel .glide__arrow--disabled::before {
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .js-hero-carousel .glide__track {
    max-height: 50vh;
  }
}
.js-hero-carousel .glide__slides {
  height: 100%;
}

.product-offering {
  background-color: var(--block-inner-bg-clr);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: clamp(400px, max-content, 100vh);
  overflow: hidden;
  border-radius: var(--block-border-radius, 0);
}
@media screen and (max-width: 768px) {
  .product-offering {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}
.product-offering__block-link {
  order: var(--order-first, 0);
}
.product-offering__media {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-offering__media img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  border-radius: var(--image-border-radius, 0);
}
.product-offering__content {
  padding: 2.5rem 7.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.product-offering__content h2,
.product-offering__content span {
  color: var(--clr-white);
}
.product-offering__content span {
  margin-bottom: 0.25rem;
}
.product-offering__content h2 {
  font-weight: 900;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1400px) {
  .product-offering__content {
    padding-inline: 5rem;
  }
}
@media screen and (max-width: 1200px) {
  .product-offering__content {
    padding-inline: 4rem;
  }
  .product-offering__content h2 {
    font-weight: 700;
    margin-bottom: 1.75rem;
  }
}
@media screen and (max-width: 992px) {
  .product-offering__content {
    padding-inline: 2rem;
  }
}
.product-offering__subtitle {
  color: var(--clr-white);
  margin-bottom: 3rem;
}
.product-offering__wrapper--dark .product-offering__content h2,
.product-offering__wrapper--dark .product-offering__content span {
  color: var(--black) !important;
}
@media screen and (max-width: 480px) {
  .product-offering h2 {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .product-offering__content {
    min-height: 50vw;
    padding: 1.5rem;
  }
  .product-offering__content .btn {
    margin-bottom: 0.5rem;
  }
}

.form--account-info .form__section {
  display: grid;
  grid-template-columns: 260px 1fr;
}
@media screen and (max-width: 1200px) {
  .form--account-info .form__section {
    grid-template-columns: 1fr;
  }
}
.form--account-info h3 {
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--clr-neutral-400);
  margin-bottom: 1rem;
  line-height: 1.5rem;
}
.form--account-info .form__double-col {
  gap: 1.5rem;
}

.form__requirements li {
  display: flex;
  align-items: center;
  font-style: italic;
  font-size: 0.875rem;
  letter-spacing: 0.025em;
}
.form__requirements i {
  font-style: normal;
  margin-right: 0.5rem;
  font-size: 1.125rem;
}

.password-reset__requirements {
  margin-left: 260px;
}
@media screen and (max-width: 1200px) {
  .password-reset__requirements {
    margin: 0;
  }
}

.password-reset__text {
  grid-column: 1/-1;
  font-size: 0.875rem;
  font-style: italic;
  color: var(--clr-neutral-600);
  margin-bottom: 1rem;
  margin-top: 1.25rem;
}

#my-account__save,
#password-reset__save {
  margin-left: 260px;
  margin-bottom: 6rem;
}

#password-reset__save:disabled {
  background-color: var(--clr-primary-300);
  cursor: not-allowed;
  user-select: none;
}

#password-reset__save,
#my-account__save {
  margin-top: 4rem;
}
@media screen and (max-width: 1200px) {
  #password-reset__save,
  #my-account__save {
    margin: 1rem 0 0;
  }
}

.form__double-col--2-1-split {
  grid-template-columns: 2fr 1fr;
  gap: 20px;
}

.billing-same-as-shipping-label {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
}

.account-sidebar {
  max-width: 30rem;
}

@media screen and (max-width: 1200px) {
  aside.aside-bkg--right {
    grid-column: 1/-1;
  }
  aside.aside-bkg--right::before {
    width: 100vw !important;
    left: -20px !important;
  }
}

.w4d-404 {
  text-align: center;
}
.w4d-404__number {
  font-size: 16rem;
  font-weight: 900;
  background: linear-gradient(#1476CE, #80C2FC);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}
.w4d-404__number--1, .w4d-404__number--2, .w4d-404__number--3 {
  position: absolute;
  font-size: 16rem;
  font-weight: 900;
  line-height: 1;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--clr-neutral-400);
  color: transparent;
  z-index: -1;
}
.w4d-404__number--1 {
  left: -14px;
  bottom: -7px;
}
.w4d-404__number--2 {
  left: 14px;
  bottom: 7px;
}
.w4d-404__number--3 {
  left: -4px;
  bottom: -10px;
}
.w4d-404__number-container {
  display: inline-block;
  position: relative;
  margin-top: 5rem;
  margin-bottom: 2rem;
}
.w4d-404__title {
  color: var(--clr-neutral-800);
  font-size: 3rem;
  margin-bottom: 3rem !important;
}
.w4d-404__return-msg {
  font-size: 1.25rem;
  margin-bottom: 3rem !important;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mx-0 {
  margin-inline: 0 !important;
}

.my-0 {
  margin-block: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.px-0 {
  padding-inline: 0 !important;
}

.py-0 {
  padding-block: 0 !important;
}

.g-0 {
  gap: 0 !important;
}

.m-2 {
  margin: 0.125rem !important;
}

.mb-2 {
  margin-bottom: 0.125rem !important;
}

.mt-2 {
  margin-top: 0.125rem !important;
}

.mr-2 {
  margin-right: 0.125rem !important;
}

.ml-2 {
  margin-left: 0.125rem !important;
}

.mx-2 {
  margin-inline: 0.125rem !important;
}

.my-2 {
  margin-block: 0.125rem !important;
}

.p-2 {
  padding: 0.125rem !important;
}

.pb-2 {
  padding-bottom: 0.125rem !important;
}

.pt-2 {
  padding-top: 0.125rem !important;
}

.pr-2 {
  padding-right: 0.125rem !important;
}

.pl-2 {
  padding-left: 0.125rem !important;
}

.px-2 {
  padding-inline: 0.125rem !important;
}

.py-2 {
  padding-block: 0.125rem !important;
}

.g-2 {
  gap: 0.125rem !important;
}

.m-4 {
  margin: 0.25rem !important;
}

.mb-4 {
  margin-bottom: 0.25rem !important;
}

.mt-4 {
  margin-top: 0.25rem !important;
}

.mr-4 {
  margin-right: 0.25rem !important;
}

.ml-4 {
  margin-left: 0.25rem !important;
}

.mx-4 {
  margin-inline: 0.25rem !important;
}

.my-4 {
  margin-block: 0.25rem !important;
}

.p-4 {
  padding: 0.25rem !important;
}

.pb-4 {
  padding-bottom: 0.25rem !important;
}

.pt-4 {
  padding-top: 0.25rem !important;
}

.pr-4 {
  padding-right: 0.25rem !important;
}

.pl-4 {
  padding-left: 0.25rem !important;
}

.px-4 {
  padding-inline: 0.25rem !important;
}

.py-4 {
  padding-block: 0.25rem !important;
}

.g-4 {
  gap: 0.25rem !important;
}

.m-6 {
  margin: 0.375rem !important;
}

.mb-6 {
  margin-bottom: 0.375rem !important;
}

.mt-6 {
  margin-top: 0.375rem !important;
}

.mr-6 {
  margin-right: 0.375rem !important;
}

.ml-6 {
  margin-left: 0.375rem !important;
}

.mx-6 {
  margin-inline: 0.375rem !important;
}

.my-6 {
  margin-block: 0.375rem !important;
}

.p-6 {
  padding: 0.375rem !important;
}

.pb-6 {
  padding-bottom: 0.375rem !important;
}

.pt-6 {
  padding-top: 0.375rem !important;
}

.pr-6 {
  padding-right: 0.375rem !important;
}

.pl-6 {
  padding-left: 0.375rem !important;
}

.px-6 {
  padding-inline: 0.375rem !important;
}

.py-6 {
  padding-block: 0.375rem !important;
}

.g-6 {
  gap: 0.375rem !important;
}

.m-8 {
  margin: 0.5rem !important;
}

.mb-8 {
  margin-bottom: 0.5rem !important;
}

.mt-8 {
  margin-top: 0.5rem !important;
}

.mr-8 {
  margin-right: 0.5rem !important;
}

.ml-8 {
  margin-left: 0.5rem !important;
}

.mx-8 {
  margin-inline: 0.5rem !important;
}

.my-8 {
  margin-block: 0.5rem !important;
}

.p-8 {
  padding: 0.5rem !important;
}

.pb-8 {
  padding-bottom: 0.5rem !important;
}

.pt-8 {
  padding-top: 0.5rem !important;
}

.pr-8 {
  padding-right: 0.5rem !important;
}

.pl-8 {
  padding-left: 0.5rem !important;
}

.px-8 {
  padding-inline: 0.5rem !important;
}

.py-8 {
  padding-block: 0.5rem !important;
}

.g-8 {
  gap: 0.5rem !important;
}

.m-10 {
  margin: 0.625rem !important;
}

.mb-10 {
  margin-bottom: 0.625rem !important;
}

.mt-10 {
  margin-top: 0.625rem !important;
}

.mr-10 {
  margin-right: 0.625rem !important;
}

.ml-10 {
  margin-left: 0.625rem !important;
}

.mx-10 {
  margin-inline: 0.625rem !important;
}

.my-10 {
  margin-block: 0.625rem !important;
}

.p-10 {
  padding: 0.625rem !important;
}

.pb-10 {
  padding-bottom: 0.625rem !important;
}

.pt-10 {
  padding-top: 0.625rem !important;
}

.pr-10 {
  padding-right: 0.625rem !important;
}

.pl-10 {
  padding-left: 0.625rem !important;
}

.px-10 {
  padding-inline: 0.625rem !important;
}

.py-10 {
  padding-block: 0.625rem !important;
}

.g-10 {
  gap: 0.625rem !important;
}

.m-12 {
  margin: 0.75rem !important;
}

.mb-12 {
  margin-bottom: 0.75rem !important;
}

.mt-12 {
  margin-top: 0.75rem !important;
}

.mr-12 {
  margin-right: 0.75rem !important;
}

.ml-12 {
  margin-left: 0.75rem !important;
}

.mx-12 {
  margin-inline: 0.75rem !important;
}

.my-12 {
  margin-block: 0.75rem !important;
}

.p-12 {
  padding: 0.75rem !important;
}

.pb-12 {
  padding-bottom: 0.75rem !important;
}

.pt-12 {
  padding-top: 0.75rem !important;
}

.pr-12 {
  padding-right: 0.75rem !important;
}

.pl-12 {
  padding-left: 0.75rem !important;
}

.px-12 {
  padding-inline: 0.75rem !important;
}

.py-12 {
  padding-block: 0.75rem !important;
}

.g-12 {
  gap: 0.75rem !important;
}

.m-14 {
  margin: 0.875rem !important;
}

.mb-14 {
  margin-bottom: 0.875rem !important;
}

.mt-14 {
  margin-top: 0.875rem !important;
}

.mr-14 {
  margin-right: 0.875rem !important;
}

.ml-14 {
  margin-left: 0.875rem !important;
}

.mx-14 {
  margin-inline: 0.875rem !important;
}

.my-14 {
  margin-block: 0.875rem !important;
}

.p-14 {
  padding: 0.875rem !important;
}

.pb-14 {
  padding-bottom: 0.875rem !important;
}

.pt-14 {
  padding-top: 0.875rem !important;
}

.pr-14 {
  padding-right: 0.875rem !important;
}

.pl-14 {
  padding-left: 0.875rem !important;
}

.px-14 {
  padding-inline: 0.875rem !important;
}

.py-14 {
  padding-block: 0.875rem !important;
}

.g-14 {
  gap: 0.875rem !important;
}

.m-16 {
  margin: 1rem !important;
}

.mb-16 {
  margin-bottom: 1rem !important;
}

.mt-16 {
  margin-top: 1rem !important;
}

.mr-16 {
  margin-right: 1rem !important;
}

.ml-16 {
  margin-left: 1rem !important;
}

.mx-16 {
  margin-inline: 1rem !important;
}

.my-16 {
  margin-block: 1rem !important;
}

.p-16 {
  padding: 1rem !important;
}

.pb-16 {
  padding-bottom: 1rem !important;
}

.pt-16 {
  padding-top: 1rem !important;
}

.pr-16 {
  padding-right: 1rem !important;
}

.pl-16 {
  padding-left: 1rem !important;
}

.px-16 {
  padding-inline: 1rem !important;
}

.py-16 {
  padding-block: 1rem !important;
}

.g-16 {
  gap: 1rem !important;
}

.m-18 {
  margin: 1.125rem !important;
}

.mb-18 {
  margin-bottom: 1.125rem !important;
}

.mt-18 {
  margin-top: 1.125rem !important;
}

.mr-18 {
  margin-right: 1.125rem !important;
}

.ml-18 {
  margin-left: 1.125rem !important;
}

.mx-18 {
  margin-inline: 1.125rem !important;
}

.my-18 {
  margin-block: 1.125rem !important;
}

.p-18 {
  padding: 1.125rem !important;
}

.pb-18 {
  padding-bottom: 1.125rem !important;
}

.pt-18 {
  padding-top: 1.125rem !important;
}

.pr-18 {
  padding-right: 1.125rem !important;
}

.pl-18 {
  padding-left: 1.125rem !important;
}

.px-18 {
  padding-inline: 1.125rem !important;
}

.py-18 {
  padding-block: 1.125rem !important;
}

.g-18 {
  gap: 1.125rem !important;
}

.m-20 {
  margin: 1.25rem !important;
}

.mb-20 {
  margin-bottom: 1.25rem !important;
}

.mt-20 {
  margin-top: 1.25rem !important;
}

.mr-20 {
  margin-right: 1.25rem !important;
}

.ml-20 {
  margin-left: 1.25rem !important;
}

.mx-20 {
  margin-inline: 1.25rem !important;
}

.my-20 {
  margin-block: 1.25rem !important;
}

.p-20 {
  padding: 1.25rem !important;
}

.pb-20 {
  padding-bottom: 1.25rem !important;
}

.pt-20 {
  padding-top: 1.25rem !important;
}

.pr-20 {
  padding-right: 1.25rem !important;
}

.pl-20 {
  padding-left: 1.25rem !important;
}

.px-20 {
  padding-inline: 1.25rem !important;
}

.py-20 {
  padding-block: 1.25rem !important;
}

.g-20 {
  gap: 1.25rem !important;
}

.m-24 {
  margin: 1.5rem !important;
}

.mb-24 {
  margin-bottom: 1.5rem !important;
}

.mt-24 {
  margin-top: 1.5rem !important;
}

.mr-24 {
  margin-right: 1.5rem !important;
}

.ml-24 {
  margin-left: 1.5rem !important;
}

.mx-24 {
  margin-inline: 1.5rem !important;
}

.my-24 {
  margin-block: 1.5rem !important;
}

.p-24 {
  padding: 1.5rem !important;
}

.pb-24 {
  padding-bottom: 1.5rem !important;
}

.pt-24 {
  padding-top: 1.5rem !important;
}

.pr-24 {
  padding-right: 1.5rem !important;
}

.pl-24 {
  padding-left: 1.5rem !important;
}

.px-24 {
  padding-inline: 1.5rem !important;
}

.py-24 {
  padding-block: 1.5rem !important;
}

.g-24 {
  gap: 1.5rem !important;
}

.m-28 {
  margin: 1.75rem !important;
}

.mb-28 {
  margin-bottom: 1.75rem !important;
}

.mt-28 {
  margin-top: 1.75rem !important;
}

.mr-28 {
  margin-right: 1.75rem !important;
}

.ml-28 {
  margin-left: 1.75rem !important;
}

.mx-28 {
  margin-inline: 1.75rem !important;
}

.my-28 {
  margin-block: 1.75rem !important;
}

.p-28 {
  padding: 1.75rem !important;
}

.pb-28 {
  padding-bottom: 1.75rem !important;
}

.pt-28 {
  padding-top: 1.75rem !important;
}

.pr-28 {
  padding-right: 1.75rem !important;
}

.pl-28 {
  padding-left: 1.75rem !important;
}

.px-28 {
  padding-inline: 1.75rem !important;
}

.py-28 {
  padding-block: 1.75rem !important;
}

.g-28 {
  gap: 1.75rem !important;
}

.m-32 {
  margin: 2rem !important;
}

.mb-32 {
  margin-bottom: 2rem !important;
}

.mt-32 {
  margin-top: 2rem !important;
}

.mr-32 {
  margin-right: 2rem !important;
}

.ml-32 {
  margin-left: 2rem !important;
}

.mx-32 {
  margin-inline: 2rem !important;
}

.my-32 {
  margin-block: 2rem !important;
}

.p-32 {
  padding: 2rem !important;
}

.pb-32 {
  padding-bottom: 2rem !important;
}

.pt-32 {
  padding-top: 2rem !important;
}

.pr-32 {
  padding-right: 2rem !important;
}

.pl-32 {
  padding-left: 2rem !important;
}

.px-32 {
  padding-inline: 2rem !important;
}

.py-32 {
  padding-block: 2rem !important;
}

.g-32 {
  gap: 2rem !important;
}

.m-36 {
  margin: 2.25rem !important;
}

.mb-36 {
  margin-bottom: 2.25rem !important;
}

.mt-36 {
  margin-top: 2.25rem !important;
}

.mr-36 {
  margin-right: 2.25rem !important;
}

.ml-36 {
  margin-left: 2.25rem !important;
}

.mx-36 {
  margin-inline: 2.25rem !important;
}

.my-36 {
  margin-block: 2.25rem !important;
}

.p-36 {
  padding: 2.25rem !important;
}

.pb-36 {
  padding-bottom: 2.25rem !important;
}

.pt-36 {
  padding-top: 2.25rem !important;
}

.pr-36 {
  padding-right: 2.25rem !important;
}

.pl-36 {
  padding-left: 2.25rem !important;
}

.px-36 {
  padding-inline: 2.25rem !important;
}

.py-36 {
  padding-block: 2.25rem !important;
}

.g-36 {
  gap: 2.25rem !important;
}

.m-40 {
  margin: 2.5rem !important;
}

.mb-40 {
  margin-bottom: 2.5rem !important;
}

.mt-40 {
  margin-top: 2.5rem !important;
}

.mr-40 {
  margin-right: 2.5rem !important;
}

.ml-40 {
  margin-left: 2.5rem !important;
}

.mx-40 {
  margin-inline: 2.5rem !important;
}

.my-40 {
  margin-block: 2.5rem !important;
}

.p-40 {
  padding: 2.5rem !important;
}

.pb-40 {
  padding-bottom: 2.5rem !important;
}

.pt-40 {
  padding-top: 2.5rem !important;
}

.pr-40 {
  padding-right: 2.5rem !important;
}

.pl-40 {
  padding-left: 2.5rem !important;
}

.px-40 {
  padding-inline: 2.5rem !important;
}

.py-40 {
  padding-block: 2.5rem !important;
}

.g-40 {
  gap: 2.5rem !important;
}

.m-48 {
  margin: 3rem !important;
}

.mb-48 {
  margin-bottom: 3rem !important;
}

.mt-48 {
  margin-top: 3rem !important;
}

.mr-48 {
  margin-right: 3rem !important;
}

.ml-48 {
  margin-left: 3rem !important;
}

.mx-48 {
  margin-inline: 3rem !important;
}

.my-48 {
  margin-block: 3rem !important;
}

.p-48 {
  padding: 3rem !important;
}

.pb-48 {
  padding-bottom: 3rem !important;
}

.pt-48 {
  padding-top: 3rem !important;
}

.pr-48 {
  padding-right: 3rem !important;
}

.pl-48 {
  padding-left: 3rem !important;
}

.px-48 {
  padding-inline: 3rem !important;
}

.py-48 {
  padding-block: 3rem !important;
}

.g-48 {
  gap: 3rem !important;
}

.m-56 {
  margin: 3.5rem !important;
}

.mb-56 {
  margin-bottom: 3.5rem !important;
}

.mt-56 {
  margin-top: 3.5rem !important;
}

.mr-56 {
  margin-right: 3.5rem !important;
}

.ml-56 {
  margin-left: 3.5rem !important;
}

.mx-56 {
  margin-inline: 3.5rem !important;
}

.my-56 {
  margin-block: 3.5rem !important;
}

.p-56 {
  padding: 3.5rem !important;
}

.pb-56 {
  padding-bottom: 3.5rem !important;
}

.pt-56 {
  padding-top: 3.5rem !important;
}

.pr-56 {
  padding-right: 3.5rem !important;
}

.pl-56 {
  padding-left: 3.5rem !important;
}

.px-56 {
  padding-inline: 3.5rem !important;
}

.py-56 {
  padding-block: 3.5rem !important;
}

.g-56 {
  gap: 3.5rem !important;
}

.m-64 {
  margin: 4rem !important;
}

.mb-64 {
  margin-bottom: 4rem !important;
}

.mt-64 {
  margin-top: 4rem !important;
}

.mr-64 {
  margin-right: 4rem !important;
}

.ml-64 {
  margin-left: 4rem !important;
}

.mx-64 {
  margin-inline: 4rem !important;
}

.my-64 {
  margin-block: 4rem !important;
}

.p-64 {
  padding: 4rem !important;
}

.pb-64 {
  padding-bottom: 4rem !important;
}

.pt-64 {
  padding-top: 4rem !important;
}

.pr-64 {
  padding-right: 4rem !important;
}

.pl-64 {
  padding-left: 4rem !important;
}

.px-64 {
  padding-inline: 4rem !important;
}

.py-64 {
  padding-block: 4rem !important;
}

.g-64 {
  gap: 4rem !important;
}

.m-80 {
  margin: 5rem !important;
}

.mb-80 {
  margin-bottom: 5rem !important;
}

.mt-80 {
  margin-top: 5rem !important;
}

.mr-80 {
  margin-right: 5rem !important;
}

.ml-80 {
  margin-left: 5rem !important;
}

.mx-80 {
  margin-inline: 5rem !important;
}

.my-80 {
  margin-block: 5rem !important;
}

.p-80 {
  padding: 5rem !important;
}

.pb-80 {
  padding-bottom: 5rem !important;
}

.pt-80 {
  padding-top: 5rem !important;
}

.pr-80 {
  padding-right: 5rem !important;
}

.pl-80 {
  padding-left: 5rem !important;
}

.px-80 {
  padding-inline: 5rem !important;
}

.py-80 {
  padding-block: 5rem !important;
}

.g-80 {
  gap: 5rem !important;
}

.m-96 {
  margin: 6rem !important;
}

.mb-96 {
  margin-bottom: 6rem !important;
}

.mt-96 {
  margin-top: 6rem !important;
}

.mr-96 {
  margin-right: 6rem !important;
}

.ml-96 {
  margin-left: 6rem !important;
}

.mx-96 {
  margin-inline: 6rem !important;
}

.my-96 {
  margin-block: 6rem !important;
}

.p-96 {
  padding: 6rem !important;
}

.pb-96 {
  padding-bottom: 6rem !important;
}

.pt-96 {
  padding-top: 6rem !important;
}

.pr-96 {
  padding-right: 6rem !important;
}

.pl-96 {
  padding-left: 6rem !important;
}

.px-96 {
  padding-inline: 6rem !important;
}

.py-96 {
  padding-block: 6rem !important;
}

.g-96 {
  gap: 6rem !important;
}

.m-112 {
  margin: 7rem !important;
}

.mb-112 {
  margin-bottom: 7rem !important;
}

.mt-112 {
  margin-top: 7rem !important;
}

.mr-112 {
  margin-right: 7rem !important;
}

.ml-112 {
  margin-left: 7rem !important;
}

.mx-112 {
  margin-inline: 7rem !important;
}

.my-112 {
  margin-block: 7rem !important;
}

.p-112 {
  padding: 7rem !important;
}

.pb-112 {
  padding-bottom: 7rem !important;
}

.pt-112 {
  padding-top: 7rem !important;
}

.pr-112 {
  padding-right: 7rem !important;
}

.pl-112 {
  padding-left: 7rem !important;
}

.px-112 {
  padding-inline: 7rem !important;
}

.py-112 {
  padding-block: 7rem !important;
}

.g-112 {
  gap: 7rem !important;
}

.m-128 {
  margin: 8rem !important;
}

.mb-128 {
  margin-bottom: 8rem !important;
}

.mt-128 {
  margin-top: 8rem !important;
}

.mr-128 {
  margin-right: 8rem !important;
}

.ml-128 {
  margin-left: 8rem !important;
}

.mx-128 {
  margin-inline: 8rem !important;
}

.my-128 {
  margin-block: 8rem !important;
}

.p-128 {
  padding: 8rem !important;
}

.pb-128 {
  padding-bottom: 8rem !important;
}

.pt-128 {
  padding-top: 8rem !important;
}

.pr-128 {
  padding-right: 8rem !important;
}

.pl-128 {
  padding-left: 8rem !important;
}

.px-128 {
  padding-inline: 8rem !important;
}

.py-128 {
  padding-block: 8rem !important;
}

.g-128 {
  gap: 8rem !important;
}

.ml-auto {
  margin-left: auto;
}

.outline {
  outline: 1px solid;
}

.outline-2 {
  outline: 2px solid currentColor;
}

.fs-50 {
  font-size: 0.625rem;
}

.fs-100 {
  font-size: 0.688rem;
}

.fs-150 {
  font-size: 0.75rem;
}

.fs-200 {
  font-size: 0.875rem;
}

.fs-250 {
  font-size: 0.938rem;
}

.fs-300 {
  font-size: 1rem;
}

.fs-350 {
  font-size: 1.125rem;
}

.fs-400 {
  font-size: 1.25rem;
}

.fs-450 {
  font-size: 1.5rem;
}

.fs-500 {
  font-size: 1.75rem;
}

.fs-550 {
  font-size: 2rem;
}

.fs-600 {
  font-size: 2.25rem;
}

.fs-650 {
  font-size: 2.5rem;
}

.fs-700 {
  font-size: 3rem;
}

.fs-750 {
  font-size: 3.5rem;
}

.fs-800 {
  font-size: 4rem;
}

.fs-850 {
  font-size: 5rem;
}

.fs-900 {
  font-size: 6rem;
}

.fs-950 {
  font-size: 8rem;
}

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.clr-primary-50 {
  color: var(--clr-primary-50) !important;
}

.bg-primary-50 {
  background-color: var(--clr-primary-50) !important;
}

.clr-primary-100 {
  color: var(--clr-primary-100) !important;
}

.bg-primary-100 {
  background-color: var(--clr-primary-100) !important;
}

.clr-primary-200 {
  color: var(--clr-primary-200) !important;
}

.bg-primary-200 {
  background-color: var(--clr-primary-200) !important;
}

.clr-primary-300 {
  color: var(--clr-primary-300) !important;
}

.bg-primary-300 {
  background-color: var(--clr-primary-300) !important;
}

.clr-primary-400 {
  color: var(--clr-primary-400) !important;
}

.bg-primary-400 {
  background-color: var(--clr-primary-400) !important;
}

.clr-primary-500 {
  color: var(--clr-primary-500) !important;
}

.bg-primary-500 {
  background-color: var(--clr-primary-500) !important;
}

.clr-primary-600 {
  color: var(--clr-primary-600) !important;
}

.bg-primary-600 {
  background-color: var(--clr-primary-600) !important;
}

.clr-primary-700 {
  color: var(--clr-primary-700) !important;
}

.bg-primary-700 {
  background-color: var(--clr-primary-700) !important;
}

.clr-primary-800 {
  color: var(--clr-primary-800) !important;
}

.bg-primary-800 {
  background-color: var(--clr-primary-800) !important;
}

.clr-primary-900 {
  color: var(--clr-primary-900) !important;
}

.bg-primary-900 {
  background-color: var(--clr-primary-900) !important;
}

.clr-primary-950 {
  color: var(--clr-primary-950) !important;
}

.bg-primary-950 {
  background-color: var(--clr-primary-950) !important;
}

.clr-neutral-50 {
  color: var(--clr-neutral-50) !important;
}

.bg-neutral-50 {
  background-color: var(--clr-neutral-50) !important;
}

.clr-neutral-100 {
  color: var(--clr-neutral-100) !important;
}

.bg-neutral-100 {
  background-color: var(--clr-neutral-100) !important;
}

.clr-neutral-200 {
  color: var(--clr-neutral-200) !important;
}

.bg-neutral-200 {
  background-color: var(--clr-neutral-200) !important;
}

.clr-neutral-300 {
  color: var(--clr-neutral-300) !important;
}

.bg-neutral-300 {
  background-color: var(--clr-neutral-300) !important;
}

.clr-neutral-400 {
  color: var(--clr-neutral-400) !important;
}

.bg-neutral-400 {
  background-color: var(--clr-neutral-400) !important;
}

.clr-neutral-500 {
  color: var(--clr-neutral-500) !important;
}

.bg-neutral-500 {
  background-color: var(--clr-neutral-500) !important;
}

.clr-neutral-600 {
  color: var(--clr-neutral-600) !important;
}

.bg-neutral-600 {
  background-color: var(--clr-neutral-600) !important;
}

.clr-neutral-700 {
  color: var(--clr-neutral-700) !important;
}

.bg-neutral-700 {
  background-color: var(--clr-neutral-700) !important;
}

.clr-neutral-800 {
  color: var(--clr-neutral-800) !important;
}

.bg-neutral-800 {
  background-color: var(--clr-neutral-800) !important;
}

.clr-neutral-900 {
  color: var(--clr-neutral-900) !important;
}

.bg-neutral-900 {
  background-color: var(--clr-neutral-900) !important;
}

.clr-neutral-950 {
  color: var(--clr-neutral-950) !important;
}

.bg-neutral-950 {
  background-color: var(--clr-neutral-950) !important;
}

.clr-white {
  color: var(--clr-white) !important;
}

.bg-white {
  background-color: var(--clr-white) !important;
}

.clr-black {
  color: var(--clr-black) !important;
}

.bg-black {
  background-color: var(--clr-black) !important;
}

.clr-warning-tint {
  color: var(--clr-warning-tint) !important;
}

.bg-warning-tint {
  background-color: var(--clr-warning-tint) !important;
}

.clr-warning {
  color: var(--clr-warning) !important;
}

.bg-warning {
  background-color: var(--clr-warning) !important;
}

.clr-warning-shade {
  color: var(--clr-warning-shade) !important;
}

.bg-warning-shade {
  background-color: var(--clr-warning-shade) !important;
}

.clr-danger-tint {
  color: var(--clr-danger-tint) !important;
}

.bg-danger-tint {
  background-color: var(--clr-danger-tint) !important;
}

.clr-danger {
  color: var(--clr-danger) !important;
}

.bg-danger {
  background-color: var(--clr-danger) !important;
}

.clr-danger-shade {
  color: var(--clr-danger-shade) !important;
}

.bg-danger-shade {
  background-color: var(--clr-danger-shade) !important;
}

.clr-success-tint {
  color: var(--clr-success-tint) !important;
}

.bg-success-tint {
  background-color: var(--clr-success-tint) !important;
}

.clr-success {
  color: var(--clr-success) !important;
}

.bg-success {
  background-color: var(--clr-success) !important;
}

.clr-success-shade {
  color: var(--clr-success-shade) !important;
}

.bg-success-shade {
  background-color: var(--clr-success-shade) !important;
}

.clr-info-tint {
  color: var(--clr-info-tint) !important;
}

.bg-info-tint {
  background-color: var(--clr-info-tint) !important;
}

.clr-info {
  color: var(--clr-info) !important;
}

.bg-info {
  background-color: var(--clr-info) !important;
}

.clr-info-shade {
  color: var(--clr-info-shade) !important;
}

.bg-info-shade {
  background-color: var(--clr-info-shade) !important;
}

.text-center {
  text-align: center;
}
.text-right {
  text-align: right !important;
}
.text-italic {
  font-style: italic;
}

.bold {
  font-weight: 700;
}

.uppercase {
  text-transform: uppercase;
}

.leading-none {
  line-height: 1;
}

.flex {
  display: flex;
}
.flex-col {
  display: flex;
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-split {
  display: flex;
}
.flex-split > * {
  flex: 1 1 0;
}
.flex-1 {
  flex: 1;
}

@media screen and (max-width: 992px) {
  .md\:flex-col {
    flex-direction: column;
  }
}
.align-items-center {
  align-items: center;
}

.align-flex-start {
  align-items: flex-start !important;
}

.align-flex-end {
  align-items: flex-end;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-center {
  justify-content: center;
}

.justify-content-end {
  justify-content: flex-end;
}

@media screen and (max-width: 992px) {
  .md\:hidden {
    display: none;
  }
}
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.w-fit-content {
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-80 {
  width: 80%;
}

.w-60 {
  width: 60%;
}

.w-50 {
  width: 50%;
}

.w-40 {
  width: 40%;
}

.w-20 {
  width: 20%;
}

.m-w-100 {
  max-width: 100%;
}

.min-vh-60 {
  min-height: 60vh;
}

.section-margin-top {
  margin-top: 6rem;
}
.section-margin-top--sm {
  margin-top: 4rem;
}
.section-margin-bottom {
  margin-bottom: 6rem;
}
.section-margin-bottom--sm {
  margin-bottom: 4rem;
}
.section-padding {
  padding: 6rem 0;
}
.section-padding--sm {
  padding-block: 4rem;
}
@media screen and (max-width: 1400px) {
  .section-margin-top {
    margin-top: 5rem;
  }
  .section-margin-bottom {
    margin-bottom: 5rem;
  }
  .section-padding {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 1200px) {
  .section-margin-top {
    margin-top: 4rem;
  }
  .section-margin-bottom {
    margin-bottom: 4rem;
  }
  .section-padding {
    padding-block: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .section-margin-top {
    margin-top: 3rem;
  }
  .section-margin-top--sm {
    margin-top: 2.5rem;
  }
  .section-margin-bottom {
    margin-bottom: 3rem;
  }
  .section-margin-bottom--sm {
    margin-bottom: 2.5rem;
  }
  .section-padding {
    padding-block: 3rem;
  }
  .section-padding--sm {
    padding-block: 2.5rem;
  }
}

.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
}

.visibility-hidden {
  visibility: hidden;
  opacity: 0;
}

.hidden {
  display: none;
}

.body-alt-bg-clr {
  background-color: var(--body-alt-bg-clr);
}

.body-alt-clr {
  color: var(--body-alt-clr);
}

.d-block {
  display: block !important;
}

.cursor-pointer {
  cursor: pointer;
}

.overflow-hidden {
  overflow: hidden;
}

@media screen and (max-width: 1400px) {
  .pl-xl-48 {
    padding-left: 48px !important;
  }
}
@media screen and (max-width: 1200px) {
  .pl-lg-20 {
    padding-left: 20px !important;
  }
  .pt-lg-40 {
    padding-top: 40px !important;
  }
  .pr-lg-20 {
    padding-right: 20px !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .pl-lg-0 {
    padding-left: 0 !important;
  }
}
@media screen and (max-width: 992px) {
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .pl-md-20 {
    padding-left: 20px !important;
  }
}
@media screen and (max-width: 768px) {
  .mb-sm-10 {
    margin-bottom: 10px !important;
  }
  .mb-sm-20 {
    margin-bottom: 20px !important;
  }
  .mb-sm-35 {
    margin-bottom: 35px !important;
  }
  .mb-sm-50 {
    margin-bottom: 50px !important;
  }
  .pr-sm-0 {
    padding-right: 0 !important;
  }
  .pr-sm-20 {
    padding-right: 20px !important;
  }
  .pl-sm-0 {
    padding-left: 0 !important;
  }
  .pl-sm-20 {
    padding-left: 20px !important;
  }
  .pl-sm-40 {
    padding-left: 40px !important;
  }
  .pb-sm-35 {
    padding-bottom: 35px !important;
  }
  .pt-sm-35 {
    padding-top: 35px !important;
  }
  .pt-sm-40 {
    padding-top: 40px !important;
  }
}
@media screen and (max-width: 576px) {
  .pr-xs-0 {
    padding-right: 0 !important;
  }
  .pl-xs-0 {
    padding-left: 0 !important;
  }
  .pt-xs-0 {
    padding-top: 0 !important;
  }
  .pb-xs-0 {
    padding-bottom: 0 !important;
  }
}
@media screen and (max-width: 576px) {
  .hide-xs {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .order-md-2 {
    order: 2;
  }
}

@media screen and (max-width: 992px) {
  .gap-md-0 {
    gap: 0 !important;
  }
}

@keyframes add-pulse {
  0% {
    transform: scale(0.25);
    opacity: 0;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  16.5% {
    transform: scale(1);
    opacity: 1;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  28% {
    transform: scale(1.25);
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  39.5% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  39.6% {
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  51% {
    transform: scale(1.25);
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  62.5% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  62.6% {
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  74% {
    transform: scale(1.25);
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
    opacity: 1;
  }
  100% {
    transform: scale(0.25);
    opacity: 0;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
}
@keyframes add-cart-pulse {
  0% {
    scale: 1;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  15.38% {
    scale: 1.25;
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  30.77% {
    scale: 1;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  30.87% {
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  46.15% {
    scale: 1.25;
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  61.54% {
    scale: 1;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  61.64% {
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0.7);
  }
  76.92% {
    scale: 1.25;
    box-shadow: 0 0 0 10px rgb(from var(--header-notif-bg-clr) r g b/0);
  }
  100% {
    scale: 1;
    box-shadow: 0 0 0 0 rgb(from var(--header-notif-bg-clr) r g b/0);
  }
}
@keyframes heart-pulse {
  10% {
    scale: 1.25;
  }
  25% {
    scale: 1;
  }
  35% {
    scale: 1.25;
  }
}
@keyframes heart-pulse-sm {
  10% {
    scale: 1.05;
  }
  25% {
    scale: 1;
  }
  35% {
    scale: 1.05;
  }
}
@keyframes pulse-activated {
  0% {
    scale: 1;
  }
  50% {
    scale: 1.5;
  }
  100% {
    scale: 1;
  }
}
@keyframes pulse-fadeout {
  0% {
    background-color: rgb(from var(--clr-danger) r g b/0.05);
    box-shadow: 0 0 0 0 rgb(from var(--clr-danger) r g b/0.05);
  }
  50% {
    background-color: rgb(from var(--clr-danger) r g b/0);
    box-shadow: 0 0 0 64px rgb(from var(--clr-danger) r g b/0);
  }
}
@keyframes chevron-spin-180 {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  10% {
    transform: translateY(-50%) rotate(-45deg);
  }
  20% {
    transform: translateY(-50%) rotate(15deg);
  }
  80% {
    transform: translateY(-50%) rotate(225deg);
  }
  100% {
    transform: translateY(-50%) rotate(180deg);
  }
}
@keyframes z-index-hack {
  0%, 100% {
    z-index: 2;
  }
}
@keyframes subtle-pulse {
  0%, 100% {
    scale: 1;
  }
  50% {
    scale: 1.05;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes bell-shake {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-12deg);
  }
  30% {
    transform: rotate(9deg);
  }
  40% {
    transform: rotate(-6deg);
  }
  50% {
    transform: rotate(4deg);
  }
  60% {
    transform: rotate(-2deg);
  }
  70% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}