:root {
    
    --bg-color: #f6efe1; 
    --bg-light: #fefcf8; 
    --text-main: #5c4d43; 
    --text-accent: #d26a5c; 
    --accent-color: #df7a6a; 
    --accent-hover: #c96556;
    --card-bg: #fffdf9;
    --border-color: #eeddc9;
    --shadow-color: rgba(92, 77, 67, 0.08);
    --shadow-accent: rgba(223, 122, 106, 0.3);

    
    --font-sans: 'Nunito', sans-serif;
    --font-script: 'Caveat', cursive;

    
    --transition: 0.3s ease;
}

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

body {
    font-family: var(--font-sans);
    color: var(--text-main);
    background-color: var(--bg-color);
    background-image: radial-gradient(circle at 50% 20%, var(--bg-light) 0%, var(--bg-color) 80%);
    min-height: 100vh;
    line-height: 1.5;
    overflow-x: hidden;
}

body.is-mobile-navigation-open {
	overflow: hidden;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition);
}

ul {
    list-style: none;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


h1, h2, h3, .hero__title, .cta__title {
    font-family: var(--font-script);
    color: var(--text-accent);
    font-weight: 700;
}


.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: all var(--transition);
    border: none;
    outline: none;
}

.btn:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.btn--outline {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--border-color);
    color: var(--text-main);
    box-shadow: 0 10px 22px rgba(69, 26, 48, 0.08);
}

.btn--outline:hover {
    color: var(--accent-color);
    border-color: var(--accent-color);
    background: #fff;
    transform: translateY(-2px);
}


.header__actions .header__auth .btn {
    background-color: var(--accent-color);
    color: #fff;
    box-shadow: 0 4px 12px var(--shadow-accent);
}
.header__actions .header__auth .btn:hover {
    background-color: var(--accent-hover);
    transform: translateY(-2px);
}

.btn--primary {
    background-color: var(--accent-color);
    color: white;
    box-shadow: 0 6px 15px var(--shadow-accent);
}

.btn--primary:hover {
    background-color: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px var(--shadow-accent);
}

.btn--large {
    padding: 14px 40px;
    font-size: 18px;
    font-weight: 600;
}



.header {
    padding: 14px 0;
    position: relative;
    z-index: 10;
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: nowrap;
}

.header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--accent-color);
    flex: 0 0 auto;
}

.header__logo-icon {
    width: 36px;
    height: 36px;
}

.header__logo-icon .ph {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
}

.header__logo-image {
    display: block;
    width: clamp(150px, 16vw, 214px);
    height: auto;
    max-height: 54px;
}

.header__logo-image.header__logo-image_default {
	width: auto;
	height: 84px;
	max-height: none;
	margin-block: -15px;
}

.header__logo-text {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    flex-wrap: nowrap;
}
.header__auth {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.header__search {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.header__search_toggle svg,
.header__search_toggle .ph {
    width: 22px;
    height: 22px;
}

.header__search_toggle .ph {
	font-size: 22px;
}

.header__search_panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    gap: 8px;
    width: min(430px, calc(100vw - 40px));
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    background: rgba(255, 253, 249, 0.98);
    box-shadow: 0 18px 36px rgba(69, 26, 48, 0.12);
    overflow: visible;
}

.header__search_panel[hidden] {
    display: none;
}

.header__search_panel .header__search_input {
    flex: 1 1 auto;
    min-width: 0;
}

.header__search_submit {
    min-width: 92px;
    padding: 10px 18px;
}

.header__search_suggestions {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 121;
	width: min(430px, calc(100vw - 40px));
	max-height: min(430px, calc(100vh - 160px));
	padding: 12px;
	overflow: auto;
	border: 1px solid var(--border-color);
	border-radius: 18px;
	background: rgba(255, 253, 249, 0.98);
	box-shadow: 0 22px 48px rgba(69, 26, 48, 0.16);
}

.header__search_suggestions[hidden] {
	display: none;
}

.header__search_suggestion_group + .header__search_suggestion_group {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--border-color);
}

.header__search_suggestion_title {
	margin: 0 0 6px;
	color: rgba(92, 77, 67, 0.62);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.header__search_suggestion_item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 9px 10px;
	border-radius: 10px;
	color: var(--text-main);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.header__search_suggestion_item:hover {
	background: rgba(223, 122, 106, 0.08);
	color: var(--accent-color);
}

.header__search_suggestion_label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header__search_suggestion_meta {
	flex: 0 0 auto;
	color: rgba(92, 77, 67, 0.62);
	font-size: 12px;
	font-weight: 600;
}


.lang-switcher {
    position: relative;
    display: inline-block;
}
.lang-switcher__btn {
    background: transparent;
    border: none;
    color: var(--text-main);
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    border-radius: 8px;
    transition: background 0.2s;
}
.lang-switcher__btn:hover {
    background: var(--bg-light);
}
.lang-switcher__dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--card-bg);
    border-radius: 12px;
    box-shadow: 0 10px 25px var(--shadow-color);
    min-width: 140px;
    padding: 8px 0;
    margin-top: 5px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 100;
}
.lang-switcher:hover .lang-switcher__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.lang-switcher__dropdown a {
    display: block;
    padding: 8px 20px;
    color: var(--text-main);
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s;
}
.lang-switcher__dropdown a:hover {
    background: var(--bg-light);
}
.lang-switcher__dropdown a.active {
    font-weight: 700;
    color: var(--accent-color);
}

.header__nav {
    display: flex;
    gap: 22px;
    flex: 1 1 auto;
    justify-content: center;
    min-width: 0;
}

.header__nav-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-main);
    position: relative;
}

.header__nav-link:hover, .header__nav-link.active {
    color: var(--text-accent);
}

.header__nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: var(--text-accent);
    transition: width var(--transition);
    border-radius: 2px;
}

.header__nav-link:hover::after, .header__nav-link.active::after {
    width: 80%;
}

.header__actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.burger-menu {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    width: 30px;
    height: 20px;
    position: relative;
    z-index: 100;
}

.burger-menu span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--text-main);
    position: absolute;
    left: 0;
    transform-origin: center;
    transition: top var(--transition), transform var(--transition), opacity var(--transition);
}

.burger-menu span:nth-child(1) { top: 0; }
.burger-menu span:nth-child(2) { top: 9px; }
.burger-menu span:nth-child(3) { top: 18px; }

.burger-menu.is-active span:nth-child(1) {
    top: 9px;
    transform: rotate(45deg);
}

.burger-menu.is-active span:nth-child(2) {
    opacity: 0;
}

.burger-menu.is-active span:nth-child(3) {
    top: 9px;
    transform: rotate(-45deg);
}


.main {
    padding-bottom: 40px;
}


.hero--slider {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 590px;
    margin-bottom: 0;
    background: #f7eadc;
}
.hero-slider {
    width: 100%;
    height: 100%;
    border-radius: 0 0 34px 34px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(92, 77, 67, 0.14);
}
.hero-slide__bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #a96b5f;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 6s ease;
    z-index: 1;
}
.hero-slide__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(90deg, rgba(76,44,36,0.72) 0%, rgba(105,59,49,0.46) 46%, rgba(255,244,231,0.16) 100%);
    z-index: 2;
}
.swiper-slide-active .hero-slide__bg {
    transform: scale(1.1);
}
.hero-slide__container {
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 3;
}
.hero-slide__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    width: min(620px, 100%);
    max-width: 100%;
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s ease 0.3s;
}
.swiper-slide-active .hero-slide__content {
    opacity: 1;
    transform: translateY(0);
}

.hero--slider .hero__title {
    color: #fff9ef;
    text-shadow: 0 12px 32px rgba(61, 38, 32, 0.34);
    font-size: 74px;
    line-height: 1.1;
    margin-bottom: 20px;
    max-width: 100%;
    overflow-wrap: break-word;
}
.hero--slider .hero__subtitle {
    color: rgba(255,249,239,0.92);
    font-size: 22px;
    margin-bottom: 40px;
    font-weight: 400;
    max-width: 100%;
    overflow-wrap: break-word;
}
.hero-pagination .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
    width: 12px; height: 12px;
}
.hero-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--accent-color);
}
.hero-prev, .hero-next {
    display: none;
}
.hero-prev:hover, .hero-next:hover {
    opacity: 1;
}

@media (max-width: 768px) {
    .hero--slider { height: 450px; border-radius: 0 0 20px 20px; }
    .hero--slider, .hero-slider, .hero-slider__track, .hero-slider__slide { width: 100vw; max-width: 100vw; }
    .hero-slide__container { width: 100%; max-width: 100%; justify-content: center; overflow: hidden; }
    .hero-slide__content { align-items: center !important; text-align: center !important; width: 100% !important; max-width: calc(100vw - 40px) !important; min-width: 0; margin: 0 auto; }
    .hero-slide__content > * { max-width: 100%; min-width: 0; }
    .hero--slider .hero__title { width: 100%; font-size: 38px; line-height: 1.05; white-space: normal; overflow-wrap: anywhere; }
    .hero--slider .hero__subtitle { width: 100%; font-size: 16px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
    .categories { margin-top: -46px; }
    .categories__inner { grid-template-columns: 1fr; width: 100%; max-width: 100%; gap: 14px; }
    .category-card { width: auto; max-width: none; }
}



.categories {
    margin-top: -76px;
    margin-bottom: 70px;
    position: relative;
    z-index: 5;
}

.categories__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    gap: 20px;
    max-width: 1040px;
}

.category-card {
    background-color: rgba(255, 253, 249, 0.94);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 12px 12px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 236px;
    box-shadow: 0 18px 38px rgba(92, 77, 67, 0.13);
    transition: all var(--transition);
    overflow: hidden;
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px var(--shadow-color);
    border-color: var(--accent-color);
}

.category-card__image {
    width: 100%;
    height: 150px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    overflow: hidden;
    background: #f7eadc;
}

.emoji-icon {
    font-size: 48px;
    line-height: 1;
}

.category-card__title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.25;
    color: var(--text-accent);
    padding: 0 4px;
}


.section-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.section-title {
    font-size: 42px;
    color: var(--text-main);
}

.section-decoration svg {
    width: 30px;
    height: 30px;
}



.popular {
    margin-bottom: 80px;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.product-card {
    background-color: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    padding: 15px;
    box-shadow: 0 4px 15px var(--shadow-color);
    border: 1px solid var(--border-color);
    transition: all var(--transition);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px var(--shadow-color);
}

.product-card__img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 15px;
    background-color: #eee;
}

.product-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.product-card:hover .product-card__img img {
    transform: scale(1.05);
}

.product-card__title {
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 700;
    color: var(--text-main);
    text-align: center;
}



.cta {
    text-align: center;
    padding: 60px 0;
    position: relative;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    background-image: linear-gradient(to right, transparent, rgba(223, 122, 106, 0.05), transparent);
}

.cta__title {
    font-size: 54px;
    color: var(--text-main);
    margin-bottom: 10px;
}

.cta__subtitle {
    font-size: 18px;
    margin-bottom: 30px;
    font-weight: 600;
}


.footer {
    text-align: center;
    padding: 30px 0;
    color: var(--text-main);
    font-size: 14px;
    opacity: 0.7;
}


@media (max-width: 992px) {
    .header__nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: auto;
        max-width: 100vw;
        background-color: var(--card-bg);
        flex-direction: column;
        padding: 20px;
        box-shadow: 0 10px 15px var(--shadow-color);
        box-sizing: border-box;
        gap: 15px;
        text-align: left;
        align-items: flex-start;
        overflow-x: hidden;
        z-index: 99;
    }
    .header__nav-link::after {
        display: none;
    }
    .has-mega-menu:hover .mega-caret {
        transform: none;
    }
    .header__nav.is-active {
        display: flex;
    }
    .header__auth {
        display: none;
    }
    .burger-menu {
        display: block;
    }
    .hero__title {
        font-size: 60px;
    }
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .categories__inner {
        flex-direction: column;
        align-items: center;
    }
    .category-card {
        width: 100%;
        max-width: 400px;
    }
}

@media (max-width: 576px) {
    .hero::before, .hero::after {
        display: none;
    }
    .hero__title {
        font-size: 48px;
    }
    .section-title {
        font-size: 32px;
    }
    .products-grid {
        grid-template-columns: 1fr;
    }
    .cta__title {
        font-size: 40px;
    }
}



.catalog-page {
    padding-top: 20px;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--text-main);
    opacity: 0.8;
    margin-bottom: 25px;
}

.breadcrumbs a:hover {
    color: var(--accent-color);
}

.breadcrumbs__sep {
    opacity: 0.5;
}

.breadcrumbs__current {
    font-weight: 700;
}

.catalog-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}

.catalog-title {
    font-size: 48px;
    margin-bottom: 5px;
    line-height: 1;
}

.items-count {
    font-size: 14px;
    opacity: 0.7;
}

