/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* ***************************************************** */
/* ***************************************************** */
/* *************** Begin: Global settings ************** */
/* ***************************************************** */
/* ***************************************************** */

/* --------------------------------------------- */
/* ---------- define global variables ---------- */
/* --------------------------------------------- */
:root {
    --bs-body-font-family: "Inter",sans-serif; /* "Open Sans", Helvetica, Arial, sans-serif; */ /* body */
    --secondary-font-family: var(--bs-body-font-family); /* titles */
    --bs-breadcrumb-divider: "›";

    /* Color palette */
    --green-1-rgb: 45, 181, 89;
    --green-1: rgb(45, 181, 89);
    --green-2-rgb: 25, 123, 48;
    --green-2: rgb(25, 123, 48);
    --green-3-rgb: 28, 115, 56; /* main green */
    --green-3: rgb(28, 115, 56);
    --green-4-rgb: 7, 90, 34;
    --green-4: rgb(7, 90, 34);

    --orange-1-rgb: 255, 124, 35; /* main orange */
    --orange-1: rgb(255, 124, 35);
    --orange-2-rgb: 254, 125, 8;
    --orange-2: rgb(254, 125, 8);
    --orange-3-rgb: 229, 77, 38;
    --orange-3: rgb(229, 77, 38);

    /* General colors */
    --bs-primary: var(--green-3);
    --bs-primary-rgb: var(--green-3-rgb);
    --bs-primary-variant-1: var(--green-1);
    --bs-primary-variant-1-rgb: var(--green-1-rgb);
    --bs-primary-variant-2: var(--green-4);
    --bs-primary-variant-2-rgb: var(--green-4-rgb);
    --bs-primary-variant-3: var(--green-3);
    --bs-primary-variant-3-rgb: var(--green-3-rgb);

    --bs-tertiary: var(--orange-1);
    --bs-tertiary-rgb: var(--orange-1-rgb);
    --bs-tertiary-variant-1: var(--orange-2);
    --bs-tertiary-variant-1-rgb: var(--orange-2-rgb);
    --bs-tertiary-variant-2: var(--orange-3);
    --bs-tertiary-variant-2-rgb: var(--orange-3-rgb);

    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-color: rgb(var(--bs-body-color-rgb));

    --bs-link-color-rgb: var(--bs-body-color-rgb);
    --bs-link-color: rgb(var(--bs-link-color-rgb));
    --bs-link-hover-color-rgb: var(--orange-2-rgb);
    --bs-link-hover-color: rgb(var(--bs-link-hover-color-rgb));
    --bs-link-primary-hover-color-rgb: var(--orange-2-rgb);
    --bs-link-primary-hover-color: rgb(var(--bs-link-hover-color-rgb));

    --bs-heading-color: var(--green-1);

    --form-control-focus-border-color: #86b7fe;
    --form-control-focus-box-shadow-rgb: 217, 217, 217;

    --bs-btn-disabled-color: white;
    --bs-btn-disabled-bg: darkgrey;
    --bs-btn-disabled-border-color: darkgrey;

    /* Custom scrollbar */
    --custom-scrollbar-track-background-color: #f1f1f1;
    --custom-scrollbar-thumb-background-color: rgba(var(--bs-tertiary-variant-1-rgb), .25);
    --custom-scrollbar-thumb-hover-background-color: rgba(var(--bs-tertiary-variant-1-rgb), .85);
    --custom-scrollbar-thumb-border-color: var(--custom-scrollbar-thumb-background-color);
    --custom-scrollbar-thumb-hover-border-color: var(--custom-scrollbar-thumb-hover-background-color);
    
    /* Header */
    --sticky-header-height: 0;

    --header-background-color: var(--green-2);
    --header-text-color: var(--bs-white);
    --header-hover-color: var(--bs-black);

    --header-bottom-background-color: linear-gradient(90deg, var(--green-4), var(--green-1));
    --header-nav-background-color: var(--bs-white);
    --header-search-mobile-background-color: var(--header-bottom-background-color);

    /* Footer */
    --footer-background-color: linear-gradient(180deg, var(--green-4), var(--green-2));
    --footer-heading-color: var(--bs-white);
    --footer-text-color: var(--footer-heading-color);
    --footer-hover-color: var(--bs-link-hover-color);
    
    /* Available variables */
    /* --bs-blue:#0d6efd;
    --bs-indigo:#6610f2;
    --bs-purple:#6f42c1;
    --bs-pink:#d63384;
    --bs-red:#dc3545;
    --bs-orange:#fd7e14;
    --bs-yellow:#ffc107;
    --bs-green:#198754;
    --bs-teal:#20c997;
    --bs-cyan:#0dcaf0;
    --bs-black:#000;
    --bs-white:#fff;
    --bs-gray:#6c757d;
    --bs-gray-dark:#343a40;
    --bs-gray-100:#f8f9fa;
    --bs-gray-200:#e9ecef;
    --bs-gray-300:#dee2e6;
    --bs-gray-400:#ced4da;
    --bs-gray-500:#adb5bd;
    --bs-gray-600:#6c757d;
    --bs-gray-700:#495057;
    --bs-gray-800:#343a40;
    --bs-gray-900:#212529;
    --bs-primary:#0d6efd;
    --bs-secondary:#6c757d;
    --bs-success:#198754;
    --bs-info:#0dcaf0;
    --bs-warning:#ffc107;
    --bs-danger:#dc3545;
    --bs-light:#f8f9fa;
    --bs-dark:#212529;
    --bs-primary-rgb:13,110,253;
    --bs-secondary-rgb:108,117,125;
    --bs-success-rgb:25,135,84;
    --bs-info-rgb:13,202,240;
    --bs-warning-rgb:255,193,7;
    --bs-danger-rgb:220,53,69;
    --bs-light-rgb:248,249,250;
    --bs-dark-rgb:33,37,41;
    --bs-primary-text-emphasis:#052c65;
    --bs-secondary-text-emphasis:#2b2f32;
    --bs-success-text-emphasis:#0a3622;
    --bs-info-text-emphasis:#055160;
    --bs-warning-text-emphasis:#664d03;
    --bs-danger-text-emphasis:#58151c;
    --bs-light-text-emphasis:#495057;
    --bs-dark-text-emphasis:#495057;
    --bs-primary-bg-subtle:#cfe2ff;
    --bs-secondary-bg-subtle:#e2e3e5;
    --bs-success-bg-subtle:#d1e7dd;
    --bs-info-bg-subtle:#cff4fc;
    --bs-warning-bg-subtle:#fff3cd;
    --bs-danger-bg-subtle:#f8d7da;
    --bs-light-bg-subtle:#fcfcfd;
    --bs-dark-bg-subtle:#ced4da;
    --bs-primary-border-subtle:#9ec5fe;
    --bs-secondary-border-subtle:#c4c8cb;
    --bs-success-border-subtle:#a3cfbb;
    --bs-info-border-subtle:#9eeaf9;
    --bs-warning-border-subtle:#ffe69c;
    --bs-danger-border-subtle:#f1aeb5;
    --bs-light-border-subtle:#e9ecef;
    --bs-dark-border-subtle:#adb5bd;
    --bs-white-rgb:255,255,255;
    --bs-black-rgb:0,0,0;
    --bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));
    --bs-body-font-size:1rem;
    --bs-body-font-weight:400;
    --bs-body-line-height:1.25;
    --bs-body-bg:#fff;
    --bs-body-bg-rgb:255,255,255;
    --bs-emphasis-color:#000;
    --bs-emphasis-color-rgb:0,0,0;
    --bs-secondary-color:rgba(33,37,41,.75);
    --bs-secondary-color-rgb:33,37,41;
    --bs-secondary-bg:#e9ecef;
    --bs-secondary-bg-rgb:233,236,239;
    --bs-tertiary-color:rgba(33,37,41,.5);
    --bs-tertiary-color-rgb:33,37,41;
    --bs-tertiary-bg:#f8f9fa;
    --bs-tertiary-bg-rgb:248,249,250;
    --bs-heading-color:inherit;
    --bs-link-decoration: underline;
    --bs-code-color:#d63384;
    --bs-highlight-color:#212529;
    --bs-highlight-bg:#fff3cd;
    --bs-border-width:1px;
    --bs-border-style:solid;
    --bs-border-color:#dee2e6;
    --bs-border-color-translucent:rgba(0,0,0,.175);
    --bs-border-radius:8px;
    --bs-border-radius-sm:0.25rem;
    --bs-border-radius-lg:0.5rem;
    --bs-border-radius-xl:1rem;
    --bs-border-radius-xxl:2rem;
    --bs-border-radius-2xl:var(--bs-border-radius-xxl);
    --bs-border-radius-pill:50rem;
    --bs-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);
    --bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0,0,0,.075);
    --bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.175);
    --bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);
    --bs-focus-ring-width:0.25rem;
    --bs-focus-ring-opacity:0.25;
    --bs-focus-ring-color:rgba(13,110,253,.25);
    --bs-form-valid-color:#198754;
    --bs-form-valid-border-color:#198754;
    --bs-form-invalid-color:#dc3545;
    --bs-form-invalid-border-color:#dc3545; */
}
/* --------------------------------------------- */
/* --------------------------------------------- */
/* --------------------------------------------- */

