@import url("https://kit.fontawesome.com/ec9be8dacd.css");
@import "./product-filters.css";
@import "./product.css";
@import "./range-picker.css";

:root {
    --spacing-xxxs: 4px; /* 1 */
    --spacing-xxs: 8px; /* 1 */
    --spacing-xs: 12px; /* 2 */
    --spacing-s: 16px; /* 3 */
    --spacing-m: 24px; /* 4 */
    --spacing-l: 32px; /* 5 */
    --spacing-xl: 48px; /* 6 */
    --spacing-xxl: 72px; /* 7 */
    --spacing-xxl-2: 96px; /* 8 */
    --spacing-xxl-3: 120px; /* 9 */
    --spacing-xxl-4: 144px; /* 10 */
    --spacing-xxl-5: 192px; /* 11 */

    --product-card-background: #f5f6f3;
    --background-color: #eceee6;
    --background-color-dark: #dfe2d6;
    --thumbnail-background: #eceee6;
    --secondary-color: #ea6f3b;
    --grey-100: #d8d8d8;
    --grey-300: #ababab;
    --grey-500: #706d6d;
    --grey-700: #4e4e4e;
    --grey-900: #2a2a2a;
    --success-25: #f6fef9;
    --success-50: #edfdf3;
    --success-100: #d1fadf;
    --success-200: #a6f4c5;
    --success-300: #6ce9a6;
    --success-400: #6fbb7b;
    --success-500: #0fb76a;
    --success-600: #009855;
    --success-700: #057a48;
    --success-800: #05603b;
    --success-900: #044f31;
    --danger-25: #fffbfa;
    --danger-50: #fef3f2;
    --danger-100: #ffe4e2;
    --danger-200: #fecdca;
    --danger-300: #fda19b;
    --danger-400: #f97066;
    --danger-500: #f04438;
    --danger-600: #d92d20;
    --danger-700: #b42319;
    --danger-800: #922017;
    --danger-900: #7a2719;
    --warning-25: #fffcf5;
    --warning-50: #fffaeb;
    --warning-100: #fef0c7;
    --warning-200: #fedf89;
    --warning-300: #fec84b;
    --warning-400: #fdb022;
    --warning-500: #f7900a;
    --warning-600: #db6803;
    --warning-700: #b54708;
    --warning-800: #93370d;
    --warning-900: #7a2e0e;

    --text-medium: 20px;
    --text-medium-line: 1.5 !important;
    --text-medium-spacing: -0.4px !important;
    --text-normal: 16px !important;
    --text-normal-line: 1.25 !important;
    --text-normal-spacing: -0.4px !important;
    --text-small: 14px;
    --text-small-line: 1.25 !important;
    --text-xsmall: 12px;
    --text-xsmall-line: 14px;
    --text-xxsmall: 10px;
    --text-xxsmall-line: 12px;

    --h1-size: 36px !important;
    --h1-line: 44px !important;
    --h1-spacing: -1.9px;

    --h2-size: 32px !important;
    --h2-line: 38px !important;
    --h2-spacing: -1.3px;

    --h3-size: 28px !important;
    --h3-line: 34px !important;
    --h3-spacing: -1.3px;

    --h4-size: 24px !important;
    --h4-line: 28px !important;
    --h4-spacing: -1.2px;

    --h5-size: var(--text-small) !important;
    --h5-line: var(--text-small-line) !important;
    --h5-spacing: var(var(--text-small-spacing)) !important;

    --h6-size: 10px !important;
    --h6-line: 10px !important;
    --h6-spacing: 1.67pt;

    --container-width: 1550px;
    --menu-width: 33.333%;
    --drawer-width: 25%;
    --gallery-thumbnails-width: 80px;
    --gallery-thumbnails-height: 120px;
    --mobile-bar-height: 64px;
}

@media (max-width: 1112px) {
    :root {
        --spacing-xxxs: 2px; /* 1 */
        --spacing-xxs: 8px; /* 1 */
        --spacing-xs: 12px; /* 2 */
        --spacing-s: 16px; /* 3 */
        --spacing-m: 24px; /* 4 */
        --spacing-l: 24px; /* 5 */
        --spacing-xl: 24px; /* 6 */
        --spacing-xxl: 32px; /* 7 */
        --spacing-xxl-2: 48px; /* 8 */
        --spacing-xxl-3: 72px; /* 9 */
        --spacing-xxl-4: 120px; /* 10 */
        --spacing-xxl-5: 120px; /* 11 */
    }
}

@media (max-width: 767px) {
    ::-webkit-scrollbar {
        display: none;
    }

    .mb-5 {
        margin-bottom: var(--spacing-l) !important;
    }
}

@font-face {
    font-family: "OPLOTKA Serif";
    font-weight: 300;
    src: url("../fonts/Boogy_Brut_Poster_WEB-White.woff2") format("woff2"),
        url("../fonts/Boogy_Brut_Poster_WEB-White.woff") format("woff");
}

@font-face {
    font-family: "OPLOTKA Sans";
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    src: url("../fonts/StyreneA-Light-Web.woff2") format("woff2"),
        url("../fonts/StyreneA-Light-Web.woff") format("woff");
}

@font-face {
    font-family: "OPLOTKA Sans";
    font-weight: 400;
    font-style: normal;
    font-stretch: normal;
    src: url("../fonts/StyreneA-Regular-Web.woff2") format("woff2"),
        url("../fonts/StyreneA-Regular-Web.woff") format("woff");
}

@font-face {
    font-family: "OPLOTKA Sans";
    font-weight: 700;
    font-style: normal;
    font-stretch: normal;
    src: url("../fonts/StyreneA-Bold-Web.woff2") format("woff2"),
        url("../fonts/StyreneA-Bold-Web.woff") format("woff");
}

html {
    padding: 0;
    margin: 0;
    height: 100%;
}

body {
    font-family: "OPLOTKA Sans", sans-serif !important;
    font-size: var(--text-small);
    font-weight: 300;
    line-height: var(--text-small-line);
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    color: var(--grey-900) !important;
    letter-spacing: var(--text-small-spacing);
    min-height: 100%;
    background-color: var(--background-color);
    padding: 0;
    margin: 0;
    height: 100%;
}

/* if viewport exceeds --conainer-width padding is applied */
.common-padding {
    --min-padding: 4rem;
    @media (max-width: 992px) {
        --min-padding: 2rem;
    }
    @media (max-width: 768px) {
        --min-padding: 0.5rem;
    }
    padding-left: max(
        calc((100vw - var(--container-width)) / 2),
        var(--min-padding)
    );
    padding-right: max(
        calc((100vw - var(--container-width)) / 2),
        var(--min-padding)
    );
}

.bold {
    font-weight: 700;
}

@media (max-width: 768px) {
    body {
        width: 100%;
    }

    .d-mobile {
        display: block !important;
    }

    .d-mobile.d-none {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .d-desktop {
        display: block !important;
    }

    .d-desktop.d-none {
        display: none !important;
    }
}

.d-mobile {
    display: none;
}

.d-desktop {
    display: none;
}

.d-none {
    display: none !important;
}

input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
button:focus:not(:focus-visible),
*:focus {
    outline: 0 !important;
    box-shadow: none;
}

/* Text */
.fs-micro {
    font-size: 10px;
    letter-spacing: var(--h6-spacing);
}

.fs-s {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
}

.fs-md {
    font-size: var(--text-medium);
    line-height: var(--text-medium-line);
}

.fc-muted {
    color: var(--grey-500);
}

a {
    color: var(--grey-900);
}

b,
strong {
    font-weight: 900;
}

a.text-decoration-none:hover {
    text-decoration: underline !important;
}

.text-link {
    cursor: pointer;
}

.text-link:hover {
    text-decoration: underline !important;
}

/* Spacing */
.mb-m {
    margin-bottom: var(--spacing-m) !important;
}

/* Buttons */
a.btn {
    display: inline-block;
}

.btn {
    border-radius: 0px;
    -webkit-border-radius: 0px;
    height: 44px;
    font-weight: 700;
    font-size: var(--text-xxsmall);
    line-height: var(--text-xxsmall-line);
    letter-spacing: 2pt;
    text-transform: uppercase;
    padding: 0.95rem 1.5rem;
    border: 1px solid transparent;
    background-color: transparent;
    color: var(--grey-900);
    position: relative;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

@media (max-width: 768px) {
    .btn {
        width: 100%;
    }
}

.btn-pre-label {
    position: relative;
    top: 2px;
}

a.btn-pre-label {
    text-decoration: none;
}

a.btn-pre-label:hover {
    text-decoration: underline;
}

.btn:hover {
    background-color: transparent;
    color: var(--grey-900);
    text-decoration: underline;
}

.btn + .btn {
    margin-left: var(--spacing-xs);
}

.btn[disabled] {
    cursor: not-allowed;
    border: 1px solid transparent;
}

.btn-sm {
    font-size: 10px;
    padding: 0.35rem var(--spacing-xs);
}

.btn-lg {
    font-size: var(--text-medium);
    letter-spacing: var(--text-medium-spacing);
    font-weight: 600;
    padding: var(--spacing-s) var(--spacing-l) !important;
}

.btn-icon {
    padding: 0.5rem;
}

.btn-icon.btn-lg {
    padding: var(--spacing-m) 0 !important;
    width: 66px;
    height: 66px;
    text-align: center;
}

.btn-icon.btn-lg:active {
    border-color: transparent;
}

@media (max-width: 767px) {
    .btn-icon.btn-lg {
        width: 44px !important;
        height: 44px !important;
        background-color: transparent !important;
        padding: 0 !important;
        text-align: center;
    }
}

.btn:not(.btn-icon) i[class*="fa-"] {
    font-size: var(--text-normal);
    position: relative;
    top: -2px;
}

.btn:not(.btn-icon) i[class*="fa-"] + span {
    position: relative;
    top: -4px;
}

.btn-icon i[class*="fa-"] {
    font-size: var(--text-normal);
    text-align: center;
    letter-spacing: 0;
}

.col-auto > .btn-sm {
    min-width: auto !important;
}

.col-btn {
    min-width: 50px;
}

.btn-sm.dropdown-toggle {
    min-width: auto;
    padding-left: var(--spacing-xs);
    padding-right: 24px !important;
}

.btn-sm.dropdown-toggle:after {
    right: 8px;
}

.btn-loading * {
    opacity: 0;
    visibility: hidden;
}

.btn-loading:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 1px solid transparent;
    border-top-color: var(--grey-900);
    border-radius: 50%;
    animation: btn-loading-spinner 1s ease infinite;
}

@keyframes btn-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

.btn span + i[class*="fa-"] {
    margin-left: var(--spacing-xs);
}

.btn i[class*="fa-"] + span {
    margin-left: var(--spacing-xs);
}

.btn.btn-sm i[class*="fa-"] + span {
    margin-left: var(--spacing-xxs);
}

.btn-primary[disabled] {
    background-color: var(--grey-500);
}

.btn-primary:not([disabled]).btn-loading:after,
.btn-success:not([disabled]).btn-loading:after,
.btn-danger:not([disabled]).btn-loading:after {
    border-top-color: #fff;
}

.btn-primary:not([disabled]) {
    background-color: var(--grey-900);
    color: #fff;
}

.btn-primary:not([disabled]):not(.btn-loading):hover {
    background-color: var(--grey-900);
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
    border-color: transparent;
}

a.btn-primary:not([disabled]):not(.btn-loading):hover {
    text-decoration: none !important;
    color: #fff !important;
    border-color: transparent;
}

.btn-primary:not([disabled]):focus,
.btn-primary:not([disabled]):active,
.btn-primary.show:not([disabled]),
.btn-primary.active:not([disabled]) {
    background-color: var(--grey-900) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.btn-success {
    position: relative;
}

.btn-success:not([disabled]):focus:after,
.btn-success:not([disabled]):active:after,
.btn-success:not([disabled]):after {
    clear: both;
    content: "\f00c";
    font-family: "Font Awesome 6 Sharp";
    font-size: 16px;
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    line-height: 42px;
    height: 100%;
    z-index: 1;
}

.btn-primary.btn-success {
    border-color: var(--grey-900);
}

.btn-primary.btn-success:not([disabled]):focus:after,
.btn-primary.btn-success:not([disabled]):active:after,
.btn-primary.btn-success:not([disabled]):after {
    background-color: var(--grey-900);
    color: #fff;
}

.btn-secondary.btn-success {
    border-color: var(--grey-500);
}

.btn-secondary.btn-success:not([disabled]):focus:after,
.btn-secondary.btn-success:not([disabled]):active:after,
.btn-secondary.btn-success:not([disabled]):after {
    background-color: #fff;
    color: var(--grey-900);
}

.btn-subtle {
    padding-left: 0;
    padding-right: 0;
}

.btn-subtle[disabled] {
    background-color: transparent;
    color: var(--grey-500);
}

.btn-subtle:not([disabled]) {
    background-color: transparent;
    color: var(--grey-900);
}

.btn-subtle:not([disabled]):not(.btn-icon):before {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--grey-900);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.btn-subtle:not([disabled]):not(.btn-loading):hover {
    background-color: transparent;
    color: var(--grey-900);
    text-decoration: none;
}

.btn-subtle:not([disabled]):not(.btn-loading):not(.btn-icon):hover:before {
    transform: scaleX(1);
    transform-origin: bottom left;
}

.btn-subtle.btn-icon.dropdown-toggle {
    width: 34px;
    text-align: center;
}

.btn-subtle.btn-icon.dropdown-toggle i[class*="fa-"] {
    position: relative;
}

.btn-subtle.btn-icon.dropdown-toggle:after {
    display: none;
}

.btn-dropdown .btn-subtle {
    transition: none;
    -moz-transition: none;
    -o-transition: none;
    -webkit-transition: none;
}

.btn-dropdown:hover .btn-subtle {
    border: 1px solid var(--grey-900);
}

.btn-dropdown:hover .btn-subtle i[class*="fa-"] {
    font-weight: 700;
}

.btn-dropdown .dropdown-menu {
    border-radius: 0;
    -webkit-border-radius: 0;
    font-size: var(--text-small);
    line-height: var(--text-small-line);
    border-color: var(--grey-900);
}

.btn-dropdown .dropdown-menu-end {
    right: 3px;
    margin-top: -1px;
}

.btn-dropdown .dropdown-menu .dropdown-item {
    padding: var(--spacing-xxs) var(--spacing-s);
    cursor: pointer;
}

.btn-dropdown .dropdown-menu .dropdown-item:hover {
    background-color: transparent;
    text-decoration: underline;
}

.btn-dropdown .dropdown-menu .dropdown-item:active,
.btn-dropdown .dropdown-menu .dropdown-item:focus {
    background-color: transparent !important;
    color: var(--grey-900);
}

@media (max-width: 768px) {
    .btn-subtle:not([disabled]):not(.btn-loading):hover:after {
        transform: none;
    }

    .col-6 .btn {
        padding-left: 0;
        padding-right: 0;
    }
}

.btn-subtle:not([disabled]):focus,
.btn-subtle:not([disabled]):active,
.btn-subtle.show:not([disabled]),
.btn-subtle.active:not([disabled]) {
    background-color: transparent !important;
    border-color: transparent;
}

.btn-secondary[disabled] {
    background-color: #fff;
    color: var(--grey-500);
    border-color: var(--grey-300);
}

.btn-secondary:not([disabled]) {
    background-color: #fff;
    color: var(--grey-900);
    border-color: var(--grey-500);
}

.btn-secondary:not([disabled]):not(.btn-loading):hover {
    background-color: #fff;
    color: var(--grey-900);
    border-color: var(--grey-900);
    text-decoration: none;
    opacity: 0.7;
}

.btn-group {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.btn-group .btn {
    flex: 1;
}

.btn-group[class*="gap-"] .btn + .btn {
    margin-left: 0;
}

.btn-group .btn:hover {
    top: 0 !important;
}

a.btn-secondary:not([disabled]):not(.btn-loading):hover {
    text-decoration: none !important;
    color: var(--grey-700) !important;
}

.btn-secondary:not([disabled]):focus,
.btn-secondary:not([disabled]):active,
.btn-secondary.show:not([disabled]),
.btn-secondary.active:not([disabled]) {
    background-color: #fff !important;
}

.btn-secondary:not([disabled]).btn-loading:after {
    border-top-color: var(--grey-900);
}

.btn-check + .btn,
.btn-toggle {
    font-size: var(--text-small);
    letter-spacing: var(--text-small-spacing);
    line-height: var(--text-small-line);
    text-transform: none;
    font-weight: 300;
    padding: 0.75rem var(--spacing-s) !important;
    width: auto;
    display: inline-block !important;
}

.btn-toggle:not(.active) {
    border-color: var(--grey-100) !important;
}

.btn-toggle.active {
    border-color: var(--grey-900) !important;
    color: var(--grey-900);
}

.btn-toggle:not([disabled]):not(.btn-loading):hover {
    opacity: 1;
    border-color: var(--grey-900) !important;
}

.btn-check + .btn-secondary {
    border-color: var(--grey-100);
    margin-right: var(--spacing-xxxs);
    margin-bottom: var(--spacing-xxs);
}

@media (max-width: 768px) {
    .btn-check + .btn-secondary {
        margin-right: var(--spacing-xxs);
    }

    .btn-toggle:not([disabled]):not(.btn-loading):hover {
        border-color: var(--grey-100) !important;
    }
}

.btn-check:checked + .btn-secondary {
    border-color: var(--grey-900) !important;
    background-color: #fff;
    color: var(--grey-900);
}

.btn-link {
    padding-left: 0;
    padding-right: 0;
    font-weight: 300;
    text-transform: none;
    letter-spacing: var(--text-small-spacing);
    font-size: var(--text-small);
    line-height: var(--text-small-line);
}

.btn-link[disabled] {
    background-color: transparent;
    color: var(--grey-500);
}

.btn-link:not([disabled]) {
    background-color: transparent;
    color: var(--grey-900) !important;
}

.btn-link:not([disabled]):not(.btn-icon):before {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--grey-900);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.btn-link:not([disabled]):not(.btn-loading):hover {
    background-color: transparent;
    color: var(--grey-900);
    text-decoration: none;
}

.btn-link:not([disabled]):focus,
.btn-link:not([disabled]):active,
.btn-link.show:not([disabled]),
.btn-link.active:not([disabled]) {
    background-color: transparent !important;
    border-color: transparent;
}

/* Button badge counter */
.mobile-bar .badge-counter,
.btn .badge-counter {
    letter-spacing: 0;
    background-color: var(--grey-900);
    color: #fff;
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    right: 0px;
    bottom: 2px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    line-height: 15px;
    font-size: 9px;
    overflow: hidden;
    text-align: center;
}

/* Badges */
.badge {
    border-radius: 0;
    -webkit-border-radius: 0;
    background-color: var(--grey-900);
    color: #fff;
    letter-spacing: 2px;
    font-size: 8px;
    line-height: 12px;
    text-transform: uppercase;
}

/* Form controls */
input:focus {
    --webkit-appearance: none !important;
    box-shadow: none !important;
}

:-webkit-autofill {
    background-color: transparent !important;
}

@media (max-width: 768px) {
    input[type="text"] {
        --webkit-appearance: none;
        border-radius: 0;
        -webkit-border-radius: 0;
    }
}

.form-control,
.form-select {
    border-radius: 0;
    background-color: transparent;
    -webkit-border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--grey-100);
    padding: 0.85rem 0 0.7rem;
    line-height: normal;
    height: auto;
    font-size: var(--text-small);
    --webkit-appearance: none !important;
}

.form-select {
    background-position: right center;
    color: var(--grey-900);
}

.form-select.is-invalid:not([multiple]) {
    background-position: right 0 center, center right 1.25rem !important;
}

.form-select option[disabled]:first-child {
    color: var(--grey-500);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--grey-900);
    background-color: transparent !important;
    box-shadow: none;
    --webkit-appearance: none !important;
}

.form-control-transparent {
    border-radius: 0;
    background-color: transparent;
    -webkit-border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--grey-100);
    padding: 0 0 0.7rem;
    line-height: normal;
    height: auto;
    font-size: var(--text-small);
}