.catalog-controls {
    display: flex;
    gap: 15px;
    align-items: center;
}

.btn-mobile-filters {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
}

.catalog-sort {
    padding: 10px 15px;
    border-radius: 20px;
    border: 1px solid var(--border-color);
    background-color: var(--card-bg);
    color: var(--text-main);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    cursor: pointer;
    transition: all var(--transition);
}

.catalog-sort:focus, .catalog-sort:hover {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--shadow-accent);
}


.catalog-layout {
    display: flex;
    gap: 40px;
}

.catalog-sidebar {
    width: 260px;
    flex-shrink: 0;
}

.catalog-main {
    flex-grow: 1;
}


.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.filters-header h3 {
    font-family: var(--font-sans);
    font-size: 18px;
    color: var(--text-main);
}

.filters-close {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--text-main);
}

.filter-group {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
}

.storefront_filter_categories {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(240, 191, 211, 0.86);
}

.storefront_filter_category_links {
    display: grid;
    gap: 8px;
}

.storefront_filter_category_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 14px;
    background: rgba(255, 253, 249, 0.88);
    border: 1px solid rgba(238, 221, 201, 0.9);
    color: var(--text-main);
    font-size: 14px;
    font-weight: 700;
}

.storefront_filter_category_link:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: #fff;
}

.accordion__toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-main);
    cursor: pointer;
}
.accordion__toggle:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.accordion__toggle .chevron {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--text-main);
    border-bottom: 2px solid var(--text-main);
    transform: rotate(45deg);
    transition: transform var(--transition);
}

.accordion__toggle.active .chevron {
    transform: rotate(-135deg);
}

.accordion__icon {
    flex-shrink: 0;
	font-size: 12px;
    transition: transform var(--transition);
}

.accordion__toggle.active .accordion__icon {
    transform: rotate(180deg);
}

.accordion__content {
    transition: max-height 0.3s ease;
    overflow: hidden;
}

.accordion__inner {
    padding: 0 20px 20px;
}


.checkbox-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    cursor: pointer;
}

.checkbox-wrap input {
    display: none;
}

.checkbox-box {
    width: 18px;
    height: 18px;
    border: 2px solid var(--border-color);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    background: var(--bg-light);
}

.checkbox-wrap input:checked + .checkbox-box {
    background: var(--accent-color);
    border-color: var(--accent-color);
}

.checkbox-wrap input:checked + .checkbox-box::after {
    content: '';
    width: 10px;
    height: 10px;
    background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>');
    background-size: cover;
}

.checkbox-label {
    font-size: 14px;
    color: var(--text-main);
}

.checkbox-wrap:hover .checkbox-box {
    border-color: var(--accent-color);
}


.color-picker-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.color-wrap {
    cursor: pointer;
}

.color-wrap input {
    display: none;
}

.color-circle {
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    transition: transform 0.2s, box-shadow 0.2s;
}

.color-wrap input:checked + .color-circle {
    transform: scale(1.1);
    box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 4px var(--accent-color);
}


.price-range {
    display: flex;
    align-items: center;
    gap: 8px;
}

.price-input input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    background: var(--bg-light);
    color: var(--text-main);
    outline: none;
    transition: border-color 0.2s;
}

.price-input input:focus {
    border-color: var(--accent-color);
}

.price-sep {
    color: var(--text-main);
    font-weight: 700;
}

.btn--small {
    padding: 8px 15px;
    font-size: 14px;
    border-radius: 8px;
}


.catalog-grid {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 50px;
}

.product-card {
    position: relative;
    justify-content: flex-start;
    padding: 15px;
}

.product-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.product-card__badges {
    position: absolute;
    top: 25px;
    left: 25px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    color: white;
}

.badge--top {
    background-color: #63b392;
}

.badge--discount {
    background-color: var(--accent-color);
}

.product-card__fav {
    position: absolute;
    top: 25px;
    right: 25px;
    z-index: 2;
    background: white;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    color: var(--text-main);
    transition: transform 0.2s, color 0.2s;
}

.product-card__compare {
    position: absolute;
    top: 65px;
    right: 25px;
    z-index: 2;
    background: white;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    color: var(--text-main);
    transition: transform 0.2s, color 0.2s;
}

.product-card__fav:hover,
.product-card__compare:hover {
    color: var(--accent-color);
    transform: scale(1.1);
}
.product-card__fav:hover {
    transform: scale(1.1);
    color: var(--accent-color);
}

.product-card__fav svg {
    width: 18px;
    height: 18px;
}

.product-card__rating {
    font-size: 12px;
    color: var(--text-main);
    margin-bottom: 5px;
    align-self: flex-start;
}

.rating-count {
    color: var(--text-main);
}

.product-card__title {
    text-align: left;
    margin-bottom: 15px;
    flex-grow: 1;
}

.product-card__price-box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
}

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

.price-old {
    font-size: 13px;
    text-decoration: line-through;
    color: var(--text-main);
    opacity: 0.5;
}

.price-current {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-main);
}

.price-current.discount {
    color: var(--accent-color);
}

.btn--buy {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.page-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    font-weight: 700;
    transition: all var(--transition);
}

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

.page-dots {
    font-weight: 700;
    color: var(--text-main);
    opacity: 0.5;
}


@media (max-width: 992px) {
    .catalog-layout {
        flex-direction: column;
        gap: 20px;
    }
    
    .btn-mobile-filters {
        display: flex;
    }

    .catalog-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .catalog-sidebar {
        position: fixed;
        top: 0;
        left: -100%;
        width: 300px;
        height: 100vh;
        background: var(--bg-color);
        z-index: 1000;
        transition: left 0.3s ease;
        padding: 20px 20px 80px 20px;
        overflow-y: auto;
    }

    .catalog-sidebar.is-open {
        left: 0;
    }

    .filters-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 999;
    }

    .catalog-sidebar.is-open .filters-overlay {
        display: block;
    }
    
    
       
    .filters-close {
        display: block;
    }

    .filters-panel {
        position: relative;
        z-index: 1001;
    }
}

@media (max-width: 768px) {
    .catalog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .catalog-grid {
        grid-template-columns: 1fr;
    }
}



.custom-select {
    position: relative;
    width: 100%;
    max-width: 220px;
}

.custom-select > [hidden] {
	display: none;
}

.custom-select__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px 15px;
    border-radius: 20px;
    border: 1px solid var(--border-color);
    background-color: var(--card-bg);
    color: var(--text-main);
    font-family: inherit;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--transition);
}

.custom-select__trigger:hover {
    border-color: var(--accent-color);
}

.custom-select__trigger:focus-visible,
.custom-select__option:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.custom-select__trigger svg,
.custom-select__trigger .ph {
    flex-shrink: 0;
    transition: transform var(--transition);
}

.custom-select__trigger .ph {
	font-size: 10px;
}

.custom-select__trigger .chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--text-main);
    border-bottom: 2px solid var(--text-main);
    transform: rotate(45deg);
    transition: transform var(--transition);
}

.custom-select.is-open .custom-select__trigger .chevron {
    transform: rotate(-135deg) translateY(-2px);
}

.custom-select.is-open .custom-select__trigger svg,
.custom-select.is-open .custom-select__trigger .ph {
    transform: rotate(180deg);
}

.custom-select__dropdown {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    background: var(--card-bg);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    box-shadow: 0 8px 20px var(--shadow-color);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s ease;
    z-index: 100;
}

.custom-select.is-open .custom-select__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.custom-select.is-open .custom-select__trigger {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--shadow-accent);
}

.custom-select__option {
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s;
}

.custom-select__option:hover, .custom-select__option.active {
    background: var(--bg-color);
    color: var(--accent-color);
}

.custom-select__option:first-child {
    border-radius: 12px 12px 0 0;
}
.custom-select__option:last-child {
    border-radius: 0 0 12px 12px;
}


.price-slider-wrap {
    padding: 10px 15px 20px 15px;
}

.noUi-target {
    background: var(--bg-color) !important;
    border: none !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1) !important;
    height: 6px !important;
}

.noUi-connect {
    background: var(--accent-color) !important;
}

.noUi-handle {
    border: 2px solid var(--accent-color) !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
    width: 20px !important;
    height: 20px !important;
    right: -10px !important;
    top: -7px !important;
    cursor: grab;
}

.noUi-handle:active {
    cursor: grabbing;
}

.noUi-handle::before, .noUi-handle::after {
    display: none !important;
}



.product-page {
    width: 100%;
    min-width: 0;
    padding-top: 20px;
}

.product-layout {
    display: grid;
    grid-template-columns: 1fr 450px;
    gap: 50px;
    margin-bottom: 60px;
    min-width: 0;
}


.product-gallery {
    min-width: 0;
}

.product-swiper-main {
	position: relative;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 15px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

.product-swiper-main [data-gallery-main-link] {
    display: block;
    width: 100%;
    height: 100%;
    cursor: zoom-in;
}

.product-swiper-main .swiper-slide {
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-swiper-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-swiper-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 10px;
	max-height: 360px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 2px 4px 2px 0;
}

.product-swiper-thumbs .swiper-slide {
    aspect-ratio: 1; 
    border-radius: 12px;
    overflow: hidden;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity var(--transition), border var(--transition);
    border: 2px solid transparent;
}

.product-swiper-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border-color: var(--accent-color);
}

.product-swiper-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-button-next, .swiper-button-prev {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translateY(-50%);
    color: var(--text-main);
    background: rgba(255,255,255,0.8);
    width: 40px;
    height: 40px;
    border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.7);
	cursor: pointer;
	font-size: 18px;
}

.swiper-button-prev {
	left: 12px;
}

.swiper-button-next {
	right: 12px;
}

.has-gallery-lightbox {
	overflow: hidden;
}

.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: clamp(18px, 4vw, 46px);
}

.gallery-lightbox.is-open {
	display: flex;
}

.gallery-lightbox__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(34, 22, 18, 0.76);
	cursor: zoom-out;
}

.gallery-lightbox__dialog {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 54px;
	align-items: center;
	gap: 16px;
	width: min(100%, 1080px);
}

.gallery-lightbox__image_frame {
	display: grid;
	grid-column: 2;
	grid-row: 1;
	justify-items: center;
	gap: 12px;
	min-width: 0;
}

.gallery-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 150px);
	border-radius: 18px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
	background: #fff;
	object-fit: contain;
}

.gallery-lightbox__caption {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
}

.gallery-lightbox__close,
.gallery-lightbox__control {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.92);
	color: var(--text-main);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
	transition: transform var(--transition), background var(--transition);
}

.gallery-lightbox__control[hidden] {
	display: none;
}

.gallery-lightbox__close:hover,
.gallery-lightbox__control:hover {
	transform: translateY(-2px);
	background: #fff;
}

.gallery-lightbox__close:focus-visible,
.gallery-lightbox__control:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.gallery-lightbox__close {
	position: absolute;
	top: -18px;
	right: 0;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
}

.gallery-lightbox__control {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	font-size: 24px;
	font-weight: 800;
}

@media (max-width: 720px) {
	.gallery-lightbox {
		padding: 14px;
	}

	.gallery-lightbox__dialog {
		grid-template-columns: 42px minmax(0, 1fr) 42px;
		gap: 8px;
	}

	.gallery-lightbox__control {
		width: 42px;
		height: 42px;
		font-size: 20px;
	}

	.gallery-lightbox__close {
		top: 0;
		right: 0;
		width: 38px;
		height: 38px;
	}

	.gallery-lightbox__image {
		max-height: calc(100vh - 112px);
		border-radius: 14px;
	}
}


.product-title {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 15px;
    font-family: var(--font-sans);
    color: var(--text-main);
}

.product-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    font-size: 14px;
}

.product-meta .sku span {
    color: var(--text-main);
    font-weight: 700;
}

.product-seller-box {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 30px;
    border: 1px solid var(--border-color);
    font-size: 14px;
}
.seller-link,
.product-brand-link {
    color: var(--accent-color);
}

.product-props {
    margin-bottom: 30px;
}
.prop-group {
    margin-bottom: 20px;
}
.prop-title {
    font-size: 15px;
    margin-bottom: 10px;
    font-weight: 700;
}
.prop-title span {
    font-weight: 400;
    color: var(--text-main);
    opacity: 0.8;
}

.product-action-box {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 10px 30px var(--shadow-color);
}

.purchase-controls {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.product-secondary-actions {
    display: flex;
    gap: 12px;
    margin-top: 14px;
}

.qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 30px;
    height: 50px;
    background: var(--bg-light);
}

.qty-btn {
    width: 40px;
    height: 100%;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: var(--text-main);
    transition: color 0.2s;
}
.qty-btn:hover {
    color: var(--accent-color);
}

.qty-input {
    width: 40px;
    height: 100%;
    border: none;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    background: transparent;
    color: var(--text-main);
    outline: none;
    -moz-appearance: textfield;
    appearance: textfield;
}
.qty-input:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.btn--buy-main {
    flex-grow: 1;
    height: 50px;
}