/* ------------------------------------ */
/* ---------- general rules ----------- */
/* ------------------------------------ */
html {
    font-size: 16px; /* -----> 1rem = 16px */
    scroll-padding-top: calc(var(--sticky-header-height, 0) + var(--sticky-treshold, 1rem));
}
@media (max-width: 767.9999px) {
    html {
        font-size: 15px;
    }
}
/* =============================== */
@media (max-width: 991.9999px) {
    .container {
        max-width: initial;
    }
}
@media (min-width: 992px) and (max-width: 1199.9999px) {
    .container {
        width: 95%;
        max-width: 95%;
    }
}
@media (min-width: 1200px) {
    .container {
        width: 90%;
        max-width: 90%;
    }
}
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }
}
/* @media (min-width: 1920px) {
    .container {
        max-width: 1920px;
    }
} */
@media (min-width: 576px) {
    .container--limited-sm {
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    .container--limited-md {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .container--limited-lg {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .container--limited-xl {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container--limited-xxl {
        max-width: 1320px;
    }
}
/* =============================== */
.products.row {
    --bs-gutter-x: 0.75rem;
}
.products.d-grid {
    grid-template-columns: repeat(var(--item-count), minmax(var(--item-width), 1fr));
    --item-max-width: 100%;
}
@media (max-width: 360.9999px) {
    .products {
        --item-count: 1;
    }
}
@media (min-width: 360px) and (max-width: 575.9999px) {
    .products {
        --item-count: 2;
    }
}
@media (min-width: 576px) and (max-width: 767.9999px) {
    .products {
        --item-count: 3;
    }
}
@media (min-width: 768px) and (max-width: 991.9999px) {
    .products {
        --item-count: 2;
    }
    .layout-full-width .products {
        --item-count: 4;
    }
}
@media (min-width: 992px) and (max-width: 1199.9999px) {
    .products {
        --item-count: 3;
    }
    .layout-full-width .products {
        --item-count: 4;
    }
}
@media (min-width: 1200px) {
    .products.row {
        --bs-gutter-x: 0.75rem;
    }
    .products {
        --item-count: 4;
    }
    .layout-full-width .products {
        --item-count: 5;
    }
}
/* ************* optional ************** */
@media (min-width: 1400px) {
    .products {
        --item-count: 4;
    }
    .layout-full-width .products {
        --item-count: 5;
    }
}
@media (min-width: 1600px) {
    .layout-full-width .products {
        --item-count: 5;
    }
}
@media (min-width: 1700px) {
    .products {
        --item-count: 4;
    }
}
.products {
    --item-width: calc(100% / var(--item-count, 1));
    --item-max-width: var(--item-width);
}
.product-miniature {
    flex: 0 0 var(--item-width, 100%);
    max-width: var(--item-max-width, 100%);
    width: auto;
}
/* =============================== */
.btn {
    --btn-disabled-color: inherit;
    --btn-disabled-bg: inherit;
    --btn-disabled-border-color: inherit;
    --bs-btn-border-radius: 40px;
}
.btn-primary {
    /* --bs-btn-color: #fff; */
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    /* --bs-btn-hover-color: #fff; */
    --bs-btn-hover-bg: var(--bs-primary-variant-1);
    --bs-btn-hover-border-color: var(--bs-primary-variant-1);
    /* --bs-btn-focus-shadow-rgb: 49, 132, 253; */
    /* --bs-btn-active-color: #fff; */
    --bs-btn-active-bg: var(--bs-primary-variant-2);
    --bs-btn-active-border-color: var(--bs-primary-variant-2);
    /* --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); */
    /* --bs-btn-disabled-color: #fff; */
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    /* --bs-btn-hover-color: #fff; */
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    /* --bs-btn-focus-shadow-rgb: 13, 110, 253; */
    /* --bs-btn-active-color: #fff; */
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    /* --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); */
    --bs-btn-disabled-color: var(--bs-primary);
    /* --bs-btn-disabled-bg: transparent; */
    --bs-btn-disabled-border-color: var(--bs-primary);
    /* --bs-gradient: none; */
}
.btn-tertiary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-tertiary);
    --bs-btn-border-color: var(--bs-tertiary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-tertiary-variant-1);
    --bs-btn-hover-border-color: var(--bs-tertiary-variant-2);
    /* --bs-btn-focus-shadow-rgb: 49, 132, 253; */
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-tertiary-variant-2);
    --bs-btn-active-border-color: var(--bs-tertiary-variant-2);
    /* --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); */
    /* --bs-btn-disabled-color: #fff; */
    --bs-btn-disabled-bg: var(--bs-tertiary);
    --bs-btn-disabled-border-color: var(--bs-tertiary);
}
.btn-outline-tertiary {
    --bs-btn-color: var(--bs-tertiary);
    --bs-btn-border-color: var(--bs-tertiary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-tertiary);
    --bs-btn-hover-border-color: var(--bs-tertiary);
    /* --bs-btn-focus-shadow-rgb: 13, 110, 253; */
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-tertiary);
    --bs-btn-active-border-color: var(--bs-tertiary);
    /* --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); */
    --bs-btn-disabled-color: var(--bs-tertiary);
    /* --bs-btn-disabled-bg: transparent; */
    --bs-btn-disabled-border-color: var(--bs-tertiary);
    /* --bs-gradient: none; */
}
.btn-primary-tertiary {
    --bs-btn-hover-bg: var(--bs-tertiary-variant-1);
    --bs-btn-hover-border-color: var(--bs-tertiary-variant-2);
    --bs-btn-active-bg: var(--bs-tertiary-variant-2);
    --bs-btn-active-border-color: var(--bs-tertiary-variant-2);
}
.btn-outline-primary-tertiary {
    --bs-btn-hover-bg: var(--bs-tertiary);
    --bs-btn-hover-border-color: var(--bs-tertiary);
    --bs-btn-active-bg: var(--bs-tertiary);
    --bs-btn-active-border-color: var(--bs-tertiary);
}
.btn-tertiary-primary {
    --bs-btn-hover-bg: var(--bs-primary-variant-1);
    --bs-btn-hover-border-color: var(--bs-primary-variant-2);
    --bs-btn-active-bg: var(--bs-primary-variant-2);
    --bs-btn-active-border-color: var(--bs-primary-variant-2);
}
.btn-outline-tertiary-primary {
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}
.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    filter: grayscale(.75);
}
/* =============================== */
.link-primary:focus,
.link-primary:hover {
    color: rgba(var(--bs-link-primary-hover-color-rgb),var(--bs-link-opacity,1))!important;
    text-decoration-color: rgba(var(--bs-link-primary-hover-color-rgb), var(--bs-link-underline-opacity,1))!important
}
/* =============================== */
.bg-primary-variant-1 {
    background-color: rgba(var(--bs-primary-variant-1-rgb), 1);
}
.bg-tertiary {
    background-color: rgba(var(--bs-tertiary-rgb), 1);
}
/* =============================== */
@media (min-width: 1200px) {
    .h1,h1 {
        font-size: 1.9rem;
    }
    .h2,h2 {
        font-size: 1.75rem;
    }
    .h3,h3 {
        font-size: 1.6rem;
    }
    .h4,h4 {
        font-size: 1.45rem;
    }
    .h5,h5 {
        font-size: 1.3rem;
    }
    .h6,h6 {
        font-size: 1.15rem;
    }
}
/* =============================== */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6,
.section-title {
    font-family: var(--secondary-font-family);
    color: var(--bs-heading-color);
}
.section-title {
    color: var(--bs-primary-variant-3);
}
/* =============================== */
.rich-text :is(.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6) {
    color: var(--orange-1);
    font-weight: 600;
}
.rich-text :is(.h1, h1) {
    font-size: 1.75rem;
}
.rich-text :is(.h2, h2) {
    font-size: 1.6rem;
}
.rich-text :is(.h3, h3) {
    font-size: 1.45rem;
}
.rich-text :is(.h4, h4) {
    font-size: 1.3rem;
}
.rich-text :is(.h5, h5) {
    font-size: 1.15rem;
}
.rich-text :is(.h6, h6) {
    font-size: 1rem;
}
/* ------------------------------- */
.rich-text a:not(.btn) {
    text-decoration: underline;
    display: inline-block;
}
.rich-text a:not(.btn):hover {
    text-decoration: initial;
}
.rich-text :is(p, ul) {
    font-size: inherit;
}
.rich-text p:last-child {
    margin-bottom: 0;
}
.rich-text :is(li:empty, p:empty) {
    display: none;
}
.rich-text:has(table):not(:has(.table-responsive)) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/* =============================== */
/* *** table styles *** */
.table thead th {
    border-bottom-width: 2px;
}
.table .thead-light th {
    color: #495057;
    background-color: #e9ecef;
    border-color: #dee2e6;
}
/* =============================== */
img {
    max-width: 100%;
    height: auto;
    display: block;

    font-size: 0;
}
/* =============================== */
.card {
    --bs-card-border-radius: 10px;
    box-shadow: var(--bs-card-box-shadow);
    --bs-card-border-width: 1px;
}
.card-shadow {
    --bs-card-box-shadow: 0 1px 5px -1px rgba(0, 0, 0, 0.13);
}
@media (max-width: 767.9999px) {
    .card {
        --bs-card-spacer-y: 0.813rem;
        --bs-card-spacer-x: 0.813rem;
    }
}
.card-body > .row {
    --bs-gutter-x: calc(var(--bs-card-spacer-x) * 2);
}
.card:has(>.card-body>:only-child:empty) {
    display: none;
}
/* =============================== */
.collapse, .collapsing { /* prevent content jump during collapse */
    padding-block: 0 !important;
}
/* =============================== */
.form-group, .input-group, .form-control, .form-select  {
    --bs-border-radius: 1.25rem;
}
.form-label {
    font-size: 0.875rem;
    color: var(--bs-gray-600);
    font-weight: 700;
}
.form-control::placeholder,
.form-select::placeholder {
    color: var(--bs-gray-500);
    font-weight: inherit;
}
.form-control:-moz-placeholder,
.form-select:-moz-placeholder {
    color: var(--bs-gray-500);
    font-weight: inherit;
}
.form-control::-moz-placeholder,
.form-select::-moz-placeholder {
    color: var(--bs-gray-500);
    font-weight: inherit;
}
.form-control:-ms-input-placeholder,
.form-select:-ms-input-placeholder {
    color: var(--bs-gray-500);
    font-weight: inherit;
}
.form-control::-webkit-input-placeholder,
.form-select::-webkit-input-placeholder {
    color: var(--bs-gray-500);
    font-weight: inherit;
}
.form-control,
.form-select {
    font-size: 16px; /* fix: do not zoom on input focus on iOS */
    border-radius: var(--bs-border-radius);
    padding: .5rem 1rem;
}
.input-group .btn {
    border-radius: var(--bs-border-radius);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--form-control-focus-border-color);
    box-shadow: 0 0 0 .25rem rgba(var(--form-control-focus-box-shadow-rgb), .25);
}
.form-check :is(input[type="radio"], input[type="checkbox"], label) {
    cursor: pointer;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}
