:root {
    /*variables colors*/
    --color-black: #111214;
    --color-grafit: #494D58;
    --color-grey: #98979C;
    --color-white: #FFFFFF;
    --color-blue: #7A8FAF;
}

.mobile {
    display: none;
}
.desktop {
    display: block;
}

.relative {
    position: relative;
}

html, body {
    min-height: 100%;
    margin: 0;
    padding: 0;
}

body {
    overflow-x: hidden;
    position: relative;
    overscroll-behavior: none;
}

body.is-modal-open .order-page-cart{
  position: static !important;
  top: auto !important;
  height: auto;            
}

button {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
}

p, a, span, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: var(--color-black)
}

input {
    border-radius: 0;
}

@font-face {
    font-family: 'Bicubik';
    font-style: normal;
    font-weight: 400;
    src: local("Bicubik"), url(../fonts/bicubik.otf);
}

@font-face {
    font-family: 'IBMPlexMono';
    font-style: normal;
    font-weight: 400;
    src: local("IBMPlexMono"), url(../fonts/IBMPlexMono-Regular.ttf);
}

@font-face {
    font-family: 'IBMPlexMono';
    font-style: normal;
    font-weight: 600;
    src: local("IBMPlexMono"), url(../fonts/IBMPlexMono-SemiBold.ttf);
}

* {
    text-decoration: none;
    font-size: 0.9722vw;
    line-height: 120%;
    font-family: 'IBMPlexMono', sans-serif;
}

.h1{
    font-size: 15.9722vw;
    font-family: 'Bicubik', sans-serif;
    line-height: 100%;
    font-weight: 400;
}

.slogan {
    font-size: 8.3333vw;
    line-height: 80%;
    font-family: 'Bicubik', serif;
}

.h2 {
    font-size: 3.3333vw;
    line-height: 120%;
    font-weight: 400;
    font-family: 'Bicubik', sans-serif;
}

.h3 {
    font-size: 1.1111vw;
    line-height: 120%;
    font-family: 'Bicubik', serif;
}

.content {
    display: flex;
    flex-direction: column;
}

#app {
    min-height: 100vh;
}

.text-big {
    font-size: 2.5vw;
    line-height: 110%;
    font-family: 'IBMPlexMono', sans-serif;
}

.text {
    font-size: 0.9722vw;
    line-height: 120%;
    font-family: 'IBMPlexMono', sans-serif;
}

.throwline {
    text-decoration-line: line-through;
}

.h4 {
    font-size: 0.9722vw;
    line-height: 120%;
    font-weight: 600;
    font-family: 'IBMPlexMono', sans-serif;
}

.container {
    width: 100%;
    max-width: 97.2222vw;
    margin: 0 auto;
    padding: 0;
}

.menu-area {
    position: absolute;
    top: -34.7222vw;
    width: calc(100% - 4.1667vw);
    left: 0;
    display: flex;
    z-index: -1;
    padding: 1.3889vw 2.0833vw;
    background: var(--color-white);
    transition: .5s;
}

.menu-button-for-menu:hover > .menu-area{
    top: 4.2361vw;
}

.menu-product-area {
    width: 34.7222vw;
    display: flex;
}

.menu-product-area-image {
    width: 15.2778vw;
    margin-right: 1.3889vw;
    display: block;
}

.menu-product-area-image-img {
    width: 100%;
    height: 20.1389vw;
    object-fit: cover;
}

.menu-product-area-text {
    display: flex;
    flex-direction: column;
}

.menu-product-area-text-title {
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 0.6944vw;
}

.menu-product-area-specs {
    display: flex;
    margin-bottom: 0.6944vw;
}

.menu-product-area-specs-title {
    color: var(--color-grey);
    font-size: 0.8333vw;
    display: block;
    margin-right: 0.6944vw;
}

.menu-image-area {
    width: 31.9444vw;
    margin-left: 1.3889vw;
    margin-right: 1.3889vw;
}

.menu-image-img {
    width: 100%;
    height: 20.1389vw;
    object-fit: cover;
}

.menu-links {
    display: flex;
    width: 20.1389vw;
    flex-direction: column;
}

.header-menu-link {
    margin-bottom: 0.8333vw;
    display: flex;
    position: relative;
    width: fit-content;
}

.header-menu-link::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: transparent;
    bottom: -0.3472vw;
    left: 0;
    transition: .5s;
}

.header-menu-link:hover::after {
    background: var(--color-black);
}

.header-menu-link span {
    color: var(--color-grey);
    font-size: 0.6944vw;
    align-self: flex-start;
}

.search-area {
    position: absolute;
    top: -20.8333vw;
    left: 0;
    transition: .5s;
    background: var(--color-white);
    width: 100%;
    padding: 2.7778vw 0;
    align-items: center;
    justify-content: center;
    display: flex;
    z-index: -1;
}

header {
    position: sticky;
    top: 0;
    z-index: 5;
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-black);
}

.header-flex {
    padding: 0 1.3889vw;
    display: flex;
    justify-content: space-between;
    width: calc(100% - 2.7778vw);
    height: 4.1667vw;
    align-items: center;
    background-color: var(--color-white);
}

.header-logo, .search-button, .action-buttons {
    width: 20.8333vw;
}

.search-button-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.0833vw;
    height: 2.0833vw;
    cursor: pointer;
    transition: .5s;
}

.search-button-header.active {
    background: var(--color-black);
}

.search-button-header svg path {
    transition: .5s;
}

.search-button-header.active svg path{
    fill: var(--color-white);
}

.action-buttons {
    display: flex;
    align-items: center;
    justify-content: end;
}

.menu-button, .cart-button {
    display: flex;
    align-items: center;
    margin-left: 1.2vw;
    text-transform: uppercase;
    transition: .5s;
}

.menu-button {
    padding: 0.6944vw;
}

.cart-button svg {
    width: 1.7361vw;
    height: 1.4583vw;
}

.cart-button:hover {
    transform: scale3d(1.1, 1.1, 1.1);
}

.menu-button svg {
    width: 1.0417vw;
    height: 0.8333vw;
    transition: .5s;
}

.menu-button svg path {
    transition: .5s;
}

.menu-button-for-menu {
    padding: 1.0417vw 0;
}

.menu-button-for-menu:hover svg path {
    stroke: var(--color-white);
}

.menu-button-for-menu:hover svg {
    transform: rotateZ(90deg);
}

.menu-button-for-menu:hover .menu-button{
    background: var(--color-black);
    color: var(--color-white)
}

.cart-text-divider {
    margin: 0 0.5556vw;
}

.cart-counter {
    font-size: 1.1111vw;
}

.menu-catalog-arrow {
    margin: 0 0.6944vw;
}

.infinity-loop-text {
    height: 1.875vw;
    display: flex;
    background: var(--color-black);
    position: relative;
    width: 100vw;
    overflow-x: hidden;
}

.infinity-loop-text-animation {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.875vw;
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: scroll 120s linear infinite;
}

@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.infinity-loop-text .delimiter {
    margin: 0 0.6944vw;
}

.infinity-loop-text .text {
    text-transform: uppercase;
    color: var(--color-white);
    font-family: Bicubik, serif;
    font-size: 1.1111vw;
}

.main-banner {
    height: calc(100vh - 6.0417vw);
    position: relative;
    background-color: var(--color-grey);
}

.main-banner-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.main-banner-text .h1{
    color: var(--color-white);
    margin: 0;
    padding: 0 0.6944vw;
}

.main-banner-text .text-flex {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 3.4722vw);
    padding: 0 1.0417vw;
    margin-bottom: 1.0417vw;
}

.main-banner-text .text-flex .text {
    text-transform: uppercase;
}

.text-white {
    color: var(--color-white)
}

.footer-circle-text {
    white-space: nowrap;
    display: flex;
    width: 100%;
    height: 15.2778vw;
    overflow-y: hidden;
    position: relative;
}

.footer-circle-text .text-circle {
    white-space: nowrap;
    margin: 0 1.3889vw;
}

.footer-circle-text-animation {
    position: absolute;
    top: 0;
    left: 0;
    height: 15.2778vw;
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: scroll-footer 400s linear infinite;
}

@keyframes scroll-footer {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.footer-flex {
    display: flex;
    justify-content: space-between;
    margin: 0 1.3889vw;
    width: calc(100% - 2.7778vw);
    border-top: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black);
    padding: 2.7778vw 0;
}

.footer-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-logo {
    display: flex;
    margin-right: 3.4722vw;
}

.footer-socials {
    display: flex;
}

.footer-social-icon svg {
    width: 1.3889vw;
    height: 1.3889vw;
    margin-right: 1.3889vw;
    transition: .5s;
}

.footer-social-icon:hover svg {
    transform: scale3d(1.1, 1.1, 1.1);
}

.footer-links {
    display: flex;
}

.footer-links .col {
    margin-left: 1.3889vw;
    display: flex;
    flex-direction: column;
    width: 15.2778vw;
}

.footer-links .col-contacts {
    width: 15.2778vw;
}

.footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 0.2778vw;
}

.footer-contact-group:not(:last-child) {
    margin-bottom: 1.1111vw;
}

.footer-contact-label {
    color: var(--color-grafit);
    font-size: 0.9722vw;
    line-height: 140%;
}

.footer-contact-value {
    color: var(--color-black);
    font-weight: 700;
    font-size: 0.9722vw;
    line-height: 140%;
    width: fit-content;
    transition: .5s;
}

.footer-contact-email {
    text-decoration: underline;
    text-underline-offset: 0.1389vw;
}

.footer-contact-value:hover {
    color: var(--color-grafit);
}

.footer-links-title, .footer-links-link {
    margin-bottom: 1.3889vw;
}

.footer-links-title {
    font-size: 0.8333vw;
    line-height: 120%;
    font-family: 'Bicubik', serif;
    text-transform: uppercase;
}

.footer-links-link {
    color: var(--color-grafit);
    font-size: 0.9722vw;
    line-height: 120%;
    transition: .5s;
    width: fit-content;
}

.footer-links-link::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: transparent;
    transition: .5s;
}

.footer-links-link:hover::after {
    width: 100%;
    background: var(--color-black);
}

.footer-links-link.footer-links-title {
    font-size: 0.8333vw;
    font-family: 'Bicubik', serif;
    text-transform: uppercase;
    color: var(--color-black);
}

.footer-copyright {
    line-height: 150%;
}

.products-list-main {
    margin-top: 2.7778vw;
}