.form-control-transparent:focus,
.form-control-transparent:active {
    background-color: transparent;
}

.invalid-feedback {
    font-weight: 400;
}

/* Outline form select */
.form-select-border {
    border: 1px solid var(--grey-100);
    background-color: #fff;
    padding: 0.75rem var(--spacing-s) !important;
    padding-right: 24px !important;
    background-position: right 0.75rem center !important;
}

.form-select-border:active,
.form-select-border:focus {
    border: 1px solid var(--grey-900);
    background-color: #fff !important;
}

/* Form select as text dropdown */
.form-dropdown {
    --bs-form-select-bg-img: none;
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    font-weight: 300;
}

/* Form floating */
.form-floating .form-control,
.form-floating .form-select {
    background-color: transparent !important;
    border-radius: 0;
    -webkit-border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--grey-100);
    padding: 0.85rem 0 0.7rem;
    line-height: normal;
    height: auto;
    font-size: var(--text-small);
    --webkit-appearance: none !important;
}

.form-floating .form-control.is-invalid,
.form-floating .form-select.is-invalid {
    border-bottom-color: red;
}

.form-floating .form-select,
.form-floating .form-select:not([readonly]):focus,
.form-floating .form-select:not([readonly]):active {
    padding-right: 2.5rem !important;
    --webkit-appearance: none !important;
}

.form-floating .form-control:not([readonly]):focus,
.form-floating .form-control:not([readonly]):active,
.form-floating .form-select:not([readonly]):focus,
.form-floating .form-select:not([readonly]):active,
.form-floating .form-control.dropdown-toggle.show,
.form-floating .form-control.ui-droppable-active {
    box-shadow: none;
    border-bottom: 1px solid var(--grey-900);
    --webkit-appearance: none !important;
}

.form-control[readonly]:focus {
    border-color: var(--grey-300) !important;
    box-shadow: none !important;
    --webkit-appearance: none !important;
}

.form-floating > label {
    padding: 0.85rem 0 0.7rem;
    height: calc(100% - 2px);
    background-color: var(--background-color);
}

.form-floating .form-control,
.form-floating .form-control:not([readonly]):focus,
.form-floating .form-control:not([readonly]):active,
.form-floating .form-select:not([readonly]):focus,
.form-floating .form-select:not([readonly]):active,
.form-floating .form-control.dropdown-toggle.show,
.form-floating .form-control.ui-droppable-active {
    padding: 0.85rem 0 0.7rem;
    background-color: transparent !important;
}

.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown),
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
    padding: 0.85rem 0 0.7rem;
}

.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control.float-label ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    opacity: 0.65;
    background-color: transparent;
    height: auto;
    transform: scale(0.85) translateY(-1.15rem) translateX(0);
}

.form-floating > .form-control.float-label::placeholder,
.form-floating > .form-control.float-label::-webkit-input-placeholder,
.form-floating > .form-control.float-label:placeholder-shown {
    opacity: 1 !important;
    color: inherit;
    transition: inherit;
}

.form-floating:before {
    display: none;
}

.form-label {
    color: var(--grey-500);
}

.form-label.pseudo-floating {
    transform: scale(0.85) translateY(0) translateX(0);
    position: relative;
    left: -5px;
    margin-bottom: 0;
}

.form-floating:not(:last-child),
.form-group:not(:last-child) {
    margin-bottom: var(--spacing-m);
}

.form-floating .input-prefix {
    position: absolute;
    left: 0;
    top: calc(1px + 0.85rem);
    color: var(--grey-500);
}

.form-floating .input-prefix + [type="phone"],
.form-floating .input-prefix + [type="phone"]:active,
.form-floating .input-prefix + [type="phone"]:focus {
    padding-left: 32px;
}

/* Form checkbox */
.form-check {
    padding-left: 32px;
}

.form-check .form-check-input {
    margin-left: -32px;
}

.form-check-input[type="checkbox"] {
    border-radius: 0;
}

.form-check-input:checked[type="checkbox"],
.form-check-input:checked[type="radio"] {
    background-color: #fff;
    --bs-form-check-bg-image: none;
    border-color: var(--grey-300);
    position: relative;
}

.form-check-input:checked[type="checkbox"]:after,
.form-check-input:checked[type="radio"]:after {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: var(--grey-900);
    clear: both;
    content: "";
    top: 5px;
    left: 5px;
}

.form-check-input:checked[type="radio"]:after {
    border-radius: 100px;
    -webkit-border-radius: 100px;
}

.form-check-input:checked[type="radio"] + label {
    font-weight: 700;
}

.form-check-input:checked[type="radio"] + label + .form-check-helper {
    color: var(--grey-700);
}

.form-check-input {
    width: 20px;
    height: 20px;
    margin-top: -0.1rem;
    border-color: var(--grey-100);
}

.form-check-helper {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
    letter-spacing: var(--text-xsmall-spacing);
    color: var(--grey-500);
    margin-top: 2px;
}

.form-check-input.is-invalid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label a {
    color: var(--danger-600) !important;
}

.form-check-input.is-invalid + .invalid-feedback {
    font-weight: 700;
}

.checkbox-form {
    padding-left: 32px;
}

/* Font weights */
.fw-light {
    font-weight: 300;
}

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

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

.f-serif {
    font-family: "OPLOTKA Serif", serif;
}

/* Heading */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 300;
}

.h1.f-serif,
h1.f-serif,
.h2.f-serif,
h2.f-serif,
.h3.f-serif,
h3.f-serif,
.h4.f-serif,
h4.f-serif,
.h5.f-serif,
h5.f-serif,
.h6.f-serif,
h6.f-serif {
    letter-spacing: 0 !important;
}

/* intlTelInput style */
.iti--allow-dropdown .iti__country-container {
    top: 3px;
}

.iti {
    display: block !important;
}

@media (max-width: 768px) {
    .card-title.h1 {
        margin-bottom: var(--spacing-l) !important;
    }
}

h1,
.h1 {
    letter-spacing: var(--h1-spacing) !important;
    font-size: var(--h1-size) !important;
    line-height: var(--h1-line) !important;
}
h2,
.h2 {
    letter-spacing: var(--h2-spacing) !important;
    font-size: var(--h2-size) !important;
    line-height: var(--h2-line) !important;
}
h3,
.h3 {
    letter-spacing: var(--h3-spacing) !important;
    font-size: var(--h3-size) !important;
    line-height: var(--h3-line) !important;
}
h4,
.h4 {
    letter-spacing: var(--h4-spacing) !important;
    font-size: var(--h4-size) !important;
    line-height: var(--h4-line) !important;
}
h5,
.h5 {
    letter-spacing: var(--h5-spacing) !important;
    font-size: var(--h5-size) !important;
    line-height: var(--h5-line) !important;
}
h6,
.h6 {
    letter-spacing: var(--h6-spacing);
    font-size: var(--h6-size) !important;
    line-height: var(--h6-line) !important;
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 767px) {
    h2,
    .h2 {
        letter-spacing: var(--h4-spacing) !important;
        font-size: var(--h4-size) !important;
        line-height: var(--h4-line) !important;
    }
    h3,
    .h3 {
        letter-spacing: var(--h4-spacing) !important;
        font-size: var(--h4-size) !important;
        line-height: var(--h4-line) !important;
    }
    h4,
    .h4 {
        letter-spacing: var(--h5-spacing) !important;
        font-size: var(--h5-size) !important;
        line-height: var(--h5-line) !important;
    }
    h5,
    .h5 {
        letter-spacing: var(--h6-spacing) !important;
        font-size: var(--h6-size) !important;
        line-height: var(--h6-line) !important;
    }
    h6,
    .h6 {
        letter-spacing: var(--h6-spacing);
        font-size: var(--h6-size) !important;
        line-height: var(--h6-line) !important;
        text-transform: uppercase;
        font-weight: 700;
    }
}

/* One time code */
.otc label {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

.otc {
    position: relative;
    margin: 0 auto;
    padding: 0;
}

.otc div {
    display: flex;
    align-items: center;
    column-gap: var(--spacing-xxs);
}

.otc input::-webkit-outer-spin-button,
.otc input::-webkit-inner-spin-button {
    --webkit-appearance: none !important;
    margin: 0;
}

.otc .input-otc:before {
    content: "";
    height: 2px;
    width: 24px;
    margin: 0 0.25em;
    order: 1;
    background: #bbbbff;
}

.otc .form-control {
    text-align: center;
    appearance: textfield;
    --webkit-appearance: textfield;
    border-radius: 0;
    -webkit-border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--grey-100);
    padding: 0.85rem 0 0.7rem;
    line-height: normal;
    height: auto;
    font-size: var(--text-small);
}