.in-product {
    position: static;
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    box-shadow: 0 4px 10px var(--shadow-color);
    border: 1px solid var(--border-color);
}

.product-logistics {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed var(--border-color);
    font-size: 13px;
    color: var(--text-main);
    opacity: 0.8;
}
.logistics-item {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}


.product-tabs-wrapper {
    margin-bottom: 60px;
}

.tabs-header {
    display: flex;
    gap: 30px;
    border-bottom: 2px solid var(--border-color);
    margin-bottom: 30px;
    overflow-x: auto; 
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.tabs-header::-webkit-scrollbar {
    display: none;
}

.tab-trigger {
    background: transparent;
    border: none;
    padding: 15px 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-main);
    font-family: inherit;
    cursor: pointer;
    position: relative;
    opacity: 0.6;
    transition: all 0.3s;
    white-space: nowrap;
}

.tab-trigger.active {
    opacity: 1;
    color: var(--accent-color);
}

.tab-trigger::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-color);
    transform: scaleX(0);
    transition: transform 0.3s;
}

.tab-trigger.active::after {
    transform: scaleX(1);
}

.tab-pane {
    display: none;
    animation: fadeIn 0.4s ease;
}

.tab-pane.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.tab-pane h3 {
    margin-bottom: 20px;
    font-size: 24px;
}

.tab-pane p {
    margin-bottom: 15px;
    line-height: 1.6;
}

.tab-pane ul {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 15px;
}
.tab-pane li {
    margin-bottom: 8px;
}

.specs-table {
    width: 100%;
    max-width: 600px;
    border-collapse: collapse;
}

.specs-table th, .specs-table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-color);
    text-align: left;
}

.specs-table th {
    width: 40%;
    font-weight: 400;
    opacity: 0.7;
}
.specs-table td {
    font-weight: 600;
}


.reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 20px;
    background: var(--bg-light);
    border-radius: 12px;
}

.review-item {
    padding: 20px 0;
    border-bottom: 1px solid var(--border-color);
}
.review-meta {
    margin-bottom: 5px;
}
.review-date {
    font-size: 13px;
    opacity: 0.5;
    margin-left: 10px;
}
.review-rating {
    margin-bottom: 10px;
}


.mobile-sticky-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--card-bg);
    padding: 10px 20px;
    box-shadow: 0 -4px 15px var(--shadow-color);
    display: none; 
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
}

.mobile-sticky-cart .price-current {
    font-size: 24px;
    margin: 0;
}


@media (max-width: 992px) {
    .product-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .product-title {
        font-size: 26px;
    }
    
    .purchase-controls {
        flex-wrap: wrap;
    }
    
    .btn--buy-main {
        order: -1;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .mobile-sticky-cart {
        display: flex;
    }
    .product-page {
        padding-bottom: 80px; 
    }
}



.modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2000;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.modal.is-open {
    opacity: 1;
    visibility: visible;
}

.modal__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(5px);
}

.modal__content {
    padding: 0 30px 30px;
}

.modal.is-open .modal__container {
    transform: translateY(0);
}

.modal__close {
    position: absolute;
    top: 15px; right: 20px;
    background: transparent;
    border: none;
    font-size: 28px;
    color: var(--text-main);
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.2s;
}

.modal__close:hover {
    opacity: 1;
    color: var(--accent-color);
}

.modal__title {
    font-size: 28px;
    margin-bottom: 10px;
    font-family: var(--font-script);
    color: var(--text-accent);
}

.modal__subtitle {
    font-size: 14px;
    margin-bottom: 25px;
    opacity: 0.8;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
}

.form-control {
    width: 100%;
    padding: 12px 15px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: var(--bg-light);
    font-size: 15px;
    font-family: inherit;
    color: var(--text-main);
    outline: none;
    transition: all 0.2s;
}

.form-control:focus {
    border-color: var(--accent-color);
    background: #fff;
    box-shadow: 0 0 0 3px var(--shadow-accent);
}


.card-inner-zoom {
    overflow: hidden;
    position: relative;
    cursor: zoom-in;
}

.card-inner-zoom img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.1s ease-out; 
    transform-origin: center center;
}


.review-form-box {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    animation: fadeIn 0.3s ease;
}

.star-rating {
	display: inline-flex;
	flex-direction: row-reverse;
	font-size: 28px;
	user-select: none;
}

.review-rating-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.star-rating__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.star-rating__label {
	color: #ddd;
	cursor: pointer;
	transition: color 0.2s, transform 0.1s;
}

.star-rating__input:checked ~ .star-rating__label,
.star-rating__label:hover,
.star-rating__label:hover ~ .star-rating__label {
	color: #ffc107;
}

.star-rating__input:focus-visible + .star-rating__label {
	border-radius: 4px;
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.star-rating__label:hover {
	transform: scale(1.1);
}

.review-rating_static {
    color: #ffc107;
    font-size: 14px;
}


.container--narrow {
    max-width: 800px;
}
.page-header {
    text-align: center;
    margin-bottom: 40px;
}
.page-header h1 {
    font-family: var(--font-sans);
    font-size: 36px;
    margin-bottom: 10px;
}
.page-header .meta {
    opacity: 0.6;
    font-size: 14px;
}

.typography-content {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 40px;
    line-height: 1.8;
    color: var(--text-main);
    margin-bottom: 60px;
}
.typography-content h2 {
    font-family: var(--font-script);
    font-size: 32px;
    color: var(--text-accent);
    margin: 40px 0 20px;
}
.typography-content h3 {
    font-size: 20px;
    margin: 30px 0 15px;
}
.typography-content p {
    margin-bottom: 15px;
}
.typography-content ul, .typography-content ol {
    margin-bottom: 20px;
    padding-left: 20px;
}
.typography-content li {
    margin-bottom: 8px;
}
.typography-content a {
    color: var(--accent-color);
    text-decoration: underline;
}
.typography-content blockquote {
    border-left: 4px solid var(--accent-color);
    padding: 20px;
    background: var(--bg-light);
    margin: 30px 0;
    font-style: italic;
    border-radius: 0 12px 12px 0;
}


.checkout-main {
    padding-bottom: 60px;
}
.checkout-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    align-items: start;
}


.checkout-step {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 20px;
}
.step-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 15px;
}
.step-num {
    background: var(--accent-color);
    color: #fff;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-weight: 700;
}
.step-header h2 {
    font-size: 20px;
    margin: 0;
}

.form-row {
    display: flex;
    gap: 20px;
}
.form-row .half {
    width: 50%;
}
.optional-tag {
    font-weight: 400;
    opacity: 0.5;
    font-size: 12px;
}


.radio-selector-group {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}
.radio-box {
	flex: 1;
	cursor: pointer;
	position: relative;
}
.radio-box input {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}
.radio-box__inner {
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.2s;
    height: 100%;
}
.radio-box__icon {
    font-size: 30px;
    margin-bottom: 10px;
}
.radio-box__title {
    font-weight: 600;
    font-size: 14px;
}
.checkout-shipment-method__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 18px;
}
.checkout-shipment-method__logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
.checkout-shipment-method__logo--nova-poshta {
	width: 118px;
}
.checkout-shipment-method__logo--ukrposhta {
	width: 120px;
}
.radio-box input:checked + .radio-box__inner {
	border-color: var(--accent-color);
	background: var(--bg-light);
	box-shadow: 0 4px 10px var(--shadow-color);
}
.radio-box input:focus-visible + .radio-box__inner {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}


.radio-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.radio-row {
	display: flex;
	align-items: center;
	gap: 15px;
	cursor: pointer;
	padding: 15px;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	position: relative;
	transition: all 0.2s;
}
.radio-row__content {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.radio-row__description {
	color: var(--text-main);
	line-height: 1.45;
	opacity: 0.76;
	overflow-wrap: anywhere;
}
.radio-row:hover {
    background: var(--bg-light);
}
.radio-row input {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}
.radio-indicator {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--border-color);
    position: relative;
}
.radio-indicator::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    background: var(--accent-color);
    border-radius: 50%;
    transition: transform 0.2s;
}
.radio-row input:checked + .radio-indicator {
	border-color: var(--accent-color);
}
.radio-row input:focus-visible + .radio-indicator {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}
.radio-row input:checked + .radio-indicator::after {
    transform: translate(-50%, -50%) scale(1);
}
.order-payment-instruction {
	overflow-wrap: anywhere;
}


.checkout-sidebar-wrapper {
    position: sticky;
    top: 20px;
}
.checkout-sidebar {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px var(--shadow-color);
}
.checkout-totals-feedback {
	margin-top: 12px;
	margin-bottom: 16px;
}
.checkout-coupon-field {
	margin-top: 20px;
}
.checkout-location-point-field--wide {
	width: 100% !important;
}
.checkout-location-feedback {
	margin: -4px 0 18px;
	color: var(--color_ink_soft);
	font-size: 14px;
	line-height: 1.45;
}
.checkout-location-fields .form-control:disabled {
	cursor: not-allowed;
	opacity: 0.72;
}
.checkout-search-select {
	position: relative;
}
.checkout-search-select__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.checkout-search-select__control {
	position: relative;
}
.checkout-search-select__input {
	width: 100%;
	min-height: 46px;
	padding: 12px 46px 12px 44px;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	outline: none;
	background: var(--bg-light);
	color: var(--text-main);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}
.checkout-search-select--list-only .checkout-search-select__input {
	padding-left: 16px;
	cursor: pointer;
	caret-color: transparent;
}
.checkout-search-select--list-only .checkout-search-select__search-icon {
	display: none;
}
.checkout-search-select__input:focus,
.checkout-search-select.is-open .checkout-search-select__input {
	border-color: var(--accent-color);
	background: #fff;
	box-shadow: 0 0 0 3px var(--shadow-accent);
}
.checkout-search-select.is-invalid .checkout-search-select__input {
	border-color: #b42318;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.14);
}
.checkout-search-select__input:disabled {
	cursor: not-allowed;
	opacity: 0.72;
}
.checkout-search-select__search-icon {
	position: absolute;
	top: 50%;
	left: 17px;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	pointer-events: none;
}
.checkout-search-select__search-icon::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border: 2px solid currentColor;
	border-radius: 50%;
}
.checkout-search-select__search-icon::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 1px;
	width: 7px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: right center;
}
.checkout-search-select__toggle {
	position: absolute;
	top: 3px;
	right: 3px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--text-main);
	cursor: pointer;
}
.checkout-search-select__toggle::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 15px;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s;
}
.checkout-search-select.is-open .checkout-search-select__toggle::before {
	top: 18px;
	transform: rotate(225deg);
}
.checkout-search-select__toggle:hover {
	background: rgba(223, 122, 106, 0.1);
}
.checkout-search-select__toggle:focus-visible {
	outline: 2px solid var(--accent-color);
	outline-offset: -2px;
}
.checkout-search-select__toggle:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}
.checkout-search-select__list {
	position: absolute;
	z-index: 40;
	top: calc(100% + 7px);
	left: 0;
	width: 100%;
	max-height: 280px;
	max-height: min(280px, 40vh);
	overflow-y: auto;
	padding: 6px;
	border: 1px solid var(--border-color);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(92, 77, 67, 0.16);
}
.checkout-search-select__list[hidden] {
	display: none;
}
.checkout-search-select__option {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: 10px 38px 10px 12px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--text-main);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
	position: relative;
}
.checkout-search-select__option:hover,
.checkout-search-select__option:focus-visible,
.checkout-search-select__option.is-active {
	outline: none;
	background: var(--bg-light);
}
.checkout-search-select__option.is-selected {
	color: var(--accent-hover);
	font-weight: 700;
}
.checkout-search-select__option.is-selected::after {
	content: '✓';
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	color: var(--accent-color);
	font-size: 16px;
}
.checkout-search-select__empty,
.checkout-search-select__limit {
	padding: 11px 12px;
	color: var(--text-main);
	font-size: 13px;
	line-height: 1.4;
}
.checkout-search-select__limit {
	border-top: 1px solid var(--border-color);
	opacity: 0.72;
}
.sidebar-title {
    font-size: 24px;
    margin-bottom: 25px;
    border-bottom: 1px dashed var(--border-color);
    padding-bottom: 15px;
}

.cart-item {
    display: flex;
    gap: 15px;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
}
.cart-item__img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    object-fit: cover;
}
.cart-item__info {
    flex-grow: 1;
}
.cart-item__title {
    font-weight: 700;
    margin-bottom: 4px;
}
.cart-item__meta {
    font-size: 13px;
    opacity: 0.6;
    margin-bottom: 10px;
}
.cart-item__controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.qty-selector--small {
    height: 30px;
    border-radius: 15px;
}
.qty-selector--small .qty-btn {
    width: 25px;
    font-size: 16px;
}
.qty-selector--small .qty-input {
    width: 30px;
    font-size: 14px;
}
.cart-item__price {
    font-weight: 700;
}
.cart-item__del {
    position: absolute;
    top: 0; right: 0;
    background: none;
    border: none;
    font-size: 20px;
    opacity: 0.4;
    cursor: pointer;
}
.cart-item__del:hover {
    opacity: 1;
    color: var(--text-accent);
}