.product-item {
    width: 31.4583vw;
    margin-bottom: 1.3889vw;
    position: relative;
}

.product-item-large {
    width: 64.3056vw;
}

.product-item-image {
    width: 100%;
    height: 41.6667vw;
    overflow-y: hidden;
    position: relative;
}

.product-item-img {
    width: 100%;
    height: 41.6667vw;
    object-fit: cover;
}

.product-item-row {
    display: flex;
    justify-content: space-between;
    margin: 0.9028vw 0 2px 0;
}

.product-item-tag {
    color: var(--color-grey);
    text-align: right;
    flex: 1;
    white-space: nowrap;
}

.product-item-price {
    display: flex;
}

.product-item-price * {
    display: block;
}

.product-item-old-price {
    text-decoration: line-through;
    text-transform: uppercase;
    color: var(--color-grey);
}

.product-item-price-delimiter {
    margin: 0 0.6944vw;
}

.product-item-buttons {
    height: 4.1667vw;
    width: 100%;
    display: flex;
    justify-content: space-between;
    text-transform: uppercase;
}

.product-item-button {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9722vw;
    line-height: 120%;
    font-family: 'Bicubik', serif;
    cursor: pointer;
}

.product-item-button svg {
    width: 0.6944vw;
    height: 0.6944vw;
    margin-left: 0.5556vw;
}

.product-item-more {
    background: rgba(17, 18, 20, 0.20);
    backdrop-filter: blur(40px);
    color: var(--color-white);
    transition: .5s;
}

.product-item-more:hover {
    color: var(--color-black);
}

.product-item-more-w-100 {
    width: 100%;
}

.product-button-add-to-cart {
    background: var(--color-black);
    color: var(--color-white);
    transition: .5s;
}

.product-button-add-to-cart:hover {
    color: var(--color-grey);
}

.product-item-sizes {
    height: 4.1667vw;
    display: flex;
    overflow-y: hidden;
    padding: 0 1.3889vw;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(30px);
    width: calc(100% - 2.7778vw);
    align-items: center;
}

.product-item-size {
    cursor: pointer;
    border: 1px solid var(--color-black);
    padding: 0.6944vw;
    margin-right: 1.3889vw;
    min-width: 2.7778vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
}

.product-item-size.active {
    background: var(--color-black);
    color: var(--color-white)
}

.product-item-size:hover {
    background: rgba(255,255,255,.1);
}

.product-item-size.active {
    background: var(--color-black);
    color: var(--color-white)
}

.product-item-size.active:hover {
    background: var(--color-black);
}

.product-item-size.disabled {
    opacity: .25;
    cursor: not-allowed;
}

.product-item-size:last-child {
    margin-right: 0;
}

.product-item-hovered {
    transition: .5s;
    z-index: 2;
    position: absolute;
    top: 41.7361vw;
    left: 0;
    width: 100%;
}

.product-item:hover .product-item-hovered {
    top: 33.3333vw;
}

.white-full-button {
    background: var(--color-white);
    color: var(--color-black);
    border: 1px solid var(--color-black);
    text-transform: uppercase;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.3889vw;
    font-family: Bicubik, serif;
    font-size: 0.9722vw;
    line-height: 120%;
    height: 4.1667vw;
    transition: .5s;
}

.white-full-button:hover {
    background: var(--color-black);
    color: var(--color-white);
}

.sales-parallax-image {
/*    height: 54.7917vw;*/
    height: 40vw;
    margin-bottom: 1.3889vw;
    margin-top: 2.7778vw;
    position: relative;
    overflow: hidden;
}

.sales-parallax-image img {
    width: 100%;
    height: fit-content;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    left: 0;
    object-position: bottom;
    transition: 50ms;
}

#paralax-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;       
    object-fit: cover;  
    z-index: 0;         
}

.the-more-zeros {
    margin-top: 2.7778vw;
    display: flex;
    width: 100%;
    flex-direction: column;
}

.the-more-zeros .large-text{
    font-size: 8.3333vw;
    font-style: normal;
    font-weight: 400;
    line-height: 90%;
    margin: 0;
}

.the-more-zeros .text-right {
    align-self: end;
}

.about-grid-items {
    display: grid;
    width: 100%;
    grid-template-columns: calc(41% - 0.6944vw) calc(59% - 0.6944vw);
    gap: 1.3889vw;
}

.about-grid-item-gif {
    grid-area: 1/2/2/3;
}

.about-grid-item-left {
    padding-top: 13.8889vw;
    grid-area: 1/1/3/2;
}

.about-grid-item-right {
    grid-area: 2/2/3/3;
}

.about-gif {
    width: 100%;
}

.about-icon {
    width: 13.8889vw;
    height: 13.8889vw;
    padding-left: 17.3611vw;
    padding-top: 1.3889vw;
    padding-bottom: 4.1667vw;
}

.about-left-text {
    width: calc(100% - 6.9444vw);
    padding-left: 6.9444vw;
    padding-top: 9.0278vw;
    font-size: 1.1111vw;
    line-height: 120%;
    text-transform: uppercase;
    text-indent: 30%;
    font-family: 'Bicubik', serif;
}

.main-about-image {
    width: 100%;
    margin-top: 3.4722vw;
    height: 34.7222vw;
    object-fit: cover;
    display: block;
}

.about-right-header {
    text-indent: 40%;
    text-align: justify;
    margin-top: 5.5556vw;
}

.about-right-first-text {
    margin-top: 5.5556vw;
    width: 23.2639vw;
}

.about-right-second-text {
    margin-top: 4.1667vw;
    width: 29.1667vw;
    margin-left: 26.0417vw;
}

.subscription-area {
    width: 100%;
    background-image: url("/images/subscribe.jpg");
    min-height: 41.6667vw;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-background-attachment: fixed;
    -webkit-background-repeat: no-repeat;
    -webkit-background-size: cover;
    margin-bottom: 1.3889vw;
    margin-top: 2.7778vw;
    position: relative;
}

.subscription-block {
    position: absolute;
    bottom: 1.3889vw;
    right: 1.3889vw;
    width: 38.1944vw;
    padding: 1.3889vw;
    background: var(--color-white);
}

.subscribe-header span {
    color: var(--color-blue);
}

.subscription-form {
    display: flex;
    margin-top: 1.3889vw;
    justify-content: space-between;
}

.subscribe-input {
    height: 3.4722vw;
    border: 1px solid var(--color-black);
    font-size: 1.1111vw;
    width: 19.0972vw;
    display: flex;
    align-items: center;
    padding: 0 1.1111vw;
}

.subscribe-button {
    color: var(--color-white);
    background: var(--color-black);
    border: 1px solid var(--color-black);
    text-transform: uppercase;
    width: 15.9722vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Bicubik, serif;
    font-size: 0.9722vw;
    line-height: 120%;
    cursor: pointer;
    transition: .5s;
}

.subscribe-button:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.catalog-menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0.6944vw 0 2.0833vw 0;
}

.catalog-all-menu {
    width: 88.8889vw;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3vw;
}

.catalog-filters-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-black);
    height: 3.4722vw;
    padding: 0.6944vw;
    transition: .5s;
    color: var(--color-black);
}

.catalog-filters-btn:hover {
    background: var(--color-black);
    color: var(--color-white);
}

.catalog-filters-btn svg path {
    transition: .5s;
}

.catalog-filters-btn:hover svg path {
    stroke: #fff;
}

.catalog-filters-btn svg {
    width: 1.0417vw;
    height: 0.8333vw;
    margin-right: 0.5556vw;
}

.catalog-menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.4722vw;
    padding: 0 0.7vw;
    background: var(--color-white);
    /*margin-right: 0.6944vw;*/
    transition: .5s;
    border: 1px solid var(--color-white);
    text-transform: uppercase;
}

.catalog-menu-link.active {
    background: var(--color-black);
    color: var(--color-white);
    border: 1px solid var(--color-black);
}

.catalog-menu-link:hover {
    border: 1px solid var(--color-black);
}

/*catalog grid for 10 items, 3 or 2 per row */

.products-catalog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6944vw;
}

.products-catalog .product-item:nth-child(10n+1),
.products-catalog .product-item:nth-child(10n+7) {
    grid-column: span 2;
}

/* Styling for single-column items */
.products-catalog .product-item:nth-child(10n+2),
.products-catalog .product-item:nth-child(10n+3),
.products-catalog .product-item:nth-child(10n+4),
.products-catalog .product-item:nth-child(10n+5),
.products-catalog .product-item:nth-child(10n+6),
.products-catalog .product-item:nth-child(10n+8),
.products-catalog .product-item:nth-child(10n+9),
.products-catalog .product-item:nth-child(10n+10) {
    grid-column: span 1;
}


.menu-items-count {
    font-size: 0.6944vw;
    text-transform: uppercase;
    align-self: self-start;
    color: var(--color-grey);
    padding-top: 0.6944vw;
}

.breadcrumbs {
    display: flex;
    margin-bottom: 0.6944vw;
}

.breadcrumbs-link {
    color: var(--color-grey);
    font-size: 0.9722vw;
    line-height: 120%;
    text-transform: uppercase;
}

.breadcrumbs-separator {
    display: block;
    margin: 0 0.6944vw;
}

.load-more-button {
    width: 100%;
    background: var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    height: 4.1667vw;
    border: 1px solid var(--color-black);
    font-family: Bicubik, serif;
    font-size: 0.9722vw;
    font-style: normal;
    margin-bottom: 5.5556vw;
    transition: .5s;
}

.load-more-button:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.product-page-breadcrumbs {
    margin: 0.6944vw 0;
}