/* =============================== */
.dropdown-menu {
    overflow: hidden;
    --bs-dropdown-padding-y: 0;
    box-shadow: var(--bs-dropdown-box-shadow);
    --bs-dropdown-font-size: inherit;
}
.dropdown-divider {
    margin-top: 0;
}
.dropdown-divider ~ .dropdown-divider {
    margin-bottom: 0;
    margin-top: var(--bs-dropdown-divider-margin-y);
}
.dropdown-item:focus, .dropdown-item:hover {
    --bs-dropdown-link-hover-bg: rgba(var(--bs-link-hover-color-rgb), .05);
    --bs-dropdown-link-hover-color: var(--bs-link-hover-color);
}
/* =============================== */
.popover {
    --bs-popover-header-font-size: .875rem;
    --bs-border-width: 1px;
    --bs-popover-min-width: var(--bs-popover-max-width);
    --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .35);
    min-width: var(--bs-popover-min-width);
    box-shadow: var(--bs-popover-box-shadow);
    cursor: initial;
    position: absolute;
}
/* =============================== */
.pagination {
    --bs-pagination-active-bg: var(--bs-secondary-bg);
    --bs-pagination-active-color: var(--bs-secondary-color);
    --bs-pagination-active-border-color: var(--bs-secondary-bg);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgb(var(--bs-secondary-bg-rgb) / 25%);
    --bs-pagination-hover-bg: #fefefe;
}
.page-link.disabled,
.page-item.disabled > .page-link {
    --bs-pagination-disabled-color: rgba(var(--bs-secondary-color-rgb), .35);
    background-color: var(--bs-pagination-bg);
}
.active > .page-link.disabled {
    background-color: var(--bs-pagination-active-bg);
    border-color: var(--bs-pagination-active-border-color);
    color: var(--bs-pagination-active-color);
}
.pagination-number, .products-selection {
    font-size: 0.875rem;
}
.pagination-number {
    color: var(--bs-gray-700);
}
.products-filter .btn, .products-sort-order, .products-sort-order .btn {
    font-size: inherit;
}
/* =============================== */
.sitemap ul li a {
    color: var(--bs-link-color);
}
.sitemap ul li a:hover {
    color: var(--bs-link-hover-color);
}
/* =============================== */
.quantity-button input {
    z-index: 3;
}
.quantity-button button {
    --bs-btn-hover-border-color: #8c8e91;
}
/* ==================================== */
/* ---------- carousel stuff ---------- */
.carousel {
    --carousel-navigation-size: 3rem;
    --carousel-navigation-sides-offset: 10px;
    --carousel-navigation-color: var(--bs-black);
    --carousel-navigation-hover-color: var(--bs-white-rgb);
    --carousel-navigation-border-width: 1px;
    --carousel-navigation-border-color: var(--bs-tertiary);
    --carousel-navigation-bg-rgb: var(--bs-white-rgb);
    --carousel-navigation-bg-opacity: .65;
    --carousel-navigation-hover-bg-rgb: var(--bs-tertiary-variant-1-rgb);
    --carousel-navigation-hover-bg-opacity: 1;

    --carousel-indicator-bg: var(--bs-primary);
    --carousel-indicator-hover-bg: var(--bs-primary-variant-3);
    --slider-indicator-bg: var(--carousel-indicator-bg);
    --slider-indicator-hover-bg: var(--carousel-indicator-hover-bg);
}
.carousel .carousel-control-next,
.carousel .carousel-control-prev {
    opacity: 1;
    height: var(--carousel-navigation-size);
    width: var(--carousel-navigation-size);
    color: var(--carousel-navigation-color);
    background-color: rgba(var(--carousel-navigation-bg-rgb), var(--carousel-navigation-bg-opacity));
    border: var(--carousel-navigation-border-width) solid var(--carousel-navigation-border-color);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, left .3s ease, right .3s ease;
}
.carousel .carousel-control-prev {
    left: var(--carousel-navigation-sides-offset, 10px);
    right: auto;
}
.carousel .carousel-control-next {
    right: var(--carousel-navigation-sides-offset, 10px);
    left: auto;
}
.carousel .carousel-control-next:hover,
.carousel .carousel-control-prev:hover {
    color: var(--carousel-navigation-hover-color);
    background-color: rgba(var(--carousel-navigation-hover-bg-rgb), var(--carousel-navigation-hover-bg-opacity));
}
.carousel .carousel-control-next:hover .carousel-control-next-icon,
.carousel .carousel-control-prev:hover .carousel-control-prev-icon {
    filter: brightness(100);
}
@media (pointer: fine) {
    .carousel.buttons-on-hover:not(:hover) {
        --carousel-navigation-sides-offset: calc(var(--carousel-navigation-size) * -1 - 2px);
    }
    /* .carousel.buttons-on-hover .swiper-button-prev {
        -webkit-transition: left .3s ease;
        transition: left .3s ease;
    }
    .carousel.buttons-on-hover .swiper-button-next {
        -webkit-transition: right .3s ease;
        transition: right .3s ease;
    } */
}