.otc .form-control:active,
.otc .form-control:focus {
    box-shadow: none;
    border-bottom: 1px solid var(--grey-900);
    background-color: transparent;
}

.otc .form-control:nth-of-type(n + 4) {
    order: 2;
}

/* Accordions */
.accordion {
    border-radius: 0;
    -webkit-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
}

.accordion-item {
    border: none;
    background-color: transparent;
    border-bottom: 1px solid var(--grey-900);
}

.accordion-item:has(.accordion-button:not(.collapsed)) {
    padding-bottom: 1rem;
}

.accordion-item:first-of-type,
.accordion-item:last-of-type,
.accordion-item:first-of-type .accordion-button,
.accordion-item:last-of-type .accordion-button.collapsed {
    border-radius: 0;
    -webkit-border-radius: 0;
}

.accordion-button {
    background-color: transparent;
    border-radius: 0;
    -webkit-border-radius: 0;
    font-size: var(--text-xxsmall);
    font-weight: 700;
    line-height: var(--text-xxsmall-line);
    letter-spacing: var(--h6-spacing);
    text-transform: uppercase;
    padding: 2rem 0;
    border-bottom: none;
    display: block;
}

.accordion-button.accordion-button-text {
    font-size: var(--text-xsmall);
    font-weight: 400;
    line-height: var(--text-xsmall-line);
    letter-spacing: 0;
    padding-right: var(--spacing-m);
}

.accordion-button:not(.collapsed) {
    background-color: transparent;
    box-shadow: none;
    color: var(--grey-900);
}

.accordion-button::after,
.accordion-button:not(.collapsed):after {
    background: none;
    content: "\2b";
    font-family: "Font Awesome 6 Sharp";
    font-size: 12px;
    text-align: right !important;
    font-weight: 400;
    line-height: 20px;
    margin-left: 0;
    margin-top: -4px;
    position: absolute;
    right: 0;
    transition: none;
}

.accordion-button:not(.collapsed):after {
    background: none;
    content: "\f068";
    transform: none;
}

.accordion-button.no-controller:after {
    display: none;
}

.accordion-button.no-controller .price {
    padding-right: 0 !important;
}

.accordion-button.bg-dark {
    color: #fff;
}

.accordion-body {
    padding: var(--spacing-xxs) 0 var(--spacing-m);
}

.section-header .accordion-button {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.section-header .accordion-button:after {
    right: var(--spacing-s);
    margin-top: 0px;
}

@media (max-width: 768px) {
    .accordion-button {
        padding: 1rem 0;
    }

    .accordion.accordion-margin .accordion-button,
    .accordion.accordion-margin .accordion-body {
        padding-left: var(--spacing-m);
        padding-right: var(--spacing-m);
    }

    .accordion.accordion-margin .accordion-button:after {
        right: var(--spacing-m);
    }

    .accordion.accordion-margin .accordion-body {
        padding-top: var(--spacing-m);
    }

    .accordion-button.accordion-button-text:after {
        margin-top: 0;
        top: 13px;
    }
}

/* Sections */
.section-header .accordion-button {
    background-color: var(--grey-900);
    color: #fff;
}

.section-header .accordion-button,
.section-header .accordion-body {
    padding-left: var(--spacing-m);
    padding-right: var(--spacing-m);
}

.section-header:not(.accordion-header) .accordion-button:after {
    right: var(--spacing-m);
    display: none;
}

.section-header .accordion-body {
    padding-top: var(--spacing-m);
}

.section-header .accordion-button i[class*="fa-"] {
    font-size: 16px;
    margin-right: var(--spacing-xs);
}

.section-header .accordion-button .price {
    padding-right: var(--spacing-m);
    letter-spacing: 0;
    text-transform: none;
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
}

/* Loader */
#loading {
    position: fixed;
    z-index: 1099;
    background-color: var(--background-color);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

#loading:after {
    content: "";
    position: absolute;
    width: 64px;
    height: 64px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/loading.svg) no-repeat center;
}

#loadingProductsEl {
    display: block;
    position: sticky;
    top: 0;
    width: 100%;
    height: 400px;
    background-color: var(--background-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

#loadingProductsEl::after {
    content: "";
    position: sticky;
    top: 200px;
    margin: auto;
    display: grid;
    place-content: center;
    z-index: 23123;
    width: 64px;
    height: 64px;
    background: url(../images/loading.svg) no-repeat center;
}

@keyframes loading {
    from {
        opacity: 1;
    }

    to {
        opacity: 1;
    }
}

@keyframes shineLoader {
    0% {
        background-position: -468px 0;
    }
    100% {
        background-position: 468px 0;
    }
}

/* Header */
#header {
    position: relative;
    top: 0;
    width: 100%;
    z-index: 1070 !important;
}

#header.home {
    position: absolute;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

header:hover {
    background-color: #fff;
}

header:hover .btn,
header:hover .btn-pre-label {
    color: var(--grey-900) !important;
}

header:hover .logo {
    background-color: var(--grey-900) !important;
}

header {
    background-color: transparent;
    z-index: 1070 !important;
}

header .logo {
    display: block;
    padding: var(--spacing-m) 0;
    height: 14px;
    width: 120px;
    box-sizing: content-box;
    -webkit-mask: url("../images/oplotka.svg") no-repeat center / 100% auto;
    mask: url("../images/oplotka.svg") no-repeat center / 100% auto;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

header .btn {
    width: 34px;
    height: 34px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    transition: none;
    -moz-transition: none;
    -o-transition: none;
    -webkit-transition: none;
}

header .btn + .btn {
    margin-left: var(--spacing-xxxs);
}

header .btn-dropdown:hover .btn-subtle {
    border-color: transparent !important;
}

header.subpage.scrolled {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 1070 !important;
}

header.subpage.scrolled {
    background-color: #fff;
}

header.subpage .logo {
    background-color: var(--grey-900);
}

header .right-buttons {
    text-align: right;
}

header .right-buttons .btn {
    margin-left: var(--spacing-xs);
}

header {
    transition: transform 0.25s ease-in-out;
}

header.scrolled.collapsed {
    transform: translateY(-100%);
}

header.scrolled:not(.collapsed) {
    transform: translateY(0);
}

@media (max-width: 768px) {
    header {
        background-color: transparent;
        z-index: 1 !important;

        left: 0;
        top: 0 !important;
        width: 100%;
    }

    header .logo {
        width: 110px;
        background-color: #fff;
    }

    header .left-buttons,
    header .right-buttons {
        display: none;
    }

    header.scrolled {
        position: relative !important;
    }

    header.subpage {
        position: relative;
        top: auto;
    }

    header:hover {
        background-color: transparent;
    }
}

@media (min-width: 769px) {
    header .logo {
        background-color: var(--grey-900);
    }
}

/* Menu */
.main-menu {
    position: fixed;
    left: calc(-1 * var(--menu-width));
    top: 0;
    bottom: 0;
    z-index: 1090;
    background-color: #fff;
    width: var(--menu-width);
    overflow: scroll;
}

.main-menu::-webkit-scrollbar {
    display: none;
}

.main-menu .menu-container {
    padding: var(--spacing-s) 3rem 3rem;
}

.main-menu.show {
    animation: showMenu 0.25s normal forwards ease-in-out;
}

.main-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.main-menu .menu-link {
    text-decoration: none;
    color: var(--grey-900);
    font-size: var(--text-normal);
    line-height: var(--text-normal-line);
    letter-spacing: var(--text-normal-spacing);
    text-transform: uppercase;
    cursor: pointer;
}

.main-menu .close-menu {
    margin-bottom: var(--spacing-xl);
}

.main-menu .main-level {
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.main-menu ul:hover .menu-item span {
    opacity: 0.6;
}

.main-menu .main-level .menu-item {
    display: block;
    width: 100%;
    font-weight: 400;
    position: relative;
    opacity: 0;
    left: -5px;
    animation: menuFadeIn 0.25s ease-in-out 0.5s;
    animation-fill-mode: forwards;
}

.main-menu .sub-level .menu-item {
    display: block;
    width: 100%;
    font-weight: 400;
    position: relative;
}

.main-menu .sub-level .menu-item .menu-link {
    padding: var(--spacing-xs) 0;
    display: block;
}

.main-menu .main-level .menu-item .menu-link {
    display: block;
    padding-left: 0;
    padding: var(--spacing-s) 0;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.main-menu .menu-item span sup {
    top: -5px;
    font-size: 8px;
}

.main-menu .menu-item span {
    display: block;
    position: relative;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.main-menu .main-level .menu-item.has-children span:after {
    content: "\f061";
    font-family: "Font Awesome 6 Sharp";
    font-size: 20px;
    text-align: right !important;
    font-weight: 300;
    clear: both;
    position: absolute;
    right: 0;
    top: 0px;
    opacity: 1;
}

.main-menu .menu-link.new span,
.main-menu a.menu-link.new  {
    display: flex !important;
    align-items: center;
    gap: var(--spacing-s);
}

.new-badge {
    background: transparent;
    border: 1px solid var(--grey-900);
    border-radius: 50%;
    color: var(--grey-900);
    font-size: 17px;
    font-weight: 300;
    padding: 5px 8px;
    letter-spacing: 0.5px;
    z-index: 10;

    @media (max-width: 768px) {
        font-size: 14px;
        padding: 4px 5px;
    }
}

.main-menu .menu-item.menu-divider {
    margin-top: var(--spacing-s);
    padding-top: var(--spacing-s);
    border-top: 1px solid var(--grey-100);
}

.main-menu .menu-link:hover span {
    opacity: 1 !important;
}

.main-menu .back-link {
    display: block;
    text-decoration: none;
    color: var(--grey-900);
    font-size: var(--text-normal);
    line-height: var(--text-normal-line);
    letter-spacing: var(--text-normal-spacing);
    cursor: pointer;
    text-align: center;
    position: relative;
    margin-bottom: var(--spacing-m);
    opacity: 1;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.main-menu .back-link span {
    display: block;
}

.main-menu .back-link:before {
    content: "\f060";
    font-family: "Font Awesome 6 Sharp";
    font-size: 20px;
    text-align: right !important;
    font-weight: 300;
    clear: both;
    position: absolute;
    left: 0px;
    top: 0px;
}

.main-menu ul:hover .back-link span {
    opacity: 1 !important;
}

.main-menu .menu-gallery {
    width: 100%;
    height: 200px;
    overflow: scroll;
    margin-top: var(--spacing-xl);
}

.main-menu .menu-gallery::-webkit-scrollbar {
    display: none;
}

.main-menu .menu-gallery .gallery-wrapper {
    display: flex;
    column-gap: 2px;
    max-width: 1000px;
    width: 100%;
}

.main-menu .menu-gallery .gallery-item {
    display: block;
    height: 100%;
    flex: 0 0 130px;
}

.main-menu .menu-gallery .gallery-item a {
    display: block;
    text-decoration: none;
    color: var(--grey-900);
}

.main-menu .menu-gallery .gallery-thumbnail {
    width: 100%;
    background-color: #ddd;
    height: 175px;
    margin-bottom: var(--spacing-xxxs);
    overflow: hidden;
}

.main-menu .menu-gallery .gallery-thumbnail img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.main-menu .menu-gallery .gallery-description {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall);
    letter-spacing: var(--text-xsmall-spacing);
    padding-top: var(--spacing-xxs);
}

.main-menu .main-level .menu-item:nth-child(1) {
    animation-delay: 0.15s;
}
.main-menu .main-level .menu-item:nth-child(2) {
    animation-delay: 0.2s;
}
.main-menu .main-level .menu-item:nth-child(3) {
    animation-delay: 0.25s;
}
.main-menu .main-level .menu-item:nth-child(4) {
    animation-delay: 0.3s;
}
.main-menu .main-level .menu-item:nth-child(5) {
    animation-delay: 0.35s;
}
.main-menu .main-level .menu-item:nth-child(6) {
    animation-delay: 0.4s;
}
.main-menu .main-level .menu-item:nth-child(7) {
    animation-delay: 0.45s;
}
.main-menu .main-level .menu-item:nth-child(8) {
    animation-delay: 0.5s;
}
.main-menu .main-level .menu-item:nth-child(9) {
    animation-delay: 0.55s;
}
.main-menu .main-level .menu-item:nth-child(10) {
    animation-delay: 0.6s;
}

.main-menu .menu-buttons {
    position: absolute;
    bottom: var(--spacing-m);
}

.main-menu .carousel-inner {
    margin-right: -3rem;
    width: calc(100% + 3rem);
}

.main-menu .carousel-inner > .carousel-item {
    padding-right: 3rem;
}

@keyframes menuFadeIn {
    0% {
        opacity: 0;
        left: -5px;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}

@keyframes menuChildren {
    0% {
        opacity: 0;
        right: -24px;
    }
    100% {
        opacity: 1;
        right: -32px;
    }
}

@keyframes showMenu {
    0% {
        left: calc(-1 * var(--menu-width));
    }
    100% {
        left: 0;
    }
}

.main-menu.hide {
    animation: hideMenu 0.25s normal forwards ease-in-out;
}

@keyframes hideMenu {
    0% {
        left: 0;
    }
    100% {
        left: calc(-1 * var(--menu-width));
    }
}

@media (max-width: 768px) {
    .main-menu {
        width: 80%;
        left: auto;
        right: -100%;
        z-index: 1090;
    }

    .main-menu .menu-container {
        padding: var(--spacing-m) 0
            calc(var(--mobile-bar-height) + var(--spacing-m)) var(--spacing-m) !important;
        overflow-y: scroll;
    }

    .main-menu .menu-wrapper .carousel {
        width: 100%;
        height: 100%;
        position: relative;
    }

    .main-menu .menu-buttons {
        bottom: auto;
        position: relative;
        margin: var(--spacing-m) 0 var(--spacing-s);
    }

    .main-menu .menu-buttons .btn {
        width: auto;
    }

    .main-menu .carousel-inner {
        height: calc(100% - var(--mobile-bar-height));
        margin-right: 0;
        width: 100%;
    }

    .main-menu .carousel-inner > .carousel-item,
    .main-menu .submenu,
    .main-menu .submenu .level-wrapper {
        height: 100%;
        padding-right: 0;
    }

    .main-menu .submenu .level-wrapper {
        display: flex;
        flex-flow: column;
        justify-content: end;
    }

    .main-menu button {
        display: none;
    }

    .main-menu .menu-item {
        padding: 0 !important;
    }

    .main-menu .menu-item.menu-divider {
        width: calc(100% - var(--spacing-m));
        margin-top: var(--spacing-xxs);
    }

    .main-menu .menu-item .menu-link {
        display: block;
        font-size: 10px;
        letter-spacing: var(--h6-spacing);
        font-weight: 300;
        text-transform: uppercase;
        padding: var(--spacing-xs) var(--spacing-m) var(--spacing-xs) 0;
    }

    .main-menu ul:hover .menu-item span {
        opacity: 1;
    }

    .main-menu .carousel-item.main-level .level-wrapper {
        display: flex;
        flex-flow: column-reverse;
        justify-content: end;
        height: 100%;
    }

    .main-menu .main-level .menu-item .menu-link {
        font-weight: 700;
    }

    .main-menu .menu-item span sup {
        top: -3px;
        font-size: 6px;
    }

    .main-menu .main-level .menu-item span {
        width: 100%;
    }

    .main-menu .main-level .menu-item:hover .menu-link {
        padding-left: 0px;
    }

    .main-menu .main-level .menu-item:hover span {
        opacity: 1;
    }

    .main-menu .main-level .menu-item.has-children:hover span:after {
        opacity: 1;
        animation: none;
    }

    .main-menu .main-level .menu-item.has-children span:after {
        opacity: 1;
        content: "\f054";
        font-weight: 700;
        font-size: 12px;
        right: var(--spacing-m);
    }

    .main-menu .menu-item.menu-divider .menu-link {
        padding-top: calc(2 * var(--spacing-xs));
    }
    
    .main-menu .new-badge {
        right: var(--spacing-m);
    }

    .main-menu .back-link {
        display: block;
        font-size: 10px;
        letter-spacing: var(--h6-spacing);
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 0 !important;
        height: 48px;
    }

    .main-menu .back-link span {
        padding: var(--spacing-xs) 0 var(--spacing-m) !important;
    }

    .main-menu .back-link:before {
        font-size: 12px;
        font-weight: 700;
        content: "\f053";
        top: 11px;
    }

    .main-menu .menu-wrapper {
        display: flex;
        flex-direction: column;
        height: 100%;
        align-content: center;
        flex-wrap: wrap;
    }

    .main-menu .menu-gallery {
        width: calc(100% + var(--spacing-m));
        margin-bottom: var(--spacing-xxl-2);
        margin-right: calc(-1 * var(--spacing-m));
        margin-top: 0;
    }

    @keyframes showMenu {
        0% {
            right: -100%;
        }
        100% {
            right: 0;
        }
    }

    @keyframes hideMenu {
        0% {
            right: 0;
        }
        100% {
            right: -100%;
        }
    }
}

.carousel-inner > .carousel-item {
    position: relative;
}

.carousel-item {
    transition: transform 0.2s ease-in-out !important;
}

/* Overlay */
.overlay {
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1081;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.overlay.show {
    opacity: 1;
    display: block;
}

/* Mobile bar */
.mobile-bar {
    position: fixed;
    background-color: #fff;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    width: 100%;
    height: var(--mobile-bar-height);
    bottom: 0;
    z-index: 1091;
    left: 0;
    border-top: 1px solid var(--grey-300);
}

.mobile-bar {
    transform: translateY(0);
    transition: transform 0.35s ease-in-out;
}

.mobile-bar.collapsed {
    transform: translateY(100%);
}

.mobile-bar li {
    height: 100%;
    flex: 1;
    text-align: center;
    padding: 20px 0 24px;
}

.mobile-bar li a {
    color: var(--grey-900);
    position: relative;
}

.mobile-bar li i[class*="fa-"] {
    font-size: 16px;
    padding-bottom: 6px;
    position: relative;
}

.mobile-bar li.active i[class*="fa-"] {
    border-bottom: 1px solid var(--grey-900);
}

.mobile-bar li .badge-counter {
    bottom: -6px;
    right: -8px;
    font-weight: 900;
}

@media (min-width: 769px) {
    .mobile-bar {
        display: none;
    }
}

/* Page */
.page {
    padding: 5rem 0 5rem;
}

.page-product {
    padding-top: 3rem;
}

.page-body.__sticky-filters {
    padding-top: 100px;
}

.page-header {
    position: relative;
    z-index: 4;
    width: 100%;
    top: auto;
    background-color: transparent;
    margin-bottom: var(--spacing-l);
    transition: top 0.25s ease-in-out;
    -moz-transition: top 0.25s ease-in-out;
    -o-transition: top 0.25s ease-in-out;
    -webkit-transition: top 0.25s ease-in-out;
}

.page-header h1 {
    margin-bottom: var(--spacing-m);
}

.page-header h1.f-serif {
    font-size: 4rem !important;
    letter-spacing: 0 !important;
}

.page-header.page-filters.show {
    background-color: #fff;
    position: fixed;
    top: 62px;
    left: 0;
    width: 100%;
    margin-bottom: 0;
    padding: var(--spacing-xs) 0 var(--spacing-s) 0;
    border-top: 1px solid var(--grey-900);
    border-bottom: 1px solid var(--grey-900);
}

.page-header.page-filters.show h1,
.page-header.page-filters.show .page-title {
    display: none !important;
}

.page-hero {
    background-color: #2b2b2b;
    width: 100%;
    height: 75vh;
    overflow: hidden;
    position: relative;
    color: #fff;
    margin-bottom: 8rem;
}

.page-hero .background {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    overflow: hidden;
}

.page-hero .background:after {
    clear: both;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.5) 18%,
        rgba(0, 0, 0, 0.1) 100%
    );
    opacity: 1;
    z-index: 1;
}

.page-hero .text {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 0 25%;
    height: 100%;
    z-index: 2;
    color: #fff;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
    opacity: 1;
}

.page-hero img,
.page-hero video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#storyPage .quote {
    font-size: var(--text-medium);
    line-height: var(--text-medium-line);
    letter-spacing: var(--text-medium-spacing);
    margin-top: 15%;
}

#storyPage .quote-sign {
    width: 100%;
    height: 50px;
    -webkit-mask: url("../images/karolina.svg") no-repeat center right / auto
        100%;
    mask: url("../images/karolina.svg") no-repeat center right / auto 100%;
    background-color: #fff;
    margin-top: var(--spacing-xl);
}

#storyPage .fs-md {
    font-size: 16px;
    line-height: 28px;
}

#storyPage .h1.xlg {
    font-size: 3rem !important;
    line-height: 3.5rem !important;
    letter-spacing: -0.25rem !important;
    text-transform: uppercase;
    position: relative;
    margin-top: 10px;
}