.product-page-titles {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.product-page-tags {
    color: var(--color-grey);
}

.product-page-prices {
    display: flex;
    align-items: center;
}

.product-page-price {
    font-size: 2.5vw;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    display: block;
}

.product-page-old-price {
    color: var(--color-grey);
    text-decoration: line-through;
}

.product-page-price-delimiter {
    margin: 0 1.3889vw;
}

.product-page-gallery {
    margin: 0.6944vw 0 1.3889vw 0;
}

.product-page-gallery-slide {
    width: 24.2361vw;
    height: 32.6389vw;
    cursor: url("/images/coursor-scale.svg") 36 36, auto;
}

.product-page-gallery-slide-large {
    width: 48.5417vw;
}

.product-page-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-page-info {
    display: flex;
    justify-content: space-between;
}

.product-page-specs {
    width: 48.5417vw;
}

.product-page-specs-title, .product-page-sizes-title, .product-page-colors-title {
    margin-bottom: 1.3889vw;
}

.product-page-sizes, .product-page-colors {
    width: 24.2361vw;
}

.product-page-specs-item {
    display: flex;
    flex-wrap: wrap;
    list-style-position: inside;
    margin: 0;
    padding: 0;
}

.product-page-sizes-list {
    display: flex;
    flex-wrap: wrap;
}

.product-page-specs-item-title {
    margin-right: 2.7778vw;
    margin-bottom: 0.6944vw;
    text-transform: capitalize;
}

.product-page-size-selector {
    cursor: pointer;
    border: 1px solid var(--color-black);
    padding: 0.6944vw;
    margin-right: 1.3889vw;
    margin-bottom: 1.3889vw;
    background: var(--color-white);
    min-width: 1.1111vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
}

.product-page-size-selector.disabled {
    opacity: .25;
    cursor: not-allowed;
}

.size-input:checked + .product-page-size-selector{
    background: var(--color-black);
    color: var(--color-white);
}

.size-input, .color-input {
    display: none;
}

.product-page-colors-list {
    display: flex;
}

.product-page-color-selector {
    cursor: pointer;
    border: 1px solid var(--color-black);
    margin-right: 1.3889vw;
    margin-bottom: 1.3889vw;
    background: var(--color-white);
    height: 2.5vw;
    width: 2.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.color-input:checked + .selected-color{
    width: 0.6944vw;
    height: 0.6944vw;
    border-radius: 50%;
    background-color: var(--color-black);
}

.product-page-buttons {
    display: flex;
}

.product-page-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4.1667vw;
    background: var(--color-black);
    color: var(--color-white);
    font-family: Bicubik, serif;
    transition: .5s;
    border: 1px solid var(--color-black);
    margin-bottom: 1.3889vw;
}

.product-page-one-click-buy {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4.1667vw;
    background: var(--color-white);
    color: var(--color-black);
    font-family: Bicubik, serif;
    transition: .5s;
    border: 1px solid var(--color-black);
    margin-bottom: 1.3889vw;
}

.product-page-one-click-buy:hover {
    background: var(--color-black);
    color: var(--color-white);
}

.product-page-add-to-cart:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.product-page-accordions {
    display: flex;
    flex-direction: column;
}

.product-page-accordion {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 1.0417vw 0;
    border-bottom: 1px solid var(--color-black);
    cursor: pointer;
}

.product-page-accordion:first-child {
    border-top: 1px solid var(--color-black);
}

.accordion-title {
    width: 50%;
}

.accordion-content {
    width: calc(50% - 13.8889vw);
    display: none;
    transition: all .5s ease;
}

.product-page-accordion.active .accordion-content {
    display: block;
}

.product-page-accordion.active .accordion-arrow {
    transform: rotate(-90deg);
}

.accordion-arrow, .accordion-arrow svg {
    width: 0.9722vw;
    height: 0.9722vw;
    transition: .5s;
}

.u-may-also-be-interested {
    margin-top: 4.1667vw;
    margin-bottom: 1.3889vw;
}

.u-may-also-be-interested-title {
    margin-bottom: 1.3889vw;
}

.products-row-4 .product-item {
    width: 23.2639vw;
}

.products-row-4 .product-item-image, .products-row-4 .product-item-img {
    height: 34.7222vw;
}

.products-row-4 .product-item-hovered {
    top: 34.7917vw;
}

.products-row-4 .product-item:hover .product-item-hovered {
    top: 26.3889vw;
}

.order-page {
    display: flex;
    position: relative;
    justify-content: space-between;
}

.order-page-info {
    width: 64.5833vw;
}

.order-page-cart {
    width: 28.4722vw;
    background: var(--color-black);
    padding: 1.3889vw;
    margin-top: 1.3889vw;
    height: calc(100vh - 9.7222vw);
    position: sticky;
    top: 5.5556vw;
    margin-bottom: 5.5556vw;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.order-page-cart .total-amount {
    margin-top: auto;
    flex-shrink: 0;
}

.order-page-title {
    margin-top: 1.3889vw;
}

.order-page-subtitle {
    margin-top: 2.0833vw;
    width: 70%;
}

.order-page-info {
    display: flex;
    flex-direction: column;
}

.order-page-info-area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.form-item {
    width: calc(50% - 0.6944vw);
    position: relative;
    margin-top: 1.3889vw;
}

.form-item input{
    display: block;
    width: 100%;
    height: 2.4306vw;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color-black);
    font-size: 1.0417vw;
    outline: none;
    transition: all .3s ease;
}

.form-item label{
    position: absolute;
    cursor: text;
    z-index: 2;
    top: 1.0417vw;
    left: 0;
    font-size: 0.8333vw;
    background: #fff;
    color: var(--color-grey);
    transition: all .3s ease
}

.form-item input:focus + label,
.form-item input:valid + label{
    top: -0.5556vw
}

.form-item-selector {
    width: calc(50% - 0.6944vw);
    position: relative;
    margin-top: 1.3889vw;
}

.form-item-selector input{
    display: block;
    width: 100%;
    height: 2.4306vw;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--color-black);
    font-size: 1.0417vw;
    outline: none;
    transition: all .3s ease;
}

.form-item-selector label{
    position: absolute;
    cursor: text;
    z-index: 2;
    top: 1.0417vw;
    left: 0;
    font-size: 0.8333vw;
    background: #fff;
    color: var(--color-grey);
    transition: all .3s ease
}

.form-item-selector input:focus + label,
.form-item-selector input:valid + label{
    top: -0.5556vw
}

.custom-dropdown-area {
    display: none;
    position: absolute;
    z-index: 10;
    background: rgba(207, 208, 208, 0.40);
    backdrop-filter: blur(30px);
    top: 2.6389vw;
    left: 0;
    width: 100%;
    max-height: 13.8889vw;
    overflow-y: scroll;
}

.custom-dropdown-area.active {
    display: block;
}

.custom-dropdown-item {
    padding: 0.5556vw;
    width: calc(100% - 1.1111vw);
    display: block;
    cursor: pointer;
}

/*.form-item-selector input:focus ~ .custom-dropdown-area {*/
/*    display: block;*/
/*}*/

.payment-area {
    display: flex;
    flex-direction: column;
    width: calc(100% - 2.7778vw);
    padding: 1.3889vw;
    background: #CFD0D0;
    margin-top: 5.5556vw;
}

.payment-subtext {
    margin: 1.3889vw 0;
    display: block;
}

.payment-methods {
    display: flex;
    justify-content: space-between;
}

.payment-method {
    width: calc(50% - 0.6944vw);
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-method input {
    display: none;
}

.payment-method label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 3.4722vw;
    cursor: pointer;
    transition: .5s;
    background: var(--color-white);
    font-family: 'Bicubik', serif;
    color: var(--color-black);
    text-transform: uppercase;
}

.payment-method input:checked + label {
    background: var(--color-black);
    color: var(--color-white);
}

.note-textarea {
    width: calc(100% - 2.7778vw);
    padding: 1.3889vw;
    height: 7vw;
    border: 1px solid var(--color-black);
    margin-top: 1.3889vw;
}

.confirm-order {
    margin-top: 2.7778vw;
}

.submit-order {
    height: 4.1667vw;
    font-family: 'Bicubik', serif;
    background: var(--color-black);
    color: var(--color-white);
    border: 1px solid var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: .5s;
    width: 100%;
    margin-top: 2.7778vw;
    margin-bottom: 5.5556vw;
}

.submit-order:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.custom-checkbox-area {
    display: flex;
    cursor: pointer;
}

.custom-checkbox-area input {
    display: none;
}

.custom-checkbox {
    width: 1.1111vw;
    height: 1.1111vw;
    background: var(--color-white);
    border: 1px solid var(--color-black);
    margin-right: 0.6944vw;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
}

.custom-checkbox::after {
    position: absolute;
    top: 0.2778vw;
    left: 0.2778vw;
    content: '';
    width: 0.5556vw;
    height: 0.5556vw;
    background: transparent;
    transition: .5s;
}

.custom-checkbox-area input:checked + .custom-checkbox::after {
    background: var(--color-black);
}

.custom-checkbox-text a{
    text-decoration: underline;
}

.checkbox-save-address {
    margin-top: 2.7778vw;
}

.products_amount, .product_amount_qty {
    color: var(--color-white);
}

.order-page-cart-products {
    margin: 1.3889vw 0;
    max-height: 45vh;
    overflow-y: auto;
    flex: 0 0 auto;
}

.order-page-cart-product {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.6944vw;
    padding-bottom: 0.6944vw;
    border-bottom: 1px solid var(--color-grafit);
}

.order-page-cart-product:last-child {
    border-bottom: none;
}

.order-page-cart-product-image {
    width: 8.3333vw;
    height: 11.1111vw;
    overflow: hidden;
}

.order-page-cart-product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.order-page-cart-product-info {
    display: flex;
    flex-direction: column;
}

.order-page-cart-product-prices {
    display: flex;
    margin-top: 1.1111vw;
}

.order-page-cart-product-price {
    font-weight: 600;
    line-height: 120%; /* 1.1667vw */
    text-transform: uppercase;
    text-align: right;
    color: var(--color-white);
    display: block;
}

.order-page-cart-product-old-price {
    font-weight: 400;
    color: var(--color-grey);
    text-decoration: line-through;
}

.order-page-product-price-delimiter {
    font-weight: 400;
    margin: 0 0.5556vw;
}

.order-page-cart-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-left: 1.3889vw;
    justify-content: space-between;
}

.order-page-cart-info-top {
    display: flex;
    justify-content: space-between;
}

.order-page-cart-product-brand {
    font-size: 0.5556vw;
    line-height: 120%;
    color: var(--color-grey);
    text-transform: uppercase;
    display: block;
}

.order-page-cart-product-title {
    font-size: 1.1111vw;
    font-weight: 600;
    line-height: 120%;
    color: var(--color-white);
    display: block;
    text-transform: uppercase;
    margin: 0.3472vw 0 1.3889vw 0;
}

.order-page-cart-product-mods {
    display: flex;
    align-items: center;
}

.order-page-cart-product-qty, .order-page-cart-product-size, .order-page-cart-product-color {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0.6944vw;
    padding: 0.3472vw 0.6944vw;
    height: 1.3889vw;
    border: 1px solid var(--color-grey);
    color: var(--color-white);
    margin-right: 0.6944vw;
}