.carousel-indicators {
    gap: 0.25rem;
    margin-bottom: 0.75rem;
}
/* =============================== */
/* ------------------------------------ */
/* ---------- custom classes ---------- */
/* ------------------------------------ */

.text-tertiary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-tertiary-rgb), var(--bs-text-opacity)) !important;
}
.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;
}
/* =============================== */
.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important;
}
.fs-2 {
    font-size: calc(1.325rem + .9vw) !important;
}
.fs-3 {
    font-size: calc(1.3rem + .6vw) !important;
}
.fs-4 {
    font-size: calc(1.275rem + .3vw) !important;
}
.fs-5 {
    font-size: 1.25rem !important;
}
.fs-6 {
    font-size: 1rem !important;
}
.fs-7 {
    font-size: 0.938rem !important;
}
.fs-8 {
    font-size: 0.875rem !important;
}
.fs-9 {
    font-size: 0.813rem !important;
}
.fs-10 {
    font-size: 0.75rem !important;
}
.fs-11 {
    font-size: 0.688rem !important;
}
.fs-12 {
    font-size: 0.625rem !important;
}
@media (min-width: 1200px) {
    .fs-1 {
        font-size: 2.5rem !important;
    }
    .fs-2 {
        font-size: 2rem !important;
    }
    .fs-3 {
        font-size: 1.75rem !important;
    }
    .fs-4 {
        font-size: 1.5rem !important;
    }
}
.fs-inherit {
    font-size: inherit !important;
}
/* =============================== */
.line-height-0 {
    line-height: 0;
}
.line-height-1 {
    line-height: 1;
}
.line-height-1-5 {
    line-height: 1.5;
}
.line-height-initial {
    line-height: initial;
}
.line-clamp {
    display: -webkit-box;
    -webkit-line-clamp: var(--line-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 2px 0;
}
/* =============================== */
.color-inherit {
    color: inherit;
}
/* =============================== */
.text-decoration-underline-hover:hover {
    text-decoration: underline;
}
/* =============================== */
.cursor-pointer {
    cursor: pointer;
}
.dragging {
    cursor: grab;
}
/* =============================== */
.no-gutters {
    margin-right: 0;
    margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}
/* =============================== */
.m-2-5 {
    margin: .75rem !important;
}
.mt-2-5, .my-2-5 {
    margin-top: .75rem !important;
}
.mb-2-5, .my-2-5 {
    margin-bottom: .75rem !important;
}
.me-2-5, .mx-2-5 {
    margin-right: .75rem !important;
}
.ms-2-5, .mx-2-5 {
    margin-left: .75rem !important;
}
/* ------------------------------------ */
.p-2-5 {
    padding: .75rem !important;
}
.pt-2-5, .py-2-5 {
    padding-top: .75rem !important;
}
.pb-2-5, .py-2-5 {
    padding-bottom: .75rem !important;
}
.pe-2-5, .px-2-5 {
    padding-right: .75rem !important;
}
.ps-2-5, .px-2-5 {
    padding-left: .75rem !important;
}
/* ------------------------------------ */
.row-gap-2-5 {
    row-gap: .75rem!important;
}
.g-2-5, .gx-2-5 {
    --bs-gutter-x: 0.75rem;
}
/* =============================== */
.d--none {
    display: none;
}
@media (min-width: 768px) {
    *[id^="_mobile_"]:empty {
        display: none !important;
    }
    .visible--mobile {
        display: none;
    }
}
@media (max-width: 767.9999px) {
    .visible--desktop {
        display: none;
    }
    *[id^="_desktop_"]:empty {
        display: none !important;
    }
}
/* =============================== */
.inset-0 {
    inset: 0;
}
.position-initial {
    position: initial !important;
}
.start-initial {
    left: initial;
}
@media (min-width: 992px) {
    .position-lg-relative {
        position: relative;
    }
}
/* =============================== */
.overflow-initial {
    overflow: initial !important;
}
/* =============================== */
#wrapper .sticky-top {
    position: sticky;
    top: calc(var(--sticky-header-height, 0) + var(--sticky-treshold, 1rem));
    z-index: initial;
}
/* =============================== */
.aspect-ratio-1x1 {
    aspect-ratio: 1/1;
}
.aspect-ratio {
    aspect-ratio: var(--aspect-ratio);
}
/* =============================== */
.min-height-unset {
    min-height: unset;
}
/* =============================== */
@media (min-width: 768px) {
    .border-bottom-md-0 {
        border-bottom: 0 !important;
    }
    .border-bottom-md-1 {
        border-bottom: 1px !important;
    }
}
@media (max-width: 767.9999px) {
    .border-bottom-md-down-0 {
        border-bottom: 0 !important;
    }
}
/* =============================== */
.svg-icon {
    display: inline-block;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    flex-shrink: 0;
    max-width: 100%;
    max-height: 100%;
    /* optional - size based on font size */
    /* width: 1em;
    height: 1em; */
}
/* =============================== */
/* custom img effects */
.img-hover-effect img {
    transition: all 0.7s ease;
}
.img-hover-effect img:hover {
    filter: contrast(1.25);
}
/* --------------------------------- */
.img-zoom-effect img {
    transition: all 0.7s ease;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.img-zoom-effect img:hover {
    -webkit-transform: scale(1.12);
    transform: scale(1.12);
}
.img-zoom-effect:has(>img),
.img-zoom-effect :has(>img) {
    display: block;
    overflow: hidden;
}
/* =============================== */
.zoom-effect {
    transition: all 0.3s ease;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.zoom-effect:hover {
    -webkit-transform: scale(1.35);
    transform: scale(1.35);
}
/* =============================== */
.grid-auto-columns {
    grid-template-columns: repeat(auto-fill, minmax(min(max(var(--column-preferred-width, 100%), var(--column-min-width, 50px)), 100%), 1fr));
}
:has(>.grid-auto-columns-ultimate) {
    container-type: inline-size;
}
.grid-auto-columns-ultimate {
    --column-min-width: 175px;
    --column-max-width: calc(calc(var(--column-min-width) * 2) - 1px); /* 2 ---> double as min width*/
    /* --column-preferred-width: var(--item-width); */
    /* --column-preferred-width: calc(var(--column-max-width) * 0.6); */

    /* preferred = calc([slope] * 100vw + [intercept]) */
    /* slope = (maxSize - minSize) / (maxWidth - minWidth) * 100 */
    /* intercept = minSize - slope * (minWidth / 100) */

    --container-max-width: 1900px;
    --container-min-width: calc(var(--column-min-width) * 2);
    --column-ideal-width: calc(var(--column-max-width) * 0.75);
    --column-slope-top: calc(var(--column-ideal-width) - var(--column-min-width));
    --column-slope-bottom: calc(var(--container-max-width) - var(--container-min-width));
    --column-slope: calc(var(--column-slope-top) / var(--column-slope-bottom) * 100);

    --itercept: calc(var(--column-min-width) - calc(var(--column-slope) * var(--container-min-width) / 100));
    --column-preferred-width-calculated: calc(var(--column-slope) * 1cqw + var(--itercept));
    --column-preferred-width: var(--item-width, var(--column-preferred-width-calculated));

    grid-template-columns: repeat(auto-fill, minmax(clamp(var(--column-min-width), var(--column-preferred-width), var(--column-max-width)), 1fr));

    --target-floor-number: calc(100cqw / (clamp(var(--column-min-width), var(--column-preferred-width), var(--column-max-width))));
    /* Chrome + Edge + Opera only */ /* ===> Firefox rejects calc(<length> / <length>), so it refuses to compute your value therefore the --target-floor-number cannot be calculated */
}
.grid-equal-rows {
    grid-auto-rows: 1fr; /* Makes all rows the same height */
}
.grid-overflow-x {
    /* --target-floor-number: 0; */
    /*
        --floor: true floor of --target-floor-number
        Works for integers and decimals.
        Adds a tiny epsilon (0.00001) to ensure integers count correctly.
        Uses clamp(0, …, 1) with a large multiplier (9999) for full step.
    */
    --floor: max(1, calc(
        clamp(0, (var(--target-floor-number) - 0 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 1 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 2 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 3 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 4 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 5 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 6 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 7 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 8 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 9 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 10 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 11 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 12 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 13 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 14 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 15 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 16 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 17 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 18 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 19 + 0.00001) * 99999, 1) +
        clamp(0, (var(--target-floor-number) - 20 + 0.00001) * 99999, 1)
        - 1
    ));

    --grid-item-count-calculated: var(--floor);
    --grid-item-count: var(--item-count, var(--grid-item-count-calculated));
    --grid-item-width-calculated: calc(100% / var(--grid-item-count, 1));
    --grid-item-width: var(--item-width, var(--grid-item-width-calculated));
    overflow-x: auto;
    grid-auto-flow: column;
    grid-auto-columns: calc(var(--grid-item-width) - var(--scroll-hint-offset, 0px));
    grid-template-columns: unset !important;
    /* If --total-items > --item-count, return 0; else, return 1; */
    --is-scrollbar-visible: clamp(0, calc((var(--total-items) - var(--grid-item-count)) * var(--grid-item-count)), 1);
}
.grid-scroll-hint {
    /* Show a partial next item to visually hint that the section is scrollable, 
    but only when the total number of items exceeds the visible ones without trimming widths */

    /* if A > B then C else D ===> clamp(D, calc((A - B) * largeNumber), C) */
    /* If --item-count > --total-items, return 0; else, return --item-count */
    /* --overflow-item-cut: clamp(0, calc((var(--total-items) - var(--item-count)) * var(--item-count)), var(--item-count)); */
    
    /* Conditionally cut from each item to visually hint horizontal scroll */
    /* (show part of the next item by trimming each item) */
    --should-show-scroll-hint: var(--is-scrollbar-visible);
    
    /* How much to trim from each item to hint scrolling */
    /* --scroll-hint-width: 20px; */
    --scroll-hint-width-treshold: 5%;
    --scroll-hint-width: calc((var(--bs-gutter-x) / 2 + var(--scroll-hint-width-treshold)) / var(--grid-item-count));
    
    /* Effective cut per item, only applied if scroll hint is needed */
    --scroll-hint-offset: calc(var(--should-show-scroll-hint) * var(--scroll-hint-width));
}
/* =============================== */
.decorated-list li > :first-child {
    position: relative;
    padding-left: 16px;
}
.decorated-list li > :first-child:before {
    content: "›";
    position: absolute;
    left: 0;
    transition: left 0.3s ease-in-out;
}
.decorated-list li > :first-child:hover:before {
    left: 4px;
}
/* =============================== */
.description-container {
    font-size: 0.9375rem;
}
/* =============================== */
/* *** custom scrollbar *** */
/* Styles for desktop or precise input devices */
@media (pointer: fine) {
    .custom-scrollbar,
    .custom-scrollbar-container {
        --custom-scrollbar-width: 6px;
        --custom-scrollbar-height: 6px;
        --custom-scrollbar-track-background-color: inherit;
        --custom-scrollbar-track-border-radius: 10px;
        --custom-scrollbar-thumb-background-color: inherit;
        --custom-scrollbar-thumb-border-radius: 10px;
        --custom-scrollbar-thumb-hover-background-color: inherit;
        --custom-scrollbar-thumb-border-width: 0;
        --custom-scrollbar-thumb-border-color: inherit;
        --custom-scrollbar-thumb-hover-border-color: inherit;
    }
    [class*=overflow-]:not(.overflow-hidden, .overflow-y-hidden, .overflow-initial, [class*=overflow-x]),
    .custom-scrollbar-container.overflow-y-auto {
        padding-right: var(--custom-scrollbar-width);
    }
    [class*=overflow-]:not(.overflow-hidden, .overflow-x-hidden, .overflow-initial, [class*=overflow-y]),
    .custom-scrollbar-container.overflow-x-auto {
        /* padding-bottom: var(--custom-scrollbar-height); */
        padding-bottom: calc((1 - var(--is-scrollbar-visible, 1)) * var(--custom-scrollbar-height))
    }
    /* Customize the entire scrollbar */
    .custom-scrollbar ::-webkit-scrollbar,
    .custom-scrollbar-container::-webkit-scrollbar {
        width: var(--custom-scrollbar-width);  /* Vertical scrollbar width */
        height: var(--custom-scrollbar-height); /* Horizontal scrollbar height */
    }
    /* Customize the scrollbar track (background area) */
    .custom-scrollbar ::-webkit-scrollbar-track,
    .custom-scrollbar-container::-webkit-scrollbar-track {
        background-color: var(--custom-scrollbar-track-background-color);
        border-radius: var(--custom-scrollbar-track-border-radius);
    }
    /* Customize the scrollbar thumb (draggable part) */
    .custom-scrollbar ::-webkit-scrollbar-thumb,
    .custom-scrollbar-container::-webkit-scrollbar-thumb {
        background-color: var(--custom-scrollbar-thumb-background-color);
        border-radius: var(--custom-scrollbar-thumb-border-radius);
        border: var(--custom-scrollbar-thumb-border-width) solid var(--custom-scrollbar-thumb-border-color);
    }
    /* Customize the scrollbar thumb when hovered */
    .custom-scrollbar :has(>[class*=overflow-]:not(.overflow-hidden, .overflow-x-hidden, .overflow-y-hidden, .overflow-initial,)):hover ::-webkit-scrollbar-thumb,
    .custom-scrollbar ::-webkit-scrollbar-thumb:hover,
    :has(>.custom-scrollbar-container):hover ::-webkit-scrollbar-thumb {
        background-color: var(--custom-scrollbar-thumb-hover-background-color);
        border-color: var(--custom-scrollbar-thumb-hover-border-color);
    }
    /* Optional: Style the scrollbar buttons (usually at ends) */
    .custom-scrollbar ::-webkit-scrollbar-button,
    .custom-scrollbar-container::-webkit-scrollbar-button {
        display: none;
    }
}
/* ------------------------------------ */
/* ----------- custom stuff ----------- */
/* ------------------------------------ */
/* CSS for touch devices: */
/* @media (pointer: coarse) {} */
/* Truly touch-only device: */
/* @media (pointer: coarse) and (hover: none) {} */
/* Styles for desktop or precise input devices */
/* @media (pointer: fine) {} */

#content-wrapper .page-header {
    --bs-heading-color: var(--bs-body-color);
}
.text-underline-decoration {
    color: var(--bs-gray-700);
    /* padding-bottom: 7px; */
    --border-bottom-width: 3px;
    border-bottom: var(--border-bottom-width) solid #f4f5f6;
    /* text-decoration: underline;
    text-underline-offset: 11px;
    text-decoration-color: var(--bs-primary-variant-3);
    text-decoration-thickness: 2px; */
    margin-bottom: 1.5rem;
}
.text-underline-decoration .section-title-text {
    padding-bottom: 7px;
    position: relative;
    display: inline-block;
}
.text-underline-decoration .section-title-text:after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: calc(var(--border-bottom-width) * (-1));
    left: 0;
    width: 100%;
    height: var(--border-bottom-width);
    background: var(--bs-primary-variant-3);
}
.rich-text :is(.h4, h4) {
    color: var(--green-2);
}
.text-warning {
    color: var(--bs-orange) !important;
}