.cart-totals {
    margin-bottom: 25px;
}
.totals-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 15px;
}
.calc-hint {
    font-size: 13px;
    opacity: 0.6;
}
.totals-divider {
    border: none;
    border-top: 1px dashed var(--border-color);
    margin: 15px 0;
}
.totals-row--main {
    font-size: 20px;
    font-weight: 700;
    align-items: center;
}

.checkout-trust {
    margin-top: 20px;
    font-size: 12px;
    opacity: 0.7;
    text-align: center;
}
.checkout-trust p {
    margin-bottom: 5px;
}
.checkout-trust a {
    color: var(--accent-color);
    text-decoration: underline;
}

@media (max-width: 992px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }
    .checkout-sidebar-wrapper {
        position: static;
    }
    .radio-selector-group {
        flex-direction: column;
    }
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    .form-row .half {
        width: 100%;
    }
}


.auth-body {
    background: var(--bg-light);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

.auth-wrapper {
    width: 100%;
    max-width: 900px;
}

.auth-card {
    background: var(--card-bg);
    border-radius: 24px;
    box-shadow: 0 20px 60px var(--shadow-color);
    display: flex;
    overflow: hidden;
    min-height: 600px;
}

.auth-banner {
    width: 45%;
    background-image: url('https://images.unsplash.com/photo-1584992236310-6edddc08acff?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.auth-banner__overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    padding: 40px;
    color: #fff;
}

.auth-banner__overlay .auth-banner__title {
    font-family: var(--font-script);
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #fff;
}

.auth-banner__overlay p {
    font-size: 15px;
    line-height: 1.6;
    opacity: 0.9;
}

.auth-content {
    width: 55%;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-logo {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 20px;
    color: var(--text-main);
    text-decoration: none;
    margin-bottom: 40px;
}

.form-group > .storefront_auth_links {
	margin-top: 10px;
	justify-content: flex-end;
}

.storefront_auth_panel_secondary .storefront_auth_links {
	display: grid;
	gap: 12px;
}

.storefront_auth_panel_secondary .btn {
	width: 100%;
}

.forgot-link {
	display: inline-block;
	font-size: 13px;
	color: var(--accent-color);
	text-decoration: none;
}

.forgot-link:hover {
    text-decoration: underline;
}

.auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 25px 0;
    color: var(--text-main);
    opacity: 0.5;
    font-size: 13px;
}
.auth-divider::before, .auth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--border-color);
}
.auth-divider span {
    padding: 0 15px;
}

.auth-hint {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
    opacity: 0.7;
}

.auth-hint a {
    color: var(--accent-color);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .frontend-auth-stage .auth-card {
        overflow: visible;
    }
    .auth-card {
        flex-direction: column;
    }
    .auth-banner {
        width: 100%;
        height: 200px;
        min-height: 200px;
    }
    .auth-content {
        width: 100%;
        padding: 30px 20px;
    }
}


.dashboard-main {
    padding-bottom: 60px;
    padding-top: 20px;
}
.dashboard-layout {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 40px;
    align-items: start;
}


.dashboard-nav {
    background: var(--card-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px var(--shadow-color);
    overflow: hidden;
    position: sticky;
    top: 20px;
}

.dashboard-user {
    padding: 20px;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}
.dashboard-user__avatar {
    width: 60px; height: 60px;
    border-radius: 50%;
    background: var(--bg-light);
    color: var(--accent-color);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 auto 10px;
}
.dashboard-user__name {
    font-weight: 700;
    font-size: 16px;
}

.dashboard-menu {
    display: flex;
    flex-direction: column;
}
.dashboard-menu a {
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--text-main);
    text-decoration: none;
    transition: all 0.2s;
    border-left: 3px solid transparent;
}
.dashboard-menu a:hover {
    background: var(--bg-light);
}
.dashboard-menu a.active {
    background: var(--bg-light);
    border-left-color: var(--accent-color);
    color: var(--accent-color);
    font-weight: 700;
}
.dashboard-menu svg {
    width: 20px; height: 20px;
}


.dashboard-content {
    background: var(--card-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px var(--shadow-color);
    padding: 30px;
}

.storefront_utility_page .dashboard-content {
	min-width: 0;
	width: 100%;
}
.dashboard-title {
    font-family: var(--font-sans);
    font-size: 28px;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--border-color);
}


.order-card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--bg-light);
    padding-bottom: 10px;
}
.order-meta b { font-size: 16px; }
.order-meta span { opacity: 0.6; font-size: 13px; margin-left: 10px; }

.order-status {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}
.order-status.done { background: #d4edda; color: #155724; }
.order-status.progress { background: #cce5ff; color: #004085; }
.order-status.canceled { background: #f8d7da; color: #721c24; }

.order-body { display: flex; gap: 10px; flex-wrap: wrap; }
.order-img { width: 50px; height: 50px; border-radius: 8px; object-fit: cover; }
.order-actions { margin-top: 10px; }


.grid-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 768px) {
    .dashboard-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .dashboard-nav {
        position: static;
        overflow-x: auto;
    }
    .dashboard-user {
        display: none;
    }
    .dashboard-menu {
        flex-direction: row;
        width: max-content;
    }
    .dashboard-menu a {
        border-left: none;
        border-bottom: 3px solid transparent;
        white-space: nowrap;
    }
    .dashboard-menu a.active {
        border-left-color: transparent;
        border-bottom-color: var(--accent-color);
    }
    .grid-form {
        grid-template-columns: 1fr;
    }
    .order-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}


.fat-footer {
    background: #463b33; 
    color: #fff;
    padding: 50px 0 20px;
    margin-top: 0; 
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
}
.footer-headline {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--accent-color);
}
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-links li {
    margin-bottom: 12px;
}
.footer-links a {
    color: #e0d8d0;
    text-decoration: none;
    transition: color 0.2s;
    font-size: 14px;
}
.footer-links a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-socials {
    display: flex;
    gap: 10px;
}
.footer-socials a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s;
}
.footer-socials a:hover {
    background: var(--accent-color);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(255,255,255, 0.1);
    padding-top: 20px;
    font-size: 13px;
}

.footer-bottom p {
    margin: 0;
    opacity: 0.65;
}
.footer-cards {
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 1;
}

.footer-payment-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 30px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(61, 38, 30, 0.12);
}

.footer-payment-card_visa {
    color: #1a1f71;
    font-size: 15px;
    font-weight: 800;
    font-style: italic;
    letter-spacing: 0;
    text-transform: uppercase;
}

.footer-payment-card_mastercard {
    gap: 0;
}

.footer-payment-card__circle {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

.footer-payment-card__circle_red {
    background: #eb001b;
}

.footer-payment-card__circle_orange {
    margin-left: -5px;
    background: #f79e1b;
    mix-blend-mode: multiply;
}

@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
}


.cart-btn {
    background: transparent;
    border: none;
    color: var(--text-main);
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 8px;
    transition: background 0.2s;
}
.cart-btn .ph {
	font-size: 24px;
}
.cart-btn:hover {
    background: var(--bg-light);
}
.cart-btn__badge {
    position: absolute;
    top: 2px;
    right: 0;
    background: var(--accent-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    height: 18px;
    min-width: 18px;
    padding: 0 5px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.cart-drawer {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    visibility: hidden;
    transition: visibility 0.4s;
    display: flex;
    justify-content: flex-end;
}
.cart-drawer.is-open {
    visibility: visible;
}
.cart-drawer__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.cart-drawer.is-open .cart-drawer__overlay {
    opacity: 1;
}
.cart-drawer__panel {
    position: relative;
    width: 400px;
    max-width: 100%;
    background: var(--card-bg);
    height: 100%;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: -10px 0 30px rgba(0,0,0,0.1);
}
.cart-drawer.is-open .cart-drawer__panel {
    transform: translateX(0);
}
.cart-drawer__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    border-bottom: 1px solid var(--border-color);
}
.cart-drawer__header h2 {
    font-family: var(--font-sans);
    font-size: 22px;
    margin: 0;
}
.cart-drawer__close {
    background: transparent;
    border: none;
    font-size: 28px;
    color: var(--text-light);
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}
.cart-drawer__close:hover {
    color: var(--text-accent);
}
.cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 30px;
}
.cart-drawer__footer {
    padding: 25px 30px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-color);
}
.drawer-item {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--border-color);
}
.drawer-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.drawer-item__img {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
    background: #f5f5f5;
}

.drawer-item__img_placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    font-size: 11px;
    text-align: center;
}
.drawer-item__info {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.drawer-item__title {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 5px;
    color: var(--text-main);
    padding-right: 20px;
}
.drawer-item__price {
    color: var(--accent-color);
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 10px;
}
.drawer-item__del {
    position: absolute;
    top: 0;
    right: 0;
    background: transparent;
    border: none;
    font-size: 20px;
    color: var(--text-light);
    cursor: pointer;
}
.drawer-item__del:hover {
    color: var(--text-accent);
}

.drawer-item__del_form {
    display: flex;
}

.cart-drawer .drawer-item__quantity_form {
	align-self: flex-start;
}

.drawer-item__update {
    margin-top: 4px;
}

.cart-drawer__empty {
    padding: 20px;
    text-align: center;
}

.cart-drawer__checkout {
    width: 100%;
}
.drawer-totals {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}
.drawer-totals__val {
    font-size: 24px;
    color: var(--text-accent);
}

.qty-selector--small {
    height: 36px;
    align-self: flex-start;
    border-radius: 20px;
}
.qty-selector--small .qty-btn {
    width: 30px;
    font-size: 16px;
}
.qty-selector--small .qty-input {
    width: 30px;
    font-size: 14px;
}


.modal {
    padding: 20px;
    pointer-events: none;
}
.modal.is-open {
    pointer-events: auto;
}
.modal__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.modal__container {
    position: relative;
    background: var(--card-bg);
    border-radius: 20px;
    width: 450px;
    max-width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1;
    border: 1px solid rgba(240, 191, 211, 0.95);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    transform: translateY(24px);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    overflow-x: hidden;
}
.modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px 15px;
}
.modal__close {
    position: relative;
    top: auto;
    right: auto;
    background: transparent;
    border: none;
    font-size: 30px;
    color: var(--text-light);
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.2s;
}
.modal__close:hover {
    color: var(--accent-color);
}


.compare-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 20px;
}
.compare-tabs {
    display: flex;
    gap: 10px;
}
.compare-wrapper {
    background: var(--card-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px var(--shadow-color);
    padding: 30px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.compare-row {
    display: grid;
    grid-template-columns: 200px repeat(3, 1fr);
    gap: 20px;
    border-bottom: 1px solid var(--border-color);
    padding: 20px 0;
}
.compare-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.compare-row--items {
    padding-top: 0;
}

.compare-actions {
    margin-bottom: 16px;
}

.compare-diff-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 700;
    color: var(--text-main);
}

.compare-diff-toggle input {
    width: 18px;
    height: 18px;
    accent-color: var(--accent-color);
}
.compare-col {
    position: relative;
    padding: 10px;
    color: var(--text-main);
}
.compare-item {
    background: var(--bg-light);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    flex-direction: column;
}
.compare-item .product-card__price-box {
    margin-top: auto;
}
.compare-col--labels {
    font-weight: 700;
    color: var(--text-main);
    display: flex;
    align-items: center;
}
.compare-item__remove {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #fff;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--text-light);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.2s;
    z-index: 2;
}
.compare-item__remove:hover {
    color: var(--accent-color);
    transform: scale(1.1);
}


.diff-toggle {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 12px;
}
.diff-toggle__input {
    display: none;
}
.diff-toggle__slider {
    position: relative;
    width: 44px;
    height: 24px;
    background-color: var(--border-color);
    border-radius: 24px;
    transition: .4s;
}
.diff-toggle__slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}
.diff-toggle__input:checked + .diff-toggle__slider {
    background-color: var(--accent-color);
}
.diff-toggle__input:checked + .diff-toggle__slider:before {
    transform: translateX(20px);
}
.diff-toggle__text {
    font-weight: 600;
    font-size: 15px;
    color: var(--text-main);
}


.compare-row.is-hidden {
    display: none;
}

@media (max-width: 992px) {
    .compare-wrapper {
        padding: 20px;
    }
    .compare-row {
        grid-template-columns: 150px repeat(3, 220px);
    }
}
@media (max-width: 768px) {
    .compare-row {
        grid-template-columns: repeat(3, 240px);
        gap: 15px;
    }
    .compare-col--labels {
        display: none;
    }
    .compare-col::before {
        content: attr(data-label);
        display: block;
        font-size: 12px;
        color: var(--text-light);
        margin-bottom: 4px;
    }
    .compare-item::before {
        display: none;
    }
}