.order-page-cart-product-color {
    border-color: var(--color-white);
    border-width: 0.0347vw;
    background: #4a5568;
}

.order-page-cart-info-bottom {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-top: 1vw;
}

.order-page-cart-delete-product {
    font-size: 0.6944vw;
    text-align: right;
    color: var(--color-grey);
    text-decoration: underline;
}

.order-page-cart-qty-btn {
    color: var(--color-white);
    display: block;
    cursor: pointer;
}

.order-page-cart-qty-item {
    color: var(--color-white);
    margin: 0 0.6944vw;
    display: block;
}

.total-amount {
    display: flex;
    justify-content: space-between;
    margin-top: 1.3889vw;
    padding-top: 1.3889vw;
    border-top: 1px solid var(--color-white);
}

.total-amount-text, .total-amount-price {
    font-size: 0.9722vw;
    line-height: 120%;
    color: var(--color-white);
    text-transform: uppercase;
}

.static-page-title {
    display: flex;
    width: 100%;
    margin: 1.3889vw 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.static-page-links {
    display: flex;
    justify-content: center;
    margin-bottom: 2.7778vw;
}

.static-page-link {
    height: 3.4722vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-white);
    margin-right: 0.6944vw;
    transition: .5s;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid var(--color-black);
    font-family: Bicubik, sans-serif;
    padding: 0 1.3889vw;
}

.static-page-link:hover, .static-page-link.active {
    background: var(--color-black);
    color: var(--color-white);
}

.content-error {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    background-image: url('/images/404.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.header-error {
    font-size: 12.5vw;
    font-family: 'Bicubik', sans-serif;
    color: var(--color-white);
}

.header-error span {
    font-size: 12.5vw;
    font-family: 'Bicubik', sans-serif;
    color: #6B6B6B;
}

.search-area.active {
    top: 4.2361vw;
}

.search-form {
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkout-form-item {
    width: 31.25vw;
    margin: 0 1.3889vw 0 0;
}

.checkout-form-item input{
    height: 2.5694vw;
}

.search-submit-button {
    width: 17.3611vw;
    background: var(--color-black);
    border: 1px solid var(--color-black);
    color: var(--color-white);
    text-transform: uppercase;
    font-family: Bicubik, sans-serif;
    font-size: 0.9722vw;
    line-height: 120%;
    height: 2.7778vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .5s;
}

.search-submit-button:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.breadcrumbs-search {
    margin-top: 1.3889vw;
}

.search-title span {
    color: var(--color-grey);
}

.search-header {
    margin-bottom: 1.3889vw;
}

.empty-search {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100vh - 11.1111vw);
    flex-direction: column;
}

.empty-search-text {
    margin-top: 2.7778vw;
}

.success-order {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100vh - 11.1111vw);
    flex-direction: column;
}

.success-order-img {
    width: 4.1667vw;
    height: 4.1667vw;
    margin-bottom: 3.4722vw;
}

.success-order-title {
    margin-bottom: 2.7778vw;
}

.success-order-text {
    margin-bottom: 2.7778vw;
    text-align: center;
}

.order-success-btn {
    width: 17.3611vw;
    background: var(--color-black);
    border: 1px solid var(--color-black);
    color: var(--color-white);
    text-transform: uppercase;
    font-family: Bicubik, sans-serif;
    font-size: 0.9722vw;
    line-height: 120%;
    height: 2.7778vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .5s;
}

.sidebar-cart {
    position: fixed;
    top: 5vh;
    right: -31.25vw;
    background: rgba(0,0,0,.2);
    width: 31.25vw;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    z-index: 10;
    transition: .5s;
}

.sidebar-cart.active {
    right: 0;
}

.sidebar-cart .order-page-cart {
    position: initial;
    top: 0;
    height: calc(100vh - 2.7778vw);
    margin: 0;
}

.sidebar-cart-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.3889vw;
    padding-bottom: 0.6944vw;
    align-items: center;
    border-bottom: 1px solid var(--color-white);
}

.sidebar-cart-title {
    color: var(--color-white);
}

.sidebar-cart-close svg {
    width: 2.0833vw;
    height: 2.0833vw;
}

.cart-total-actions {
    display: flex;
    flex-direction: column;
}

.btn-cart-total {
    width: 100%;
    height: 3.4722vw;
    margin-bottom: 0.6944vw;
    border: 1px solid var(--color-white);
    color: var(--color-white);
    transition: .5s;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bicubik', serif;
}

.btn-cart-total:hover {
    color: var(--color-grey);
}

.btn-goto-checkout {
    background: var(--color-white);
    color: var(--color-black);
    transition: .5s;
}

.total-amount-price {
    font-family: 'Bicubik', serif;
    color: var(--color-black);
    display: block;
    margin: 0 0.3472vw;
}

.login-page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    background-image: url('/images/404.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.login-form-area {
    width: 40%;
    padding: 1.3889vw 4.1667vw;
    background: rgba(255,255,255,.5);
    border: 1px solid var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.btn-auth {
    width: 100%;
    height: 3.4722vw;
    background: var(--color-black);
    color: var(--color-white);
    border: 1px solid var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bicubik', serif;
    text-transform: uppercase;
    cursor: pointer;
    transition: .5s;
    margin-top: 1.3889vw;
    margin-bottom: 2.0833vw;
}

.btn-auth:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.login-form {
    width: 100%;
}

.login-form .form-item {
    width: calc(100% - 1.3889vw);
}

.login-form .form-item input {
    padding: 0 0.6944vw;
}

.auth-error {
    color: coral;
}

.order-page .total-amount-price {
    color: var(--color-white)
}

.product-item-hovered-sold-out {
    background: rgba(255, 255, 255, 0.50);
    color: var(--color-white);
    transition: .5s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.sold-out-product-preview-text {
    width: 100%;
    height: 4.8611vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9722vw;
    font-family: Bicubik, sans-serif;
    color: var(--color-black);
    background: rgba(255,255,255,0.4);
    backdrop-filter: blur(80px);
}

.product-page-slider {
    position: fixed;
    overflow-y: scroll;
    overscroll-behavior: contain;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: #fff;
    display: none;
    cursor: url("/images/coursor-scale-minus.svg") 36 36, auto;
}

.product-page-slider.active {
    display: block;
}

.product-slider-area img {
    width: 100%;
}

.navigated_buttons {
    display: flex;
    justify-content: space-between;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 10;
    transform: translateY(-50%);
}

.navigated_buttons button {
    margin: 0 1.3889vw;
    width: 2.0833vw;
    height: 2.0833vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-white);
    background: black;
}

.navigated_buttons button svg {
    width: 100%;
    height: 100%;
}

.full_prev {
    transform: rotateZ(180deg);
}

.popup-close {
    position: absolute;
    top: 1.3889vw;
    right: 1.3889vw;
    cursor: pointer;
    width: 2.0833vw;
    height: 2.0833vw;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
    z-index: 10;
    background: #000;
}

.popup-close:hover {
    transform: scale3d(1.1, 1.1, 1.1);
}

.slick-slide {
    margin: 0 0.6944vw;
    padding: 0 0.6944vw;
}

.product-slider-area .slick-slide {
    margin: 0;
    padding: 0;
}

.slick-dots {
    position: fixed;
    z-index: 20;
    bottom: 2.7778vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.slick-dots li {
    margin: 0 0.25rem;
}

.slick-dots button {
    display: block;
    width: 2rem;
    height: 2px;
    padding: 0;
    border: none;
    background-color: gray;
    text-indent: -694.375vw;
}

.slick-dots li.slick-active button {
    background-color: white;
}

.product-page-gallery .slick-slide {
    margin: 0 0.0347vw;
    padding: 0 0.0347vw;
}

.mt-20 {
    margin-top: 1.3889vw;
}

.u-may-also-be-interested .slick-slide {
    margin: 0 0.3472vw;
    padding: 0 0.3472vw;
}

.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.6944vw;
    padding-bottom: 0.6944vw;
    border-bottom: 1px solid #000;
}

.filters-data {
    margin-top: 2.7778vw;
    display: flex;
    justify-content: space-between;
}

.filter-col {
    width: 30%;
    display: flex;
    flex-direction: column;
    margin-bottom: 1.3889vw;
}

.filters-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 1.3889vw;
    align-items: center;
}

.filter-sizes {
    display: flex;
    flex-wrap: wrap;
}

.filter-sizes .product-page-size-selector {
    width: fit-content;
    margin-bottom: 0.6944vw;
    margin-right: 0.6944vw;
}

.filter-type-title {
    margin-bottom: 0.6944vw;
    text-transform: uppercase;
}

.filters-area {
    display: none;
}

.filters-area.active {
    display: block;
}

.filter-sort {
    display: flex;
}

.filter-sort-col {
    display: flex;
    flex-direction: column;
    width: 50%;
}

.filter-sort-col .custom-checkbox-area {
    margin-bottom: 0.6944vw;
}

.filters-apply-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-black);
    height: 3.4722vw;
    padding: 0.6944vw;
    transition: .5s;
    width: 49.5%;
    text-transform: uppercase;
    font-family: Bicubik, sans-serif;
}

.filters-apply-btn-black {
    background: var(--color-black);
    color: var(--color-white);
}

.filters-close-btn {
    width: 1.7361vw;
    height: 1.7361vw;
    padding: 0.3472vw;
    background: var(--color-black);
}

.filters-close-btn svg {
    width: 100%;
    height: 100%;
}

.sale-parallax-text {
    display: flex;
    color: var(--color-white);
    background: #2A2A2A;
    font-size: 5.5556vw;
    font-family: Bicubik, sans-serif;
    transform: rotateZ(90deg);
    width: fit-content;
    top: -17.3611vw;
    padding: 0.6944vw 4.1667vw;
    left: 37%;
    z-index: 2;
    position: absolute;
}

.modal-pre-order {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.5);
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.modal-pre-order.active {
    display: flex;
}

.modal-pre-order-content {
    position: relative;
    width: 50%;
    background: var(--color-white);
    padding: 3.4722vw 3.4722vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.modal-pre-order-submit {
    width: 10.4167vw;
    height: 2.7778vw;
    margin-left: 1.3889vw;
    margin-top: 1.3889vw;
    background: var(--color-black);
    color: var(--color-white);
    border: 1px solid var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bicubik', serif;
    text-transform: uppercase;
    cursor: pointer;
    transition: .5s;
}

.modal-pre-order-submit:hover {
    background: var(--color-white);
    color: var(--color-black);
}

.row-modal-data {
    display: flex;
}

.modal-pre-order-text {
    margin: 1.3889vw 0;
}

#oneclick_order .form-item {
    margin: 1.3889vw 0.3472vw 0 0.3472vw;
}