.bg-primary-gradient {
    background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)), rgba(var(--bs-primary-variant-1-rgb), var(--bs-bg-opacity))) !important;
}
/* ***************************************************** */
/* ***************************************************** */
/* **************** End: Global settings *************** */
/* ***************************************************** */
/* ***************************************************** */



/* ***************************************************** */
/* **************** Begin: Header settings ************* */
/* ***************************************************** */
.header {
    --header-bg: var(--header-background-color);
    --header-color: var(--header-text-color);
    --header-top-color: var(--header-color);
    --header-hover-color: inherit;

    --header-banner-background-color: unset;
    --header-top-background-color: unset;
    --header-bottom-background-color: inherit; /* unset; */
    --header-nav-background-color: inherit; /* unset; */
    --header-search-mobile-background-color: inherit; /* unset; */

    --bs-border-color: var(--bs-gray-200); /* var(--header-text-color); */
    --bs-border-width: 0;

    color: var(--header-color);
}
/* =============================== */
.header__banner {
    background: var(--header-banner-background-color);
}
.header-top {
    background: var(--header-top-background-color);
    --header-top-border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
.header-top .container {
    padding-left: calc(var(--bs-gutter-x) * .5);
    padding-right: calc(var(--bs-gutter-x) * .5);
}
.header-bottom {
    background: var(--header-bottom-background-color);
    --header-bottom-border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}
.header-nav {
    --bs-border-color: var(--header-text-color);
    background: var(--header-nav-background-color);
}
#mobile-search__container {
    background: var(--header-search-mobile-background-color);
}
/* =============================== */
.header-block {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-block__action-btn {
    --header-block-spacing-x: 0.75rem;
    --header-block-spacing-y: 0.75rem;
    gap: 0.25rem;
    position: relative;
}
@media (max-width: 767px) {
    .header-block__action-btn {
        --header-block-spacing-x: 0.438rem;
    }
    .header-block__action-btn:has(.header-block__badge) {
        padding-right: 0.625rem;
    }
}
.header-block__icon {
    margin: 0;
}
.header-block__badge {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 1px;
    right: 1px;
    height: 19px;
    min-width: 19px;
    max-width: calc(100% - 1px);
    box-shadow: 0 0 0 1px var(--header-bg);
    font-weight: 600;
    font-size: .75rem;
    line-height: 1;
    color: var(--bs-black);
    background: rgba(var(--bs-tertiary-rgb), 1);
}
@media (min-width: 992px) {
    .header-block:has(.header-block__title) .header-block__action-btn:has(.header-block__badge) {
        column-gap: 0;
    }
    .header-block:has(.header-block__title) .header-block__icon-container:has(.header-block__badge) {
        position: relative;
        padding-right: var(--header-block-spacing-x);
    }
    .header-block:has(.header-block__title) .header-block__badge {
        top: calc((var(--header-block-spacing-y) - 2px) * -1);
    }
}
/* =============================== */
.header-block .header-block__action-btn:focus,
.header-block .header-block__action-btn:hover,
.header-block .header-block__action-btn.dropdown-toggle.show,
.header a:not(.dropdown-item):not(.list-group-item):not(.btn):hover {
    color: var(--header-hover-color);
}
.header a:not(.dropdown-item):not(.list-group-item):not(.btn) i {
    color: inherit !important;
}
/* =============================== */
.header-top__right>:not(:last-child) {
    margin: 0;
}
@media (max-width: 1199.999px) {
    #header .logo {
        max-height: 50px;
    }
}