#storyPage .h1.line-top {
    padding-top: 2rem;
}

#storyPage .h1.line-bottom {
    padding-bottom: 2rem;
}

#storyPage .h1.line-top:before {
    width: 100%;
    height: 2px;
    background-color: var(--grey-900);
    position: absolute;
    left: 0;
    top: 0;
    clear: both;
    content: "";
}

#storyPage .h1.line-bottom:after {
    width: 100%;
    height: 2px;
    background-color: var(--grey-900);
    position: absolute;
    left: 0;
    bottom: 0;
    clear: both;
    content: "";
}

#storyPage section {
    padding-bottom: 0;
}

#storyPage .container-block {
    padding-bottom: 1rem;
}

.photo-center-block {
    width: 70%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#storyPage section .sticky-top {
    top: 100px;
}

#storyPage .photo img {
    display: block;
}

#storyPage .col-left .photo {
    width: 100%;
}

#storyPage .col-left .photo img {
    width: 100%;
}

#storyPage .col-right .photo {
    width: 100%;
}

#storyPage .col-right .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#storyPage .bullets {
    counter-reset: bullets-counter 0;
    padding-top: var(--spacing-xxl);
}

#storyPage .bullets .row {
    margin-bottom: 5rem;
}

#storyPage .bullets .bullet-header {
    counter-increment: bullets-counter 1;
    font-size: 1.25rem;
    line-height: var(--h5-line) !important;
    letter-spacing: var(--h5-spacing) !important;
    text-transform: uppercase;
    margin-bottom: var(--spacing-l);
    position: relative;
    padding-top: var(--spacing-l);
}

#storyPage .bullets .bullet-header:before {
    width: 100%;
    height: 1px;
    background-color: var(--grey-900);
    position: absolute;
    left: 0;
    top: 0;
    clear: both;
    content: "";
    z-index: 1;
}

#storyPage .bullets .bullet-header:after {
    content: counter(bullets-counter);
    position: absolute;
    left: 0;
    top: -12px;
    clear: both;
    font-weight: 300;
    z-index: 2;
    background-color: var(--background-color);
    padding-right: 8px;
}

#storyPage .text-justify {
    text-align: justify;
}

#storyPage .object-fit-cover-photo {
    object-fit: cover;
}

#storyPage .text-inside-photo {
    position: relative;
    text-align: left;
    color: white;
}

#storyPage .bottom-left {
    position: absolute;
    bottom: 10px;
    left: 20px;
}

#storyPage .bottom-right {
    position: absolute;
    bottom: 10px;
    right: 20px;
}

#storyPage .padding-top {
    padding-top: 0;
}

#storyPage .relative-position-top {
    position: relative;
    top: 30px;
}

/* Partner Shops */
.page table {
    border-collapse: collapse;
    width: 100%;
}
.page table,
th,
td {
    text-align: left;
}
.page .day {
    width: 30%;
}

@media (max-width: 768px) {
    .page {
        padding: 2rem var(--spacing-m) 2rem;
    }

    .page-body.__sticky-filters {
        padding-top: 0;
    }

    .page-product {
        padding-top: 0.5rem;
    }

    .page-title {
        margin-bottom: var(--spacing-l) !important;
    }

    .page-header h1 {
        margin-bottom: var(--spacing-l);
    }

    .page-header h1.f-serif {
        font-size: 36px !important;
        margin-bottom: 0 !important;
    }

    .page-header.page-filters.show {
        position: relative !important;
        background-color: transparent;
        top: auto;
    }

    .page-header.page-filters .filter-tabs.d-flex {
        display: block !important;
    }

    .page .container-fluid,
    footer .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    .related-products .page {
        padding-left: 0;
        padding-right: 0;
        padding-top: 5rem;
    }

    .page-hero {
        margin-left: calc(-1 * var(--spacing-m));
        width: calc(100% + calc(2 * var(--spacing-m)));
        height: 70vh;
        margin-bottom: var(--spacing-xxl-3);
    }

    .page-hero .text {
        width: 100%;
        padding-left: calc(var(--spacing-s) + var(--spacing-l));
        padding-right: calc(var(--spacing-s) + var(--spacing-l));
    }

    #storyPage .quote {
        font-size: var(--text-normal);
    }

    #storyPage .quote-sign {
        height: 35px;
    }

    #storyPage section {
        padding-bottom: 0;
    }

    #storyPage section .sticky-top {
        position: relative;
        top: auto;
    }

    #storyPage .h1.xlg {
        margin-top: 0;
        margin-bottom: var(--spacing-xxl);
        padding-top: var(--spacing-xxl);
        font-size: var(--h3-size) !important;
        line-height: var(--h3-line) !important;
        letter-spacing: var(--h3-spacing) !important;
    }

    #storyPage .h1.line-top:before {
        height: 1px;
    }

    #storyPage .fs-md {
        font-size: var(--text-normal) !important;
        line-height: var(--text-medium-line);
    }

    #storyPage .photo {
        height: 50vh;
    }

    #storyPage .photo img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #storyPage .photos .col-left {
        margin-bottom: var(--spacing-l);
    }

    #storyPage .bullets [class*="col-"]:not(:last-child) {
        margin-bottom: var(--spacing-xxl-2);
    }

    #storyPage .bullets .row {
        margin-bottom: 0;
    }

    #storyPage .container-block {
        padding-bottom: 0;
    }

    #storyPage .text-inside-photo {
        position: relative;
        text-align: left;
        color: white;
    }

    #storyPage .bottom-left {
        position: absolute;
        font-size: 8px;
        bottom: 10px;
        left: 20px;
    }

    #storyPage .bottom-right {
        position: absolute;
        font-size: 8px;
        bottom: 10px;
        right: 15px;
    }

    #storyPage .padding-top {
        padding-top: 1.5em;
    }
}

@media (max-width: 400px) {
    .page {
        padding: 2rem var(--spacing-s) 2rem;
    }
}

/* Footer */
footer {
    margin-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xxl) !important;
    position: relative;
}

footer.p-0 {
    padding-bottom: var(--spacing-xxl) !important;
}

footer .logos {
    margin-bottom: var(--spacing-xl);
}

footer .logos .logo img {
    display: block;
    height: 12px;
}

footer h6 {
    margin-bottom: var(--spacing-m);
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--spacing-l) 0;
}

footer a {
    color: var(--grey-900);
    text-decoration: none;
}

footer a:not(.social-link),
footer li div {
    display: block;
    padding-bottom: var(--spacing-s);
}

footer a:hover {
    text-decoration: underline;
}

footer .sub {
    border-top: 1px solid var(--grey-100);
    padding-top: var(--spacing-xl);
}