.blog-filters {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.blog-card {
    display: flex;
    flex-direction: column;
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px var(--shadow-color);
    transition: transform 0.3s;
}
.blog-card:hover {
    transform: translateY(-5px);
}
.blog-card__img-link {
    display: block;
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
}
.blog-card__badge {
    position: absolute;
    top: 20px;
    left: 20px;
}
.blog-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.blog-card:hover .blog-card__img {
    transform: scale(1.05);
}
.blog-card__content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blog-card__meta {
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 15px;
    display: flex;
    gap: 15px;
}
.blog-card__title {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-main);
    line-height: 1.3;
    margin-bottom: 12px;
    text-decoration: none;
    transition: color 0.2s;
}
.blog-card__title:hover {
    color: var(--accent-color);
}
.blog-card__excerpt {
    font-size: 15px;
    color: var(--text-main);
    opacity: 0.8;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.container--narrow {
    max-width: 800px;
    margin: 0 auto;
}
.news-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.news-item {
    display: flex;
    gap: 30px;
    background: var(--card-bg);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 15px var(--shadow-color);
    transition: box-shadow 0.2s;
}
.news-item:hover {
    box-shadow: 0 10px 25px var(--shadow-color);
}
.news-item__date-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    background: var(--bg-light);
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--accent-color);
}
.news-item__day {
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
}
.news-item__month {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}
.news-item__year {
    font-size: 12px;
    opacity: 0.7;
}
.news-item__content {
    display: flex;
    flex-direction: column;
}
.news-item__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-main);
    text-decoration: none;
    margin-bottom: 10px;
    transition: color 0.2s;
}
.news-item__title:hover {
    color: var(--accent-color);
}
.news-item__excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-main);
    opacity: 0.8;
    margin-bottom: 15px;
}
.news-item__link {
    font-weight: 600;
    color: var(--text-accent);
    text-decoration: none;
    align-self: flex-start;
}


.article-hero {
    background: var(--card-bg);
    padding: 40px 0;
    margin-bottom: 0;
}
.breadcrumbs--light a {
    color: var(--text-main);
}
.article-hero__title {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--text-main);
    margin-bottom: 30px;
}
.article-hero__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.article-author {
    display: flex;
    align-items: center;
    gap: 15px;
}
.article-author img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
}
.article-author b {
    display: block;
    font-size: 16px;
}
.article-author span {
    font-size: 13px;
    opacity: 0.7;
}
.article-date {
    font-size: 14px;
    color: var(--text-light);
}
.article-banner {
    width: 100%;
    height: 500px;
    margin-bottom: 50px;
}
.article-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.article-content {
    font-family: Georgia, serif;
    font-size: 20px;
    line-height: 1.7;
    color: var(--text-main);
}
.article-content > * {
    margin-bottom: 30px;
}
.article-content p.lead {
    font-size: 24px;
    line-height: 1.6;
    color: var(--text-main);
    opacity: 0.8;
}
.article-content h2, .article-content h3 {
    font-family: var(--font-sans);
    color: var(--text-main);
    margin-top: 50px;
    margin-bottom: 25px;
    font-weight: 800;
}
.article-content h2 { font-size: 32px; }
.article-content h3 { font-size: 24px; }

.article-content img {
    width: 100%;
    border-radius: 12px;
}
.article-content blockquote {
    font-family: var(--font-sans);
    font-size: 24px;
    font-weight: 600;
    font-style: italic;
    color: var(--text-accent);
    padding-left: 30px;
    border-left: 5px solid var(--accent-color);
    margin: 50px 0;
}
.article-content ul, .article-content ol {
    padding-left: 40px;
}
.article-content li {
    margin-bottom: 10px;
}

.article-footer {
    border-top: 1px solid var(--border-color);
    padding-top: 30px;
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-sans);
}
.article-tags {
    display: flex;
    gap: 10px;
}
.article-tags a {
    color: var(--text-light);
    text-decoration: none;
    font-size: 14px;
}
.article-tags a:hover {
    color: var(--accent-color);
}
.article-share {
    display: flex;
    align-items: center;
    gap: 15px;
}

@media (max-width: 992px) {
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .article-banner { height: 400px; }
    .article-hero__title { font-size: 36px; }
}

@media (max-width: 768px) {
    .blog-grid { grid-template-columns: 1fr; }
    .news-item { flex-direction: column; padding: 20px; gap: 15px; }
    .news-item__date-box { width: 100%; height: auto; flex-direction: row; gap: 10px; padding: 10px; }
    .article-hero__title { font-size: 28px; }
    .article-banner { height: 250px; margin-bottom: 30px; }
    .article-content { font-size: 18px; }
    .article-content blockquote { font-size: 20px; padding-left: 20px; }
    .article-footer { flex-direction: column; gap: 20px; align-items: flex-start; }
}


.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: var(--accent-color);
    color: white;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.scroll-top .ph {
	font-size: 24px;
}
.scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.scroll-top:hover {
    background-color: #559e80; 
    transform: translateY(-5px);
}
@media (max-width: 768px) {
    .scroll-top {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }
}


@keyframes fadeInDownMega {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.has-mega-menu {
    position: static;
}
.header__nav-disclosure {
    display: inline-flex;
    align-items: center;
    position: relative;
    z-index: 101;
}
.header__mega-toggle {
	display: none;
}
.mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--card-bg);
    box-shadow: 0 10px 30px var(--shadow-color);
    padding: 24px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s;
    z-index: 99;
    border-top: 1px solid var(--border-color);
}
.has-mega-menu:hover .mega-menu,
.has-mega-menu:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.mega-menu::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -64px;
    height: 64px;
}
.mega-menu__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 24px;
    max-height: min(70vh, 620px);
    overflow: auto;
    align-items: start;
}
.mega-menu__col {
    min-width: 0;
}
.mega-menu__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--border-color);
}
.mega-menu__title-link {
    color: inherit;
    text-decoration: none;
}
.mega-menu__title-link:hover {
    color: var(--accent-color);
}
.mega-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}
.mega-menu__list li {
    margin-bottom: 0;
}
.mega-menu__list a {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--text-main);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.35;
    opacity: 0.8;
    transition: all 0.2s;
}
.mega-menu__link_level_1 {
    padding-left: 12px;
}
.mega-menu__link_level_2 {
    padding-left: 24px;
}
.mega-menu__link_level_3,
.mega-menu__link_level_4 {
    padding-left: 36px;
}
.mega-menu__list a:hover {
    color: var(--accent-color);
    opacity: 1;
    padding-left: 5px;
}
.mega-menu__list a svg {
    color: var(--accent-color);
    flex-shrink: 0;
}
.mega-menu__brands li {
    display: inline-block;
    width: 48%;
}
.mega-menu__brands a:hover {
    padding-left: 0;
    text-decoration: underline;
}
.mega-menu__promo {
    flex: 1.5;
}
.mega-promo-card {
    display: block;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    min-height: 220px;
}
.mega-promo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
    position: absolute;
    top: 0;
    left: 0;
}
.mega-promo-card:hover img {
    transform: scale(1.05);
}
.mega-promo-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    color: white;
}
.mega-promo-card__overlay h5 {
    font-size: 20px;
    font-weight: 700;
    margin: 10px 0 0 0;
    line-height: 1.2;
}
.mega-caret {
	display: inline-flex;
	margin-left: 6px;
	font-size: 12px;
    transition: transform 0.3s;
}
.has-mega-menu:hover .mega-caret {
    transform: rotate(180deg);
}


@media (max-width: 992px) {
    .has-mega-menu {
        width: 100%;
        position: relative;
    }
    .header__nav-disclosure {
        width: 100%;
    }
    .header__nav-disclosure .header__nav-link {
		flex: 1 1 auto;
	}
	.header__mega-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var(--text-main);
		cursor: pointer;
	}
	.header__mega-toggle .mega-caret {
		margin-left: 0;
	}
	.header__mega-link-caret {
		display: none;
	}
	.header__mega-toggle:focus-visible {
		outline: 3px solid var(--accent-color);
		outline-offset: 3px;
	}
    .custom-select {
        max-width: none;
    }
    .mega-menu {
        position: static;
        box-shadow: none;
        padding: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        border: none;
        display: none;
        background: var(--bg-light);
        margin-top: 10px;
        border-radius: 12px;
        width: 100%;
    }
    .mega-menu::before {
        display: none;
    }
    .mega-menu.is-open {
        display: block;
        animation: fadeInDownMega 0.3s ease;
    }
    .has-mega-menu:hover .mega-caret {
        transform: none !important;
    }
    .has-mega-menu.is-open .mega-caret {
        transform: rotate(180deg) !important;
    }
    .header__nav-link:hover::after, .header__nav-link.active::after {
        display: none !important;
    }
    .mega-menu__inner {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }
    .mega-menu__title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .mega-menu__promo {
        display: none; 
    }
}


@media (max-width: 425px) {
    .header__logo-icon {
        width: 24px;
        height: 24px;
    }
    .header__logo-image {
        width: 132px;
        max-height: 38px;
    }
	.header__logo-image.header__logo-image_default {
		height: 60px;
		margin-block: -11px;
	}
    .header__logo-text {
        font-size: 16px;
    }
    .header__logo {
        gap: 5px;
    }
    .header__actions {
        gap: 8px;
    }
}


.success-box {
    background: var(--card-bg);
    border-radius: 20px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 10px 40px var(--shadow-color);
}
.success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background: rgba(46, 125, 50, 0.1);
    color: #2e7d32;
    border-radius: 50%;
    margin: 0 auto 30px;
}
.success-title {
    font-size: 36px;
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 15px;
}
.success-subtitle {
    font-size: 18px;
    color: var(--text-main);
    opacity: 0.8;
    line-height: 1.6;
    margin-bottom: 40px;
}
.success-details {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
    text-align: left;
}
.success-detail-item {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 16px;
}
.success-detail-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.success-detail-item span {
    color: var(--text-main);
    opacity: 0.7;
}
.success-detail-item strong {
    color: var(--text-main);
    font-weight: 700;
}
.success-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 576px) {
    .success-box { padding: 40px 20px; }
    .success-actions { flex-direction: column; }
    .success-actions .btn { width: 100%; justify-content: center; }
    .success-detail-item { flex-direction: column; gap: 5px; }
    .success-title { font-size: 28px; }
}

.product-card__button_form {
	margin: 0;
}

.catalog-grid .product-card {
	align-items: stretch;
}

.product-card .product-card__link {
	display: block;
}

.product-card .product-card__img {
	margin-bottom: 0;
}

.product-card__corner-actions {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.product-card__corner-actions .product-card__button_form {
	display: flex;
}

.product-card .product-card__corner-actions .product-card__fav,
.product-card .product-card__corner-actions .product-card__compare {
	position: static;
	width: 44px;
	height: 44px;
}

.product-card .product-card__rating {
	display: grid;
	justify-items: start;
	gap: 6px;
	margin: 12px 0 10px;
	line-height: 1.4;
	align-self: stretch;
}

.product-card .product-card__rating a {
	display: inline-block;
	max-width: 100%;
}

.product-card .storefront_official_seller_badge {
	margin-left: 0;
}

.storefront_official_seller_badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	margin-left: 6px;
	padding: 2px 7px;
	border: 1px solid rgba(214, 59, 124, .26);
	border-radius: 999px;
	background: rgba(255, 244, 248, .92);
	color: #a43263;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.25;
	vertical-align: middle;
}

.product-card .product-card__title {
	margin: 0 0 14px;
	line-height: 1.24;
	text-align: left;
}

.product-card__title_link {
	color: inherit;
	text-decoration: none;
}

.product-card__title_link:hover {
	color: var(--accent-color);
}

.product-card .product-card__price-box {
	gap: 12px;
}

.product-card .prices {
	min-width: 0;
}

.product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.product-card__badge {
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--bg-light);
	border: 1px solid var(--border-color);
	font-size: 12px;
	font-weight: 700;
}

.product-card__stock {
	font-size: 13px;
	color: var(--text-main);
	margin-bottom: 15px;
}

.product-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(223, 122, 106, 0.14), rgba(255, 255, 255, 0.92));
	color: var(--text-accent);
	font-weight: 700;
	font-size: 18px;
	text-align: center;
}

.product-gallery-thumb {
	background: transparent;
	padding: 0;
	width: 100%;
	border: 2px solid transparent;
}

.product-gallery-thumb.is-active {
	opacity: 1;
	border-color: var(--accent-color);
}

.product-gallery-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 40px;
	text-align: center;
	color: var(--text-main);
	opacity: 0.7;
	background: var(--bg-light);
}

.purchase-controls form {
	margin: 0;
}

.product-purchase-form {
	display: flex;
	align-items: center;
	gap: 15px;
	flex: 1 1 auto;
	flex-wrap: wrap;
}