#header .counter-container {
    gap: 1;
}
@media (max-width: 1200.9999px) {
    .header-block__title {
        font-size: .875em;
    }
}


/* =============================== */
.breadcrumb__wrapper {
    /* background: var(--bs-body-bg);
    margin-bottom: 0rem; */
    margin-bottom: 1.5rem;
}
.breadcrumb {
    gap: 0.25rem 0;
    /* padding: 0.95rem 0; */
}
.breadcrumb a {
    line-height: inherit;
    color: inherit;
}
.breadcrumb a:hover {
    color: var(--bs-link-hover-color);
}
/* =============================== */
/* custom: *********************** */
/* =============================== */
#header .header-top svg {
    width: min(1.5em, 1.1rem);
    height: min(1.5em, 1.1rem);
}

@media (min-width: 992px) and (max-width: 1199.9px) {
    .header-top {
        font-size: .85rem;
    }
}
@media (min-width: 768px) and (max-width: 991.9px) {
    .header-top {
        font-size: .67rem;
    }
}
@media (max-width: 599px) {
    .header-top {
        font-size: .75rem;
    }
    /* .header-top {
        padding-block: .5rem !important;
    } */
}
@media (min-width: 480px) {
    .program-tooltip {
        display: none !important;
    }
}
@media (max-width: 479px) {
    .header .contact-link .program-label {
        display: none;
    }
}
@media (max-width: 439px) {
    .header .contact-link .phone-link-text {
        display: none;
    }
    .header-top {
        font-size: .85rem;
    }
}
@media (max-width: 379px) {
    .header .contact-link .program-text {
        display: none;
    }
}

