:root {
    --accent-font: 'proximanova', 'Inter', sans-serif;
    --main-font: var(--accent-font);

    --container-width: 1280px;
    --accent-color: #0158a6;
    --attention-color: rgb(223 51 51);
    --main-color: black;

    --dark-blue: rgb(32 41 69 / 1);
    --white-opacity-15: rgba(255, 255, 255, 0.15);
    --white-opacity-45: rgba(242, 242, 242, 0.45);
    --color-gray-1: rgb(239 239 239);
    --color-gray-2: rgb(247 247 248);
    --dark-blue-2: rgb(22 31 59);
    --muted-color: #cacaca;

    --logo-main: url('/assets/_project/images/logo.svg');
    --icon-cart: url('/assets/_project/images/cart.svg');

    --tw-gradient-from-position: ;
    --tw-gradient-to-position: ;
    --overlay-color: #000000b5;
    --tw-gradient-from: var(--overlay-color) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

body {
    background-color: #f8f9fa;
}

* {
    font-family: var(--accent-font);
}

/* Меняем хедер */
.header.header-type-compact .wrapper {
    padding: 20px 28px;
    margin-top: 20px;
    background-color: var(--white-opacity-45);
    border-radius: 0.75rem;
    height: 64px;
}

.header .box .logo {
    height: 40px;
    aspect-ratio: 1;
}

.header .wrapper {
    border: none;
}

.cart::before {
    width: 24px;
    aspect-ratio: 1;
}

.header .nav .list .item .link {
    font-size: 0.688rem;
    line-height: 0.688rem;
    letter-spacing: 0.1818em;
    font-weight: 600;
}

.header .nav .list .list .link {
    letter-spacing: 0.0143em;
    font-size: 0.875rem;
    line-height: 1rem;
    text-transform: none;
}

.header .box, .header .nav .list {
    gap: 24px;
    justify-content: center;
}

.cart .counter:empty, .cart .counter[data-count="0"] {
    display: none;
}

.text-label {
    font-size: 0.75rem;
    line-height: 1.125rem;
    letter-spacing: 0.1666em;
    font-weight: 700;
}

.product .name {
    padding: 0;
}

.product .name, .product .price {
    font-size: 0.75rem;
    text-align: left;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1rem;
}

.product .img {
    margin-bottom: 1rem;
}

.text-h6 {
    font-size: 1.125rem;
    line-height: 1.375rem;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.text-h4 {
    font-size: 2rem;
    line-height: 2.25rem;
    letter-spacing: 0.04375em;
    font-weight: 600;
}

.text-h3 {
    font-size: 2.5rem;
    line-height: 2.5rem;
    letter-spacing: 0.035em;
    font-weight: 600;
}

.text-link-1 {
    font-size: 0.75rem;
    line-height: 0.75rem;
    letter-spacing: 0.15em;
    font-weight: 600;
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1.5rem;
    letter-spacing: 0.0166em;
    font-weight: 400;
}

/* Футер */

footer {
    background-color: var(--dark-blue-2);
    color: white;
}

/* Популярные */

.product-grid {
    max-width: 100%;
}

.grid .block .title {
    text-align: left;
    text-transform: capitalize;
    font-size: 1.5rem;
    line-height: 1.75rem;
    letter-spacing: 0.005em;
    font-weight: 600;
    border-bottom: 1px solid rgb(230 230 230);
    padding-bottom: 0.5rem;
}

.showAll {
    text-align: center;
    font-size: 0.688rem;
    line-height: 0.688rem;
    letter-spacing: 0.1818em;
    font-weight: 600;
    cursor: pointer;
    margin-top: 32px;
}

/* Продукт */

.single-product .info.info-compact .title {
    font-size: 3rem;
    line-height: 3rem;
    letter-spacing: 0.025em;
    font-weight: 600;
    text-transform: none;
}

.single-product .info.info-compact .product-link-selector .color-param {
    text-transform: uppercase;
    font-size: .688rem !important;
    line-height: .688rem;
    letter-spacing: .1818em;
    font-weight: 600;
}

.single-product .info.info-compact .product-link-selector .modifier .values .value {
    padding: 5px 10px;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border: 1px solid #00000020;
    min-width: 24px;
    min-height: 24px;
    border-radius: 3px;
    font-size: 14px;
    position: relative;
}

.single-product .info.info-compact .product-link-selector .modifier .values .value .modifierIcon {
    width: 0.75rem;
    aspect-ratio: 1;
}

.single-product .info.info-compact .product-link-selector .modifier .values .value::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    opacity: 0.4;
    -webkit-transition: all 200ms;
    transition: all 200ms;
}

.single-product .info.info-compact .button {
    background-color: rgb(51 129 184 / 1);
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
}

.single-product .info.info-compact .product-link-selector .modifier .values .value[data-category="1"] {
    line-height: 1;
    font-size: 0.75rem;
    letter-spacing: 0.0166em;
    font-weight: 400;
    padding: 0.75rem 1rem;
    color: var(--dark-blue);
    border-radius: 0;
    background-color: var(--color-gray-2);
}

.single-product .info.info-compact .product-link-selector .modifier .values .value.selected {
    background: none;
    border-color: black;
    color: black;
}

.single-product .info.info-compact .product-link-selector .modifier .values .value.selected::after {
    opacity: 0;
}

.backdropWrapper {
    position: fixed;
    transition: .3s;
    transition-delay: .3s;
}

.header .nav .list .item .submenu .list-with-images {
    width: 200px;
    aspect-ratio: 4 / 5;
    height: auto;
    border-radius: 1rem;
    overflow: hidden;
    margin-left: auto;
}

.headerLinksBlock__container {
    display: flex;
    gap: 20px;
}

.headerLinksBlock__title {
    visibility: visible;
    font-weight: 600;
    color: rgb(0 0 0 / 0.35);
    font-size: 1.125rem;
    line-height: 1.375rem;
    letter-spacing: 0.1em;
}

.visualModifier {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
    background-color: #f7f7f8;
}

.visualModifier img {
    width: 44px;
    aspect-ratio: 1;
}

.visualModifier .visualModifier__title {
    font-size: 1.125rem;
    line-height: 1.75rem;
    letter-spacing: 0.011em;
    font-weight: 600;
}

.visualModifier .visualModifier__text {
    font-size: 0.75rem;
}

.visualModifiers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 30px;
    gap: 1rem;
}