.product-secondary-action {
	flex: 1 1 0;
}

.product-utility-form {
	flex: 0 0 auto;
}

.product-tab-section {
	margin-top: 30px;
}

.product-variant-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.product-variant-pill {
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--bg-light);
	border: 1px solid var(--border-color);
	font-size: 14px;
	font-weight: 700;
}

.product-variant-pill.is-default {
	border-color: var(--accent-color);
	color: var(--accent-color);
}

.product-variant-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.product-variant-card {
	background: var(--bg-light);
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 20px;
}

.product-variant-card h3 {
	font-family: var(--font-sans);
	font-size: 18px;
	color: var(--text-main);
	margin-bottom: 10px;
}

.product-variant-card p {
	margin-bottom: 8px;
}

.product-variant-card ul {
	list-style: disc;
	padding-left: 20px;
}

.product-variant-card li {
	margin-bottom: 6px;
}

.review-form-auth-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.question-item__answer {
	margin-top: 15px;
	padding: 15px;
	border-radius: 12px;
	background: var(--bg-light);
}

.related-section.product-offers-section .section-header {
	justify-content: flex-start;
}

.checkout-steps {
	display: flex;
	flex-direction: column;
}

.checkout-main .page-header,
.cart-page .page-header {
	text-align: left;
}

.checkout-main .page-header h1,
.cart-page .page-header h1 {
	font-family: var(--font-sans);
	font-size: 36px;
	color: var(--text-main);
}

.radio-box__hint {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	opacity: 0.65;
}

.checkout-submit-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.checkout-recipient-toggle {
	margin-top: 20px;
}

.checkout-recipient-fields {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--border-color);
}

.checkout-recipient-fields h3 {
	margin: 0 0 16px;
	font-family: var(--font-sans);
	font-size: 18px;
	color: var(--text-main);
}

.cart-page {
	padding-top: 20px;
	padding-bottom: 60px;
}

.cart-panel__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 25px;
	flex-wrap: wrap;
}

.cart-panel__header h2 {
	font-family: var(--font-sans);
	font-size: 24px;
	color: var(--text-main);
	margin-bottom: 6px;
}

.cart-panel__actions,
.cart-summary__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.cart-panel__actions .storefront_action_form,
.cart-summary__actions .storefront_action_form {
	margin: 0;
}

.cart-item__media {
	display: block;
	flex-shrink: 0;
}

.cart-item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
}

.cart-item__media {
	width: 120px;
}

.cart-item__img,
.cart-item__img_placeholder.product-card__placeholder {
	width: 120px;
	height: 120px;
	min-height: 120px;
	padding: 14px;
	font-size: 14px;
	border-radius: 14px;
}

.cart-item__img_placeholder {
	width: 70px;
	height: 70px;
	padding: 10px;
	font-size: 11px;
}

.cart-item__info {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.cart-item__title {
	display: block;
	margin: 0;
	line-height: 1.25;
}

.cart-item__meta {
	margin-bottom: 0;
	line-height: 1.45;
	word-break: break-word;
}

.cart-item__controls {
	flex-wrap: wrap;
	gap: 14px;
	align-items: flex-end;
}

.cart-item__quantity_form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.cart-item__price {
	margin-left: auto;
	text-align: right;
	line-height: 1.2;
	white-space: nowrap;
}

.cart-item__update {
	padding: 8px 15px;
	border-radius: 12px;
	border: 1px solid var(--border-color);
}

.cart-item__delete_form {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
}

.cart-item__badges {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
	align-self: start;
	min-width: 74px;
}

.qty-selector--readonly .qty-btn {
	opacity: 0.35;
	cursor: default;
}

.checkout-sidebar .cart-items-list {
	margin-bottom: 25px;
}

.checkout-sidebar .cart-item {
	grid-template-columns: 96px minmax(0, 1fr);
}

.checkout-sidebar .cart-item__media {
	width: 96px;
}

.checkout-sidebar .cart-item__img,
.checkout-sidebar .cart-item__img_placeholder.product-card__placeholder {
	width: 96px;
	height: 96px;
	min-height: 96px;
	padding: 10px;
	font-size: 11px;
}

.checkout-sidebar .cart-item__controls {
	flex-direction: column;
	align-items: flex-start;
}

.checkout-sidebar .cart-item__price {
	margin-left: 0;
	text-align: left;
}

.checkout-sidebar .cart-item__badges {
	grid-column: 2;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	min-width: 0;
}

.drawer-item__media {
	display: block;
	flex-shrink: 0;
}

.drawer-item__img_placeholder.product-card__placeholder {
	width: 80px;
	height: 80px;
	min-height: 80px;
	padding: 10px;
	font-size: 11px;
	border-radius: 12px;
}

.cart-empty {
	text-align: center;
}

.cart-empty__actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 25px;
}

.storefront_brand_directory {
	display: grid;
	gap: 16px;
}

.storefront_brand_directory .storefront_text {
	margin: 0;
}

.storefront_brand_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	align-items: stretch;
}

.storefront_brand_card {
	display: grid;
	align-content: start;
	gap: 8px;
	min-height: 116px;
	padding: 14px;
	border: 1px solid var(--color_line);
	border-radius: 12px;
	background: var(--color_surface_soft);
	color: var(--color_ink);
	text-decoration: none;
	transition: border-color .16s ease, transform .16s ease;
}

.storefront_brand_card:hover,
.storefront_brand_card:focus-visible {
	border-color: var(--color_accent);
	transform: translateY(-1px);
}

.storefront_brand_card:focus-visible {
	outline: 2px solid var(--color_accent);
	outline-offset: 2px;
}

.storefront_brand_card_title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.28;
}

.storefront_brand_card:hover .storefront_brand_card_title,
.storefront_brand_card:focus-visible .storefront_brand_card_title {
	color: var(--color_accent);
}

.storefront_brand_card_meta {
	margin: 0;
	font-size: .86rem;
	line-height: 1.45;
	color: var(--color_ink_soft);
}

.form-control--textarea {
	min-height: 110px;
	resize: vertical;
}

.dashboard-subtitle {
	margin: -14px 0 24px;
	color: var(--text-muted);
}

.dashboard-page-tools {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}

.order-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.order-list .order-card {
	margin-bottom: 0;
}

.order-body__chip {
	min-width: 180px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--bg-light);
	border: 1px solid var(--border-color);
}

.order-body__label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.65;
	margin-bottom: 6px;
}

.order-body__value {
	font-size: 14px;
	line-height: 1.5;
}

.order-body__value_strong {
	font-size: 18px;
	font-weight: 700;
}

.order-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.order-footer__total {
	font-size: 20px;
	font-weight: 700;
}

.orders-page,
.order-detail-page,
.page-shell {
	padding-bottom: 60px;
}

.orders-page__meta {
	margin-bottom: 20px;
	text-align: center;
	color: var(--text-muted);
}

.orders-empty {
	text-align: center;
}

.orders-empty p {
	margin-bottom: 20px;
}

.order-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 24px;
	align-items: start;
	margin-bottom: 24px;
}

.order-detail-main,
.order-detail-sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.order-detail-card,
.order-detail-page .view_section {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 10px 30px var(--shadow-color);
}

.order-detail-card_sticky {
	position: sticky;
	top: 110px;
}

.order-detail-section-title {
	font-family: var(--font-sans);
	font-size: 24px;
	margin-bottom: 18px;
}

.order-detail-definition .view_definition {
	margin: 0;
}

.order-detail-total {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 20px;
}

.order-detail-url {
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--bg-light);
	border: 1px solid var(--border-color);
	overflow-wrap: anywhere;
	font-size: 14px;
	line-height: 1.6;
	margin-top: 14px;
}

.order-detail-subtitle {
	font-size: 18px;
	margin: 20px 0 12px;
}

.order-detail-table .view_table_wrap {
	margin: 0;
}

.page-shell .typography-content {
	margin-bottom: 0;
}

.seller-storefront-page {
	padding-bottom: 60px;
}

.seller-storefront-page .storefront_seller_theme {
	display: grid;
	gap: 24px;
}

.seller-storefront-page .storefront_showcase_stage {
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.seller-storefront-page .storefront_showcase_main {
	padding: 28px;
	border-radius: 28px;
	gap: 18px;
}

.seller-storefront-page .storefront_showcase_cover_image {
	height: 340px;
}

.seller-storefront-page .storefront_showcase_brand_copy {
	gap: 12px;
}

.seller-storefront-page .article-hero__title {
	font-size: 40px;
	margin-bottom: 0;
}

.seller-storefront-page__subtitle {
	font-size: 17px;
	line-height: 1.7;
	max-width: 720px;
}

.seller-storefront-page .storefront_showcase_side {
	gap: 16px;
}

.seller-storefront-page .storefront_stat_card,
.seller-storefront-page .storefront_support_policy_card,
.seller-storefront-page .storefront_feature_card,
.seller-storefront-page .storefront_order_card {
	border-radius: 18px;
}

.seller-storefront-page__storyline,
.seller-storefront-page .storefront_order_list {
	display: grid;
	gap: 24px;
}

.seller-storefront-page__panel,
.seller-storefront-page .storefront_section_block {
	padding: 28px;
	border-radius: 24px;
	box-shadow: 0 10px 30px var(--shadow-color);
}

.seller-storefront-page .storefront_scene_panel_reviews .storefront_checkout_form {
	gap: 16px;
}

.seller-storefront-page .storefront_scene_panel_reviews .storefront_textarea,
.seller-storefront-page .storefront_scene_panel_reviews .storefront_input {
	border-radius: 14px;
}

.seller-storefront-page .storefront_scene_panel_reviews .storefront_order_card_meta {
	line-height: 1.6;
}

@media (max-width: 992px) {
	.product-variant-grid {
		grid-template-columns: 1fr;
	}
	.purchase-controls {
		flex-wrap: wrap;
	}
	.product-purchase-form,
	.product-secondary-actions,
	.product-secondary-action {
		width: 100%;
	}
	.product-secondary-actions {
		flex-direction: column;
	}
	.order-detail-grid {
		grid-template-columns: 1fr;
	}
	.order-detail-card_sticky {
		position: static;
	}
	.seller-storefront-page .storefront_showcase_cover_image {
		height: 280px;
	}
	.cart-item__badges {
		align-items: flex-start;
		margin-top: 12px;
	}
}

@media (max-width: 768px) {
	.cart-item {
		grid-template-columns: 96px minmax(0, 1fr);
	}
	.cart-item__media {
		width: 96px;
	}
	.cart-item__img,
	.cart-item__img_placeholder.product-card__placeholder {
		width: 96px;
		height: 96px;
		min-height: 96px;
		padding: 10px;
		font-size: 11px;
	}
	.cart-item__badges {
		grid-column: 2;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		min-width: 0;
		margin-top: 0;
	}
	.cart-panel__actions,
	.cart-summary__actions,
	.checkout-submit-row,
	.review-form-auth-actions,
	.cart-empty__actions,
	.dashboard-page-tools,
	.order-footer {
		flex-direction: column;
	}
	.cart-item__controls {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.checkout-recipient-toggle .btn {
		width: 100%;
	}
	.order-body__chip,
	.order-footer .btn {
		width: 100%;
	}
	.seller-storefront-page .article-hero__title {
		font-size: 30px;
	}
	.seller-storefront-page .storefront_showcase_main,
	.seller-storefront-page__panel,
	.seller-storefront-page .storefront_section_block {
		padding: 22px;
	}
	.seller-storefront-page .storefront_showcase_cover_image {
		height: 220px;
	}
}

.hero-slider {
	position: relative;
}

.hero-slider__track {
	position: relative;
	width: 100%;
	height: 100%;
}

.hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.6s ease;
}

.hero-slider__slide.swiper-slide-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.hero-slide__bg_placeholder {
	background: radial-gradient(circle at 15% 15%, rgba(255,255,255,0.35) 0%, transparent 30%), linear-gradient(135deg, #a96b5f 0%, #df7a6a 48%, #5c4d43 100%);
}

.hero-slide__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	margin-bottom: 18px;
	border-radius: 999px;
	background: rgba(255,255,255,0.18);
	border: 1px solid rgba(255,255,255,0.28);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	backdrop-filter: blur(8px);
}

.hero-pagination {
	position: absolute;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: 4;
}

.hero-pagination .swiper-pagination-bullet {
	appearance: none;
	border: none;
	border-radius: 999px;
	cursor: pointer;
}

.hero-prev,
.hero-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	display: none;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.38);
	background: rgba(255,255,255,0.14);
	cursor: pointer;
	backdrop-filter: blur(8px);
}

.hero-prev::after,
.hero-next::after {
	content: none;
}

.hero-prev {
	left: 24px;
}

.hero-next {
	right: 24px;
}

.home-hero__content {
	max-width: 560px;
	margin-bottom: 28px;
	color: rgba(255,255,255,0.92);
}