#oneclick_order .product-page-sizes-list {
    display: flex;
    justify-content: center;
}

#oneclick_order .product-page-size-selector {
    margin-bottom: 0;
}

/* ===== Payment Cards in cart ===== */
.pay-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap: 0.6944vw;
}

@media (min-width: 768px){
  .pay-cards{ grid-template-columns: 1fr; }
}

.pay-card{ position:relative; }

.pay-card input{ 
  position: absolute; 
  opacity: 0; 
  inset: 0; 
}

.pay-card__label{
  display:flex;
  align-items:flex-start;
  gap: 1.1111vw;
  padding: 1.3889vw;
  border: 1px solid #D9D9D9;
  background: #fff;
  transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
  cursor: pointer;
  min-height: 6.25vw;
}

.pay-card__icon{
  flex: 0 0 auto;
  width: 3.4722vw;
  height: 3.4722vw;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pay-card__content{
  flex: 1 1 auto;
  display:flex;
  flex-direction:column;
  gap: 0.4167vw;
}

.pay-card__title{
  font-family: 'Bicubik', sans-serif;
  text-transform: none;
  font-size: 1.25vw;
  line-height: 120%;
}

.pay-card__row{
  color: var(--color-grafit);
  display: flex;
  align-items: center;
  gap: 0.4167vw;
  font-size: 1vw;
}

.pay-card__brands{
  opacity:.9;
}

.pay-card__shield-ico{ font-size: 1vw; }

.pay-card__np .np-ico{ display:block; }

.pay-card__strike{
  color: var(--color-grafit);
  text-decoration: line-through;
  opacity:.7;
}

.pay-card__radio{
  align-self:flex-start;
  margin-left:auto;
  width: 1.25vw; 
  height: 1.25vw;
  border: 2px solid #BFBFBF;
  position: relative;
  top: 0.1389vw;
  flex: 0 0 auto;
}

.pay-card__label:hover{
  border-color:#BFBFBF;
  box-shadow: 0 0 0 0.2778vw rgba(17,18,20,0.03) inset;
}

.pay-card input:checked + .pay-card__label{
  border-color: var(--color-black);
  box-shadow: 0 0 0 0.1389vw var(--color-black) inset;
}

.pay-card input:checked + .pay-card__label .pay-card__radio{
  border-color: var(--color-black);
}

.pay-card input:checked + .pay-card__label .pay-card__radio::after{
  content:"";
  position:absolute; inset: 0.2083vw;
  background: var(--color-black);
}

.payment-area{ background:#CFD0D0; }

.pay-card__label.is-disabled { opacity:.55; pointer-events:none; }
.pay-card.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.payment-gift-warning {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 16px;
    background: #FFFFFF;
    border: 1px solid #111214;
    border-radius: 6px;
    color: #111214;
    font-size: 14px;
    line-height: 1.4;
}
.payment-gift-warning__icon {
    font-size: 18px;
    line-height: 1.2;
    flex-shrink: 0;
}
.payment-gift-warning__text b { font-weight: 700; }
        
/* Fix scroll in cart on iphone 16 */
.sidebar-cart{
  height: 100dvh;                
}

.sidebar-cart .order-page-cart{
  display: flex;
  flex-direction: column;
  height: 100%;                   
}

.order-page-cart-products{
  flex: 0 0 auto;
  min-height: 0;
  overflow-y: auto;
  max-height: 45vh;
}

.cart-total-actions{
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: rgba(17,18,20,0.9); 
  backdrop-filter: blur(6px);
  padding: 0.5556vw 0;
  padding-bottom: max(8px, env(safe-area-inset-bottom)); 
}

/* css for main banner and infinity scroll line */
.main-banner { position: relative; height: calc(100vh - 6.0417vw); background-color: var(--color-grey); overflow: hidden; }
.main-banner .main-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-banner .main-banner-bg-desktop { display: block; }
.main-banner .main-banner-bg-mobile  { display: none; }
@media (max-width: 1023px) {
    .main-banner .main-banner-bg-desktop { display: none; }
    .main-banner .main-banner-bg-mobile  { display: block; }
}

.infinity-loop-text { height: 1.875vw; display:flex; background: var(--color-black); position: relative; width: 100vw; overflow-x: hidden; }
.infinity-loop-text-animation { position:absolute; top:0; left:0; height:1.875vw; display:flex; align-items:center; white-space:nowrap; animation-name: scroll; animation-timing-function: linear; animation-iteration-count: infinite; }
@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.infinity-loop-text .delimiter { margin: 0 0.6944vw; }
.infinity-loop-text .text { text-transform: uppercase; color: var(--color-white); font-family: Bicubik, serif; font-size: 1.1111vw; }

/* ===== Confirm (call/no-call) cards ===== */
.call-option-area { margin-top: 2.0833vw; }

.confirm-cards{
  display:grid;
  gap: 0.6944vw;
  grid-template-columns: 1fr;
  grid-auto-rows: 1fr;          
}

@media (min-width: 768px){
  .confirm-cards{ grid-template-columns: 1fr 1fr; }
}

.confirm-card{
  position: relative;
  display:flex;                 
}

.confirm-card input{
  position:absolute; inset:0; opacity:0;
}

.confirm-card__label{
  display:flex; align-items:flex-start; gap: 0.8333vw;
  padding: 1.3889vw;
  border: 1px solid #D9D9D9; background:#fff;
  transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
  cursor:pointer;
  min-height: 6.25vw;           /* визуальная высота карточки */
  height: 100%;                 /* растягиваем внутри grid ячейки */
  box-sizing: border-box;
}

.confirm-card__title{
  font-family: 'Bicubik', sans-serif;
  text-transform: none;
  font-size: 1.1111vw; line-height: 120%;
}

.confirm-card__text{
  color: var(--color-grafit);
  margin-top: 0.2778vw;
}

.confirm-card__radio{
  --radio: 1.5278vw;               
  position: relative;
  flex: 0 0 var(--radio);       
  width: var(--radio);
  height: var(--radio);
  border: 2px solid #BFBFBF;
  box-sizing: border-box;
  margin-left: auto;
  align-self: flex-start;
}

.confirm-card__label:hover{
  border-color:#BFBFBF;
  box-shadow: 0 0 0 0.2778vw rgba(17,18,20,0.03) inset;
}
.confirm-card input:checked + .confirm-card__label{
  border-color: var(--color-black);
  box-shadow: 0 0 0 0.1389vw var(--color-black) inset;
}
.confirm-card input:checked + .confirm-card__label .confirm-card__radio{
  border-color: var(--color-black);
}
.confirm-card input:checked + .confirm-card__label .confirm-card__radio::after{
  content:"";
  position:absolute;
  inset: 3px;                   
  background: var(--color-black);
}

/* ===== SZ modal ===== */
.sz-modal{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1000; }
.sz-modal.active{ display:flex; align-items:center; justify-content:center; padding: 4vw 2vw; }
.sz-modal__box{
  background:#fff; 
  border 0vw solid var(--color-black);
  width: min(90vw, 36rem); 
  padding: 1.6667vw 1.6667vw 1.1111vw;
}

.sz-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.6rem;
}

.sz-modal__title{ 
  font-family:'Bicubik',sans-serif; 
  font-size:1.25vw; 
  margin:0;                      
}

.sz-modal__text{ color:#333; line-height:150%; }

.sz-modal__actions{ 
  display:flex; 
  justify-content:center;      
  gap:.8rem; 
  margin-top:1.1111vw; 
}

.sz-btn{
  padding: .8rem 1.2rem; 
  border 0vw solid var(--color-black);
  font-family:'Bicubik',sans-serif; 
  text-transform:uppercase; 
  cursor:pointer; 
  transition:.2s;
}
.sz-btn--black{ background:var(--color-black); color:#fff; }
.sz-btn--black:hover{ background:#fff; color:var(--color-black); }
.sz-btn--ghost{ background:#fff; color:var(--color-black); }
.sz-btn--ghost:hover{ background:var(--color-black); color:#fff; }

#szModalClose{
  width 0vw; 
  height 0vw; 
  padding:0;
  line-height:1; 
  font-size 0vw;              
  border 0vw solid black; 
  background:transparent;
  display:inline-flex; 
  align-items:center; 
  justify-content:center;
  cursor:pointer;
}

#szModalClose:hover{
  background:rgb(0,0,0);
  color: #fff;
}

.sz-errors ul{ margin: .6rem 0 0 1.2rem; }
.sz-errors li{ margin: .2rem 0; }


/* cart coupon styles */
.coupon-area{ margin-top:1.3889vw; }

.coupon-card{
  border 0vw solid var(--color-black);
  background:#fff;
  padding:1.1111vw;
}

.coupon-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:0.8333vw;
}

.coupon-hint{
  color:var(--color-grafit);
  font-size:0.8333vw;
  margin-top: 2.0833vw;
}

.coupon-input-group{
  display:flex; align-items:stretch; gap:0.4167vw;
}

.coupon-input{
  flex:1;
  height:2.4306vw;
  border 0vw solid var(--color-black);
  padding:0 0.8333vw;
  outline:none;
}

.coupon-apply{
  height:2.4306vw;
  padding:0 1.1111vw;
  border 0vw solid var(--color-black);
  background:var(--color-black);
  color:#fff;
  text-transform:uppercase;
  font-family:'Bicubik',serif;
  transition:.2s ease;
}

.coupon-apply:hover{ background:#fff; color:var(--color-black); }

.coupon-state{
  display:flex; align-items:center; gap:0.6944vw;
  margin-top:0.8333vw;
}
.coupon-state[hidden]{
  display: none !important;
}
.coupon-badge{
  display:inline-flex; align-items:center; justify-content:center;
  padding:0.2778vw 0.5556vw;
  border 0vw solid var(--color-black);
  background:#111; color:#fff;
  text-transform:uppercase;
  font-family:'Bicubik',serif;
}

.coupon-state-text{ color:var(--color-black); }

.coupon-remove{
  margin-left:auto;
  text-decoration:underline;
  color:var(--color-grafit);
  cursor:pointer;
}

@media (max-width: 768px){
  .coupon-prefix{ display:none; }
  .coupon-input{ border-left 0vw solid var(--color-black); }
}


.total-amount--stacked{ 
  display:block; 
  border-top 0vw solid var(--color-white); 
  padding-top:0.5vw;
}

.total-amount--stacked .ta-row{
  display:flex;
  flex-direction:column;     
  align-items:flex-start;    
  gap: 0.2778vw;             
  margin: 0.6944vw 0;       
}

.total-amount--stacked .ta-sep{
  border:0;
  border-top 0vw solid rgba(255,255,255,.35);
  margin: 0.8333vw 0;
}

.total-amount--stacked .ta-row--total .total-amount-text,
.total-amount--stacked .ta-row--total .total-amount-price{
  font-weight:700;           
}

.product-page-sizes-head{
  display:flex;
  align-items:center;
  justify-content:space-between; 
  gap: 1rem;
  margin-bottom: 0.9722vw;      
}

.product-page-sizes-head .product-page-sizes-title{
  margin: 0;                 
}

.size-picker-link{
  color: var(--color-grey);
  font-size: 0.9722vw;
  line-height: 120%;
  text-transform: none;          
  background: none;
  border: 0;
  cursor: pointer;
  white-space: nowrap;           
  padding: 0;
  margin-right: 1.0417vw;
}

.size-picker-link:hover{
  font-weight: 600;              
  color: var(--color-black);
}

@media (max-width: 768px){
  .size-picker-link{ font-size: 3.4vw; }
  .product-page-sizes-head{ margin-bottom: 3vw; }
}

/* Choose size page */
.choose-size-hero{
  text-align:center;
  margin: 1.5vw 0 1.2vw;
}
.choose-size-result{
  font-family:'Bicubik',sans-serif;
  font-size: 6.5vw;    
  line-height: 1;
  text-transform: uppercase;
}
.choose-size-sub{
  color: var(--color-grafit);
  margin-top: .6rem;
}

.choose-size-card{
  border: 1px solid var(--color-black);
  background: var(--color-white);
  padding: 1.3889vw;
  max-width: 48.5417vw;
  margin: 0 auto;
}

.choose-size-actions{
  display:flex; gap: .8rem; align-items:center; justify-content:center;
  margin-top: 1.1111vw;
}

.choose-size-note{
  text-align:center; color: var(--color-grafit);
  margin-top: .8rem;
}

@media (max-width: 768px){
  .choose-size-result{ font-size: 18vw; }
  .choose-size-card{ max-width: 100%; padding: 4vw; }
}

/* Cart styles for mobile */
@media (max-width: 768px){

  .h2{ font-size: clamp(18px, 6.2vw, 24px); }
  .h3{ font-size: clamp(14px, 4.8vw, 18px); }
  .order-page-subtitle{ width: 30%; margin-top: 4vw; }
  .order-page-title{ margin-top: 4vw; }

  .order-page{ display:block; }
  .order-page-info,
  .order-page-cart{ width: 100%; }

  .payment-area{
    padding: 4vw;
    margin-top: 6vw;
  }
  .payment-subtext{ margin: 3.5vw 0; }
  .payment-methods{ flex-direction: column; gap: 3.5vw; }
  .payment-method{ width: 100%; }
  .payment-method label{
    height: clamp(48px, 14vw, 56px);
    padding: 0 3.6vw;
    font-size: clamp(12px, 3.7vw, 16px);
  }

  .pay-card__label{
    gap: 3vw; padding: 3.6vw; min-height: unset;
  }
  .pay-card__icon{ width: 9vw; height: 9vw; }
  .pay-card__title{ font-size: clamp(14px, 4.4vw, 16px); }
  .pay-card__row{ font-size: clamp(12px, 3.6vw, 14px); gap: 2vw; }
  .pay-card__radio{ width: 5vw; height: 5vw; top: .5vw; }

  .form-item, .form-item-selector{ width:100%; margin-top: 4vw; }
  .form-item input, .form-item-selector input{
    height: clamp(44px, 13vw, 52px);
    font-size: clamp(14px, 4vw, 16px);
  }
  .form-item label, .form-item-selector label{
    top: 3.2vw; font-size: clamp(12px, 3.4vw, 14px);
  }
  .custom-dropdown-area{ top: auto; max-height: 50vw; }

  .note-textarea{
    width: calc(100% - 9vw);
    padding: 4vw;
    height: clamp(120px, 34vw, 160px);
    margin-top: 4vw;
    font-size: clamp(14px, 4vw, 16px);
  }

  .coupon-area{ margin-top: 5vw; }
  .coupon-card{ padding: 4vw; }
  .coupon-head{ margin-bottom: 3vw; }
  .coupon-hint{ font-size: 3.4vw; margin-top: 3vw; }
  .coupon-input-group{ flex-direction: column; gap: 2.5vw; }
  .coupon-input{
    height: clamp(44px, 13vw, 52px);
    padding: 0 3.6vw; font-size: clamp(14px, 4vw, 16px);
  }
  .coupon-apply{
    height: clamp(44px, 13vw, 52px);
    width: 100%;
    font-size: clamp(12px, 3.8vw, 15px);
  }
  .coupon-state{ margin-top: 3vw; gap: 3vw; }
  .coupon-badge{ padding: 1.2vw 2.4vw; }

  .confirm-cards{ gap: 3vw; grid-template-columns: 1fr; }
  .confirm-card__label{
    gap: 3vw; padding: 3.6vw; min-height: unset;
  }
  .confirm-card__title{ font-size: clamp(14px, 4.2vw, 16px); }
  .confirm-card__text{ font-size: clamp(12px, 3.6vw, 14px); }
  .confirm-card__radio{ --radio: 5vw; }

  .custom-checkbox-area{ align-items:flex-start; }
  .custom-checkbox{
    width: 5.2vw; height: 5.2vw; margin-right: 3vw;
  }
  .custom-checkbox::after{
    top: 1vw; left: 1vw; width: 3.2vw; height: 3.2vw;
  }
  .checkbox-save-address{ margin-top: 5vw; }

  .submit-order{
    height: clamp(52px, 15vw, 64px);
    font-size: clamp(14px, 4.4vw, 16px);
    margin-top: 6vw;
    margin-bottom: max(5vw, env(safe-area-inset-bottom));
    position: sticky; bottom: 0;
  }

  .total-amount--stacked{ padding-top: 3vw; }
  .total-amount--stacked .ta-row{ gap: 1.6vw; margin: 2.4vw 0; }
  .total-amount-text, .total-amount-price{
    font-size: clamp(13px, 3.8vw, 15px);
  }

  #coupon_code.coupon-input{
    height: clamp(52px, 16vw, 64px);
    padding: 0.6944vw 4vw;
    font-size: clamp(16px, 4.6vw, 18px);
  }

  .sz-modal__title{
    font-size: 3vw;
  }

  .sz-modal__actions{
    margin: 2vw 0;
  }
}

.order-page-cart .ta-value {
    color: var(--color-white);
}

/* Mobile cart order products */
.mobile-cart-summary {
    display: none; 
    border: 1px solid #ddd;
    margin-top: 1.3889vw;
}

.mobile-cart-summary__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.1111vw;
    background: #f7f7f7;
    cursor: pointer;
}

.mobile-cart-summary__title {
    display: flex;
    align-items: center;
    gap: 0.5556vw;
    font-family: 'Bicubik', serif;
    font-size: 1.1111vw;
}

.mobile-cart-summary__header svg {
    transition: transform 0.3s ease;
}

.mobile-cart-summary.is-open .mobile-cart-summary__header svg {
    transform: rotate(90deg);
}

.mobile-cart-summary__total {
    font-family: 'Bicubik', serif;
    font-size: 1.1111vw;
}

.mobile-cart-summary__content {
    display: none; 
    padding: 1.1111vw;
    background: var(--color-black);
}
.mobile-cart-summary__content .total-amount--stacked .ta-value,
.mobile-cart-summary__content .total-amount--stacked .ta-label {
    color: var(--color-white);
}

.mobile-cart-summary.is-open .mobile-cart-summary__content {
    display: block; 
}

@media (max-width: 768px) {
    .mobile-cart-summary {
        display: block;
        margin-top: 5vw;
        border: 1px solid #ddd;
    }
    .mobile-cart-summary__header {
        padding: 4vw;
    }
    .mobile-cart-summary__title {
        font-size: 4.2vw;
        gap: 3vw;
    }
    .mobile-cart-summary__total {
        font-size: 4.2vw;
    }
    .mobile-cart-summary__content {
        padding: 4vw;
    }

    .order-page-cart {
        display: none; 
    }
    .mobile-cart-summary__content .order-page-cart-products {
        height: auto;
        max-height: none;
        overflow-y: visible;
    }
}

/* ===== Стилі для попапа вибору геолокації ===== */

.location-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9998;
    display: none; 
    justify-content: center;
    align-items: center;
    font-family: 'IBMPlexMono', sans-serif;
}

.location-popup {
    background: var(--color-white);
    color: var(--color-black);
    padding: 2.7778vw; 
    max-width: 41.6667vw; 
    width: 90%;
    text-align: center;
    z-index: 9999;
    box-sizing: border-box;
}

.location-popup h2 {
    font-family: 'Bicubik', sans-serif;
    font-size: 1.9444vw; 
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 1.3889vw;
}

.location-popup p {
    font-size: 1.1806vw;
    line-height: 1.5;
    margin-bottom: 2.0833vw;
}

.location-popup-buttons {
    display: flex;
    justify-content: center;
    gap: 1.0417vw;
}

.location-popup-buttons button {
    padding: 0.8333vw 1.6667vw;
    border: 1px solid var(--color-black); 
    cursor: pointer;
    font-family: 'Bicubik', serif;
    font-size: 1.1111vw; 
    font-weight: 400; 
    line-height: 1.2;
    transition: background-color 0.3s, color 0.3s;
}

#confirm-ua {
    background-color: var(--color-black);
    color: var(--color-white);
}