.filterModifier__container {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.filterModifier {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
}

.filterModifier img {
    aspect-ratio: 1;
    width: 80px;
    border-radius: 50%;
    border: 2px solid #d1d5db;
    padding: 15px;
}

.filterModifier__title {
        margin-top: 0.5rem;
        font-size: 0.75rem;
        font-weight: 600;
        text-align: center;
        color: #374151;
        line-height: 0.75rem;
        width: 100%;
        max-width: 80px;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        white-space: normal;
        padding: 0 0.25rem;
        box-sizing: border-box;
}

.filterModifier.filterModifier--active img {
    border-color: rgb(59, 130, 246);
    background-color: rgb(219, 234, 254);
}

.nav.category-menu-at-top {
    display: none;
}

.product .img,
.single-product .product-2-left-photos .slider .img {
    aspect-ratio: 344/459;
}

.boutique-presence {
    font-size: 18px;
    font-weight: 700;
    font-family: var(--main-font);
    color: var(--accent-color);
}

.store-fancybox {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.store-fancybox .store-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.store-fancybox .store-header .title {
    color: var(--accent-color);
    font-family: var(--project-font);
    font-size: 16px;
    font-weight: 700;
}

.store-fancybox .info {
    margin-left: 30px;
}

.store-fancybox .info .size-row .phone, .store-fancybox .info .size-row .mail {
    color: var(--project-color-gray-light);
}

.store-fancybox .info .size-row {
    display: grid;
    grid-template-columns: 50px 1fr;
}


.store-fancybox .info .size-row .has-products {
    color: var(--accent-color);
}

.cart-page .stores-title {
    font-size: 20px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 600;
    color: #434343;
}

.cart-page #stores-table {
    width: 100%;
    margin-bottom: 25px;
    font-size: 13px;
}

.cart-page #stores-table tr:first-of-type {
    background: #f1f1f1;

}

.cart-page #stores-table tr:first-of-type td:first-of-type {
    text-align: center;
    vertical-align: middle;
}

.cart-page #stores-table td {
    border-top: 1px solid var(--grey-color);
    border-left: 1px solid var(--grey-color);
    padding: 5px;
    text-align: center;
}

.cart-page #stores-table td:first-of-type {
    text-align: left;
    min-width: 150px;
}

.cart-page #stores-table tr:last-of-type {
    border-bottom: 1px solid var(--grey-color);
}

.cart-page #stores-table td:last-of-type {
    border-right: 1px solid var(--grey-color);
}

.cart-page #stores-table td.has-products {
    color: green;
    background: #cfe2cd;
}

.cart-page #stores-table td.has-no-products {
    color: #a00000;
    background: #f3f3f3;
}

.cart-page #stores-table td.has-not-enough {
    color: #c88203;
    background: #fff3bb;
    font-weight: bold;
}

.cart-product .error {
    color: var(--attention-color);
    font-size: 12px;
}

.cart-page .form .button:disabled {
    --color-over: #71717187;
    --bg-over: linear-gradient(90deg, var(--color-over) 0%, var(--color-over) 100%);
    --bg-main: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-color) 100%);
    background: var(--bg-over), var(--bg-main);
}

.discount-thumb {
    border: 1px solid var(--chemiserie-gold);
    display: none;
    padding: 1px;
    margin-top: 20px
}
.discount-thumb ._block {
    color: var(--chemiserie-gold);
    text-transform: uppercase;
    text-align: center;
    padding: 50px 2px;
    border: 1px solid var(--chemiserie-gold);
}

.cart-discount-value {
    background: var(--chemiserie-gold);
    color: white;
    padding: 5px 5px;
    border-radius: 2px;
    margin-right: 10px;
    margin-left: 4px;
}