.home-hero__content p,
.home-hero__content ul,
.home-hero__content ol {
	margin-bottom: 12px;
}

.home-hero__content,
.home-hero__content a,
.home-hero__content li,
.home-hero__content strong,
.home-hero__content em {
	color: inherit;
}

.categories__inner {
	flex-wrap: wrap;
	align-items: stretch;
}

.category-card {
	gap: 12px;
}

.category-card__emoji {
	font-size: 46px;
	line-height: 1;
}

.category-card_shortcut,
.home-seller-card {
	align-items: flex-start;
	text-align: left;
	min-width: 280px;
	max-width: 320px;
}

.category-card__image_shortcut {
	width: 100%;
	height: 150px;
	border-radius: 16px;
	overflow: hidden;
}

.category-card__media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}

.category-card__meta {
	font-size: 14px;
	line-height: 1.6;
	opacity: 0.78;
}

.category-card__cta {
	margin-top: auto;
	font-size: 13px;
	font-weight: 700;
	color: var(--accent-color);
}

.home-section-subtitle {
	max-width: 760px;
	margin: -6px auto 28px;
	text-align: center;
	font-size: 16px;
	line-height: 1.65;
	opacity: 0.78;
}

.home-section-actions {
	margin-top: 30px;
	text-align: center;
}

.popular .products-grid,
.popular .catalog-grid {
	margin-bottom: 0;
}

.popular .catalog-grid {
	grid-template-columns: repeat(4, 1fr);
}

.home-showcase-grid .product-card_showcase {
	padding: 18px;
	align-items: stretch;
	text-align: center;
}

.home-showcase-grid .product-card_showcase .product-card__img {
	margin-bottom: 18px;
}

.home-showcase-grid .product-card_showcase .product-card__title {
	margin-bottom: 0;
	text-align: center;
}

.home-brand-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 24px;
}

.home-brand-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	font-size: 14px;
	font-weight: 700;
}

.home-seller-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
}

.home-storefront-section {
	padding-bottom: 54px;
}

.home-store-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 150px;
	border-radius: 16px;
	background: #f6eadf;
	border: 1px solid rgba(223,122,106,0.18);
	overflow: hidden;
}

.home-store-logo__image {
	display: block;
	max-width: 76%;
	max-height: 78px;
	object-fit: contain;
}

.home-store-logo__text {
	padding: 0 18px;
	color: var(--accent-color);
	font-weight: 800;
	text-align: center;
}

.home-brand-section {
	padding-top: 18px;
	padding-bottom: 42px;
}

.section-header_compact {
	margin-bottom: 20px;
}

.section-header_compact .section-title {
	font-size: 30px;
}

.home-editorial-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 25px;
}

.home-editorial-grid_compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.home-editorial-card {
	background: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 10px 30px var(--shadow-color);
}

.home-editorial-card_compact {
	border-radius: 16px;
	padding: 24px 26px;
	box-shadow: none;
	background: rgba(255,255,255,0.72);
}

.home-editorial-card__title {
	margin-bottom: 18px;
}

.home-editorial-card_compact .home-editorial-card__title {
	margin-bottom: 12px;
	font-size: 28px;
	line-height: 1.25;
}

.home-editorial-card__content {
	line-height: 1.7;
}

.home-editorial-card_compact .home-editorial-card__content {
	line-height: 1.62;
}

.home-editorial-card__content > * {
	margin-bottom: 16px;
}

.home-editorial-card_compact .home-editorial-card__content > * {
	margin-bottom: 10px;
}

.home-editorial-card__content > *:last-child {
	margin-bottom: 0;
}

.home-cta__content {
	max-width: 720px;
	margin: 0 auto 30px;
	line-height: 1.7;
}

.home-cta__content > * {
	margin-bottom: 12px;
}

.home-cta__content > *:last-child {
	margin-bottom: 0;
}

.storefront_error_stage {
	display: grid;
	place-items: center;
	min-height: 520px;
	padding: 60px 20px 72px;
}

.storefront_error_content {
	display: grid;
	justify-items: center;
	width: min(100%, 720px);
	padding: 48px 44px;
	border: 1px solid rgba(223,122,106,0.24);
	border-radius: 24px;
	background: rgba(255,255,255,0.78);
	box-shadow: 0 18px 44px rgba(97,57,45,0.1);
	text-align: center;
}

.storefront_error_mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin-bottom: 18px;
	border-radius: 24px;
	background: #fff4ea;
	border: 1px solid rgba(223,122,106,0.2);
}

.storefront_error_mark img {
	display: block;
	width: 52px;
	height: 52px;
	object-fit: contain;
}

.storefront_error_code {
	margin: 0 0 10px;
	color: var(--accent-color);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.storefront_error_title {
	margin: 0;
	color: var(--text-main);
	font-size: 46px;
	line-height: 1.08;
}

.storefront_error_text {
	max-width: 520px;
	margin: 18px 0 0;
	color: var(--text-main);
	font-size: 17px;
	line-height: 1.65;
	opacity: 0.82;
}

.storefront_error_actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}

@media (max-width: 992px) {
	.popular .catalog-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.home-seller-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-editorial-grid_compact {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.hero-prev,
	.hero-next {
		display: none;
	}

	.hero-pagination {
		bottom: 18px;
	}

	.categories {
		margin-top: -46px;
	}

	.categories__inner {
		display: block;
		max-width: 100%;
	}

	.category-card {
		min-height: 0;
	}

	.category-card + .category-card {
		margin-top: 14px;
	}

	.category-card_shortcut,
	.home-seller-card {
		width: 100%;
		max-width: none;
	}

	.home-section-subtitle {
		margin: 0 0 20px;
		text-align: left;
	}

	.popular .catalog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-seller-grid {
		grid-template-columns: 1fr;
	}

	.section-header_compact .section-title {
		font-size: 26px;
	}

	.storefront_error_stage {
		min-height: 440px;
		padding: 36px 0 52px;
	}

	.storefront_error_content {
		padding: 34px 22px;
		border-radius: 18px;
	}

	.storefront_error_title {
		font-size: 34px;
	}

	.storefront_error_actions {
		width: 100%;
	}

	.storefront_error_actions .btn {
		width: 100%;
	}
}

@media (max-width: 576px) {
	.popular .catalog-grid {
		grid-template-columns: 1fr;
	}

	.hero-slide__badge {
		margin-bottom: 14px;
	}

	.home-hero__content {
		margin-bottom: 22px;
	}
}

:focus-visible {
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.fat-footer a:focus-visible,
.fat-footer button:focus-visible,
.hero-pagination button:focus-visible {
	outline-color: #ffffff;
}

.header__search_toggle {
	gap: 8px;
	width: auto;
	padding: 0 14px;
}

.header__search_toggle_label {
	font-size: 15px;
	font-weight: 800;
}

.header__mobile-search {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--border-color);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: var(--text-main);
	font-size: 14px;
	font-weight: 800;
}

.header__mobile-search svg,
.header__mobile-search .ph {
	width: 20px;
	height: 20px;
}

.header__mobile-search .ph {
	font-size: 20px;
}

.cart-btn,
.lang-switcher__btn,
.burger-menu,
.page-link,
.scroll-top {
	min-width: 44px;
	min-height: 44px;
}

.header__nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.burger-menu {
	width: 44px;
	height: 44px;
}

.burger-menu span {
	left: 8px;
	width: 28px;
}

.burger-menu span:nth-child(1) {
	top: 12px;
}

.burger-menu span:nth-child(2) {
	top: 21px;
}

.burger-menu span:nth-child(3) {
	top: 30px;
}

.burger-menu.is-active span:nth-child(1),
.burger-menu.is-active span:nth-child(3) {
	top: 21px;
}

.page-link {
	width: 44px;
	height: 44px;
}

.hero-pagination .swiper-pagination-bullet {
	position: relative;
	width: 44px;
	height: 44px;
	background: transparent;
	opacity: 1;
}

.hero-pagination .swiper-pagination-bullet::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 15px;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.92);
	border-radius: 999px;
	background: rgba(92, 77, 67, 0.56);
}

.hero-pagination .swiper-pagination-bullet-active::before {
	background: var(--accent-color);
}

.product-card__corner-actions {
	position: static;
	order: 20;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.product-card__corner-actions .product-card__button_form,
.product-card .product-card__corner-actions .product-card__fav,
.product-card .product-card__corner-actions .product-card__compare {
	width: 100%;
}

.product-card .product-card__corner-actions .product-card__fav,
.product-card .product-card__corner-actions .product-card__compare {
	min-height: 44px;
	padding: 0 6px;
	gap: 6px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	box-shadow: none;
	color: var(--text-main);
	font-size: 13px;
	transition: color 0.2s, background-color 0.2s;
}

.product-card .product-card__corner-actions .product-card__fav:hover,
.product-card .product-card__corner-actions .product-card__compare:hover,
.product-card .product-card__corner-actions .product-card__fav.active,
.product-card .product-card__corner-actions .product-card__compare.active {
	transform: none;
	color: var(--accent-color);
	background: var(--bg-light);
}

.product-card .product-card__corner-actions .product-card__fav i,
.product-card .product-card__corner-actions .product-card__compare i {
	flex: 0 0 auto;
	font-size: 18px;
}

.product-card__action-label,
.product-card__buy-label {
	display: inline;
}

.product-card__corner-actions .product-card__action-label {
	line-height: 1.2;
	white-space: nowrap;
}

.purchase-controls .product-card__fav.in-product {
	width: 50px;
	min-width: 50px;
	height: 50px;
	padding: 0;
	gap: 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
	box-shadow: none;
}

.purchase-controls .product-card__fav.in-product:hover {
	transform: none;
	background: var(--bg-light);
}

.purchase-controls .product-card__fav.in-product i {
	flex: 0 0 auto;
	font-size: 18px;
}

.btn--buy {
	width: auto;
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	gap: 8px;
}

.drawer-item__title {
	padding-right: 54px;
}

.drawer-item__del {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--text-main);
	font-family: inherit;
	font-size: 20px;
	line-height: 1;
	opacity: 1;
	transition: color 0.2s, background-color 0.2s;
}

.drawer-item__del:hover {
	background: var(--bg-light);
}

.cart-item__delete_form {
	position: static;
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
}

.cart-item__media {
	grid-column: 1;
	grid-row: 1;
}

.cart-item__info {
	grid-column: 2;
	grid-row: 1;
}

.cart-item__del {
	position: static;
	top: auto;
	right: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--text-main);
	font-family: inherit;
	font-size: 20px;
	line-height: 1;
	opacity: 1;
	cursor: pointer;
	transition: color 0.2s, background-color 0.2s;
}

.cart-item__del:hover {
	background: var(--bg-light);
}

.footer-grid {
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 28px;
	margin-bottom: 36px;
}

.footer-links li {
	margin-bottom: 4px;
}

.footer-links a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	font-size: 15px;
}

.catalog-controls .storefront_mobile_filters_summary {
	display: none;
}

@media (max-width: 992px) {
	.purchase-controls {
		position: relative;
	}

	.purchase-controls .product-utility-form {
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.header__nav {
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}

	.header__nav-meta .header__utility-links a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.catalog-controls .storefront_mobile_filters_summary {
		display: inline-flex;
		min-height: 44px;
	}

	.catalog-sidebar {
		display: none;
		position: static;
		width: 100%;
		height: auto;
		padding: 0;
		overflow: visible;
		background: transparent;
	}

	.catalog-sidebar.is-open {
		display: block;
	}

	.mega-menu__inner {
		display: grid;
		grid-template-columns: 1fr;
	}

	.mega-menu__list {
		display: none;
	}

	.mega-menu__title {
		margin: 0;
		padding: 0;
		border: 0;
	}

	.mega-menu__title-link {
		display: flex;
		align-items: center;
		min-height: 44px;
	}
}

@media (max-width: 768px) {
	.cart-item__delete_form {
		grid-column: 2;
		grid-row: 1;
	}

	.cart-item__media {
		grid-row: 1 / span 2;
	}

	.cart-item__info {
		grid-column: 2;
		grid-row: 2;
	}
}

@media (max-width: 480px) {
	.product-card__corner-actions {
		grid-template-columns: 1fr;
	}

	.drawer-item__title {
		padding-right: 54px;
	}

	.drawer-item__del {
		position: absolute;
		margin-top: 0;
	}
}

@media (max-width: 360px) {
	.purchase-controls .product-utility-form {
		position: static;
	}

	.header__logo-image {
		width: 108px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
.home-seller-registration {
	scroll-margin-top: 96px;
	padding-top: 44px;
	padding-bottom: 44px;
}

.home-seller-registration__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	gap: 28px;
	padding: 34px;
	border: 1px solid rgba(240, 191, 211, .95);
	border-radius: 28px;
	background: linear-gradient(135deg, #fffdfb 0%, #fff0f5 52%, #ffe9df 100%);
	box-shadow: 0 24px 52px rgba(87, 42, 58, .1);
}

.home-seller-registration__copy,
.home-seller-registration__benefits {
	display: grid;
	gap: 16px;
	align-content: start;
}

.home-seller-registration__copy p,
.home-seller-registration__benefits p {
	margin: 0;
	line-height: 1.68;
}

.home-seller-registration__badge {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	padding: 7px 13px;
	border-radius: 999px;
	background: rgba(214, 59, 124, .11);
	color: var(--color_accent);
	font-size: .82rem;
	font-weight: 800;
}

.home-seller-registration__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.3rem);
	line-height: 1.02;
	color: var(--color_ink);
}

.home-seller-registration__lead {
	font-size: 1.08rem;
	color: var(--color_ink);
	font-weight: 700;
}

.home-seller-registration__closing {
	color: var(--color_ink);
	font-weight: 700;
}

.home-seller-registration__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
}