footer .social-link {
    display: inline-block;
    margin-left: var(--spacing-s);
    font-size: var(--text-medium);
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

footer .social-link:hover {
    opacity: 0.6;
}

footer .ue-logos img {
    display: block;
    margin: 0 auto;
    width: 300px;
}

footer .ue-logos-down {
    display: none;
}

.white-close {
    all: unset;
    color: white;
    display: inline;
    gap: 0.25rem;
    place-content: center;
}

@media (max-width: 768px) {
    footer {
        padding-left: var(--spacing-m) !important;
        padding-right: var(--spacing-m) !important;
        padding-bottom: calc(
            var(--mobile-bar-height) + var(--spacing-xxl-2)
        ) !important;
        margin-top: var(--spacing-xxl-2);
    }

    footer a:hover {
        text-decoration: none;
    }

    footer .social-link:hover {
        opacity: 1;
    }

    footer .sub {
        display: block !important;
    }

    footer .sub [class*="flex-"] {
        text-align: left !important;
    }

    footer .sub [class*="flex-"]:first-child {
        margin-bottom: var(--spacing-m);
    }

    footer .sub .social-link {
        margin-left: 0;
        margin-right: var(--spacing-s);
    }

    footer .ue-logos {
        display: none;
    }

    footer .ue-logos-down {
        display: block;
        padding-top: 2rem;
    }

    footer .ue-logos-down img {
        width: 100%;
        display: block;
        margin: 0 auto;
    }
}

/* Tabs */
.nav-underline {
    gap: var(--spacing-m);
}

.nav-underline .nav-link {
    color: var(--grey-500);
    border-bottom: none !important;
    position: relative;
    text-transform: uppercase;
}

.nav-link.disabled {
    color: var(--grey-500);
}

.nav-underline .nav-link.active:after,
.nav-underline .nav-link:not(.active):after {
    content: "";
    clear: both;
    position: absolute;
    height: 1px;
    width: 20px;
    margin-left: -10px;
    bottom: 0;
    left: 50%;
    background-color: var(--grey-900);
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
    font-weight: 300;
    color: var(--grey-900);
}

.nav-underline .nav-link:not(.active):after {
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.nav-underline .nav-link:not(.active):hover {
    color: var(--grey-900);
}

.nav-underline .nav-link:not(.active):hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

@media (max-width: 768px) {
    .nav-tabs-container {
        overflow: scroll;
        width: auto;
        position: relative;
        margin-left: calc(-1 * var(--spacing-m));
        margin-right: calc(-1 * var(--spacing-m));
        padding-left: var(--spacing-m);
        margin-bottom: var(--spacing-l) !important;
    }

    .nav-tabs-container .nav {
        white-space: nowrap;
        max-width: 1000px;
        display: block;
    }

    .nav-tabs-container .nav .nav-item {
        display: inline-block;
        margin-right: var(--spacing-m);
    }

    .nav-underline .nav-link:not(.active):hover {
        color: var(--grey-500);
    }

    .nav-underline .nav-link:not(.active):hover:after {
        transform: scaleX(0);
    }

    .nav-underline .nav-link {
        font-size: var(--text-xsmall);
    }
}

/* Filters */
.filters .nav-tabs-container {
    margin-bottom: var(--spacing-xl);
}

.filters-group {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 25%;
    z-index: 1060;
    background-color: #fff;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.filters-group:before {
    clear: both;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1030;
    position: fixed;
    display: block;
}

.filters-group.collapsed {
    right: -25%;
}

.filters-group.collapsed::before {
    display: none;
}

.filters-group .filters-title {
    position: relative;
    margin-bottom: var(--spacing-xl);
    cursor: pointer;
}

.filters-group .filters-title:after {
    content: "\f00d";
    font-family: "Font Awesome 6 Sharp";
    font-size: 20px;
    text-align: right !important;
    font-weight: 300;
    margin-left: 0;
    position: absolute;
    right: 0;
    transition: none;
}

.filters-group .filters-title span {
    display: none;
}

.filters-group .filter-item {
    margin-bottom: var(--spacing-m);
    min-width: 120px;
}

.filters-group .filter-item .form-label {
    opacity: 1;
    position: relative;
    margin-bottom: var(--spacing-s);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--h6-spacing);
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.filters-group .filter-item .btn-check + .btn {
    width: 100%;
    text-align: left;
    border: none;
    padding: 0 !important;
    display: block;
    margin-bottom: var(--spacing-s);
    position: relative;
    color: var(--grey-500);
}

.filters-group .filter-item .btn-check + .btn span {
    padding-bottom: 4px;
}

.filters-group .filter-item .btn-check:checked + .btn-secondary {
    color: var(--grey-900);
}

.filters-group .filter-item .btn-check:checked + .btn-secondary span {
    border-bottom: 1px solid var(--grey-900);
}

.filters-group .filter-item .btn-check:checked + .btn-secondary:after {
    content: "\f00c";
    font-family: "Font Awesome 6 Sharp";
    font-size: 12px;
    text-align: right !important;
    font-weight: 300;
    margin-left: 0;
    position: absolute;
    right: 0;
    transition: none;
}

.filters-group
    .filter-item
    .btn-secondary:not([disabled]):not(.btn-loading):hover {
    opacity: 1 !important;
}

.filters-group .filter-item .filter-options {
    padding-bottom: var(--spacing-s);
}

.filters-group .filters-wrapper {
    z-index: 1050;
    background-color: #fff;
}

.filters-group .filters-wrapper,
.drawer-wrapper {
    padding: 2rem 3rem;
    position: relative;
    height: 100%;
}

@media (max-width: 768px) {
    .filter-toggle {
        display: none;
    }

    .filters-group {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 68px;
        z-index: 1050;
        background-color: #fff;
        transition: all 0.25s ease-in-out;
        -moz-transition: all 0.25s ease-in-out;
        -o-transition: all 0.25s ease-in-out;
        -webkit-transition: all 0.25s ease-in-out;
    }

    .filters-group.collapsed {
        height: 42px;
        max-height: 42px;
        overflow: hidden;
        bottom: 68px;
        top: auto;
        left: 0;
        width: 100%;
        z-index: 1030;
    }

    .filters-group.show {
        height: auto;
        max-height: 100vh;
        bottom: 68px;
        left: 0;
        width: 100%;
        top: auto;
        z-index: 1030;
    }

    .filters-group.collapsed:before {
        display: none;
    }

    .filters-group .filters-title {
        display: block;
        padding: var(--spacing-s) var(--spacing-m);
        margin-bottom: var(--spacing-s);
        position: relative;
    }

    .filters-group .filters-title:after {
        content: "\f078";
        font-family: "Font Awesome 6 Sharp";
        font-size: 12px;
        text-align: right !important;
        font-weight: 700;
        margin-left: 0;
        margin-top: -4px;
        top: 50%;
        position: absolute;
        right: var(--spacing-m);
        transition: none;
    }

    .filters-group .filters-title span {
        display: block;
    }

    .filters-group.collapsed .filters-title {
        margin-bottom: 0;
        background-color: var(--secondary-color);
        color: #fff;
    }

    .filters-group.collapsed .filters-title:after {
        content: "\f077";
    }

    .filters-group .filters-body {
        display: block;
        overflow: hidden;
        padding: 0 var(--spacing-m);
        transition: all 0.25s ease-in-out;
        -moz-transition: all 0.25s ease-in-out;
        -o-transition: all 0.25s ease-in-out;
        -webkit-transition: all 0.25s ease-in-out;
    }

    .filters-group .filters-wrapper {
        padding: 0;
    }

    .filters-group .filters-body .filters-buttons {
        margin-bottom: var(--spacing-m);
        padding-top: var(--spacing-xs);
    }

    .filters-group .filters-body .horizontal-scroll-item {
        margin-right: 0;
    }

    .filters-group .filter-item .form-label {
        opacity: 0.65;
        cursor: auto;
        font-size: var(--text-small);
        font-weight: 300;
        letter-spacing: var(--text-small-spacing);
        text-transform: none;
    }

    .filters-group .filter-item .form-label:after {
        display: none;
    }

    .filters-group .filter-item .filter-options {
        position: relative;
        display: block;
    }

    .filters-group .filter-item .btn-check + .btn {
        border: 1px solid var(--grey-500);
        margin-bottom: 0;
        text-align: center;
        width: auto;
        padding: 0.75rem var(--spacing-s) !important;
    }

    .filters-group .filter-item .btn-check:checked + .btn-secondary {
        border-color: var(--grey-900);
    }

    .filters-group .filter-item .btn-check:checked + .btn-secondary span {
        border-bottom: none;
    }

    .filters-group .filter-item .btn-check:checked + .btn-secondary:after {
        display: none;
    }
}

/* Horizontal scroll */
@media (max-width: 768px) {
    .horizontal-scroll-container {
        overflow: scroll;
        width: auto;
        position: relative;
        margin-left: calc(-1 * var(--spacing-m));
        margin-right: calc(-1 * var(--spacing-m));
        padding-left: var(--spacing-m);
    }

    .horizontal-scroll-wrapper {
        white-space: nowrap;
        max-width: 1000px;
        width: 100vw;
        display: block;
    }

    .horizontal-scroll-item {
        display: inline-block;
        margin-right: var(--spacing-m);
    }
}

/* HR */
hr {
    color: var(--grey-100);
    opacity: 1;
    height: 1px;
    margin: var(--spacing-l) 0;
}

hr.dark {
    color: var(--grey-500);
    opacity: 1;
    height: 1px;
    margin: var(--spacing-l) 0;
}

/* Alerts */
#previewAlert {
    background-color: #057e82;
    text-align: center;
    padding: var(--spacing-s) var(--spacing-l);
    color: #fff;
    font-weight: 400;
}

.alert {
    display: flex;
    align-items: start;
    padding: 0;
    border-radius: 0;
    -webkit-border-radius: 0;
}

.alert .icon {
    margin-right: var(--spacing-s);
    font-size: var(--text-normal);
    position: relative;
    top: -2px;
    width: 16px;
    text-align: center;
}

.alert.alert-lg .icon {
    width: 24px;
    font-size: 24px;
    top: -8px;
    margin-right: var(--spacing-m);
}

@media (max-width: 768px) {
    .alert .icon {
        margin-right: var(--spacing-xxs);
    }

    .alert.alert-lg .icon {
        width: 16px;
        font-size: var(--text-normal);
        top: -2px;
        margin-right: var(--spacing-s);
    }
}

/* Cart */
.cart-products:not(.accordion-products) {
    padding-right: var(--spacing-xl);
}

.cart-products.accordion-products {
    padding-top: var(--spacing-m);
}

.cart-products .cart-item,
.cart-xsell .cart-item {
    display: flex;
    align-items: center;
    padding-bottom: var(--spacing-s);
    margin-bottom: var(--spacing-m);
    border-bottom: 1px solid var(--grey-300);
}

.cart-products .cart-item.no-border,
.cart-xsell .cart-item.no-border {
    border-bottom: none;
}

.cart-products .cart-item:last-child,
.cart-xsell .cart-item:last-child,
.cart-xsell.sm .cart-item:nth-child(3) {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.cart-products .cart-item .thumbnail,
.cart-xsell .cart-item .thumbnail {
    width: 128px;
    height: 128px;
    overflow: hidden;
    margin-right: var(--spacing-m);
    background-color: transparent;
}

.cart-products .cart-item .thumbnail img,
.cart-xsell .cart-item .thumbnail img {
    display: block;
    width: 100%;
}

.cart-products .cart-item .title {
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-s);
}

.cart-products .cart-item .title a,
.cart-xsell .cart-item .title a {
    font-weight: 700;
    display: block;
    text-decoration: none;
}

.cart-products .cart-item .title a:hover,
.cart-xsell .cart-item .title a:hover {
    text-decoration: underline;
}

.cart-products .cart-item .title .form-dropdown,
.cart-xsell .cart-item .title .form-dropdown {
    position: relative;
    top: -2px;
}

.cart-products .cart-item .title .amount,
.cart-xsell .cart-item .title .amount {
    position: relative;
    padding-left: 12px;
    text-decoration: underline;
}

.cart-products .cart-item .title .amount:before,
.cart-xsell .cart-item .title .amount:before {
    content: "x";
    clear: both;
    left: 0;
    position: absolute;
}

.cart-products .cart-item .actions,
.cart-xsell .cart-item .actions {
    display: flex;
    align-items: center;
}

.cart-products .cart-item .actions .btn-link[data-action="saveFavorite"],
.cart-xsell .cart-item .actions .btn-link[data-action="saveFavorite"] {
    width: 24px;
    height: 24px !important;
    padding: 0 !important;
    line-height: 24px;
    text-align: center;
    position: relative;
    top: 5px;
}

.cart-products .cart-item .actions .btn-link[data-action="saveFavorite"] span,
.cart-xsell .cart-item .actions .btn-link[data-action="saveFavorite"] span {
    display: none;
}

.cart-products.sm
    .cart-item
    .actions
    .btn-link[data-action="saveFavorite"]
    i[class*="fa-"],
.cart-xsell.sm
    .cart-item
    .actions
    .btn-link[data-action="saveFavorite"]
    i[class*="fa-"] {
    font-size: 12px;
}

.cart-products .cart-item .error,
.cart-xsell .cart-item .error {
    position: relative;
    color: var(--danger-600);
    padding-left: 24px;
    font-size: var(--text-small);
    font-weight: 400;
    line-height: var(--text-small-line);
}

.cart-products .cart-item .error:before,
.cart-xsell .cart-item .error:before {
    content: "\f06a";
    clear: both;
    font-family: "Font Awesome 6 Sharp";
    position: absolute;
    left: 0;
    top: 1px;
    z-index: 1;
}

#cartPage .xsell-products.products {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: var(--spacing-s);
    grid-row-gap: var(--spacing-xl);
}

#cartPage .xsell-products.products .product-item .thumbnail {
    margin-bottom: var(--spacing-xs);
}

#cartPage .xsell-products.products .product-item .thumbnail .btn.cart-add {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 9;
    display: none;
}

#cartPage .xsell-products.products .product-cart {
    padding-top: var(--spacing-xs);
}

#cartPage .xsell-products.products .product-cart .btn {
    width: 100%;
}

#cartPage .xsell-products.products .product-item .product-name {
    display: block;
}

#cartPage .xsell-products.products .product-item .product-name .name {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 20px;
    max-width: 200px;
}

@media (max-width: 768px) {
    #cartPage .xsell-products.products {
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: var(--spacing-xs);
        grid-row-gap: var(--spacing-l);
    }

    #cartPage .xsell-products.products .product-item .thumbnail .btn.cart-add {
        display: block;
    }

    #cartPage .xsell-products.products .product-cart {
        display: none;
    }

    #cartPage .xsell-products.products .product-cart .btn span {
        display: none;
    }

    #cartPage .xsell-products.products .product-item .product-name .name {
        overflow: auto;
        height: auto;
        white-space: normal;
        max-width: 100%;
    }
}

.cart-left .cart-summary {
    display: none;
}