/* **** ps_socialfollow **** */
#header .block-social {
    padding: 0 !important; 
}
#header .block-social a {
    font-size: inherit !important;
}
/* ***************************************************** */
/* **************** End: Header settings *************** */
/* ***************************************************** */



/* ***************************************************** */
/* **************** Begin: Footer settings ************* */
/* ***************************************************** */
.page-footer:not(:has(*)),
.page-footer:empty {
    display: none;
}
/* =============================== */
#footer {
    --footer-background-color: inherit;
    --footer-text-color: inherit;
    --footer-hover-color: inherit;
    --footer-heading-color: inherit;
    --bs-border-color: transparent;
    --footer-before-background-color: unset;
    --footer-main-top-background-color: unset;
    --footer-main-middle-background-color: unset;
    --footer-main-bottom-background-color: unset;
}
.footer__before {
    background: var(--footer-before-background-color);
}
.footer__main__top {
    background: var(--footer-main-top-background-color);
}
.footer__main__middle {
    background: var(--footer-main-middle-background-color);
}
.footer__main__bottom {
    --bs-border-color: var(--footer-text-color);
    background: var(--footer-main-bottom-background-color);
}
/* =============================== */
#footer [aria-expanded="true"] {
    --footer-text-color: var(--footer-hover-color);
    --footer-heading-color: var(--footer-hover-color);
    --bs-border-color: var(--footer-hover-color);
} 
#footer .collapse:not(.show) {
    display: none;
}
/* =============================== */
#footer .section-title {
    color: inherit;
}
#footer .section-title a {
    color: var(--bs-link-color);
}
#footer .section-title a:hover {
    color: var(--bs-link-hover-color);
}
/* =============================== */
.footer .footer__block__title a:hover {
    --footer-heading-color: var(--footer-hover-color);
}
#footer .footer__block__content-list a {
    display: inline-block;
    line-height: initial;
    padding-block: .3rem;
}
#footer .footer__block__toggle i {
    color: var(--footer-text-color);
}
/* =============================== */
#footer a {
    color: var(--footer-text-color);
}
#footer a:hover {
    color: var(--footer-hover-color);
}
#footer .footer-bottom-right:empty {
    display: none !important;
}
#footer .block-social a {
    opacity: 1;
}

@media (min-width: 992px) and (max-width: 1199.9999px) {
    .footer .footer__main .row {
        --bs-gutter-x: .75rem;
    }
    .footer .footer__main {
        font-size: 13px;
    }
    .footer .footer__block__title {
        font-size: 0.875rem;
    }
}
@media (min-width: 992px) {
    .footer__block-suportvanzari {
        flex: 1.75 0 0;
    }
    .footer__block-util {
        flex: 1.5 0 0;
    }
    .footer__block.block-contact {
        flex: 2 0 0;
    }
}
@media (min-width: 1200px) {
    .footer__block.block-contact {
        flex: 1.65 0 0;
    }
}
/* =============================== */
/* ***** ps_emailsubscription ***** */
.email-subscription .email-subscription__label {
    color: inherit;
}
.email-subscription .email-subscription__content__inputs input[type="email"] {
    color: var(--bs-body-color);
}
.email-subscription__content__infos-bottom:empty {
    display: none;
}
/* custom: */
.email-subscription {
    background: linear-gradient(0deg, rgba(var(--bs-tertiary-rgb), 1), rgba(var(--bs-tertiary-rgb), 1));
    color: white;
}
/* =============================== */
/* ***************************************************** */
/* **************** End: Footer settings *************** */
/* ***************************************************** */


/* ********************************************************* */
/* ***************** Begin: Product listing **************** */
/* ********************************************************* */
#content-wrapper,
.wrapper__side-column {
    padding-bottom: 4rem;
}
@media (max-width: 767.9999px) {
    .wrapper__side-column {
        padding-bottom: 0;
    }
}
.layout-left-column #left-column {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
}
.left-block:is(:last-child, :has(+ .offcanvas:last-child)) {
    --left-block-border-bottom: none;
}
/* =============================== */
 /* *** subcategories *** */