@media screen and (min-width: 769px) {
    .header.header-large-submenu .nav .list .item .submenu .container {
        grid-template-columns: 1fr min-content;
    }

    .header .nav .list.headerLinksBlock__list {
        display: grid;
    }

    .headerLinksBlock__container {
        padding-bottom: 30px;
    }

    .headerLinksBlock__title {
        margin-bottom: 30px;
    }

    .header .submenu {
        top: 63px !important;
        border-bottom-left-radius: 0.75rem;
        border-bottom-right-radius: 0.75rem;
    }

    .header.header.item-submenu-hovered .backdropWrapper {
        left: 0;
        bottom: calc(100vh - 150px);
        top: 0;
        z-index: 1;
        width: 100vw;
        height: 100vh;
        transition-delay: 0s;
        visibility: visible;
        backdrop-filter: blur(12px);
        opacity: 1;
    }

    .header.header-type-compact .wrapper {
        grid-template-columns: 50px 1fr repeat(2, max-content);
        transition-duration: .3s;
        transition-delay: .3s;
        position: relative;
        z-index: 1000;
    }

    .backdropNav {
        position: fixed;
        opacity: 0;
        visibility: hidden;
        transition-delay: .3s;
        transition: .3;
    }

    .header-large-submenu.header .nav .list .submenu {
        max-width: min(calc(100vw - var(--container-mobile-padding) * 3 + 4px), var(--container-width));
        width: 100%;
        transform: translateX(-50%);
        left: 50%;
        background-color: var(--white-opacity-45);
        opacity: 1;
        visibility: visible;
        overflow: hidden;
        padding: 0;
        border-width: 0;
        transition: .3s;
        max-height: 0;
    }

    .header.header-large-submenu .nav .list .item .submenu .container {
        padding: 28px;
    }

    .header .nav .list .item:hover .submenu {
        border-top-width: 1px;
        max-height: 100vh;
    }

    .header .nav>.list>.item:hover .submenu+.submenu-dark-bg {
        display: none;
    }

    .header.item-submenu-hovered .wrapper {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        transition-delay: 0s;
    }

    .pc-text-h3 {
        font-size: 2.5rem;
        line-height: 2.5rem;
        letter-spacing: 0.035em;
        font-weight: 600;
    }
}

@media screen and (max-width: 768px) {
    .filterModifier__container {
        display: none;
    }

    .visualModifiers {
        grid-template-columns: 1fr;
    }

    .headerLinksBlock__container {
        flex-direction: column;
        gap: 20px;
        padding-left: 40px;
        padding-top: 20px;
    }

    .mobileNavShow {
        overflow-y: hidden;
    }

    .header .box {
        display: contents
    }

    .header .box .row {
        order: -2;
    }

    .header.header-type-compact .wrapper>.cart {
        display: none;
    }

    .header.header-type-compact .wrapper {
        display: flex;
        align-items: center;
        justify-content: end;
        padding: 20px 15px;
        gap: 15px;
        position: relative;
        top: 0;
        transition: .3s;
    }

    .header-large-submenu.header .box .logo {
        width: auto;
    }

    .header .box .logo {
        position: static;
        margin-right: auto;
        order: -4;
        transform: none;
    }

    .header .nav {
        background-color: var(--white-opacity-45);
        border-top: 1px solid rgb(0 0 0 / 0.07);
        display: block;
        visibility: visible;
        z-index: 99999;
        opacity: 1;
        transition: .3s;
        top: 100%;
    }

    .header .nav .list .item .link {
        z-index: 100;
        letter-spacing: 0.1em;
        line-height: 1.25rem;
        text-transform: uppercase;
        font-weight: 600;
        font-size: 1rem;
        color: black;
    }

    .header .nav .list .item .submenu .link {
        line-height: 1rem;
        font-size: 0.75rem;
        letter-spacing: 0.1333em;
    }

    .header .nav.active {
        top: 150px;
    }

    .header .nav.active .logo, .header .nav.active .close {
        display: none;
    }

    .mobileNavShow .backdropBlur {
        width: 100vw;
        height: 100vh;
        z-index: 1;
        backdrop-filter: blur(12px);
        visibility: visible;
        transition-delay: 0;
        opacity: 1;
    }

    .mobileNavShow .backdropWrapper {
        left: 0;
        bottom: calc(100vh - 150px);
    }

    .mobileNavShow .backdropNav {
        top: 150px;
        left: 0;
        position: fixed;
    }

    .header .container {
        transition: .3s;
    }

    .header .container:has(.nav.active) {
        padding: 0;
    }

    .header .wrapper:has(.nav.active) {
        position: relative;
        top: 34px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        z-index: 99999;
    }

    .burger .closeNav {
        display: none;
    }

    .burger.closeBurger:not(.showBurger) .closeNav {
        display: block;
    }

    .burger.closeBurger:not(.showBurger) .showNav {
        display: none;
    }

    .header-large-submenu.header .box .row {
        display: block;
    }
}