.home-seller-registration__offer-link {
	color: var(--color_ink);
	font-weight: 700;
	text-underline-offset: 4px;
}

.home-seller-registration__success {
	padding: 13px 15px;
	border: 1px solid rgba(66, 154, 106, .35);
	border-radius: 14px;
	background: rgba(225, 248, 235, .88);
	color: #255f40;
}

.home-seller-registration__benefits {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .96);
	border-radius: 22px;
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 16px 34px rgba(87, 42, 58, .06);
}

.home-seller-registration__benefits h3 {
	margin: 0;
	font-size: 1.35rem;
	color: var(--color_ink);
}

.home-seller-registration__benefits ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-seller-registration__benefits li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	line-height: 1.5;
}

.home-seller-registration__benefits li i {
	margin-top: 2px;
	color: var(--color_accent);
	font-size: 1.25rem;
}

.seller-registration-modal .modal__container {
	width: min(100%, 760px);
}

.seller-registration-modal .modal__title {
	margin: 0;
	font-family: inherit;
	font-size: 1.55rem;
	line-height: 1.2;
	color: var(--color_ink);
}

.seller-registration-modal .modal__subtitle {
	margin-top: 0;
	line-height: 1.55;
}

.seller-registration-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.seller-registration-form__wide {
	grid-column: 1 / -1;
}

.seller-registration-form__section-title {
	margin: 8px 0 0;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(87, 42, 58, .12);
	color: var(--color_ink);
	font-size: 1.05rem;
}

.seller-registration-form .storefront_field_label {
	font-size: .9rem;
	font-weight: 700;
	color: var(--color_ink);
}

.seller-registration-form .storefront_input,
.seller-registration-form .storefront_select,
.seller-registration-form .storefront_textarea {
	min-height: 46px;
	padding: 11px 12px;
}

.seller-registration-form__file {
	height: auto;
	padding: 8px;
}

.seller-registration-form__file::file-selector-button {
	margin-right: 12px;
	padding: 8px 12px;
	border: 1px solid rgba(214, 59, 124, .28);
	border-radius: 10px;
	background: rgba(214, 59, 124, .08);
	color: var(--color_ink);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.seller-registration-form__hint {
	color: var(--color_ink_soft);
	font-size: .8rem;
	line-height: 1.45;
}

.seller-registration-form__errors {
	margin-bottom: 16px;
	padding: 13px 15px;
	border: 1px solid rgba(190, 55, 72, .25);
	border-radius: 14px;
	background: rgba(255, 238, 240, .92);
	color: #7a2634;
}

.seller-registration-form__errors p {
	margin: 0 0 8px;
	font-weight: 800;
}

.seller-registration-form__errors ul {
	display: grid;
	gap: 4px;
	margin: 0;
	padding-left: 20px;
}

.seller-registration-form__submit {
	min-height: 46px;
	padding-right: 22px;
	padding-left: 22px;
}

@media (max-width: 900px) {
	.home-seller-registration__panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.home-seller-registration {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.home-seller-registration__panel {
		gap: 20px;
		padding: 22px 18px;
		border-radius: 22px;
	}

	.home-seller-registration__benefits {
		padding: 18px;
	}

	.home-seller-registration__actions .btn {
		width: 100%;
	}

	.seller-registration-form__grid {
		grid-template-columns: 1fr;
	}

	.seller-registration-form__wide {
		grid-column: auto;
	}

	.seller-registration-modal .modal__container {
		max-width: 100%;
	}

	.seller-registration-modal .modal__header {
		padding: 22px 20px 12px;
	}

	.seller-registration-modal .modal__content {
		padding: 0 20px 22px;
	}
}
.view_body_page_page .page-shell {
	min-width: 0;
}

.view_body_page_page .page-shell > .container {
	width: 100%;
	min-width: 0;
}

.view_body_page_page .breadcrumbs__current,
.view_body_page_page .typography-content {
	min-width: 0;
	overflow-wrap: anywhere;
}

.cms-export-page {
	display: grid;
	gap: 34px;
	min-width: 0;
	padding-bottom: 24px;
}

.cms-export-page__breadcrumbs {
	margin-bottom: -10px;
}

.cms-export-eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	color: var(--color_accent);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cms-export-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .9fr);
	gap: 28px;
	align-items: stretch;
	padding: clamp(26px, 5vw, 54px);
	border: 1px solid var(--color_line);
	border-radius: 30px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .96) 0%, rgba(255, 243, 236, .97) 50%, rgba(255, 240, 246, .96) 100%);
	box-shadow: 0 24px 54px rgba(69, 26, 48, .09);
}

.cms-export-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
}

.cms-export-hero h1 {
	max-width: 780px;
	margin: 12px 0 18px;
	font-size: clamp(2.45rem, 5.4vw, 4.8rem);
	line-height: .98;
	text-wrap: balance;
}

.cms-export-hero__intro {
	max-width: 720px;
	margin: 0;
	color: var(--color_ink);
	font-size: clamp(1rem, 1.6vw, 1.16rem);
	line-height: 1.72;
}

.cms-export-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}

.cms-export-actions .btn {
	gap: 8px;
}

.cms-export-hero__panel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 26px;
	border: 1px solid rgba(150, 80, 100, .2);
	border-radius: 24px;
	background: rgba(255, 255, 255, .76);
	box-shadow: 0 18px 38px rgba(69, 26, 48, .07);
}

.cms-export-hero__panel-icon,
.cms-export-module-card__icon,
.cms-export-security__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin-bottom: 20px;
	border-radius: 16px;
	background: var(--color_accent_soft);
	color: var(--color_accent);
	font-size: 1.65rem;
}

.cms-export-hero__panel strong {
	margin-top: 7px;
	color: var(--color_ink);
	font-size: 1.55rem;
	line-height: 1.2;
}

.cms-export-hero__panel p {
	margin: 10px 0 18px;
	color: var(--color_ink_soft);
	line-height: 1.55;
}

.cms-export-hero__panel ul,
.cms-export-security ul {
	display: grid;
	gap: 11px;
	margin: 0;
}

.cms-export-hero__panel li,
.cms-export-security li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	color: var(--color_ink);
	line-height: 1.45;
}

.cms-export-hero__panel li i,
.cms-export-security li i {
	margin-top: 2px;
	color: var(--color_accent);
	font-size: 1.15rem;
}

.cms-export-modules,
.cms-export-steps {
	display: grid;
	gap: 22px;
	scroll-margin-top: 22px;
}

.cms-export-section-heading {
	max-width: 760px;
}

.cms-export-section-heading h2,
.cms-export-security h2,
.cms-export-other h2 {
	margin: 7px 0 8px;
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 1.04;
	text-wrap: balance;
}

.cms-export-section-heading p,
.cms-export-security p,
.cms-export-other p {
	margin: 0;
	color: var(--color_ink_soft);
	font-size: 1rem;
	line-height: 1.65;
}

.cms-export-module-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.cms-export-module-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--color_line);
	border-radius: 24px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 18px 38px rgba(69, 26, 48, .07);
}

.cms-export-module-card__header {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
}

.cms-export-module-card__icon {
	margin: 0;
}

.cms-export-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid rgba(150, 80, 100, .18);
	border-radius: 999px;
	background: var(--color_accent_soft);
	color: var(--color_ink);
	font-size: .78rem;
	font-weight: 900;
}

.cms-export-status i {
	color: var(--color_accent);
	font-size: 1rem;
}

.cms-export-module-card h3 {
	margin: 20px 0 5px;
	color: var(--color_ink);
	font-family: var(--font-sans);
	font-size: 1.55rem;
	line-height: 1.2;
}

.cms-export-module-card__description {
	margin: 0;
	color: var(--color_ink_soft);
	line-height: 1.55;
}

.cms-export-module-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 22px 0;
	overflow: hidden;
	border: 1px solid var(--color_line);
	border-radius: 16px;
	background: var(--color_line);
}

.cms-export-module-meta > div {
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 12px 14px;
	background: var(--color_surface_soft);
}

.cms-export-module-meta__wide {
	grid-column: 1 / -1;
}

.cms-export-module-meta dt {
	color: var(--color_ink_soft);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.cms-export-module-meta dd {
	min-width: 0;
	margin: 0;
	color: var(--color_ink);
	font-size: .9rem;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.cms-export-module-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.cms-export-module-card__actions .btn {
	gap: 8px;
}

.cms-export-module-card__actions > span {
	color: var(--color_ink_soft);
	font-size: .82rem;
	font-weight: 800;
}

.cms-export-checksum {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--color_line);
}

.cms-export-checksum summary {
	display: flex;
	align-items: center;
	width: fit-content;
	min-height: 40px;
	padding: 7px 0;
	color: var(--color_accent);
	font-size: .84rem;
	font-weight: 900;
	cursor: pointer;
}

.cms-export-checksum summary:focus-visible {
	outline: 3px solid var(--color_accent);
	outline-offset: 3px;
	border-radius: 6px;
}

.cms-export-checksum span {
	display: block;
	margin-top: 12px;
	color: var(--color_ink_soft);
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.cms-export-checksum code {
	display: block;
	min-width: 0;
	margin-top: 5px;
	padding: 10px;
	border-radius: 10px;
	background: var(--color_surface_soft);
	color: var(--color_ink);
	font-size: .72rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
	word-break: break-all;
}

.cms-export-steps ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.cms-export-steps li {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 20px;
	border: 1px solid var(--color_line);
	border-radius: 20px;
	background: rgba(255, 255, 255, .76);
}

.cms-export-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--color_accent);
	color: #fff;
	font-weight: 900;
}

.cms-export-steps h3 {
	margin: 1px 0 7px;
	color: var(--color_ink);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.3;
}

.cms-export-steps p {
	margin: 0;
	color: var(--color_ink_soft);
	font-size: .9rem;
	line-height: 1.55;
}

.cms-export-security {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 28px;
	align-items: center;
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid rgba(150, 80, 100, .2);
	border-radius: 26px;
	background: linear-gradient(145deg, rgba(247, 217, 211, .55) 0%, rgba(255, 255, 255, .9) 100%);
}

.cms-export-security__icon {
	margin-bottom: 16px;
	background: rgba(255, 255, 255, .82);
}

.cms-export-security ul {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 20px;
	background: rgba(255, 255, 255, .72);
}

.cms-export-other {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid var(--color_line);
	border-radius: 24px;
	background: rgba(255, 255, 255, .8);
}

.cms-export-other .cms-export-actions {
	justify-content: flex-end;
	margin-top: 0;
}

.home-seller-registration__offer-link i {
	margin-right: 5px;
}

@media (max-width: 980px) {
	.cms-export-hero,
	.cms-export-security,
	.cms-export-other {
		grid-template-columns: 1fr;
	}

	.cms-export-hero__panel {
		max-width: none;
	}

	.cms-export-steps ol {
		grid-template-columns: 1fr;
	}

	.cms-export-other .cms-export-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 740px) {
	.cms-export-page {
		gap: 28px;
	}

	.cms-export-hero {
		gap: 22px;
		padding: 24px 18px;
		border-radius: 24px;
	}

	.cms-export-hero h1 {
		font-size: clamp(2.2rem, 11vw, 3.05rem);
		line-height: 1.02;
	}

	.cms-export-module-grid {
		grid-template-columns: 1fr;
	}

	.cms-export-security,
	.cms-export-other {
		padding: 22px 18px;
		border-radius: 22px;
	}
}

@media (max-width: 560px) {
	.cms-export-actions,
	.cms-export-module-card__actions {
		align-items: stretch;
		width: 100%;
		flex-direction: column;
	}

	.cms-export-actions .btn,
	.cms-export-module-card__actions .btn {
		width: 100%;
	}

	.cms-export-module-meta {
		grid-template-columns: 1fr;
	}

	.cms-export-module-meta__wide {
		grid-column: auto;
	}

	.cms-export-steps li {
		grid-template-columns: 38px minmax(0, 1fr);
		padding: 18px;
	}

	.cms-export-step-number {
		width: 38px;
		height: 38px;
	}
}