/* @media (max-width: 399.9999px) {
    #subcategories {
        --item-count: 2;
    }
}
@media (min-width: 400px) and (max-width: 599.9999px) {
    #subcategories {
        --item-count: 3;
    }
}
@media (min-width: 600px) and (max-width: 1199.9999px) {
    #subcategories {
        --item-count: 4;
    }
}
@media (min-width: 1200px) and (max-width: 1999.9999px) {
    #subcategories {
        --item-count: 7;
    }
}
@media (min-width: 2000px) {
    #subcategories {
        --item-count: 7;
    }
} */
#subcategories {
    --item-count: 4;
    --item-width: calc(100% / var(--item-count, 1));
    --column-preferred-width: var(--item-width);
    --column-min-width: 160px;
}
.subcategory__wrapper {
    flex: 0 0 var(--item-width, 100%);
    max-width: var(--item-width, 100%);
}
#subcategories.d-grid .subcategory__wrapper {
    --item-width: 100%;
}
#subcategories .subcategory {
    min-height: 2.5rem;
}
/* =============================== */
/*  *** grid view / list view *** */
.g-l-v-btn:not(.active) {
    opacity: .25;
}
.g-l-v-btn.active {
    color: inherit;
}
/* =============================== */
.product-ratings-container .rating-stars {
    letter-spacing: 1px;
    color: orange;
}
.product-ratings-container .rating-stars:before {
    content: attr(data-rate-empty);
    display: inline-block;
    color: var(--bs-gray-500);
}
.product-ratings-container .rating-stars:after {
    content: attr(data-rate-full);
    position: absolute;
    inset: 0;
    white-space: nowrap;
    overflow: hidden;
    width: calc(var(--data-grade) * 20%);
}
/* =============================== */
.product-flag.badge {
    transform: rotate(-20deg);
    min-width: 45px;
    box-shadow: 0 0 3px;
    width: 100%; /* fix: take up remaining space so all badges are the same*/
}
.badge.discount {
    border: 2px solid var(--bs-tertiary);
    color: var(--bs-tertiary);
}
.badge.new {
    border: 2px solid var(--bs-primary);
    color: var(--bs-primary);
    background-color: var(--bs-white);
}
/* =============================== */
.product-miniature .card:hover {
    filter: drop-shadow(0 4px calc(var(--bs-gutter-x) * .5) rgba(0, 0, 0, .1));
}
.product-miniature .product-miniature__infos {
    z-index: 1;
}
.product-miniature .product-miniature__prices {
    gap: 3px;
}
.product-miniature .product-miniature__regular-price {
    font-size: .85em;
}
.product-miniature .product-miniature__price {
    margin: 0 !important;
}
.product-miniature__quickview:hover {
    --bs-bg-opacity: 1;
}
.product__add-to-cart__container .btn {
    min-height: 2.2rem;
}
.product__add-to-cart__container .btn-cart-icon__container,
.product__add-to-cart__container .btn-cart__label {
    padding-block: 3px;
}
/* =============================== */
/* =============================== */
/* =============================== */
/* *** amazzing filter *** */
.has-compact-filter #amazzing_filter .btn-holder {
    background: white;
    box-shadow: 0 1px 5px;
    padding-block: 5px 15px;
}

/* *** gdpr *** */
#gdpr_consent {
    display: inline-block;
}
/* ********************************************************* */
/* ***************** End: Product listing ****************** */
/* ********************************************************* */

/* **************************************************** */
/* ***************** Begin: Home page ***************** */
/* **************************************************** */
body#index #content-wrapper {
    padding-bottom: 1rem;
}
/* **************************************************** */
/* ***************** End: Home page ******************* */
/* **************************************************** */

/* **************************************************** */
/* ***************** Begin: My account **************** */
/* **************************************************** */
.account-menu .link-item,
.account-menu .link-item i {
    color: inherit !important;
}
.account-menu > a.account-menu--signout {
    background: var(--bs-gray-100);
}
/* **************************************************** */
/* ***************** End: My account ****************** */
/* **************************************************** */

/* **************************************************** */
/* ********* Begin CSS fixes for Lighthouse *********** */
/* **************************************************** */
@media ((width: 412px) and (min-height: 823px)) or ((width: 1350px) and (min-height: 940px)) {
    #index,
    #product,
    #category {
        --bs-tertiary: #c75000 !important;
    }
    .product-miniature .product-miniature__regular-price,
    .product-reference,
    .af_filter .count {
        opacity: 0.75 !important;
        color: #444a50 !important;
    }
    .ets_mm_megamenu .mm_menus_li.mm_menus_li_tab > a {
        background: #c75000 !important;
    }
    .elementor-widget-image-gallery figcaption a {
        background-color: #1d8745 !important;
        padding: 15px 4px !important;
    }
    .remaining-amount-to-free-shipping-container,
    .btn-add-accessory {
        background-color: #1d8745 !important;
    }
    .product__name,
    #product #group_accessories h4,
    .page-title-section {
        color: #1d8745 !important;
    }
    .text-tertiary,
    .product__description h2 {
        color: #c75000 !important;
    }
    .contact__info--phone a {
        padding: 6px 0;
    }
}
/* **************************************************** */
/* ********** End CSS fixes for Lighthouse ************ */
/* **************************************************** */



/* **************************************************** */
/* ------------------- custom stuff ------------------- */
/* **************************************************** */

/* rules from ps 1.7 version */
table#pesticide, table#pesticide-1, table#pesticide-2, table#pesticide-3, table#pesticide-4, table#pesticide-5, table#pesticide-6, table#pesticide-7, table#pesticide-8, table#pesticide-9, table#pesticide-10, div#blog_primary_block table#pesticide {
    border-collapse: collapse;
    border: 1px solid #121212 !important;
    color: #121212 !important;
}
:is(table#pesticide, table#pesticide-1, table#pesticide-2, table#pesticide-3, table#pesticide-4, table#pesticide-5, table#pesticide-6, table#pesticide-7, table#pesticide-8, table#pesticide-9, table#pesticide-10, div#blog_primary_block table#pesticide) td {
    border-width: 1px var(--bs-border-width);
}
/* =============================== */
.popover {
    --bs-popover-header-bg: var(--bs-tertiary);
    --bs-popover-header-color: var(--bs-white);
}
.popover-header {
    text-align: center;
}
.user-help-popover {
    min-width: max-content;
}
/* =============================== */
/* MZS */
.back-to-account, .account-menu__back {
    color: var(--green-4)
}
.back-to-account:hover, .account-menu__back:hover {
    color: rgba(var(--bs-link-color-rgb), 1)
}
/* =============================== */
.weinnoship.carrier-ref-133.selected ~ .carrier-extra-content.weinnoship{
    display:block !important
}

/* MZS - HEADER modifications */
@media (min-width: 600px) and (max-width: 767px) {
    .header-top__middle {
        max-width: 240px;
    }
}

@media (max-width: 599px) {
    .header-top__middle {
        max-width: 220px;
    }
}

.free-shipping-value-container a:hover {
    color: var(--orange-1) !important
}

.eco-footer-container {
    width: fit-content;
}