#confirm-ua:hover {
    background-color: #333;
}

#confirm-int {
    background-color: var(--color-white);
    color: var(--color-black);
}
#confirm-int:hover {
    background-color: #f0f0f0;
}

.location-switcher {
    display: flex;
    align-items: center;
    gap: 0.4167vw;
    cursor: pointer;
    font-family: 'IBMPlexMono', sans-serif;
    font-size: 1.25vw;
    font-weight: 500;
    line-height: 1.2;
    user-select: none;
    white-space: nowrap; 
    margin: 0 0.6944vw;
}

.location-switcher * {
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
}

#mobile-location-switcher { display: none; }

@media (max-width: 1023px) {
    #desktop-location-switcher { display: none; }
    #mobile-location-switcher {
         display: flex; 
         padding: 0.6944vw 0; 
         font-size: 1.1111vw;
    }
    .location-popup {
        padding: calc(32px) calc(22px);
        max-width: calc(420px);
        width: 92%;
    }
    .location-popup h2 {
        font-size: calc(22px);
        margin-bottom: calc(14px);
        line-height: 1.25;
    }
    .location-popup p {
        font-size: calc(15px);
        margin-bottom: calc(24px);
        line-height: 1.55;
    }
    .location-popup-buttons {
        gap: calc(12px);
        flex-wrap: wrap;
    }
    .location-popup-buttons button {
        font-size: calc(14px);
        padding: calc(12px) calc(20px);
        line-height: 1.2;
    }
}