.cart-summary {
    height: auto;
    background-color: #fff;
    border: 1px solid var(--grey-900);
    padding: var(--spacing-m);
    margin-bottom: var(--spacing-l);
}

.cart-summary h6 {
    margin-bottom: var(--spacing-l);
}

.summary-row {
    display: flex;
    align-items: center;
}

.summary-row.border-top {
    padding-top: var(--spacing-xs);
}

.summary-row.border-top:not(:last-child) {
    padding-top: var(--spacing-m);
}

.summary-row:not(:last-child) {
    margin-bottom: var(--spacing-xs);
}

.summary-row h6 {
    margin-bottom: 0;
}

.summary-row .price {
    font-weight: 700;
    text-align: right;
}

.summary-buttons {
    margin-top: var(--spacing-m);
}

.summary-buttons .btn {
    width: 100%;
}

.order-bullets .alert {
    margin-bottom: var(--spacing-xs);
}

.cart-alert {
    border-bottom: 1px solid var(--grey-100);
    padding-bottom: var(--spacing-l);
    margin-bottom: var(--spacing-l);
}

.cart-products.sm,
.cart-xsell.sm {
    padding-right: 0;
    border-bottom: 1px solid var(--grey-100);
    margin-bottom: var(--spacing-l);
    padding-bottom: var(--spacing-l);
}

.cart-products.sm .cart-item,
.cart-xsell.sm .cart-item {
    margin-bottom: var(--spacing-s);
    border-color: var(--grey-100);
}

.cart-xsell.sm .cart-item {
    display: none;
}

.cart-xsell.sm .cart-item:nth-child(1),
.cart-xsell.sm .cart-item:nth-child(2),
.cart-xsell.sm .cart-item:nth-child(3) {
    display: flex;
}

.cart-products.sm .cart-item,
.cart-products.sm .cart-item .btn,
.cart-xsell.sm .cart-item,
.cart-xsell.sm .cart-item .btn:not(.btn-modal) {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
    letter-spacing: var(--text-xsmall-spacing);
}

.cart-products.sm .cart-item .thumbnail,
.cart-xsell.sm .cart-item .thumbnail {
    background-color: var(--background-color);
}

.cart-products.sm .cart-item .btn:not(.btn-primary),
.cart-xsell.sm .cart-item .btn:not(.btn-primary) {
    padding: 0.5rem 0 0;
    height: auto;
}

.cart-xsell.sm .cart-item .thumbnail img {
    height: 100%;
    object-fit: cover;
}

.cart-products.sm .cart-item .title,
.cart-xsell.sm .cart-item .title {
    margin-bottom: var(--spacing-xxs);
}

.cart-xsell.sm .cart-item .price {
    margin-top: var(--spacing-xxs);
}

.cart-xsell.sm .cart-item .btn.cart-add,
#cartPage .xsell-products.products .product-item .thumbnail .btn.cart-add {
    width: 32px;
    height: 32px;
    padding: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.cart-xsell.sm .cart-item .btn.cart-add span,
#cartPage .xsell-products.products .product-item .thumbnail .btn.cart-add span {
    display: none;
}

#cartPage
    .xsell-products.products
    .product-item
    .thumbnail
    .btn.cart-add.btn-success:not([disabled]):focus:after,
#cartPage
    .xsell-products.products
    .product-item
    .thumbnail
    .btn.cart-add.btn-success:not([disabled]):active:after,
#cartPage
    .xsell-products.products
    .product-item
    .thumbnail
    .btn.cart-add.btn-success:not([disabled]):after {
    line-height: 32px;
}

.cart-xsell.sm .cart-item .btn-icon i[class*="fa-"] {
    font-size: var(--text-small);
}

.cart-products.sm .cart-item .title a:hover,
.cart-xsell.sm .cart-item .title a:hover {
    text-decoration: none;
}

.cart-products.sm .cart-item .title .form-dropdown,
.cart-xsell.sm .cart-item .title .form-dropdown {
    font-size: var(--text-xsmall);
}

.cart-products.sm .cart-item .thumbnail,
.cart-xsell.sm .cart-item .thumbnail {
    width: 72px;
    height: 72px;
    margin-right: var(--spacing-s);
}

.cart-products.sm .cart-item .error,
.cart-xsell.sm .cart-item .error {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
    letter-spacing: var(--text-xsmall-spacing);
}

.cart-products.sm .cart-item .error:before,
.cart-xsell.sm .cart-item .error:before {
    font-size: var(--text-xsmall);
}

@media (max-width: 768px) {
    .empty-state.cart-alert {
        margin-top: 0;
    }

    .cart-products.accordion-products {
        padding-top: 0;
    }

    .cart-products {
        padding-top: var(--spacing-l);
        margin-bottom: var(--spacing-l);
        padding-right: 0 !important;
    }

    .cart-products .cart-item,
    .cart-xsell .cart-item {
        margin-bottom: var(--spacing-s);
    }

    .cart-products .cart-item,
    .cart-products .cart-item .btn,
    .cart-xsell .cart-item,
    .cart-xsell .cart-item .btn {
        font-size: var(--text-xsmall);
        line-height: var(--text-xsmall-line);
        letter-spacing: var(--text-xsmall-spacing);
    }

    .cart-products .cart-item .btn,
    .cart-xsell .cart-item .btn {
        padding: 0.5rem 0;
        width: auto;
    }

    .cart-products .cart-item .title,
    .cart-xsell .cart-item .title {
        margin-bottom: var(--spacing-xxs);
    }

    .cart-products .cart-item .title a:hover,
    .cart-xsell .cart-item .title a:hover {
        text-decoration: none;
    }

    .cart-products .cart-item .title .form-dropdown,
    .cart-xsell .cart-item .title .form-dropdown {
        font-size: var(--text-xsmall);
    }

    .cart-products .cart-item .thumbnail,
    .cart-xsell .cart-item .thumbnail {
        width: 72px;
        height: 72px;
        margin-right: var(--spacing-s);
    }

    .cart-left .cart-summary {
        display: block !important;
    }

    .cart-summary {
        margin-top: var(--spacing-xxl-2) !important;
    }

    .cart-summary,
    .checkout-summary {
        position: relative;
        width: calc(100% + calc(2 * var(--spacing-m)));
        padding-top: var(--spacing-m);
        padding-bottom: var(--spacing-m);
        border: none;
        border-top: 1px solid var(--grey-900);
        border-bottom: 1px solid var(--grey-900);
        margin-top: var(--spacing-l);
        margin-bottom: var(--spacing-l);
        margin-left: -24px;
    }

    .cart-summary h5 {
        display: none;
    }

    .cart-right .cart-summary {
        display: none;
    }

    .order-bullets {
        padding-bottom: var(--spacing-m);
        margin-top: var(--spacing-xxl);
        border-bottom: 1px solid var(--grey-300);
    }

    #paymentSuccess {
        padding: 2rem var(--spacing-m);
    }
}

/* Toggle cart */
.cart-toggle.form-check-input {
    border-radius: 100px;
    -webkit-border-radius: 100px;
}

.cart-toggle.form-check-input:checked[type="checkbox"] {
    border-color: transparent;
}

.cart-toggle.form-check-input:checked[type="checkbox"]:after {
    width: 20px;
    height: 20px;
    background-color: var(--grey-900);
    content: "\f00c";
    font-family: "Font Awesome 6 Sharp";
    font-size: 12px;
    line-height: 20px;
    font-weight: 900;
    text-align: center;
    color: #fff;
    top: 0px;
    left: 0px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
}

.cart-toggle:checked + .btn,
.cart-toggle + .btn {
    background-color: transparent !important;
    border: 1px solid var(--dark-300);
    color: var(--dark-900) !important;
    font-weight: 500;
    font-size: 0.875rem !important;
    display: block;
    padding: var(--spacing-xs);
}

.d-flex .btn {
    height: 100%;
}

.cart-toggle:checked + .btn {
    border: 2px solid var(--primary-500);
    padding: calc(var(--spacing-xs) - 1px);
}

.cart-toggle:checked + .btn .label {
    font-weight: 600;
}

.cart-toggle + .btn * {
    line-height: normal;
}

.cart-toggle + .btn .image {
    margin: var(--spacing-s) 0 var(--spacing-s);
}

.cart-toggle + .btn .image i[class*="fa-"] {
    color: var(--primary-500);
    font-size: 28px;
    margin-right: 0;
}

.cart-toggle + .btn .helper {
    color: var(--dark-500);
    display: inline-block;
    margin-top: var(--spacing-xxs);
}

.cart-toggle.vertical + .btn {
    padding: calc(var(--spacing-s) - 1px) calc(var(--spacing-s) - 1px) !important;
}

.cart-toggle.vertical + .btn .image {
    margin: 0;
    text-align: center;
    width: 32px;
}

.cart-toggle.vertical + .btn .image i[class*="fa-"] {
    font-size: 16px;
}

.cart-toggle.vertical + .btn .label {
    text-align: left;
    padding-left: var(--spacing-xs);
}

/* Checkout */
.accordion.checkout-header {
    margin-bottom: var(--spacing-l);
}

.checkout-form .form-check:not(:last-child) {
    margin-bottom: var(--spacing-s);
}

.checkout-form .delivery-form {
    padding-left: 32px;
}

.checkout-form .delivery-item:not(:last-child) .delivery-form {
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
    border-bottom: 1px solid var(--grey-100);
}

.checkout-form .delivery-form h6:first-child {
    margin-top: var(--spacing-xl);
}

.checkout-form .delivery-form h6 {
    margin-bottom: var(--spacing-m);
}

.checkout-terms .form-check:not(:last-child) {
    margin-bottom: var(--spacing-xs);
}

.checkout-summary {
    height: auto;
    background-color: #fff;
    border: 1px solid var(--grey-900);
    padding: var(--spacing-m);
    margin-bottom: var(--spacing-l);
}

.checkout-summary h6 {
    margin-bottom: var(--spacing-l);
}

#checkoutForm .checkbox-form {
    padding-top: var(--spacing-xs);
    padding-bottom: var(--spacing-s);
}

#checkoutForm .checkbox-form:last-child {
    padding-bottom: 0;
}

@media (max-width: 768px) {
    .page.page-checkout {
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .accordion.accordion-margin {
        margin-bottom: var(--spacing-l);
    }

    .accordion.checkout-header .accordion-body {
        background-color: #fff;
    }

    .accordion.checkout-header .cart-products {
        padding-right: 0;
        margin-bottom: 0;
    }

    .accordion.checkout-form .accordion-body {
        padding-top: var(--spacing-xxs);
    }

    .checkout-form .delivery-form .btn {
        width: 100%;
    }

    .checkout-terms {
        padding: 0 var(--spacing-m);
        padding-top: var(--spacing-s) !important;
    }

    .checkout-summary {
        border: none;
        border-bottom: 1px solid var(--grey-900);
        border-top: 1px solid var(--grey-900);
        margin-top: var(--spacing-l);
    }

    .checkout-right .checkout-summary {
        padding-left: var(--spacing-m);
        padding-right: var(--spacing-m);
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    #orderPage .checkout-summary,
    #returnPage .checkout-summary,
    #newReturnpage .checkout-summary {
        margin-left: calc(-1 * var(--spacing-m));
        margin-right: calc(-1 * var(--spacing-m));
        width: calc(100% + calc(2 * var(--spacing-m)));
    }

    .empty-state {
        margin-top: var(--spacing-l);
    }

    #returnForm {
        margin-left: calc(-1 * var(--spacing-m));
        margin-right: calc(-1 * var(--spacing-m));
        width: calc(100% + calc(2 * var(--spacing-m)));
    }

    #returnForm .empty-state,
    #successReturn {
        margin-top: calc(2 * var(--spacing-l));
    }

    #returnForm #products {
        margin-top: calc(2 * var(--spacing-l));
        padding-left: var(--spacing-m);
        padding-right: var(--spacing-m);
    }

    #returnForm .accordion.checkout-form {
        margin-bottom: 0;
    }

    #returnForm .cart-item [class*="col-"] {
        width: 50%;
    }

    #newReturnpage .checkout-summary {
        margin-top: 0;
        border-top: none;
    }

    #returns .empty-state,
    #orders .empty-state {
        margin-top: 0 !important;
    }

    .accordion-body [class*="col-lg"],
    .vat-number-form [class*="col-lg"],
    .checkbox-form [class*="col-lg"],
    .content-body [class*="col-lg"] {
        margin-bottom: var(--spacing-m);
    }

    .accordion-body .form-group.mb-4,
    .content-body .row.mb-4 {
        margin-bottom: 0 !important;
    }

    #shippingInpost {
        padding-top: var(--spacing-xxs);
    }

    #paymentForm {
        padding-left: var(--spacing-m);
        padding-right: var(--spacing-m);
    }
}

/* Newsletter */
.card-border {
    position: relative;
}

.card-border .card-body {
    border: 1px solid var(--grey-900);
    padding: var(--spacing-l) var(--spacing-m) var(--spacing-m);
    position: relative;
    z-index: 1;
}

.card-border h6 {
    position: absolute;
    top: -5px;
    left: var(--spacing-m);
    background-color: var(--background-color);
    padding: 0 8px;
    z-index: 2;
    margin-left: -4px;
}

@media (max-width: 768px) {
    .card-border {
        margin-top: 3rem;
        margin-bottom: 5rem;
    }

    [data-name="subscribeForm"].card-border {
        margin-left: var(--spacing-m);
        margin-right: var(--spacing-m);
    }

    #productPage [data-name="subscribeForm"].card-border {
        margin-left: 0;
        margin-right: 0;
    }

    footer [data-name="subscribeForm"] {
        display: none;
        margin-left: 0;
        margin-right: 0;
    }

    .card-border .card-body {
        padding: var(--spacing-s);
        padding-top: var(--spacing-xxl);
    }

    .card-border .col-auto {
        width: 100%;
    }

    .card-border .btn {
        width: 100%;
    }
    .card-border h6 {
        left: var(--spacing-s);
    }
}

/* Cards */
.card {
    border: none;
    border-radius: 0;
    background-color: transparent;
}

.card .products {
    width: 100%;
    margin-left: 0;
}

.card-border-fill {
    background-color: #fff;
    border: 1px solid var(--grey-900);
    padding: var(--spacing-m);
}

@media (max-width: 768px) {
    .card .products .products-footer .btn {
        width: 100%;
    }
}