@media (max-width: 380px) {
    .location-popup-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    .location-popup-buttons button {
        width: 100%;
    }
}

#toast-notification {
    position: fixed;
    top: 1.3889vw;
    right: 1.3889vw;
    background-color: var(--color-black);
    color: var(--color-white);
    padding: 1.0417vw 1.7361vw;
    font-family: 'IBMPlexMono', sans-serif;
    font-size: 1.0417vw;
    border-radius: 0.3472vw; 
    z-index: 10001; 
    opacity: 0;
    transform: translateY(-30px);
    visibility: hidden;
    
    transition: opacity 0.5s, transform 0.5s, visibility 0.5s;
}

#toast-notification.show {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

@media (max-width: 768px) {
    #toast-notification {
        left: 1.3889vw;
        right: 1.3889vw;
        top: 0.6944vw;
        font-size: 0.9722vw;
        text-align: center;
    }

    .mobile-cart-summary__header .product_amount_qty{
        color: var(--color-black);
    }
}

.location-switcher .separator {
    color: var(--color-grey);
    margin: 0 0.2778vw;
}

.location-switcher .ua-part,
.location-switcher .int-part {
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.location-switcher .location-active {
    font-weight: bold;
    pointer-events: none; 
    color: var(--color-black);
}

.location-switcher .location-inactive {
    cursor: pointer;
    color: var(--color-grey); 
}

.location-switcher .location-inactive:hover {
    color: var(--color-black);
    text-decoration: underline;
    text-decoration-color: var(--color-black);
    text-underline-offset: 0.2778vw;
}

/* Low Stock Styles */
.low-stock-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 0.6944vw; 
    padding-left: 0.2vw;
}

.low-stock-dot {
    display: block;
    width: 0.5556vw;  
    height: 0.5556vw;
    background-color: #FF4E00; 
    border-radius: 50%;
    margin-right: 0.5556vw;
}

.low-stock-text {
    font-family: 'Bicubik', sans-serif; 
    font-size: 0.9722vw;
    color: var(--color-black);
    text-transform: uppercase;
    line-height: 100%;
}

@media (max-width: 768px) {
    .low-stock-wrapper {
        margin-bottom: 3vw;
    }
    .low-stock-dot {
        width: 2.5vw;
        height: 2.5vw;
        margin-right: 2vw;
    }
    .low-stock-text {
        font-size: clamp(12px, 3.6vw, 14px);
    }
}

.u-may-also-be-interested-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3889vw;
}

.u-may-also-be-interested-title {
    margin-bottom: 0; 
}

.related-arrows {
    display: flex;
    gap: 0.6944vw;
}

.related-arrow {
    width: 2.7778vw;
    height: 2.7778vw;
    border: 1px solid #111214;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 0;
    z-index: 100; 
    position: relative; 
}

.related-arrow svg {
    pointer-events: none;
}

.related-arrow:hover {
    background: #111214;
}

.related-arrow:hover svg path {
    stroke: #fff;
}

.related-slider-nav {
    display: flex; 
    gap: 0.6944vw;
}

@media(max-width: 768px) {
    .related-arrow {
        width: 10vw;
        height: 10vw;
    }
}



.cart-prewash-card {
    display: flex;
    align-items: center; 
    gap: 0.8333vw;
    background-color: #1A1B1E; 
    border: 1px solid #2C2E33; 
    border-radius: 0.4167vw; 
    padding: 0.6944vw 0.9722vw;
    margin: 0.5556vw 0 1.1111vw 0;
    font-family: 'IBMPlexMono', sans-serif;
    line-height: 1.3;
    max-width: 100%;
}

.prewash-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0; 
    transition: opacity 0.2s;
}

.prewash-icon-wrap:hover {
    opacity: 0.8;
}

.prewash-text-content {
    display: flex;
    flex-direction: column;
}

.prewash-title {
    color: #FFFFFF;
    font-size: 1.0417vw;
    font-weight: 500;
}

.prewash-subtitle {
    color: #FFFFFF; 
    font-size: 1.0417vw;
}

.prewash-tooltip-fixed {
    display: none;
    position: fixed;
    z-index: 10000;
    width: 19.4444vw;
    max-width: 90vw;
    background-color: #fff;
    color: #111;
    border: 1px solid #111;
    box-shadow: 0 0.2778vw 1.3889vw rgba(0,0,0,0.15); 
    border-radius: 0.4167vw;
 
    font-family: 'IBMPlexMono', 'sans-serif;'; 
    font-size: 0.9722vw;       
    line-height: 1.4;      
    padding: 0.8333vw 1.1111vw;    
    pointer-events: none;
    box-sizing: border-box;
}

.prewash-tooltip-fixed div, .prewash-tooltip-fixed div strong{
    font-size: 0.9722vw !important; 
}

.prewash-tooltip-fixed ul {
    margin: 0.5556vw 0 0.5556vw 1.25vw !important; 
    padding: 0 !important;
    font-size: 0.9722vw;   
}

.prewash-tooltip-fixed li {
    margin-bottom: 0.2778vw;
    font-size: 0.9722vw;   
}


@media(max-width: 768px) {
    .prewash-title {
        font-size: 0.5556vw;
    }

    .prewash-subtitle {
        font-size: 0.5556vw;
    }

    .cart-prewash-card{
        gap: 0.6944vw;
    }

    .prewash-tooltip-fixed {
        width: 22.2222vw; 
        max-width: 94vw;
    }
}


/* Styles for Size Chart Table */
.size-chart-wrapper {
    overflow-x: auto;
    margin-bottom: 1rem;
    -webkit-overflow-scrolling: touch;
}

.table-size-chart {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9722vw;
    min-width: 20.8333vw;
}

.table-size-chart th, 
.table-size-chart td {
    border: 1px solid #e0e0e0;
    padding: 0.6944vw 0.8333vw;
    text-align: center;
    color: #111214;
}

.table-size-chart th {
    background-color: #f9f9f9;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1.0417vw;
    letter-spacing: 0.0347vw;
}

.table-size-chart td:first-child {
    font-weight: bold;
    background-color: #fff;
}

.table-size-chart tr:nth-child(even) td {
    background-color: #fcfcfc;
}

/* Стилі для (Out Of Stock) розмірів */
.product-page-size-selector.size-oos {
    opacity: 0.6;
    background: #f5f5f5;
    color: #999;
    border-color: #e0e0e0;
    cursor: pointer; 
    pointer-events: auto !important; 
    position: relative;
}

.product-page-size-selector.size-oos::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ccc;
    transform: rotate(-25deg);
}

.btn-notify-available {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4.1667vw;
    background: var(--color-black);
    color: var(--color-white);
    border: 1px solid var(--color-black);
    font-family: 'Bicubik', serif;
    font-size: 0.9722vw;
    text-transform: uppercase;
    cursor: pointer;
    transition: .5s;
    margin-bottom: 1.3889vw;
}

.btn-notify-available:hover {
    background: var(--color-white);
    color: var(--color-black);
}


.sold-out-buttons-container {
    display: flex;
    gap: 0.6944vw;
    width: 100%;
    margin-bottom: 1.3889vw;
}

.sold-out-buttons-container button {
    flex: 1;
    margin-bottom: 0;
}

.modal-pre-order-title{
    font-size: 2vw;
}

.product-page-buttons {
    display: flex;
    justify-content: space-between;
    gap: 0.6944vw; 
    width: 100%;
    margin-bottom: 1.3889vw;
    flex-wrap: wrap; 
}

.btn-split-mode {
    width: 49%; 
    height: 4.1667vw;
    margin-bottom: 0;
}

.btn-full-mode {
    width: 100%;
    height: 4.1667vw;
    margin-bottom: 0;
}

.btn-notify-available {
    background: var(--color-white);
    color: var(--color-black);
    border: 1px solid var(--color-black);
    font-family: 'Bicubik', serif;
    font-size: 0.9722vw;
    text-transform: uppercase;
    cursor: pointer;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-notify-available:not(.btn-disabled-style):hover {
    background: var(--color-black);
    color: var(--color-white);
}

.btn-notify-available.btn-disabled-style {
    opacity: 0.4;
    pointer-events: none;
    background: #f5f5f5;
    border-color: #ccc;
    color: #999;
}

.product-page-add-to-cart.disabled {
    background: #E5E5E5 !important;
    border-color: #E5E5E5 !important;
    color: #999 !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.custom-checkbox-area {
    display: flex;
    align-items: center;
    gap: 0.5556vw;
    cursor: pointer;
}

.custom-checkbox-text {
    color: var(--color-grey);
    margin-top: 0;
    line-height: 1.3;
}

.custom-checkbox-text a {
    color: var(--color-grey);
    text-decoration: underline;
}

.custom-checkbox {
    flex-shrink: 0;
}

.size-oos-icon {
    position: absolute;
    bottom: 0.1vw;
    left: 50%;
    transform: translateX(-50%);
    width: 0.6vw;  
    height: 0.6vw;
    color: #999;
    pointer-events: none;
}

/* Footer subscribe */
.footer-subscribe {
    margin-top: 2.7778vw;
    margin-bottom: 2.7778vw;
}

.footer-subscribe-header {
    font-size: 0.9722vw;
    line-height: 140%;
    margin-bottom: 1.3889vw;
}

.footer-subscribe-form {
    display: flex;
    gap: 0.6944vw;
}

.footer-subscribe-input {
    height: 2.7778vw;
    border: 1px solid var(--color-black);
    font-size: 0.8333vw;
    padding: 0 0.6944vw;
    width: 13.8889vw;
}

.footer-subscribe-button {
    color: var(--color-white);
    background: var(--color-black);
    border: 1px solid var(--color-black);
    text-transform: uppercase;
    padding: 0 1.3889vw;
    height: 2.7778vw;
    font-family: Bicubik, serif;
    font-size: 0.6944vw;
    line-height: 120%;
    cursor: pointer;
    transition: .5s;
}

.footer-subscribe-button:hover {
    background: var(--color-white);
    color: var(--color-black);
}

/* Store page */
.store-page {
    padding: 1.3889vw;
    margin-bottom: 4.1667vw;
}

.store-page-title {
    font-family: 'Bicubik', serif;
    font-size: 2.0833vw;
    font-weight: 400;
    text-align: center;
    margin-bottom: 3.4722vw;
    text-transform: uppercase;
}

.store-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.7778vw;
    align-items: start;
}

.store-info {
    display: flex;
    flex-direction: column;
    gap: 2.7778vw;
}

.store-contacts {
    display: flex;
    gap: 4.1667vw;
}

.store-contact {
    display: flex;
    flex-direction: column;
}

.store-contact-icon {
    width: 1.9444vw;
    height: 1.9444vw;
    margin-bottom: 1.3889vw;
}

.store-contact-label {
    font-family: 'Bicubik', serif;
    font-size: 0.9722vw;
    line-height: 140%;
    margin-bottom: 0.4861vw;
}

.store-contact-value {
    font-size: 1.1111vw;
    line-height: 140%;
    color: var(--color-black);
}

a.store-contact-value:hover {
    text-decoration: underline;
}

.store-details {
    display: flex;
    flex-direction: column;
    gap: 2.7778vw;
}

.store-detail {
    display: flex;
    flex-direction: column;
}

.store-detail-icon {
    width: 1.9444vw;
    height: 1.9444vw;
    margin-bottom: 1.3889vw;
}

.store-detail-label {
    font-family: 'Bicubik', serif;
    font-size: 0.9722vw;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 0.4861vw;
}

.store-detail-value {
    font-size: 1.1111vw;
    line-height: 140%;
}

.store-map {
    width: 100%;
    min-height: 31.25vw;
}

.store-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 31.25vw;
}
/* ===== Collections: menu banners (desktop) ===== */
.menu-collections-area {
    width: 41.6667vw;
    display: flex;
    flex-direction: row;
    gap: 1.3889vw;
    flex-wrap: nowrap;
    overflow: hidden;
}
.menu-collection-banner {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--color-black);
}
.menu-collection-banner-img {
    width: 100%;
    height: 20.1389vw;
    object-fit: cover;
    display: block;
}
.menu-collection-banner-title {
    margin-top: 0.6944vw;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9722vw;
    line-height: 1.2;
}

/* ===== Collections: home banner + cards ===== */
.home-collections-banner {
    position: relative;
    width: 100%;
    height: calc(100vh - 6.0417vw);
    background-color: var(--color-grey);
    overflow: hidden;
    margin-top: 2.7778vw;
}
.home-collections-banner .home-collections-banner-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-collections {
    margin-top: 2.7778vw;
    margin-bottom: 2.7778vw;
}
.home-collections-row {
    display: flex;
    flex-direction: row;
    gap: 1.3889vw;
    align-items: stretch;
}
.home-collections-row.has-carousel {
    display: block;
    position: relative;
    padding-top: 3.5vw;
}
.home-collections-row.has-carousel .slick-slide {
    padding: 0 0.6944vw;
}
.home-collections-row.has-carousel .slick-prev,
.home-collections-row.has-carousel .slick-next {
    position: absolute;
    top: 0;
    bottom: auto;
    width: 2.5vw;
    height: 2.5vw;
    padding: 0;
    border: 1px solid var(--color-black);
    background: var(--color-white);
    color: transparent;
    font-size: 0;
    line-height: 1;
    cursor: pointer;
    transform: none;
    transition: 0.3s;
    z-index: 5;
}
.home-collections-row.has-carousel .slick-prev { right: 4vw; left: auto; }
.home-collections-row.has-carousel .slick-next { right: 1vw; left: auto; }
.home-collections-row.has-carousel .slick-prev:before,
.home-collections-row.has-carousel .slick-next:before {
    color: var(--color-black);
    font-size: 1.25vw;
    line-height: 1;
    transition: 0.3s;
}
.home-collections-row.has-carousel .slick-prev:before { content: '\2190'; }
.home-collections-row.has-carousel .slick-next:before { content: '\2192'; }
.home-collections-row.has-carousel .slick-prev:hover,
.home-collections-row.has-carousel .slick-next:hover {
    background: var(--color-black);
}
.home-collections-row.has-carousel .slick-prev:hover:before,
.home-collections-row.has-carousel .slick-next:hover:before {
    color: var(--color-white);
}
.home-collections-row.has-carousel .slick-disabled {
    opacity: 0.25;
    pointer-events: none;
}

.collection-card {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.collection-card-image-link {
    display: block;
    width: 100%;
    overflow: hidden;
}
.collection-card-img {
    width: 100%;
    height: 41.6667vw;
    object-fit: cover;
    display: block;
}
.collection-card-img-placeholder {
    width: 100%;
    height: 41.6667vw;
    background: var(--color-grey);
}
.collection-card-info {
    margin-top: 0.9028vw;
}
.collection-card-title {
    text-transform: uppercase;
    font-weight: 600;
    color: var(--color-black);
    text-decoration: none;
}


/* ===== Mobile menu tabs — desktop scope (v2) ===== */
.menu-tabs-wrap { display: contents; }
.menu-tab-cat   { display: contents; }
.menu-tabs      { display: none; }
.menu-tab-col   { display: none; }

/* === GIFT — карточка с лаймовой обводкой, идентичная по структуре товару, чуть меньше === */
:root {
  --color-gift-accent: #c8ff00;
}

/* Карточка-товар-подарок: использует всю структуру .order-page-cart-product
   с лаймовой рамкой, чуть меньшим размером картинки и без border-bottom (рамка целая) */
.order-page-cart-product--gift {
    border: 2px solid var(--color-gift-accent) !important;
    border-bottom: 2px solid var(--color-gift-accent) !important;
    padding: 0.5556vw;
    margin-top: 0.6944vw;
    position: relative;
}

/* Картинка чуть меньше товара (84% от исходного 8.3333vw) */
.order-page-cart-product--gift .order-page-cart-product-image {
    position: relative;
    width: 7vw;
    height: 9.3333vw;
}

/* Маленький бейдж "★ ПОДАРУНОК" в углу картинки */
.order-page-cart-product--gift .gift-pin {
    position: absolute;
    top: 0; left: 0;
    background: var(--color-gift-accent);
    color: #111214;
    font-size: 0.6944vw;
    font-weight: 700;
    letter-spacing: 0.0694vw;
    padding: 0.2778vw 0.5556vw;
    z-index: 2;
    line-height: 1;
}

/* Цена 1 грн — лайм (новая цена в правой колонке прайсов) */
.order-page-cart-product--gift .gift-price-final {
    color: var(--color-gift-accent) !important;
    font-weight: 700;
}

/* Подпись "★ Спеціальний бонус" в футере (вместо qty контролов) */
.order-page-cart-product--gift .gift-bonus-text {
    color: var(--color-gift-accent);
    font-size: 0.7639vw;
    letter-spacing: 0.05vw;
    text-transform: uppercase;
    line-height: 1.3889vw;
}

/* Скрыть пустой блок размера (если onesize/пустое) — компактнее */
.order-page-cart-product--gift .order-page-cart-product-size:empty {
    display: none;
}

/* Строка "Подарунок" в блоке итогов — белая (по референсу clip189) */
.order-page-cart .total-amount--stacked .ta-row--gift .ta-label,
.order-page-cart .total-amount--stacked .ta-row--gift .ta-value,
.order-page-cart .total-amount--stacked .ta-row--gift .total-amount-text {
    color: var(--color-white) !important;
}
.mobile-cart-summary__content .total-amount--stacked .ta-row--gift .ta-label,
.mobile-cart-summary__content .total-amount--stacked .ta-row--gift .ta-value,
.mobile-cart-summary__content .total-amount--stacked .ta-row--gift .total-amount-text {
    color: var(--color-white) !important;
}

/* === Mobile === */
@media (max-width: 768px) {
    .order-page-cart-product--gift {
        padding: 2.5vw;
        margin-top: 0;
    }
    .order-page-cart-product--gift .order-page-cart-product-image {
        width: 24vw;
        height: 32vw;
    }
    .order-page-cart-product--gift .gift-pin {
        font-size: 2.5vw;
        letter-spacing: 0.2vw;
        padding: 0.8vw 1.6vw;
    }
    .order-page-cart-product--gift .gift-bonus-text {
        font-size: 2.7vw;
        letter-spacing: 0.2vw;
        line-height: 5vw;
    }
}

/* Лічильник кошика змінився — пружинний bump */
@keyframes cart-counter-bump {
    0%   { transform: scale(1); }
    30%  { transform: scale(1.5); }
    55%  { transform: scale(0.9); }
    80%  { transform: scale(1.08); }
    100% { transform: scale(1); }
}
.cart-counter-bump {
    display: inline-block;
    animation: cart-counter-bump 0.65s cubic-bezier(0.22, 1, 0.36, 1) 1;
    transform-origin: center;
    will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
    .cart-counter-bump { animation: none; }
}

/* Подарунок щойно зʼявився — мʼяке привітне підсвічування */
@keyframes gift-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(200, 255, 0, 0), 0 0 0 0 rgba(200, 255, 0, 0);
        background-color: transparent;
    }
    30% {
        box-shadow: 0 0 0 4px rgba(200, 255, 0, 0.35), 0 0 22px 4px rgba(200, 255, 0, 0.3);
        background-color: rgba(200, 255, 0, 0.08);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(200, 255, 0, 0), 0 0 0 0 rgba(200, 255, 0, 0);
        background-color: transparent;
    }
}
.order-page-cart-product--gift.gift-just-added {
    animation: gift-pulse 1.3s ease-in-out 1;
    will-change: box-shadow, background-color;
}
@media (prefers-reduced-motion: reduce) {
    .order-page-cart-product--gift.gift-just-added { animation: none; }
}