/* Tooltips */
.tooltip {
    font-size: var(--text-xsmall);
    line-height: var(--text-xsmall-line);
    font-family: "OPLOTKA Sans", sans-serif !important;
}

.tooltip.in {
    filter: alpha(opacity=100);
    opacity: 1;
}

.tooltip-inner {
    border-radius: 0;
    background-color: #fff;
    color: var(--grey-900);
    border: 1px solid var(--grey-900);
    opacity: 1;
}

/* Drawer */
.drawer {
    position: fixed;
    right: calc(-1 * var(--drawer-width));
    top: 0;
    bottom: 0;
    z-index: 1090;
    background-color: #fff;
    width: var(--drawer-width);
    padding: 1rem 3rem;
    overflow: scroll;
}

.drawer-buttons:not(.drawer-buttons-mobile) {
    display: block;
}

.drawer-buttons-mobile {
    display: none;
}

.drawer::-webkit-scrollbar {
    display: none;
}

.drawer .btn-group {
    margin-bottom: var(--spacing-xl);
}

.drawer.show {
    animation: showDrawer 0.25s normal forwards ease-in-out;
}

@keyframes showDrawer {
    0% {
        right: calc(-1 * var(--drawer-width));
    }
    100% {
        right: 0;
    }
}

.drawer.hide {
    animation: hideDrawer 0.25s normal forwards ease-in-out;
}

@keyframes hideDrawer {
    0% {
        right: 0;
    }
    100% {
        right: calc(-1 * var(--drawer-width));
    }
}

.drawer-title {
    display: flex;
    align-items: center;
}

.drawer-title .btn {
    position: relative;
    top: 0;
}

.drawer-body {
    position: relative;
    padding-top: var(--spacing-l);
}

.drawer-body .loading {
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.drawer-body .loading:after {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    top: -10vh;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 1px solid transparent;
    border-top-color: var(--grey-900);
    border-radius: 50%;
    animation: btn-loading-spinner 1s ease infinite;
}

@media (max-width: 768px) {
    .drawer {
        width: 100%;
        right: 0;
        left: 0;
        top: auto;
        bottom: var(--mobile-bar-height);
        padding: 0 var(--spacing-m) var(--spacing-m);
    }

    .drawer-title {
        padding: var(--spacing-s) 0;
        margin-bottom: 0;
        position: relative;
    }

    .drawer-title h6 {
        margin-bottom: 0;
    }

    .drawer-body {
        padding-top: 0;
    }

    .drawer-buttons {
        margin-bottom: var(--spacing-l);
    }

    .drawer-buttons:not(.drawer-buttons-mobile) {
        display: none;
    }

    .drawer-buttons-mobile {
        display: block;
        margin-bottom: 0;
    }

    .drawer-title .btn {
        width: 44px;
        height: 44px;
        text-align: center !important;
    }

    .drawer .btn-group {
        margin-bottom: 0;
    }

    .drawer .cart-xsell.sm .cart-item {
        display: none;
    }

    .drawer .cart-xsell.sm .cart-item:first-child {
        display: flex;
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    @keyframes showDrawer {
        0% {
            bottom: -100vh;
        }
        100% {
            bottom: var(--mobile-bar-height);
        }
    }

    @keyframes hideDrawer {
        0% {
            bottom: 0;
        }
        100% {
            bottom: -100vh;
        }
    }

    #cartDrawer .cart-products {
        display: none;
    }
}

/* Gallery */
#gallery,
#mobileGallery {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--product-card-background);
    z-index: 9999;
}

.mobile-gallery-wrapper {
    position: relative;
    width: 100%;
    height: calc(100% - 60px); /* Account for indicators */
    overflow: hidden;
}

.mobile-gallery-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-out;
    display: grid;
    place-content: center;
}

.mobile-gallery-item img,
.mobile-gallery-item video {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}

.mobile-gallery-indicators {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.mobile-gallery-indicators .indicator {
    width: 12px;
    height: 1px;
    opacity: 0.2;
    background: var(--grey-900);
}

.mobile-gallery-indicators .indicator.active {
    opacity: 1;
}

#gallery .product-gallery {
    height: 100%;
}

#gallery .product-gallery .gallery-item {
    width: auto;
    overflow: auto;
    height: 100%;
    text-align: center;
}

#gallery .product-gallery .gallery-item .zoom-container {
    display: inline-block;
    height: 100%;
}

#gallery .product-gallery .gallery-item .zoom-wrapper {
    width: auto;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

#gallery .product-gallery .gallery-item img {
    width: auto;
}

#gallery .product-gallery .gallery-thumbnails {
    margin-left: 2rem;
    margin-top: 2rem;
}

#gallery .product-gallery-wrapper {
    position: relative;
}

#gallery .close,
#mobileGallery .close {
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: 2;
}

#mobileGallery .close {
    right: 0;
    top: 0;
}

#gallery .btn-icon:hover {
    background-color: var(--background-color);
}

#gallery nav [class*="gallery-"] {
    position: absolute;
    top: 50%;
    margin-top: -33px;
    z-index: 1;
    background-color: var(--background-color);
}

#gallery nav [class*="gallery-"]:hover {
    background-color: var(--background-color-dark);
}

#gallery nav .gallery-prev {
    left: 2rem;
}

#gallery nav .gallery-next {
    right: 2rem;
}

/* Zoomer */
.zoom-wrapper:hover,
.zoom-wrapper:active {
    cursor: zoom-in;
    display: block;
}

.zoom-wrapper:hover .zoomer-large,
.zoom-wrapper:active .zoomer-large {
    opacity: 1;
}

.zoomer-large {
    width: 30vh;
    height: 30vh;
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 600%;
    box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2);
    pointer-events: none;
    position: absolute;
    opacity: 0;
    border: 1px solid #fff;
    z-index: 1060;
    display: block;
    transition: opacity 0.2s;
}

@media (max-width: 768px) {
    #gallery {
        z-index: 1091;
        display: none;
    }

    #gallery .product-gallery-wrapper {
        width: 100%;
        height: 100%;
        max-width: 100%;
    }

    #mobileGallery {
        display: block;
        height: calc(100% - var(--mobile-bar-height));
    }

    #mobileGallery img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #mobileGallery .close {
        background-color: #fff !important;
    }
}

/* Search */
.search-container {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: var(--background-color);
    z-index: 1090;
    overflow: scroll;
}

.search-container .search-wrapper {
    height: 100%;
    padding: 2rem 0;
}

.search-container input[name="search"] {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--grey-300) !important;
    letter-spacing: -2px;
    font-size: 24px;
    padding: 16px 0;
    width: 100%;
}

.search-container input[name="search"]:focus,
.search-container input[name="search"]:active {
    border-bottom: 1px solid var(--grey-900) !important;
}

.search-container .btn-icon {
    background-color: #fff;
}

.search-container .btn-icon:hover {
    background-color: var(--background-color-dark);
}

.search-container .search-input {
    margin-bottom: var(--spacing-xl);
}

@media (max-width: 767px) {
    .search-container {
        z-index: 1080;
    }

    .search-container .search-wrapper {
        padding: 1rem var(--spacing-xs) 2rem;
    }

    .search-container .search-input {
        margin-bottom: calc(2 * var(--spacing-xl));
    }

    .search-container input[name="search"] {
        font-size: var(--text-normal);
        letter-spacing: var(--text-normal-spacing);
    }

    .search-container .btn-icon i[class*="fa-"] {
        font-size: var(--text-xsmall);
        font-weight: 900;
    }
}

/* Shaker */
.shaker {
    animation: shake 0.2s ease-in-out 0s 2;
}

@keyframes shake {
    0% {
        margin-left: 0rem;
    }
    25% {
        margin-left: 0.5rem;
    }
    75% {
        margin-left: -0.5rem;
    }
    100% {
        margin-left: 0rem;
    }
}

/* Orders */
.order-item {
    display: block;
    border-bottom: 1px solid var(--grey-100);
    margin-bottom: var(--spacing-m);
    padding-bottom: var(--spacing-s);
    text-decoration: none;
}

.order-item.last-order {
    display: block;
    background-color: #fff;
    border: 1px solid var(--grey-900);
    padding: var(--spacing-m);
    margin-bottom: var(--spacing-xl);
}

@media (max-width: 767px) {
    .order-item.last-order {
        margin-left: calc(-1 * var(--spacing-m));
        margin-right: calc(-1 * var(--spacing-m));
        margin-bottom: var(--spacing-xxl-2);
        border-left: none;
        border-right: none;
    }
}

.order-item:hover .date {
    text-decoration: underline;
}

.order-item .order-link {
    display: block;
    text-decoration: none;
}

.order-item .order-heading {
    margin-bottom: var(--spacing-s);
    position: relative;
}

.order-item .order-heading:after {
    content: "\f054";
    font-family: "Font Awesome 6 Sharp";
    font-size: 12px;
    text-align: right !important;
    font-weight: 700;
    clear: both;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.order-item a.order-body {
    display: block;
    text-decoration: none;
}

.order-item .order-body .steps {
    margin-bottom: var(--spacing-l);
    margin-top: var(--spacing-l);
}

.order-item .order-body .summary {
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-s);
}

.order-item .order-body .summary .amount {
    font-size: 26px;
    font-weight: 300;
    letter-spacing: var(--h3-spacing);
}

.order-item .order-body .summary .status {
    color: var(--grey-500);
}

.order-item .items {
    display: flex;
}

.order-item .items .item-thumbnail {
    overflow: hidden;
    width: 72px;
    height: 72px;
    margin-right: var(--spacing-xxs);
    background-color: var(--background-color-dark);
}

.order-item .items .item-thumbnail img {
    display: block;
    object-fit: cover;
    width: 100%;
}

/* Payment logos */
.payments-logos {
    display: flex;
    align-items: center;
    gap: 10px;
}

.payments-logos img {
    height: 20px;
    opacity: 0.3;
}

.summary-buttons .payments-logos {
    margin-top: var(--spacing-m);
    justify-content: center;
}

/* Error message */
#responseMessage,
[data-name="responseMessage"] {
    color: var(--danger-600);
    position: relative;
    padding-left: 24px;
    font-weight: 400;
}

#responseMessage:before,
[data-name="responseMessage"]:before {
    content: "\f06a";
    clear: both;
    font-family: "Font Awesome 6 Sharp";
    position: absolute;
    left: 0;
    top: 1px;
    z-index: 1;
}

.checkout-summary #responseMessage,
.checkout-summary [data-name="responseMessage"],
.cart-sumamry #responseMessage,
.cart-sumamry [data-name="responseMessage"] {
    margin-top: var(--spacing-m);
}

/* Page title */
.page-title-sans {
    font-family: "OPLOTKA Sans";
    font-weight: 400;
    margin-bottom: var(--spacing-xl);
}

.page-title-sans .back {
    text-decoration: none;
    display: inline-block;
    margin-right: var(--spacing-s);
    font-size: 80%;
    position: relative;
    top: -1px;
}

.page-header .grid-buttons .btn {
    position: relative;
    top: -8px;
}

.page-header .grid-buttons .btn.active i {
    font-weight: 700;
}

.page-title .grid-buttons .btn i {
    font-size: 24px;
}

.page-header .filter-tabs .grid-buttons .btn {
    top: 0;
}

@media (max-width: 767px) {
    .page-header .filter-tabs .grid-buttons {
        display: none;
    }

    .page-title .grid-buttons {
        display: block !important;
        position: relative;
        left: 8px;
    }

    .page-title .grid-buttons .btn {
        font-size: 16px;
        position: relative;
        width: 32px;
        height: 44px;
        padding: 0;
        text-align: center;
        margin-left: 0 !important;
    }

    .page-title .grid-buttons .btn i {
        display: none;
    }

    .page-title .grid-buttons .btn:after {
        clear: both;
        font-family: "Font Awesome 6 Sharp";
        font-size: 16px;
        font-weight: 300;
        position: absolute;
        z-index: 1;
        left: 0;
        width: 100%;
        top: 0;
        line-height: 44px;
    }

    .page-title .grid-buttons .btn.active:after {
        font-weight: 900;
    }

    .page-title .grid-buttons .btn[data-grid="grid"]:after {
        content: "\e196";
    }

    .page-title .grid-buttons .btn[data-grid="poster"]:after {
        content: "\f2fa";
    }

    .page-header .grid-buttons .btn {
        top: 0;
    }
}

/* Steps */
.steps {
    counter-reset: steps-counter 0;
    display: flex;
    margin: 0;
    padding: 0;
    justify-content: space-between;
}

.steps li {
    counter-increment: steps-counter 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    flex: 1 1 0px;
    text-align: center;
    font-size: var(--text-xxsmall);
    line-height: var(--text-xxsmall-line);
    color: var(--grey-500);
    font-weight: 500;
    letter-spacing: 0;
    position: relative;
    height: 10px;
    background-color: grey;
}

.steps li:first-child {
    margin-left: calc(-1 * (calc(25% / 4)));
}

.steps li:last-child {
    margin-right: calc(-1 * (calc(25% / 4)));
}

.steps li span {
    position: relative;
    display: inline-block;
    padding-top: var(--spacing-m);
}

.steps li a {
    display: block;
    color: var(--grey-500) !important;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.steps li:not(.active):hover a {
    color: var(--grey-700) !important;
}

.steps li:not(.active):hover a span:before {
    height: 8px;
    width: 8px;
    background-image: none;
    margin-left: -4px;
    margin-top: 0;
}

.steps li span:before {
    clear: both;
    width: 8px;
    height: 8px;
    background-color: var(--grey-300);
    top: 0;
    left: 50%;
    margin-left: -4px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    content: "";
    position: absolute;
    z-index: 2;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.steps li:before,
.steps li:after {
    clear: both;
    content: "";
    left: 0;
    top: 4px;
    right: 0;
    position: absolute;
    z-index: 1;
    background-color: var(--grey-100);
    height: 1px;
    width: 50%;
}

.steps li:after {
    left: 50%;
}

.steps li:first-child:before,
.steps li:last-child:after {
    display: none;
}

.steps li.active,
.steps li.active a {
    color: var(--grey-700) !important;
}

.steps li.active span:before {
    border: 4px solid var(--grey-900);
    background-color: #fff;
    width: 16px;
    height: 16px;
    margin-left: -8px;
    margin-top: -4px;
}

.steps li.done:before,
.steps li.active:before {
    background-color: var(--grey-900);
}

.steps li.done:after {
    background-color: var(--grey-900);
}

.steps li.done span:before {
    background: var(--grey-900)
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    width: 16px;
    height: 16px;
    margin-left: -8px;
    margin-top: -4px;
}

@media (max-width: 767px) {
    .steps li span {
        display: none;
    }
    .steps li.done:before,
    .steps li:last-child:after {
        display: block;
    }
    .steps li:after,
    .steps li:before {
        height: 4px;
    }
    .steps li:first-child:before {
        border-radius: 2px 0 0 2px;
        -webkit-border-radius: 2px 0 0 2px;
    }
    .steps li:last-child:before {
        border-radius: 0 2px 2px 0;
        -webkit-border-radius: 0 2px 2px 0;
    }
}

/* Progress */
.progressbar {
    counter-reset: step;
    display: flex;
    justify-content: center;
    padding-left: 0;
    margin: var(--spacing-l) 0;
}

.progressbar li {
    flex: 1 1 0px;
    list-style-type: none;
    text-align: center;
    position: relative;
    padding-top: 20px;
    font-size: var(--text-xxsmall);
    line-height: var(--text-xxsmall-line);
    color: var(--grey-500);
    font-weight: 500;
}

.progressbar li.active,
.progressbar li.active a {
    color: var(--grey-700) !important;
}

.progressbar li:before,
.progressbar li:after {
    clear: both;
    content: "";
    left: 0;
    top: 4px;
    right: 0;
    position: absolute;
    z-index: 1;
    background-color: var(--grey-100);
    height: 1px;
    width: 50%;
}

.progressbar li:after {
    left: 50%;
}

.progressbar li:first-child,
.progressbar li:last-child {
    width: 12.5%;
}

.progressbar li:first-child {
    text-align: left;
}

.progressbar li:last-child {
    text-align: right;
}

.progressbar li:first-child:before,
.progressbar li:last-child:after {
    display: none;
}

.progressbar li:first-child:after {
    left: 0;
}

.progressbar li:first-child:after,
.progressbar li:last-child:before {
    width: 100%;
}

.progressbar li span:before {
    clear: both;
    width: 8px;
    height: 8px;
    background-color: var(--grey-300);
    top: 0;
    left: 50%;
    margin-left: -4px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    content: "";
    position: absolute;
    z-index: 2;
}

.progressbar li:first-child {
    flex: 0 1 auto;
}

.progressbar li:first-child span:before {
    left: 0;
    margin-left: 0px;
}

.progressbar li:first-child.active span:before {
    margin-left: 0;
}

.progressbar li:last-child {
    flex: 0 1 auto;
}

.progressbar li:last-child span:before {
    left: auto;
    right: 0;
}

.progressbar li.active span:before {
    border: 3px solid var(--grey-900);
    background-color: #fff;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    margin-top: -2px;
}

.steprogressbarps li.done:before,
.progressbar li.active:before {
    background-color: var(--grey-900);
}

.progressbar li.done:before,
.progressbar li.done:after {
    background-color: var(--grey-900);
}

.progressbar li.done span:before {
    background: var(--grey-900);
}

@media (max-width: 767px) {
    .progressbar li:not(.active) span .label {
        display: none;
    }
}

/* Top announcement */
.top-alert {
    font-weight: 400;
    display: block;
    background-color: var(--secondary-color);
    color: #fff;
    padding: var(--spacing-s) var(--spacing-l);
    text-align: center;
    position: relative;
    z-index: 1070;
}

a.top-alert {
    text-decoration: none;
}

a.top-alert:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    a.top-alert:hover {
        text-decoration: none;
    }
}

/* Store disabled */
.card-body.disabled-store {
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
}

.disabled-store .logo {
    margin-bottom: var(--spacing-xl);
}

.disabled-store .logo img {
    display: inline-block;
    width: 120px;
}

/* Home */
#app.home #homePage {
    scroll-padding-top: 0 !important;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: mandatory;
    scroll-snap-points-y: repeat(100vh);
    overflow-y: scroll;
    margin: 0;
    height: 100vh;
}

#app.home #homePage::-webkit-scrollbar {
    display: none;
}

@media (max-width: 768px) {
    #app.home #homePage,
    #app.home #homePage .snap-banners,
    .snap-banners section {
        height: calc(100vh - var(--mobile-bar-height)) !important;
    }

    .disabled-store .logo {
        margin-bottom: var(--spacing-xxl);
    }
}

/* Banners */
.snap-banners section {
    scroll-padding-top: 0 !important;
    padding: 1rem;
    height: 100vh;
    width: 100vw;
    scroll-snap-align: start;
    text-align: center;
    position: relative;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.banner {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%;
    display: block;
}

.banner .text {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 0 25%;
    bottom: 14vh;
    z-index: 2;
    color: #fff;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
    opacity: 1;
}

.snap-banners section .banner .text.show {
    opacity: 1;
    /* animation: bannerTextFadeIn 1s ease-in-out; */
}

.banner .btn-subtle:not([disabled]):before {
    background-color: #fff;
}

.snap-banners nav {
    position: absolute;
    right: var(--spacing-m);
    top: 0;
    bottom: 0;
    width: 30px;
    display: flex;
    flex-direction: column;
    z-index: 2;
    justify-content: center;
    row-gap: 8px;
}

.snap-banners nav div {
    width: 100%;
    height: 24px;
    /* cursor: pointer; */
    position: relative;
}

.snap-banners nav div:after {
    width: 2px;
    height: 100%;
    position: absolute;
    background-color: #fff;
    opacity: 0.4;
    left: 50%;
    margin-left: -1px;
    top: 0;
    clear: both;
    content: "";
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
}

.snap-banners nav div:hover:after {
    opacity: 0.8;
}

.snap-banners nav div.active:after {
    opacity: 1;
}

@media (max-width: 768px) {
    .snap-banners section {
        padding: 1rem 1rem 3rem;
        height: 100% !important;
        background: #2b2b2b;
    }

    .banner .text {
        bottom: calc(3rem + var(--mobile-bar-height));
    }

    .snap-banners nav {
        right: 0;
    }

    .snap-banners nav div {
        height: 16px;
    }
}

@keyframes bannerTextFadeIn {
    0% {
        opacity: 0;
        bottom: 15vh;
    }
    100% {
        opacity: 1;
        bottom: 14vh;
    }
}

@media (max-width: 768px) {
    .snap-banners section .banner .text {
        padding: 0 calc(2 * var(--spacing-m));
    }
}

.snap-banners section .banner .text h1 {
    font-family: "OPLOTKA Serif", serif;
    /* text-transform: uppercase; */
    font-size: 5rem !important;
    line-height: 5rem !important;
    letter-spacing: 2px !important;
    margin-bottom: 0 !important;
}

.snap-banners section .banner .text .btn {
    margin-top: var(--spacing-xl);
    font-size: var(--text-xsmall);
    color: #fff !important;
}

.btn-subtle:not([disabled]):not(.btn-icon):before {
    background-color: #fff !important;
}

.snap-banners section .banner .background {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    overflow: hidden;
}

.banner .background img,
.banner .background video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {
    .snap-banners section .banner .text h1 {
        font-size: 48px !important;
        line-height: 48px !important;
        letter-spacing: 2px !important;
    }

    .snap-banners section .banner .text .btn {
        font-size: var(--text-xxsmall);
    }

    .btn-subtle:not([disabled]):not(.btn-icon):before {
        display: none;
    }

    .snap-banners section .banner .text .btn i[class*="fa-"] {
        top: 2px;
    }
}

.banner .background:after {
    clear: both;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.5) 18%,
        rgba(0, 0, 0, 0.1) 100%
    );
    opacity: 1;
    z-index: 1;
}

.snap-banners section.active .banner {
    position: fixed;
}

/* Modals */
.modal-backdrop {
    z-index: 1082 !important;
}

.modal-backdrop.show {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.modal {
    z-index: 1093 !important;
}

.modal-content {
    border-radius: 0;
    -webkit-border-radius: 0;
}

.modal-header,
.modal-body {
    padding: 2rem;
}

.modal-body .variant-attributes .product-details-row:last-child {
    margin-bottom: 0;
}

.modal-footer {
    padding: 2rem 2rem;
}

.modal-footer > * {
    margin: 0 !important;
}

.modal-sm {
    max-width: 400px;
}

.modal-lg {
    max-width: 90%;
}

.modal-image {
    background-color: var(--background-color);
    height: 400px;
    overflow: hidden;
}

.modal-image img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.modal-content .btn-back {
    border: 0;
    background-color: transparent;
    position: relative;
    height: 14px;
    margin-right: var(--spacing-xs);
}

.modal-content .btn-back:after {
    clear: both;
    content: "\f060";
    font-family: "Font Awesome 6 Sharp";
    font-size: 16px;
    position: absolute;
    left: 0;
    width: 100%;
    top: -6px;
    height: 100%;
    z-index: 1;
}

@media (max-width: 768px) {
    .modal-dialog {
        margin: 0 !important;
    }
    .modal-footer {
        padding-bottom: calc(2rem + var(--mobile-bar-height)) !important;
    }
    .modal-lg {
        max-width: 100%;
    }
}

/* InPost geowidget */
#inpostGeowidgetModal .modal-lg .modal-content {
    height: 90vh;
}

@media (max-width: 768px) {
    #inpostGeowidgetLink {
        padding-top: 0 !important;
        margin-bottom: var(--spacing-s);
        text-align: center;
    }
    #inpostGeowidgetModal .modal-lg .modal-content {
        height: 100vh;
    }
}

/* Carousel */
.media-carousel {
    overflow-x: auto;
    white-space: nowrap;
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    gap: 1px;
}

.media-carousel.large-disable {
    overflow: hidden;
    display: block;
}

.media-carousel.large-disable .media-carousel-item {
    display: none;
}

.media-carousel.large-disable .media-carousel-item.active,
.media-carousel.large-disable .media-carousel-item.hover {
    display: block;
}

@media (max-width: 768px) {
    .media-carousel.large-disable {
        overflow-x: auto;
        display: flex;
    }

    .media-carousel.large-disable .media-carousel-item,
    .media-carousel.large-disable .media-carousel-item.active,
    .media-carousel.large-disable .media-carousel-item.hover {
        display: flex;
    }

    .media-carousel.shake:not(.vertical) > .media-carousel-item:first-child {
        position: relative;
        animation: shakeCarousel 0.5s ease-in-out 0.5s 2 forwards;
    }
}

@keyframes shakeCarousel {
    0% {
        left: -50px;
    }
    100% {
        left: 0;
    }
}

.media-carousel.vertical {
    flex-direction: column;
}

.media-carousel.snap {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; /* Needed to work on iOS Safari */
}

.media-carousel.snap > .media-carousel-item {
    scroll-snap-align: center;
}

.media-carousel.snap.vertical {
    flex-direction: column;
    scroll-snap-type: y mandatory;
}

.media-carousel.snap {
    scroll-snap-type: mandatory;
    -ms-scroll-snap-type: mandatory;
    scroll-snap-points-x: repeat(100%);
    -ms-scroll-snap-points-x: repeat(100%);
}

.media-carousel.snap.vertical {
    scroll-snap-points-x: initial;
    -ms-scroll-snap-points-x: initial;
    scroll-snap-points-y: repeat(100%);
    -ms-scroll-snap-points-y: repeat(100%);
}

.media-carousel > .media-carousel-item {
    min-width: 100%;
    min-height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    font-size: 20px;
}

/* Waiting placeholder */
.waiting h6 {
    font-size: 16px !important;
    line-height: 20px !important;
}
.waiting img {
    display: block;
    width: 100%;
}

@media (max-width: 768px) {
    .waiting {
        padding-left: var(--spacing-l);
        padding-right: var(--spacing-l);
    }

    .waiting h6 {
        font-size: 12px !important;
        line-height: 15px !important;
    }
}

/* RWD */
@media (min-width: 768px) and (max-width: 1024px) {
    .container-fluid .col-lg-10.offset-lg-1,
    .container-fluid .col-lg-8.offset-lg-1,
    .container-fluid .col-lg-8.offset-lg-2 {
        margin-left: 0;
        width: 100%;
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .main-menu,
    .drawer {
        width: 45%;
    }

    footer .col-lg-4 {
        width: 50%;
    }

    .col-lg-4.product-right {
        width: 50%;
    }
}

/* Cookies */
.cookies {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1098;
    display: grid;
    align-items: center;
    left: 0;
    top: 0;
}

.cookies-wrapper {
    background-color: #fff;
    width: 40%;
    margin: 0 auto;
}

.cookies .text {
    overflow: scroll;
    max-height: 300px;
}

.cookies .modal-header {
    padding-bottom: 0;
}

.cookies .modal-footer {
    display: flex;
    justify-content: stretch;
    gap: var(--spacing-xxs);
}

.cookies .modal-footer .btn-primary {
    flex: 1;
}

.cookies .cookies-settings-row:not(:last-child) {
    margin-bottom: var(--spacing-xxxs);
}

.cookies.sm {
    display: block;
}

.cookies.sm .cookies-wrapper {
    left: 2rem;
    bottom: 2rem;
    margin: 0;
    position: absolute;
}

.cookies.sm .modal-footer {
    justify-content: flex-start;
}

.cookies.sm .modal-footer .btn-primary {
    flex: 0;
}

@media (max-width: 768px) {
    .cookies-wrapper {
        width: auto;
        right: var(--spacing-l);
        left: var(--spacing-l) !important;
        bottom: calc(var(--spacing-l) + var(--mobile-bar-height)) !important;
    }

    .cookies .modal-body {
        padding: var(--spacing-m);
    }

    .cookies .modal-footer {
        padding: var(--spacing-m);
        padding-bottom: var(--spacing-m) !important;
        display: block;
    }

    .cookies .text {
        overflow: auto;
        max-height: 100%;
    }

    .cookies .modal-footer .btn {
        width: 100%;
    }
}

/* Loader */
#search-loading {
    position: absolute;
    z-index: 1099;
    background-color: var(--background-color);
    opacity: 0.5;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 99;
}

#search-loading:after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/loading.svg) no-repeat center;
}
