﻿@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap');

:root {
    --accent: #6d3df3;
    --accent-strong: #5b2cf1;
    --accent-soft: #efe9ff;
    --ink: #14131a;
    --muted: #6f6b79;
    --bg: #f4f5fb;
    --card: #ffffff;
    --border: rgba(17, 24, 39, 0.08);
    --shadow: 0 12px 30px rgba(20, 19, 26, 0.08);
    --theme-transition: 0.5s;
    --theme-ease: ease;
    --scroll-track: rgba(109, 61, 243, 0.10);
    --scroll-thumb: rgba(109, 61, 243, 0.60);
    --scroll-thumb-hover: rgba(109, 61, 243, 0.80);
}


[data-theme='dark'] {
    --accent: #8b6dff;
    --accent-strong: #6f4bff;
    --accent-soft: rgba(139, 109, 255, 0.16);
    --ink: #f5f2ff;
    --muted: #b8b3c6;
    --bg: #12101a;
    --card: #1b1824;
    --border: rgba(255, 255, 255, 0.08);
    --shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
    --scroll-track: rgba(139, 109, 255, 0.14);
    --scroll-thumb: rgba(139, 109, 255, 0.70);
    --scroll-thumb-hover: rgba(139, 109, 255, 0.90);
}

[data-theme='dark'] .bg-white,
[data-theme='dark'] .card,
[data-theme='dark'] .product-section,
[data-theme='dark'] .product-about,
[data-theme='dark'] .product-about-tech,
[data-theme='dark'] .product-price,
[data-theme='dark'] .product-aviable,
[data-theme='dark'] .cart-content {
    background: var(--card) !important;
    color: var(--ink);
}

[data-theme='dark'] .text-body-secondary,
[data-theme='dark'] .text-black-50,
[data-theme='dark'] .text-muted {
    color: var(--muted) !important;
}

[data-theme='dark'] .text-black,
[data-theme='dark'] .text-dark {
    color: var(--ink) !important;
}

[data-theme='dark'] .btn-outline-dark {
    color: var(--ink);
    border-color: var(--border);
}

[data-theme='dark'] .btn-outline-dark:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #ffffff;
}

[data-theme='dark'] .modal-content {
    background: #1b1824;
    color: var(--ink);
    border: 1px solid var(--border);
}

[data-theme='dark'] .modal-header,
[data-theme='dark'] .modal-body {
    border-color: var(--border);
}

[data-theme='dark'] .form-select {
    background-color: #1f1b2a;
    color: var(--ink);
    border-color: var(--border);
}

[data-theme='dark'] .form-select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 0.2rem rgba(139, 109, 255, 0.2);
}

html, body {
    background: var(--bg) !important;
    transition: background-color var(--theme-transition) var(--theme-ease),
        background var(--theme-transition) var(--theme-ease),
        color var(--theme-transition) var(--theme-ease),
        border-color var(--theme-transition) var(--theme-ease);
}

html {
    scrollbar-width: thin;
    scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

*::-webkit-scrollbar {
    width: 8px !important;
    height: 1px !important;
}

*::-webkit-scrollbar-track {
    background: var(--scroll-track);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--scroll-thumb-hover);
    background-clip: padding-box;
}

.site-header,
.site-main,
.site-footer{
    transition: background-color var(--theme-transition) var(--theme-ease),
        color var(--theme-transition) var(--theme-ease),
        border-color var(--theme-transition) var(--theme-ease);
}


body {
    overflow-x: hidden;
    font-family: 'Manrope', sans-serif;
    color: var(--ink);
}

.site-main {
    background: var(--bg);
}

a {
    color: var(--accent);
    text-decoration: none;
}

.site-shell {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}

.site-header {
    padding: 16px 0 12px;
    position: relative;
}

.header-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: var(--muted);
}

.header-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.header-top__right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.city-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--card);
    color: var(--ink);
    font-size: 13px;
    font-weight: 700;
    padding: 6px 12px;
}

.top-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.top-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-weight: 600;
}

.top-link:hover {
    color: var(--accent);
}

.top-phone {
    color: var(--ink);
    font-weight: 700;
}

.phone-pill {
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--ink);
    border-radius: 999px;
    padding: 8px 14px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
}

.phone-pill:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.city-pill.is-skeleton,
.phone-pill.is-skeleton {
    cursor: default;
    opacity: 1;
}

.header-inline-skeleton {
    position: relative;
    display: inline-block;
    height: 14px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
}

.header-inline-skeleton--city {
    width: 72px;
}

.header-inline-skeleton--phone {
    width: 120px;
}

.header-inline-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    animation: skeleton-shimmer 1.1s ease-in-out infinite;
}

.theme-dropdown {
    position: relative;
}

.theme-trigger {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.theme-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: -3px;
    display: grid;
    gap: 6px;
    padding: 6px;
    background: #1b1f2a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    z-index: 60;
}

.theme-menu.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.theme-menu button {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: #a5adba;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.theme-menu button:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #e7e9ee;
}

.header-main {
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    margin-top: 14px;
    min-height: 70px;
    transition: grid-template-columns 0.32s cubic-bezier(.2,.8,.2,1), gap 0.32s cubic-bezier(.2,.8,.2,1);
}

.logo-block {
    display: flex;
    align-items: center;
    gap: 14px;
}

.catalog-anchor {
    position: static;
    display: inline-flex;
    z-index: 62;
}

.logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    margin-right: 0;
}

.logo-img{
    height: 50px !important;
    width: auto;
    image-rendering: -webkit-optimize-contrast;
    object-fit: contain;
    max-height: none;
    max-width: none;
    display: block;
}

.search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 6px 8px 6px 14px;
    box-shadow: var(--shadow);
    min-width: 0;
    margin-left: 0;
    width: 100%;
    max-width: 100%;
    transition: width 0.32s cubic-bezier(.2,.8,.2,1), max-width 0.32s cubic-bezier(.2,.8,.2,1), transform 0.32s cubic-bezier(.2,.8,.2,1), padding 0.32s cubic-bezier(.2,.8,.2,1);
    transform-origin: right center;
}

.search-bar.is-cart-shifting {
    animation: searchBarCartShift 0.7s cubic-bezier(.2,.8,.2,1);
}

.catalog-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--card);
    border: 1px solid var(--border);
    color: var(--ink);
    border-radius: 12px;
    padding: 10px 14px;
    font-weight: 700;
    font-size: 13px;
    box-shadow: var(--shadow);
    white-space: nowrap;
    position: relative;
    z-index: 63;
}

.catalog-btn:hover {
    color: var(--accent);
    border-color: var(--accent);
}

.catalog-btn.is-open {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.catalog-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 10, 30, 0.35);
    z-index: 60;
}

.catalog-panel {
    position: absolute;
    left: 50%;
    right: auto;
    top: calc(100% + 8px);
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    width: min(1220px, calc(100vw - 32px));
    max-width: min(1220px, calc(100vw - 32px));
    padding: 24px;
    background: var(--card);
    border-radius: 18px;
    box-shadow: var(--shadow);
    z-index: 61;
    opacity: 0;
    transform: translate(-50%, -6px);
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.catalog-panel.is-open {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.catalog-panel__col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.catalog-panel__aside {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-right: 16px;
    border-right: 1px solid var(--border);
}

.catalog-panel__category {
    text-align: left;
    padding: 10px 12px;
    border-radius: 10px;
    background: transparent;
    border: none;
    color: var(--ink);
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.catalog-panel__category:hover,
.catalog-panel__category.is-active {
    background: var(--accent-soft);
    color: var(--accent);
}

.catalog-panel__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 8px;
    background: rgba(109, 61, 243, 0.12);
    color: var(--accent);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.5px;
    overflow: hidden;
}

.catalog-panel__icon-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

.catalog-panel__icon svg {
    width: 18px;
    height: 18px;
}

.catalog-panel__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    min-width: 0;
    width: 100%;
}

.catalog-panel__content.is-split {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    min-width: 0;
    width: 100%;
}

.catalog-panel__group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.catalog-panel__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
    align-items: start;
}

.catalog-panel__title {
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 6px;
}

@media (max-width: 1280px) {
    .catalog-panel__content.is-split {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
        min-width: 0;
    }
}

@media (max-width: 1100px) {
    .catalog-panel {
        gap: 16px;
        padding: 18px;
        width: min(980px, calc(100vw - 28px));
        max-height: min(78vh, 640px);
        overflow-y: auto;
    }

    .catalog-panel__aside {
        padding-right: 12px;
    }
}

.catalog-panel__link {
    display: block;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.catalog-panel__link:hover {
    color: var(--accent);
}

.search-input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    flex: 1;
    color: var(--ink);
    min-width: 0;
    transition: width 0.32s cubic-bezier(.2,.8,.2,1), opacity 0.2s ease;
}

.search-bar.is-cart-shifting .search-input {
    animation: searchInputCartShift 0.7s cubic-bezier(.2,.8,.2,1);
}

[data-theme='dark'] .search-input,
[data-theme='dark'] .search-bar input {
    color: #f5f2ff !important;
    -webkit-text-fill-color: #f5f2ff !important;
}

[data-theme='dark'] .search-input::placeholder,
[data-theme='dark'] .search-bar input::placeholder {
    color: rgba(245, 242, 255, 0.55) !important;
    -webkit-text-fill-color: rgba(245, 242, 255, 0.55) !important;
}

.search-input::placeholder {
    color: rgba(20, 19, 26, 0.4);
}

.search-btn {
    border: none;
    border-radius: 12px;
    padding: 10px 12px;
    background: var(--accent);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.search-btn:hover {
    background: var(--accent-strong);
}

.header-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    transition: width 0.32s cubic-bezier(.2,.8,.2,1), transform 0.32s cubic-bezier(.2,.8,.2,1);
}

.btn-accent {
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #ffffff;
    font-weight: 700;
    border-radius: 12px;
    padding: 10px 16px;
}

.btn-accent:hover {
    background: var(--accent-strong);
    border-color: var(--accent-strong);
    color: #ffffff;
}

.btn-cart-success {
    background: #1fa15f;
    border: 1px solid #1fa15f;
    color: #ffffff;
    font-weight: 700;
    border-radius: 12px;
    padding: 10px 16px;
    box-shadow: 0 10px 24px rgba(31, 161, 95, 0.22);
}

.btn-cart-success:hover {
    background: #18864f;
    border-color: #18864f;
    color: #ffffff;
}

.btn-cart-animated {
    position: relative;
    overflow: hidden;
    will-change: transform, opacity, background-color, border-color;
}

.btn-cart-animated__stack {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 112px;
    min-height: 20px;
}

.btn-cart-animated__face {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    transition: opacity 0.26s cubic-bezier(.2,.8,.2,1), transform 0.26s cubic-bezier(.2,.8,.2,1);
    transform-origin: 50% 50%;
    position: absolute;
    inset: 0;
}

.btn-cart-animated__face svg {
    flex: 0 0 auto;
}

.btn-cart-animated__face--idle,
.btn-cart-animated__face--adding,
.btn-cart-animated__face--added {
    opacity: 0;
    transform: translateY(8px) scale(0.96);
    pointer-events: none;
}

.btn-cart-animated__stack.is-idle .btn-cart-animated__face--idle,
.btn-cart-animated__stack.is-adding .btn-cart-animated__face--adding,
.btn-cart-animated__stack.is-added .btn-cart-animated__face--added {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.btn-ghost {
    background: var(--card);
    border: 1px solid var(--border);
    color: var(--ink);
    font-weight: 700;
    border-radius: 12px;
    padding: 10px 16px;
}

.btn-ghost:hover {
    color: var(--accent);
    border-color: var(--accent);
}

.btn-accent,
.btn-cart-success,
.btn-ghost,
.mm-button,
.shop-map-btn,
.btn.btn-outline-secondary {
    border-radius: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-accent:hover,
.btn-cart-success:hover,
.btn-ghost:hover,
.mm-button:hover,
.shop-map-btn:hover,
.btn.btn-outline-secondary:hover {
    transform: translateY(-1px);
}

.btn.btn-outline-secondary {
    border-color: var(--border);
    color: var(--ink);
    background: var(--card);
}

.btn.btn-outline-secondary:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, var(--card) 90%);
}

.order-form-card {
    border: 1px solid var(--border);
    margin: 0 auto;
}

.order-input-shell {
    position: relative;
}

.order-input-shell__lead {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    z-index: 2;
}

.order-input-shell__lead--flag {
    width: 24px;
}

.order-input-shell__trail {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    z-index: 2;
    pointer-events: none;
}

.order-flag-ru {
    width: 20px;
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(
        to bottom,
        #ffffff 0,
        #ffffff 33.3333%,
        #1f63ff 33.3333%,
        #1f63ff 66.6666%,
        #e23a3a 66.6666%,
        #e23a3a 100%
    );
    box-shadow:
        inset 0 0 0 1px rgba(17, 24, 39, 0.08),
        0 2px 6px rgba(20, 19, 26, 0.08);
    overflow: hidden;
}

.order-input-shell__field {
    min-height: 48px;
    padding-left: 48px;
    border-radius: 14px;
    border-color: var(--border);
    background: color-mix(in srgb, var(--card) 92%, var(--bg) 8%);
    color: var(--ink);
}

.order-input-shell__field:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--accent) 18%, transparent);
}

.order-input-shell__select {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 44px;
}

.checkout-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    pointer-events: none;
}

.checkout-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 10, 18, 0.58);
    backdrop-filter: blur(7px);
    opacity: 0;
    transition: opacity 0.26s ease;
}

.checkout-modal__dialog {
    position: relative;
    width: min(1040px, calc(100vw - 32px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    background: color-mix(in srgb, var(--card) 96%, var(--bg) 4%);
    border: 1px solid var(--border);
    border-radius: 26px;
    box-shadow: 0 28px 70px rgba(10, 8, 18, 0.24);
    color: var(--ink);
    opacity: 0;
    transform: translateY(24px) scale(0.97);
    transition: opacity 0.26s cubic-bezier(.2,.8,.2,1), transform 0.26s cubic-bezier(.2,.8,.2,1);
}

.checkout-modal.is-open,
.checkout-modal.is-closing {
    pointer-events: auto;
}

.checkout-modal.is-open .checkout-modal__backdrop {
    opacity: 1;
}

.checkout-modal.is-open .checkout-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.checkout-modal.is-closing .checkout-modal__backdrop {
    opacity: 0;
}

.checkout-modal.is-closing .checkout-modal__dialog {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
}

.checkout-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--card);
    color: var(--muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.checkout-modal__close:hover {
    color: var(--accent);
    border-color: var(--accent);
}

.checkout-modal__content {
    display: grid;
    grid-template-columns: minmax(280px, 0.92fr) minmax(360px, 1fr);
}

.checkout-modal__summary {
    padding: 34px 28px 28px;
    background:
        radial-gradient(circle at top left, rgba(109, 61, 243, 0.16), transparent 48%),
        linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--card) 92%), var(--card));
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
}

.checkout-modal__title {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.05;
    color: var(--ink);
}

.checkout-modal__text {
    color: var(--muted);
    margin: 0 0 20px;
}

.checkout-modal__items {
    display: grid;
    gap: 12px;
    margin-bottom: 20px;
}

.checkout-modal__item {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border-radius: 18px;
    background: color-mix(in srgb, var(--card) 84%, var(--bg) 16%);
    border: 1px solid var(--border);
}

.checkout-modal__item-image {
    width: 70px;
    height: 70px;
    object-fit: contain;
    border-radius: 14px;
    background: color-mix(in srgb, var(--card) 92%, var(--bg) 8%);
    padding: 6px;
}

.checkout-modal__item-body {
    min-width: 0;
}

.checkout-modal__item-name {
    display: block;
    font-weight: 700;
    line-height: 1.2;
    color: var(--ink);
}

.checkout-modal__item-meta {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}

.checkout-modal__item-price {
    font-weight: 800;
    white-space: nowrap;
    color: var(--ink);
}

.checkout-modal__total {
    font-size: 24px;
    font-weight: 800;
}

.checkout-modal__form {
    padding: 28px;
}

.checkout-modal__form .order-form-card {
    margin: 0;
    box-shadow: none !important;
    background: transparent !important;
    border: none;
    padding: 0 !important;
}

[data-theme='dark'] .checkout-modal__backdrop {
    background: rgba(5, 4, 10, 0.72);
}

[data-theme='dark'] .checkout-modal__dialog {
    background:
        radial-gradient(circle at top right, rgba(139, 109, 255, 0.08), transparent 34%),
        color-mix(in srgb, var(--card) 96%, var(--bg) 4%);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.52);
}

[data-theme='dark'] .checkout-modal__summary {
    background:
        radial-gradient(circle at top left, rgba(139, 109, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)),
        color-mix(in srgb, var(--card) 92%, var(--bg) 8%);
}

[data-theme='dark'] .checkout-modal__item {
    background: color-mix(in srgb, var(--card) 90%, #0f0d16 10%);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme='dark'] .checkout-modal__item-image {
    background: color-mix(in srgb, var(--card) 86%, #0b0911 14%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

[data-theme='dark'] .checkout-modal__item-meta,
[data-theme='dark'] .checkout-modal__text,
[data-theme='dark'] .order-input-shell__lead,
[data-theme='dark'] .order-input-shell__trail {
    color: var(--muted);
}

[data-theme='dark'] .checkout-modal__close {
    background: color-mix(in srgb, var(--card) 94%, var(--bg) 6%);
    color: var(--ink);
}

[data-theme='dark'] .order-input-shell__field {
    background: color-mix(in srgb, var(--card) 86%, var(--bg) 14%);
    color: var(--ink);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme='dark'] .order-input-shell__field::placeholder {
    color: rgba(245, 242, 255, 0.45);
}

@media (max-width: 900px) {
    .checkout-modal {
        padding: 12px;
        align-items: center;
    }

    .checkout-modal__dialog {
        width: min(100vw - 12px, 100%);
        max-height: calc(100vh - 12px);
        border-radius: 24px 24px 0 0;
    }

    .checkout-modal__content {
        grid-template-columns: 1fr;
    }

    .checkout-modal__summary {
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding: 26px 20px 18px;
    }

    .checkout-modal__item {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .checkout-modal__item-image {
        width: 58px;
        height: 58px;
    }

    .checkout-modal__item-price {
        grid-column: 2;
    }

    .checkout-modal__form {
        padding: 20px;
    }
}

.cart-button {
    position: relative;
    overflow: visible;
}

.cart-button__inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cart-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform-origin: 50% 60%;
}

.cart-button__label {
    white-space: nowrap;
}

.cart-button__delta {
    position: absolute;
    top: -14px;
    right: -10px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(20, 19, 26, 0.16);
    opacity: 0;
    transform: translateY(6px) scale(0.85);
    pointer-events: none;
}

.cart-button.is-bumping {
    animation: cartButtonBump 0.7s cubic-bezier(.2,.8,.2,1);
}

.cart-button.is-bumping .cart-button__icon {
    animation: cartIconWobble 0.7s cubic-bezier(.2,.8,.2,1);
}

.cart-button__delta.is-visible {
    animation: cartDeltaPop 1s cubic-bezier(.2,.8,.2,1);
}

@keyframes cartButtonBump {
    0% {
        transform: translateX(0) scale(1);
        box-shadow: none;
    }
    28% {
        transform: translateX(-4px) scale(1.03);
        box-shadow: 0 12px 26px rgba(109, 61, 243, 0.24);
    }
    100% {
        transform: translateX(0) scale(1);
        box-shadow: none;
    }
}

@keyframes cartIconWobble {
    0% {
        transform: translateX(0) rotate(0deg);
    }
    26% {
        transform: translateX(2px) rotate(-16deg);
    }
    52% {
        transform: translateX(-1px) rotate(10deg);
    }
    100% {
        transform: translateX(0) rotate(0deg);
    }
}

@keyframes cartDeltaPop {
    0% {
        opacity: 0;
        transform: translateY(6px) scale(0.85);
    }
    20% {
        opacity: 1;
        transform: translateY(-2px) scale(1);
    }
    76% {
        opacity: 1;
        transform: translateY(-10px) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-18px) scale(0.92);
    }
}

@keyframes searchBarCartShift {
    0% {
        transform: translateX(0) scaleX(1);
    }
    28% {
        transform: translateX(-4px) scaleX(0.976);
    }
    100% {
        transform: translateX(0) scaleX(1);
    }
}

@keyframes searchInputCartShift {
    0% {
        opacity: 1;
    }
    28% {
        opacity: 0.94;
    }
    100% {
        opacity: 1;
    }
}

.category-nav {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    padding-bottom: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.category-nav::-webkit-scrollbar {
    display: none;
}

.category-nav::-webkit-scrollbar-track {
    background: transparent;
}

.category-nav::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb);
    border-radius: 999px;
}

.category-pill {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
}

.category-pill:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.category-pill--accent {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.category-pill--accent:hover {
    background: var(--accent-strong);
    border-color: var(--accent-strong);
    color: #ffffff;
}

.site-main {
    min-height: 80vh;
    padding-bottom: 40px;
}

.page-container {
    width: 100%;
    transition: opacity 0.12s ease;
}

@keyframes page-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.page-preloader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    background: rgba(10, 10, 18, 0.36);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}

.page-preloader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.page-preloader__box {
    min-width: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: var(--card);
    box-shadow: var(--shadow);
}

.page-preloader__spinner {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 3px solid rgba(109, 61, 243, 0.22);
    border-top-color: var(--accent);
    animation: spin-loader 0.9s linear infinite;
}

.page-preloader__text {
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
}

.page-container.is-hidden-for-preload {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    height: 0;
    min-height: 0 !important;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
}

.page-skeleton {
    padding: 8px 0 40px;
    display: grid;
    gap: 16px;
    animation: page-enter 0.22s ease both;
}

.page-skeleton--home {
    gap: 18px;
}

.page-skeleton__home-categories {
    margin-top: 0;
}

.page-skeleton__home-category {
    min-height: 220px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%) !important;
    box-shadow: var(--shadow);
}

.page-skeleton__home-section {
    margin-top: 0;
}

.page-skeleton__title--section {
    width: 210px;
    height: 28px;
    border-radius: 12px;
}

.page-skeleton__carousel-row .carousel-viewport {
    padding: 0 44px;
}

.page-skeleton__carousel-btn {
    color: transparent !important;
    pointer-events: none;
}

.page-skeleton__carousel-btn::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--card) 75%, var(--bg) 25%);
}

.page-skeleton__carousel-track {
    overflow: hidden;
}

.page-skeleton__product-card {
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.page-skeleton__surface {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
}

.page-skeleton__surface--image {
    min-height: 190px;
}

.page-skeleton__surface--badge {
    width: 55%;
    height: 22px;
    border-radius: 999px;
}

.page-skeleton__surface--line {
    width: 100%;
    height: 18px;
    border-radius: 8px;
}

.page-skeleton__surface--line-short {
    width: 74%;
}

.page-skeleton__surface--price {
    width: 86px;
    height: 24px;
    border-radius: 8px;
}

.page-skeleton__surface--button {
    width: 110px;
    height: 38px;
    border-radius: 10px;
}

.page-skeleton__hero,
.page-skeleton__card,
.page-skeleton__line {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
}

.page-skeleton__hero {
    height: 150px;
}

.page-skeleton__row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-skeleton__card {
    height: 120px;
}

.page-skeleton__card--wide {
    height: 180px;
}

.page-skeleton__line {
    height: 18px;
    border-radius: 999px;
}

.page-skeleton__line--short {
    width: 48%;
}

.page-skeleton__categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.page-skeleton__category {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
    height: 188px;
}

.page-skeleton__section {
    display: grid;
    gap: 12px;
}

.page-skeleton__title {
    position: relative;
    overflow: hidden;
    width: 190px;
    height: 20px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
}

.page-skeleton__carousel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.page-skeleton__product {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
    height: 278px;
}

.page-skeleton__banner {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--card) 88%, var(--bg) 12%);
    height: 190px;
}

.page-skeleton__hero::after,
.page-skeleton__card::after,
.page-skeleton__line::after,
.page-skeleton__home-category::after,
.page-skeleton__category::after,
.page-skeleton__title::after,
.page-skeleton__product::after,
.page-skeleton__banner::after,
.page-skeleton__surface::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    animation: skeleton-shimmer 1.1s ease-in-out infinite;
}

.reveal-on-scroll {
    opacity: 1;
    transform: none;
}

.reveal-on-scroll.reveal-pending {
    opacity: 0;
    transform: translateY(20px) scale(0.99);
    transition:
            opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
            transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.reveal-on-scroll.reveal-prestart {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    transition: none !important;
}

.page-container.reveal-preparing .reveal-on-scroll {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.reveal-on-scroll.reveal-enter {
    animation: reveal-enter-soft 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes reveal-enter-soft {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.99);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes spin-loader {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-on-scroll {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .page-preloader__spinner {
        animation: none !important;
    }
}

@media (max-width: 991px) {
    .page-skeleton__categories,
    .page-skeleton__carousel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-skeleton__carousel-row .carousel-viewport {
        padding: 0 26px;
    }
}

@media (max-width: 575px) {
    .page-skeleton__categories,
    .page-skeleton__carousel {
        grid-template-columns: 1fr;
    }

    .page-skeleton__surface--button {
        width: 96px;
    }
}

.home-page {
    padding: 10px 0 40px;
}

.home-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 10px;
}

.category-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-radius: 18px;
    min-height: 220px;
    color: #ffffff;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.category-card--ps {
    background: linear-gradient(135deg, #6d3df3 0%, #b63dff 100%);
}

.category-card--xbox {
    background: linear-gradient(135deg, #3a2c7a 0%, #6d3df3 100%);
}

.category-card--nintendo {
    background: linear-gradient(135deg, #5b2ef5 0%, #a83bff 100%);
}

.category-card--other {
    background: linear-gradient(135deg, #3b2b6b 0%, #7c52ff 100%);
}

.category-card__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 1;
    padding-right: 110px;
}

.category-card__title {
    font-size: 20px;
    font-weight: 800;
    margin: 0;
}

.category-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.category-tag {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.category-tag:hover {
    background: #ffffff;
    color: var(--accent);
}

.category-card__image {
    position: absolute;
    right: -20px;
    bottom: 0;
    width: 150px;
    height: 150px;
    object-fit: contain;
    opacity: 0.9;
}

.home-section {
    margin-top: 40px;
}

.search-page {
    padding: 10px 0 40px;
}

.search-section__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.search-section__query {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
}

.search-sort {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.search-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
}

.search-pagination__status {
    min-width: 68px;
    text-align: center;
    color: var(--muted);
    font-weight: 700;
}

.search-empty {
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--card);
    color: var(--muted);
    text-align: center;
    font-weight: 700;
    box-shadow: var(--shadow);
}

.section-title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 16px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.carousel-row {
    position: relative;
}

.carousel-viewport {
    overflow: hidden;
    padding: 0 44px;
}

.carousel-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 4px 2px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

@keyframes skeleton-shimmer {
    100% {
        transform: translateX(100%);
    }
}

.carousel-track::-webkit-scrollbar {
    display: none;
}

.carousel-track::-webkit-scrollbar-track {
    background: transparent;
}

.carousel-track::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb);
    border-radius: 999px;
}

.carousel-card {
    scroll-snap-align: start;
    flex: 0 0 calc((100% - 54px) / 4);
    max-width: calc((100% - 54px) / 4);
    width: calc((100% - 54px) / 4);
    display: flex;
}

.carousel-btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow);
    z-index: 2;
}

.carousel-btn--prev {
    left: 6px;
}

.carousel-btn--next {
    right: 6px;
}

@media (max-width: 1200px) {
    .carousel-track {
        gap: 18px;
    }

    .carousel-card {
        flex: 0 0 calc((100% - 18px) / 2);
        max-width: calc((100% - 18px) / 2);
        width: calc((100% - 18px) / 2);
    }
}

@media (max-width: 640px) {
    .search-section__head {
        flex-direction: column;
        align-items: stretch;
    }

    .search-sort {
        justify-content: flex-start;
    }

    .search-pagination {
        flex-wrap: wrap;
    }

    .carousel-card {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .carousel-btn--prev {
        left: -6px;
    }

    .carousel-btn--next {
        right: -6px;
    }
}

.product-card {
    background: var(--card);
    border-radius: 18px;
    border: 1px solid var(--border);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: var(--shadow);
    min-height: 360px;
    height: 100%;
    width: 100%;
    transition: background-color var(--theme-transition) var(--theme-ease);
}

.product-card__image-wrap {
    background: rgba(0, 0, 0, 0.04);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 190px;
}

.product-card__image {
    width: 100%;
    max-width: 200px;
    height: 160px;
    object-fit: contain;
}

.product-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card__meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 88px;
}

.product-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #10b981;
    background: rgba(16, 185, 129, 0.12);
    padding: 4px 8px;
    border-radius: 999px;
    width: fit-content;
}

.product-card__badge--unavailable {
    color: #d97706;
    background: rgba(245, 158, 11, 0.16);
}

.product-card__badge--out {
    color: #94a3b8;
    background: rgba(148, 163, 184, 0.18);
}

.product-card__title {
    color: var(--ink);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.product-card__title:hover {
    color: var(--accent);
}

.product-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
}

.product-card__price {
    font-size: 18px;
    font-weight: 800;
}

.rent-price-wrap {
    overflow: hidden;
    transition: height 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-product-card {
    border-radius: 12px;
}

.catalog-product-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.catalog-product-card__image {
    height: 210px;
    object-fit: contain;
}

.catalog-product-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.catalog-product-card__availability {
    line-height: 1.35;
    min-height: 36px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.catalog-product-card__title {
    line-height: 1.35;
    min-height: 3.2em;
    margin-bottom: auto;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.catalog-product-card__price {
    margin-top: 4px;
}

.service-banner {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    gap: 16px;
    padding: 22px 0;
    border-radius: 22px;
    background: linear-gradient(120deg, #6d3df3 0%, #b63dff 100%);
    color: #ffffff;
    box-shadow: var(--shadow);
}

.service-banner__media img {
    width: 100%;
    max-width: 260px;
    object-fit: contain;
    margin-left: 0;
    display: block;
}

.service-banner__media--right img {
    margin-top: -18px;
    margin-left: 0;
    margin-right: 0;
}

.service-banner__media {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}

.service-banner__media--right {
    justify-content: flex-end;
}

.service-banner__content {
    text-align: center;
    padding: 0 20px;
}

.service-banner__title {
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 8px;
}

.service-banner__text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 16px;
}

.service-banner .btn-ghost {
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.7);
    color: #4f2fcf;
}

.service-banner .btn-ghost:hover {
    background: #f5f2ff;
    border-color: #ffffff;
    color: #3f24b0;
}

.site-footer {
    margin-top: 60px;
    padding: 40px 0 20px;
    background: var(--card);
    border-radius: 24px;
    box-shadow: var(--shadow);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 0 40px 24px;
}

.footer-title {
    display: block;
    font-weight: 700;
    margin-bottom: 10px;
}

.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: var(--muted);
}

.footer-list a {
    color: var(--muted);
}

.footer-list a:hover {
    color: var(--accent);
}

.footer-phone-link {
    color: var(--accent) !important;
}

.footer-phone-link:hover {
    color: var(--muted) !important;
}

.footer-bottom {
    display: grid;
    grid-template-columns: minmax(140px, 200px) minmax(280px, 1fr) minmax(120px, 180px);
    gap: 20px;
    align-items: center;
    border-top: 1px solid var(--border);
    padding: 20px 40px 0;
    color: var(--muted);
    font-size: 16px;
}

.footer-bottom small {
    display: block;
    justify-self: center;
    transform: translateX(0);
    text-align: center;
    max-width: 100%;
    white-space: normal;
    line-height: 1.4;
    padding: 0 24px;
}

@media (max-width: 1365px) {
    .footer-bottom {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .footer-socials {
        justify-content: center;
    }
}

.footer-socials {
    list-style: none;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
}

.footer-socials i,
.footer-socials svg {
    color: var(--accent);
    fill: var(--accent);
    font-size: 20px;
}

.footer-vk {
    width: 22px;
    height: 22px;
}

.cart-badge {
    background: #ffffff;
    color: var(--accent);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
    margin-left: 6px;
}

@media (max-width: 1200px) {
    .header-main {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 12px;
    }

    .logo-block {
        min-width: max-content;
        gap: 10px;
    }

    .header-actions {
        min-width: max-content;
    }

    .catalog-btn {
        padding: 9px 12px;
        font-size: 12px;
    }

    .home-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .header-top {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 10px;
    }

    .header-main {
        grid-template-columns: 1fr;
    }

    .logo-block {
        justify-content: center;
        width: 100%;
    }

    .header-actions {
        justify-content: center;
    }

    .search-bar {
        margin-left: 0;
    }

    .logo-link {
        margin-right: 0;
    }

    .service-banner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .service-banner__media {
        display: none;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .catalog-panel {
        grid-template-columns: 1fr;
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        transform: translate(-50%, -6px);
        max-height: min(72vh, 560px);
        overflow-y: auto;
    }

    .catalog-panel__content.is-split {
        grid-template-columns: 1fr;
        min-width: 280px;
    }

    .catalog-panel__aside {
        align-items: center;
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding-bottom: 10px;
        margin-bottom: 2px;
    }

    .catalog-panel__category {
        width: min(360px, 100%);
    }
}

@media (max-width: 640px) {
    .home-categories {
        grid-template-columns: 1fr;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .catalog-panel {
        grid-template-columns: 1fr;
        padding: 14px;
        gap: 12px;
    }
}

.footer-socials{
    list-style: none;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
}

.footer-socials i{
    font-size: 20px;
    color: var(--accent);
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.footer-socials svg{
    color: var(--accent);
    fill: var(--accent);
    display: inline-block;
    vertical-align: middle;
}

.footer-vk{
    width: 22px;
    height: 22px;
}


.mainmenu{
    transition: all 0.3s ease-in-out;
    font-family: 'PT Sans', sans-serif;
    background:  linear-gradient(224.07deg, #5E51F3 1.23%, #9A35FF 100%);
    border-radius:12px;

}
.mainmenu:hover{
    transform: scale(1.03);
    z-index: 1;
}
.head-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 50px;
    color: #F7F7FB;
}
.mainmenu-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 31px;
    color: #F7F7FB;
}

.mainmenu-badge{
    transition: 0.5s;
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 10px 5px;
    margin: 3px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    color: #F7F7FB;
}
.status-badge{
    transition: 0.5s;
    background: #F7F7FB;
    padding: 5px 10px 5px;
    margin: 3px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    color: white;
 }
.mainmenu-badge-service{
    transition: 0.5s;
    background: rgba(255, 255, 255, 1);
    padding: 5px 10px 5px;
    margin: 3px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    color: rgba(0, 0, 0, 0.5);
}
.mainmenu-badge:hover{
    transition: 0.5s;
    background: rgba(255, 255, 255, 1);
    padding: 5px 10px 5px;
    margin: 3px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    color: rgba(0, 0, 0, 0.8);
}
.mainmenu-badge-service:hover{
    transition: 0.5s;
    background: rgba(255, 255, 255, 1);
    padding: 5px 10px 5px;
    margin: 3px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    color: rgba(0, 0, 0, 0.8);
}

.topbar{
    transition: 0.5s;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    color: rgba(0, 0, 0, 0.8);
}
.topbar:hover{
    transition: 0.5s;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    color: #5E51F3;
}

.topbar.city-link{
    color: #5E51F3;
}

.topbar.city-link:hover{
    color: rgba(0, 0, 0, 0.8);
}

.city-link{
    white-space: nowrap;
}

.city-link svg{
    display: inline-block;
    vertical-align: middle;
}

.mm-button{
    height: 50px;
    background: var(--accent) !important;
    border: 1px solid var(--accent) !important;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: #fff !important;
    padding: 0 18px;
    box-shadow: 0 8px 18px rgba(109, 61, 243, 0.18);
}

.mm-button:hover{
    background: var(--accent-strong) !important;
    color: #fff !important;
    border: 1px solid var(--accent-strong) !important;
    box-shadow: 0 10px 22px rgba(109, 61, 243, 0.26);
}

.search{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.5);
    background: #EDEDED;
    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
    border:0px
}
.search:hover{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.5);
    background: #EDEDED;
    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
    border:0px;
}
.search-group:hover{
    transition: 0.3s;
    border-radius: 10px;
}
.search-group{
    transition: 0.3s;
    border-radius: 10px;
}
.search:focus{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.5);
    background: #EDEDED;
    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
}
.btn-search{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.5);
    background: #EDEDED;
    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
}
.btn-search:hover{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    color: #5E51F3;
    background: #d4d4d4;
    border-radius: 10px;
    padding-left: 25px;
    padding-right: 25px;
}

.home-product{
    background: #FFFFFF;
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}
.home-product:hover{
    transform: scale(1.03);
    z-index: 1;
}
.home-product-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.03em;

    color: rgba(0, 0, 0, 0.8);
}

.home-product-aviable{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    align-items: center;
    color: rgba(0, 0, 0, 0.8);

}
.home-product-aviable{
    display: flex;
    align-items: center;
    gap: 6px;
}

.home-product-aviable svg{
    display: inline-block;
}
.home-product-btn{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: #5E51F3;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.home-product-btn:hover{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    background: #5E51F3;
    color: #ffffff;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.home-product-btn-reverse{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    background: #5E51F3;
    line-height: 18px;
    color: #ffffff;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.home-product-btn-reverse:hover{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: #5E51F3;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.home-product-img{
    width: 250px;
    height: 250px;
    margin: 30px 0px 20px 0px;
}
.section-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 31px;
    color: rgba(0, 0, 0, 0.8);
}
h1{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.8);
}
h2{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.8);
}


.product-section{
    background: #FFFFFF;
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.5s ease-in-out;
}
.product-section:hover{
    background: #FFFFFF;
    border-radius: 12px;
    padding: 20px 30px;
    box-shadow: 0px 0px 40px 10px rgba(94, 81, 243, 0.2);
    transition: all 0.5s ease-in-out;
}
.product-about{
    background: white;
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.5s ease-in-out;
    max-width:300px;
}
.product-about:hover{
    transition: all 0.5s ease-in-out;
    box-shadow: 0px 0px 40px 10px rgba(94, 81, 243, 0.2);
}
.product-about-tech{
    background: white;
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.5s ease-in-out;
    max-width:300px;
}
.product-about-tech:hover{
    transition: all 0.5s ease-in-out;
    box-shadow: 0px 0px 40px 10px rgba(94, 81, 243, 0.2);
}
.product-img{
    width: 450px;
    height: 450px;
}
.product-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 32px;
    line-height: 41px;
    color: rgba(0, 0, 0, 0.8);
}
.product-price{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    width: 370px;
    font-size: 24px;
    line-height: 50px;
    color: rgba(0, 0, 0, 0.8);
    background: #F9F9F9;
    border-radius: 12px;
}
.product-aviable{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 50px;
    color: rgba(0, 0, 0, 0.8);
    background: #F9F9F9;
    border-radius: 12px;
    max-width: 250px;
}
.product-btn{
    transition: 0.5s;
    width: 370px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 18px;
    color: white;
    background: #5E51F3;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.product-btn:hover{
    transition: 0.5s;
    width: 370px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 18px;
    background: #4033DB;
    color: #ffffff;
    border: 1px solid #4033DB;
    border-radius: 10px;
}
.product-aviable-link{
    color: #5E51F3;
    text-decoration: none;
}
.product-aviable-link:hover{
    color: #4033DB;
    text-decoration: none;
}
.banner-garant{
    color: #F7F7FB;
    font-size: 16px;
    font-family: 'PT Sans';
    font-weight: 500;
    background: linear-gradient(269.45deg, #5E51F3 0.45%, #B651F3 64.95%);
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.5s ease-in-out;
}

.banner-delivery{
    color: #F7F7FB;
    font-size: 16px;
    font-family: 'PT Sans';
    font-weight: 500;
    background: linear-gradient(269.45deg, #B651F3 0.45%, #5E51F3 64.95%);
    border-radius: 12px;
    padding: 20px 30px;
    transition: all 0.5s ease-in-out;
}

.banner-header{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 17px;
    line-height: 40px;
    color: #F7F7FB;
}
.cart-content {
    transition: opacity 0.3s;
    opacity: 0;
    visibility: hidden;
    background:white;
}

.cart-button:hover + .cart-content, .cart-content:hover {
    opacity: 1;
    visibility: visible;
}


.cart-badge{
    transition: 0.5s;
    background: #5E51F3;
    padding: 1px 6px 1px;
    border-radius: 3px;
    font-family: 'PT Sans';
    font-style: normal;
    font-size: 14px;
    color: #F7F7FB;
}
.topmenu-badge{
    transition: 0.5s;
    background: rgba(94, 81, 243, 0.75);
    padding: 5px 10px 5px;
    border-radius: 8px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 21px;
    color: #F7F7FB;
}


.cart-link{
    color: rgba(0, 0, 0, 0.8);
}
.cart-link:hover{
    color: #5E51F3;
}

.cart-delete{
    color:rgba(0, 0, 0, 0.5)
}
.cart-delete:hover{
    color:rgba(0, 0, 0, 1)
}
.cart-delete-main{
    color:rgba(0, 0, 0, 0.5)
}
.cart-delete-main:hover{
    color:rgba(0, 0, 0, 1)
}
.cart-product-img{
    width: 100px;
    height: 100px;
}
.go-to-cart-btn{
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: #5E51F3;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}
.go-to-cart-btn:hover{
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    background: #5E51F3;
    color: #ffffff;
    border: 1px solid #5E51F3;
    border-radius: 10px;
}

.violet-text{
    color: #5E51F3;
}

.pag-button{
    color: #5E51F3;
    border-radius: 5px;
    font-size: 16px;
}
.pag-button-active{
    background: #5e51f3;

    color: white;
    border-radius: 5px;
    font-size: 16px;
    border-color: #5e51f3;
}

.sort-dropdown{
    color: #5e51f3;
}

.sort-dropdown-active{
    border-radius: 5px;
    background: #5e51f3;
    color: white;
}
.order-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.03em;

    color: rgba(0, 0, 0, 0.5);
}

.city-input-warning {
    border: 2px solid orange;
}

.city-input-success {
    border: 2px solid green;
}
a {
    color: var(--accent);
}

.banner-index-head{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: 0.03em;

    color: white;
}
.banner-index-desc{
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.03em;

    color: white;
}
.home-banner-btn{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: white;
    border: 1px solid white;
    border-radius: 10px;
}
.home-banner-btn:hover{
    transition: 0.5s;
    width: 135px;
    height: 50px;
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    background: white;
    color: #5E51F3;
    border: 1px solid white;
    border-radius: 10px;
}
.fixed-bottom{
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%;
    z-index: 1030; 
    }

.menu-arrow{
    float: right;
    color: white;
}

===================


.header{
    height: 91px;
}

.button{
    border-radius: 10px;
}

.body-wrapper{
     max-width: 1472px;
     padding: 0 15px;
    margin: 0 auto;
}

.main__header{
    max-width: 1472px;
    margin-top: 53px;
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
    border-radius: 12px;
}

.header__wrapper{
    margin-left: 60px;
    margin-top: 90px;
}

.main__title{
    width: 460px;
    margin-bottom: 20px;
    margin-top: 0;
    font-size: 48px;
    font-weight: 700;
}

.text{
    font-size: 20px;
    max-width: 615px;
    color: rgba(0,0,0,0.6);
    margin-bottom: 30px;
}



.contacts__wrapper{
    display: flex;
    gap: 40px;
    margin-bottom: 20px;
}

.social-media__list{
    list-style: none;
    padding: 0;

    display: flex;
    gap: 30px;
    margin-bottom: 80px;
    margin-top: 80px;
    font-size: 16px;
    font-weight: 700;
}

.header--button{
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #5e51f3;
    color: #fff;
    border: none;
    font-weight: 700;
    width: 384px;
    height: 48px;
    font-size: 14px;
    border-radius: 10px;
}

.header--button:hover{
    cursor: pointer;
}

.contacts__social-media{
    margin-bottom: 20px;
}

.social-media--right{
    width: 135px;
}

.social-media-link{
    text-decoration: none;
    display: inline-block;
    width: 100px;
    height: 40px;
    border: 1px solid rgba(0,0,0,0.2);
    padding-top: 10px;
    margin-right: 10px;
    color: rgba(0,0,0,0.8);
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    transition: 0.5s;

}

.social-media-link:hover{
    border: 1px solid #5e51f3;
    transition: 0.5s;
    color: #5e51f3;
}

.social-media--right a{
    width: 135px;
    margin-top: 5px;
}

.vr_img{
    margin-top: 61px;
    margin-left: 10px;

}

.vr_img--mobile{
    display: none;
}






.steps{
    margin-top: 66px;
}

.steps__list{
    list-style: none;
    padding: 0;
    margin-left: 93px;
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    gap: 185px;

}

.steps--item{
    width: 280px;
}

.steps--title{
    font-size: 18px;
    font-weight: 400;
}

.steps-body{
    font-size: 14px;
    color: rgba(0,0,0,0.6);
    margin-top: 10px;
}


.catalog{
    width: 100%;
}

.catalog__title{
    font-size: 24px;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 12px;
    margin-left: 14px;
}

.product{
    background-color: white;
    border-radius: 12px;
    width: 345px;
    height: 524px;
    padding: 30px;
    margin-bottom: 20px;
}

.product__photo{
    margin: 20px 17.5px;
    width: 250px;
    height: 250px;
    background-position: center;
}

.product__title{
    margin-top: 30px;
    margin-bottom: 7px;
    letter-spacing: 1px;
}

.product__description{
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    color: rgba(0,0,0,0.7);
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.product__price-wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;

}

.product__price{
    letter-spacing: 0.5px;
}

.day{
    font-size: 14px;
    line-height: 23px;
}

.catalog--button{
    width: 135px;
    height: 48px;
    font-weight: 700;
    background-color: white;
    color: #5e51f3;
    border: 1px solid #5e51f3;
    transition: 0.5s;
}

.catalog--button:hover{

    font-weight: 700;
    background-color: #5e51f3;
    color: white;
    transition: 0.5s;
    cursor: pointer;
}

.addition{
    margin-top: 57px;
}




.application{
    margin-top: 77px;
}

.application__title{
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    margin-bottom: 20px;
    margin-left: 14px;
}

.application__wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.product-list{
    width: 700px;
    border-radius: 30px;
    background: linear-gradient(224.13deg, rgb(94, 81, 243) 1.942%,rgb(154, 53, 255) 100%);
    color: white;
    margin-bottom: 30px;
}

.product-list__title{
    font-size: 18px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: 1px;
    margin-top: 32px;
    margin-left: 61px;
}

.product-list__price--wrapper{
    width: 570px;
    margin: 27px 78px 22px 62px;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    letter-spacing: 1px;
}

.product-list__name-product, .product-list__sum{
margin: 0;
font-size: 16px;
}

.product-list__list-item{
    list-style: none;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    letter-spacing: 1px;

    width: 620px;
    height: 148px;
    margin-left: 45px;
    margin-bottom: 22px;
    overflow-y: auto;
}

.list-item__product-item{
    width: 600px;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}



@-moz-document url-prefix() {
.product-list__list-item{
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.3) transparent;
}}

.product-list__list-item::-webkit-scrollbar{
    width:1px;
    height:1px;
}

.product-list__list-item::-webkit-scrollbar-track{
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 10px;
}

.product-list__list-item::-webkit-scrollbar-thumb{
    background-color: rgba(255,255,255,0.3);
    background-clip: padding-box;
    border: 1px solid transparent;
    border-radius: 10px;
}


/*-------------*/


.list-item__product-item:nth-child(odd){
    background-color: rgba(243,242,254,0.1);
    border-radius: 10px;
}

.product-item__name-item{
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    letter-spacing: 1px;
    margin-left: 17px;
}

.product-item__price{
    margin-right: 15px;
}

.product-list__result-wrapper{
    width: 568px;
    margin-left: 62px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 54px;
}

.result__days{
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    letter-spacing: 1px;
    margin: 0;
}

.result__days-wrapper{
    width: 261px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.days__counter-wrapper{
    width: 100px;
    height: 40px;
    border: 1px solid #fafafa;
    border-radius: 10px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.counter__button{
    color: white;
    background: transparent;
    border: none;
}

.counter__button:hover{
    cursor: pointer;
}
.counter{
    height: -40px;
}

.user-data{
    width: 700px;
    background-color: white;
    border-radius: 30px;
    display: flex;
    margin-bottom: 30px;
}

.user-data__title{
    font-size: 18px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: 1px;
    margin-top: 31px;
    margin-left: 60px;
}

.name__form-field{
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.name-wrapper{
    margin-top: 20px;
    margin-left: 60px;
    display: flex;
    flex-direction: column;
}

.form-field{
    width: 328px;
    height: 53px;
    border-radius: 10px;
    border: 1px solid #5e51f3;
}

.form-field:focus{
    outline: 1.5px solid #5e51f3;
}



.user-data__controller{
    margin-top: 31px;
    margin-left: 36px;
}

.user-data__button{
    width: 328px;
    height: 50px;
    color: white;
    background: #5e51f3;
    border-radius: 10px;
    border: none;
    margin-top: 30px;
    margin-left: 60px;
    margin-bottom: 38px;
}

.user-data__button:hover{
    cursor: pointer;
}

.answers{
    margin-top: 47px;
    margin-bottom: 30px;
}

.answers__title{
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    margin-bottom: 20px;
    margin-left: 14px;
}

.answers__wrapper{
    background: white;
    border-radius: 12px;
    padding: 30px 30px 15px 30px;
}
.answers__list{
    list-style: none;
    padding: 0;
    margin: 0;
}

.answers__item{
   margin-bottom: 20px;
}

.answers__question{
    margin: 0 0 10px 0;

    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
}

.answers__body{
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    color: rgba(0,0,0,0.8);
}




.purchase--header{
    max-width: 1440px;
    display: flex;
    position: relative;
    overflow: hidden;
    background-color: white;
    border-radius: 12px;
    padding-left: 80px;
    margin-bottom: 77px;
}

.purchase--header__title{
    margin-top: 62px;
    margin-bottom: 20px;

    color: black;
    font-family: PT Sans, sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 50px;
    letter-spacing: 0.03em;
    text-align: left;
}

.purchase__description{
    max-width: 726px;
    margin-bottom: 58px;

    color: rgba(0, 0, 0, 0.6);
    font-family: PT Sans, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0.03em;
    text-align: left;
}
.purchase-header__social-media{
    color: rgba(0, 0, 0, 0.6);
    font-family: PT Sans, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0.03em;
    text-align: left;
    margin-bottom: 20px;
}

.purchase__list{
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
}

.social-media__list{
    display: flex;
    margin-bottom: 58px;
}

.purchase__button{
    background-color: #5E51F3;
    font-family: PT Sans, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
    border-radius: 10px;
    padding:10px 29px;
    margin-right: 20px;
}

.purchase__button:hover{
    cursor: pointer;
}


.purchase__link{
    text-decoration: none;
    color: white;
}

.purchase-header__img{
    width: 46%;
    height: auto;
    position: absolute;
    left: 965px;
    bottom: -22px;
}

.purchase__product{
    margin-bottom: 57px;
}

.purchase__title{
    color: rgb(0, 0, 0);
    font-family: PT Sans, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    text-align: left;
    margin-left: 14px;
    margin-bottom: 20px;
}

.product__list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.product__item{
    width: 458px;
    height: 220px;
    margin-bottom: 20px;
    background-color: white;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
}



.item__img{
    margin-top: 20px;
}

.item__title{
    margin-top: 15px;
    margin-bottom: 10px;
    color: rgba(0, 0, 0, 0.8);
    font-family: PT Sans, sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.03em;
    text-align: left;
}

.item__description{
    color: rgba(0, 0, 0, 0.8);
    font-family: PT Sans, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 19px;
    text-align: center;
    max-width: 362px;
    letter-spacing: 0.03em;
    margin-top: 0;

}

.purchase--steps{
    margin-bottom: 77px;
}

.purchase--steps__wrapper{
    background-color: white;
    border-radius: 12px;
    display: flex;
}

.purchase--steps__list{
    margin-top: 41px;
    margin-left: 80px;
    margin-bottom: 40px;
    margin-right: 12%;
    display: flex;
    flex-direction: column;
    gap: 56px;

    position: relative;
}

.purchase--steps__list::before{
    content: "";
    background-image: url("../static/img/StepsLine.png");
    width: 1px;
    height: 199px;
    position: absolute;
    top:20px;
    left: 10px;

}

.purchase--steps__item--description{
    margin: 0;
    max-width: 695px;
    color: rgba(0, 0, 0, 0.8);
    font-family: PT Sans, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    text-align: left;
}

.purchase--steps__item{
    display: flex;
}

.purchase--steps_img{
    height: 85%;
    width: auto;
    margin-top: 25px;
}

.steps__item--img{
    margin-right: 20px;
    z-index: 2;
}

.purchase__connection{
    background-color: white;
    border-radius: 12px;
    display: flex;
    gap: 137px;
    align-items: center;
    padding-left: 6%;
    margin-bottom: 20px;
}

.connection__title{
    margin-top: 25px;
    margin-bottom: 10px;
    color: rgb(0, 0, 0);
    font-family: PT Sans, sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 50px;
    text-align: left;
}

.connection__description{
    max-width: 635px;
    margin-bottom: 30px;
    color: rgba(0, 0, 0, 0.6);
    font-family: PT Sans, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    text-align: left;
}


.social-media__list--connection{
    margin-top: 59px;
}

.connection__item{
    padding:15px 35px;
    font-size: 14px;

}


/* ----------------------------TRADE IN------------------*/
.TradeInHeader {
    width: 100%;
    border-radius: 12px;
    background: linear-gradient(266.46deg, #5E51F3 20.34%, #B651F3 134.37%);
    position: relative;
    overflow: hidden;
    padding-top: 65px;
    padding-left: 80px;
    padding-bottom: 73px;
    margin-bottom: 77px;
}

.TradeInHeader__img{
    position: absolute;
    top: 12px;
    left: 1128px;
    width: 323px;
    height: 322px;
}

.TradeInTitle {
    color: white;
    font-family: "PT Sans", sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 58px;
    text-align: left;
    margin-bottom: 20px;
    margin-top: 0;
}

.TradeInDescription {
    color: white;
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    margin-bottom: 0;
}

.TradeIn__title{
    font-family: "PT Sans", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    text-align: left;
    margin-left: 14px;
    margin-top: 0;
    margin-bottom: 20px;
}

.TradeInRules{
    margin-bottom: 77px;
}

.TradeInRules__list{
    padding: 0;
    display: flex;
    gap: 20px;
}

.TradeInRules__item{
    background-color: white;
    width: 710px;
    border-radius: 12px;
    list-style: none;
    padding-bottom: 20px;
}

.TradeInRules__title{
    color: rgba(0, 0, 0, 0.9);
    font-family: "PT Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 23px;
    text-align: left;
    margin: 22px 0 20px 20px;
}

.disk__diskList, .GamePad__GameList{
    list-style: inside;
    padding-left: 22px;
}

.diskList__item, .GameList__item, .GamePad__description{
    color: rgba(0, 0, 0, 0.9);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    text-align: left;
    margin-bottom: 20px;
    max-width: 650px;
}

.GamePad__description{
    padding-left: 22px;
}

.TradeInSteps__list{
    display: flex;
    list-style: none;
    padding: 0;
    justify-content: space-between;
}

.TradeInSteps__StepsItem{
    background-color: white;
    width: 460px;
    padding-left: 30px;
    border-radius: 12px;
}

.TradeInSteps__StepsItem:hover{
    box-shadow: 0 0 40px 10px rgba(94, 81, 243, 0.2);
}

.StepsItem__title{
    color: rgba(0, 0, 0, 0.8);
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    text-align: left;
}

.StepsItem__description{
    color: rgba(0, 0, 0, 0.8);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 18px;
    text-align: left;
    max-width: 406px;
    margin-bottom: 22px;
}

.TradeInSteps{
    margin-bottom: 77px;
}

.TradeInSocialMedia{
    background-color: white;
    border-radius: 12px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 60px;
    padding-right: 60px;
}

.TradeInSocialMedia__title{
    margin-top: 24px;
    margin-bottom: 15px;
    color: rgb(0, 0, 0);
    font-family: "PT Sans", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 50px;
    letter-spacing: 0.03em;
    text-align: left;
}

.TradeInSocialMedia__description{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0.03em;
    text-align: left;
    margin-bottom: 25px;
    max-width: 658px;
}

.TradeInSocialMedia__list{
    list-style: none;
    display: flex;
    gap: 30px;
    margin-top: 16px;
}

.TradeInSocialMedia_item{
    background-color: #5E51F3;
    border-radius: 10px;
    padding: 12px 30px;
}

.TradeInSocialMedia_item:hover{
    cursor: pointer;
}

.TradeInSocialMedia__link{
    text-decoration: none;
    color: white;
    font-family: "PT Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    white-space: nowrap;
}





.repairHeader{
    background-color: white;
    border-radius: 12px;
    display: flex;
    padding-left: 80px;
}

.headerTitle{
    font-family: "PT Sans", sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 50px;
    text-align: left;
    letter-spacing: 0.03em;
}

.repairTitle{
    max-width: 578px;
    margin-top: 62px;
    margin-bottom: 25px;
}

.headerDescription,.shopDescription__item {
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    text-align: left;
    letter-spacing: 0.03em;
}
.repairDescription{
    max-width: 706px;
    margin-bottom: 79px;
}

.socialMedia_header{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    text-align: left;
    letter-spacing: 0.03em;
}

.repair_socialMedia_header{
    margin-bottom: 25px;
}

.socialMedia{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.repair_SocialMedia{
    margin-bottom: 58px;
}

.repair__SocialMediaItem{
    margin-right: 20px;
}


.socialMedia__link{
    text-decoration: none;
    color: white;
    font-family: "PT Sans", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    padding: 12px 30px;
    background-color: #5E51F3;
    border-radius: 10px;
    white-space: nowrap;
}

.repairRobot{
    margin-left: 9%;
    margin-top: 13px;
}

.repairList{
    margin: 77px 0;
}

.repairList__list{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}

.repairList_repairItem{
    background-color: white;
    width: 345px;
    border-radius: 12px;
    height: 315px;
}

.repairItem__wrapper{
    margin-top: 23px;

    border-color: #dfe3f4;
    margin-bottom: 17px;
    display: flex;
    justify-content: center;
}

.repairItem__description{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 23px;
    margin-top: 15px;
    margin-left: 20px;
}


.repairSteps{
    margin-bottom: 77px;
}

.repairSteps__wrapper{
    background-color: white;
    border-radius: 12px;
    padding-left: 80px;
    padding-top: 40px;
    position: relative;
    overflow: hidden;
}

.repairSteps__wrapper::before{
    content: "";
    position: absolute;
    background-image: url("../static/img/repairGear_up.png");
    width: 489px;
    height: 453px;
    right: -124px;
    top: -121px;
}

.repairSteps__wrapper::after{
    content: "";
    position: absolute;
    background-image: url("../static/img/StepsLine.png");
    width: 1px;
    height: 200px;
    left: 90px;
    top: 55px;
}

.repairSteps__list{
    list-style: none;
    margin: 0;
    padding: 0;
}

.repairSteps__repairItem{
    display: flex;
    margin-bottom: 56px;
}


.repairSteps__repairItem:nth-child(3){
    margin-bottom: 40px;
}

.repairItem__img{
    z-index: 2;
}

.repairSteps__description{
    margin: 0;
    margin-left: 20px;
    color: rgba(0, 0, 0, 0.8);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    max-width: 900px;
}

.repairInfo{
    background-color: white;
    border-radius: 12px;
    padding-left: 80px;
    padding-top: 25px;
    display: flex;
}

.repairInfo__title{
    font-family: "PT Sans", sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 50px;
    margin-bottom: 10px;
    margin-top: 0;
}

.repairInfo__description{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    max-width: 635px;
    margin-bottom: 25px;
}

.repairInfo__socialMedia{
    align-items: center;
    margin-left: 10%;
}

.repairInfo__SocialMediaItem{
    margin-right: 30px;
}

.repairInfo__link{
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
    padding: 15px 35px;
}




.shopHeader{
    background-color: white;
    border-radius: 12px;
    padding-left: 80px;
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 77px;
    position: relative;
}

.shopHeader:before{
    content: "";
    position: absolute;
    background-image: url("../static/img/shopImg.png");
    width: 448px;
    height: 377px;
    right: 59px;
    top: 35px;

}

.shopTitle{
    margin-top: 0;
    margin-bottom: 30px;
}

.shopDescription{
    max-width: 706px;
    margin: 20px 0 0;
}

.shopDescription__list{
    padding-left: 30px;
    margin: 0 0 0;
}

.shopImg{
    margin: 26px 0 0 90px;
}

.shopMain{
    margin-bottom: 30px;
}

.shopMain__wrapper{
    background-color: white;
    border-radius: 12px;
    display: flex;
    padding-left: 80px;
}

.shopList{
    list-style: none;
    padding: 0;
    margin-top: 50px;
    margin-right: 121px;
}

.shopList__itemShop{
    margin-bottom: 20px;
}

.itemShop__cityShop{
    font-family: "PT Sans", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 15px;
}

.itemShop__addressShop{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 5px;
    margin-top: 0;
}

.highlight{
    color: #5E51F3;
    text-decoration: none;
}
.shop_SocialMedia{
    margin-top: 25px;
}

.mapShop__wrapper{
    margin: 64px 0;
}

.mapShop--tablet{
    display: none;
}





.rectangle{
    background-color: white;
    border-radius: 12px;
}

.deliveryHeader{
    padding: 40px 0 0 80px;
    position: relative;
    overflow: hidden;
    margin-bottom: 77px;
}

.deliveryHeader:before{
    position: absolute;
    content: "";
    width: 668px;
    height: 471px;
    background-image: url("../static/img/delivery.png");
   right: 59px;
    top: -109px;
}

.deliveryTitle{
    margin-top: 0;
    margin-bottom: 40px;
}

.delivery_socialMedia{
    margin-bottom: 55px;
    gap: 20px;
}

.deliveryInfo{
    margin-bottom: 77px;
}

.deliveryInfo__wrapper, .payment__wrapper{
    padding: 40px 80px;
}

.deliveryInfo__title{
    font-family: "PT Sans", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 31px;
    color: rgba(0, 0, 0, 0.8);
}

.pickup__info{
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin-top: 12px;
    margin-bottom: 0;
}

.payment__button{
    background-color: white;
    border: 1px solid #5E51F3;
    border-radius: 10px;
    padding: 7px 36px 7px 36px;
    color: #5E51F3;
    font-family: "PT Sans", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.buttonSVG{
    margin-bottom: 1px;
    margin-left: 5px;
}

.payment__button line{
    stroke: #5E51F3;
    transition: all 0.3s ease-in-out;
}

.payment__button:hover line{
    stroke: white;
    transition: all 0.3s ease-in-out;

}

.payment__button:hover{
    cursor: pointer;
    background-color: #5E51F3;
    color: white;
    transition: all 0.3s ease-in-out;
}

.list{
    padding: 32px 60px 40px;
    border: 1px solid #5E51F3;
    border-radius: 12px;
    margin-top: 10px;
}



.payment__list--close{
    display: none;
}

.img__wrapper{
    display: flex;
}

.payment__info{
    max-width: 900px;
    margin-right: 47px;
}






.guaranteeHeader{
    padding: 40px 80px;
    position: relative;
    overflow: hidden;
    margin-bottom: 77px;
}

.guaranteeHeader::before{
    content: "";
    position: absolute;
    background-image: url("../static/img/gurantee.png");
    width: 469px;
    height: 436px;
    left: 886px;
    top: -7px;
}

.guaranteeTitle{
    margin-top: 0;
    margin-bottom: 15px;
}

.guaranteeDescription{
    max-width: 706px;
    margin-bottom: 30px;
    margin-top: 0;
}

.guarantee_socialMedia{
    gap: 20px;
    margin-bottom: 11px;
}

.guaranteeInfo{
    margin-bottom: 77px;
}

.guaranteeInfo__wrapper{
    padding: 40px 80px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.guaranteeInfo__wrapper::before{
    position: absolute;
    content: "";
    background-image: url("../static/img/LineGuarantee.png");
    width: 1px;
    height: 510px;
    left: 94px;
    top: 52px;
}

.guaranteeInfo__description{
    margin-left: 34px;
    margin-top: 0;
    margin-bottom: 0;
    color: rgba(0, 0, 0, 0.6);
    font-family: "PT Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    max-width: 996px;
    position: relative;
}

.guaranteeInfo__description::before{
    position: absolute;
    content: "";
    background-image: url("../static/img/ellipse.png");
    width: 10px;
    height: 10px;
    left: -24px;
    top: 2px;
}




@media (max-width: 1440px) and (min-width: 1250px) {
    .TradeInHeader__img {

        top: 12px;
        left: 77%;
        width: 323px;
        height: 322px;
    }

    .TradeInRules__item {
        max-width: 710px;
    }

    .TradeInSteps__list {
        gap: 14px;
    }

    .TradeInSteps__StepsItem {
        padding-left: 20px;
        padding-right: 20px;
    }



    .purchase-header__img{
        left: 865px;
        bottom: 15px;
    }

    .product__item {
        width: 390px;
    }

    .connection__title {
        line-height: 40px;
    }


    

    .repairList_repairItem{
        width: 285px;
    }

    .repairItem__wrapper {
       width: 245px;
        overflow: hidden;
        border-radius: 12px;
        margin-left: 21px;
    }

    .repairHeader {
        padding-left: 40px;
    }

    .repairSteps__wrapper {
        padding-left: 40px;
    }

    .repairSteps__wrapper::after {
        left: 50px;
    }

    .repairItem__description {
        max-width: 800px;
    }

    .repairInfo {
        padding-left: 40px;
    }

    .repairInfo__SocialMediaItem {
        margin-right: 20px;
    }

    .repairInfo__link {
        padding: 11px 30px;
    }

    .repairInfo__socialMedia {
        margin-left: 5%;
    }

    

    .shopHeader {
        padding-left: 40px;
    }

    .shopTitle {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .shopHeader:before{
        right: 20px;
    }

    .shopMain__wrapper{
        padding-left: 20px;
    }

    .shopList {
        margin-right: 10px;
    }

    .mapShop__wrapper{
        margin: 94px auto 0;
    }

    .shopList__wrapper{
        margin-bottom: 40px;
    }

    

    .deliveryHeader {
        padding: 40px 0 0 40px;
    }

    .deliveryHeader::before {
        right: -15px;
    }

    

    .guaranteeHeader{
        padding: 40px;
    }

    .guaranteeHeader::before {
        left: 722px;
    }

    .guaranteeDescription {
        max-width: 600px;
    }

    .guaranteeInfo__wrapper {
        padding: 40px;
    }

    .guaranteeInfo__wrapper::before {
        left: 54px;
    }


}


@media (max-width: 1250px) and (min-width: 600px) {
    .TradeInHeader {

        padding-top: 65px;
        padding-left: 5%;
        padding-bottom: 63px;
        margin-bottom: 67px;
    }

    .TradeInDescription {
        max-width: 370px;
    }

    .TradeInHeader__img {
        top: 35px;
        left: 65%;
        width: 301px;
        height: 300px;
    }

    .TradeInRules__item {
        width: 100%;
    }

    .diskList__item, .GameList__item, .GamePad__description {
        max-width: 95%;
    }

    .TradeInSteps__list {
        flex-direction: column;
        gap: 20px;
    }
    .socialMedia__link {
        line-height: 16px;
        padding: 10px 25px;

    }
    .TradeInSteps__StepsItem {
        width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }

    .StepsItem__description {
        max-width: 100%;
        margin-bottom: 25px;
    }

    .StepsItem__title {
       margin: 5px 0;
    }

    .TradeInSocialMedia {
        padding-left: 40px;
        padding-right: 40px;
    }

    .TradeInSocialMedia__list {
        flex-direction: column;
        gap: 10px;
    }

    .TradeInSocialMedia_item {
        padding: 10px 25px;
        text-align: center;
    }


    .purchase--header {
        padding-left: 40px;

    }

    .purchase--header__title{
        font-size: 38px;
    }

    .purchase__description {
        max-width: 550px;
        margin-bottom: 58px;
        font-size: 18px;
    }


    .purchase-header__social-media {
        font-size: 18px;
        margin-bottom: 20px;
    }


    .purchase-header__img{
        left: 537px;
        bottom: 39px;
        width: 55%;
    }

    .product__item {
        width: 100%;
    }

    .purchase--steps__list {
        margin-left: 20px;
    }

    .purchase--steps_img {
        margin-top: 90px;
    }

    .purchase--steps__list::before {
        height: 79%;
    }

    .purchase__connection {
        padding-left: 40px;
        padding-right: 40px;
    }
    .social-media__list--connection {
        gap: 20px;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .purchase__list {
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 40px;
    }

    .connection__item {
        margin-right: 0;
        padding: 15px 25px;
        width: 100%;
    }

    

    .repairHeader {
        padding-left: 20px;
        justify-content: space-around;
    }

    .repairTitle {
        text-align: left;
        margin-top: 30px;
        font-size: 40px;
        font-weight: 700;
        line-height: 46px;
        max-width: 400px;
    }

    .headerDescription {
        font-size: 18px;
        text-align: left;
    }

    .repairDescription{
        margin-bottom: 40px;
        max-width: 400px;
    }

    .socialMedia_header {
        font-size: 18px;
        text-align: left;
    }


    .repair__SocialMediaItem {
        margin-right: 15px;
    }

    .repairRobot {
        width: 38%;
        height: 38%;
        margin: auto 0;
    }

    .repairList_repairItem {
       margin-bottom: 20px;
    }

    .repairList__list {
        flex-wrap: nowrap;
        gap: 10px;
    }

    .repairList_repairItem {
        width: 100%;
        height: auto;
        padding: 0 10px;
    }

    .repairItem__description {
        font-size: 16px;
        line-height: 21px;
        text-align: center;
        margin-left: 0;
    }

    .repairItem__wrapper {
        overflow: hidden;
        border-radius: 12px;
        margin: 15px auto;
    }

    .repairList__img{
        width: 90%;
    }

    .repairSteps__wrapper {
        padding-left: 20px;
    }
    .repairSteps__wrapper::after {
        left: 30px;
        height:64%;
    }

    .repairSteps__wrapper::before {
        width: 489px;
        height: 453px;
        right: -179px;
        top: -10%;
    }

    .repairSteps__description {
        max-width: 55%;
    }

    .repairInfo {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-left: 0;

    }

    .repairInfo__socialMedia {
        margin: 0 auto 40px;
    }

    .repairInfo__wrapper{
        margin: 0 auto ;
    }

    .repairInfo__title {
        text-align: center;
    }

    .repairInfo__description {
        text-align: center;
    }

    


    .shopHeader {
        padding-top: 30px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 30px;
        overflow: hidden;
    }

    .shopTitle {
        margin-bottom: 30px;
        font-size: 40px;
        font-weight: 700;
        line-height: 46px;
        max-width: 50%;
    }

    .shopDescription{
        max-width: 50%;
    }

    .shopDescription__item {
        font-size: 18px;
        max-width: 100%;
    }

    .shopHeader::before {
        right: -13%;
        top: -35px;
    }

    .mapShop--pk{
        display: none;
    }


    .shopList{
        margin-top: 30px;
        margin-right: 0;
    }

    .shopList__wrapper{
        margin-bottom: 30px;
    }

    .itemShop__cityShop {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 10px;
    }
    .itemShop__addressShop {
        font-size: 16px;
        font-weight: 400;
        line-height: 22px;
    }

    .shop__socialMedia {
        font-size: 16px;
        line-height: 22px;
        margin-top: 20px;
    }

    

    .deliveryHeader {
        padding: 20px 0 0 40px;
    }

    .deliveryTitle {
        margin-bottom: 20px;
        font-size: 40px;
        font-weight: 700;
        line-height: 46px;
    }

    .delivery_socialMedia {
        margin-bottom: 37px;
        gap: 15px;
    }

    .deliveryHeader::before {
        width: 355px;
        height: 242px;
        background-image: url("../static/img/deliveryTablet.png");
        left: 62%;
        top: -27px;
    }

    .deliveryInfo__wrapper, .payment__wrapper {
        padding: 20px 40px;
    }

    .deliveryInfo__title {
        font-size: 22px;
        line-height: 29px;
        margin-bottom: 20px;
    }

    .pickup__info {
        font-size: 20px;
        line-height: 26px;
    }

    .list {
        padding: 30px 30px 30px;
    }

    .payment__img{
        display: none;
    }

    .payment__info{
        margin-right: 0;
    }


        

    .guaranteeTitle {
        font-size: 40px;
        font-weight: 700;
        line-height: 46px;
    }

    .guaranteeHeader, .guaranteeInfo__wrapper {
        padding: 40px;
    }

    .guaranteeDescription {
        max-width: 400px;
    }

    .guaranteeHeader::before {
        background-image: url("../static/img/guranteeMobile.png");
        width: 321px;
        height: 290px;
        left: 65%;
        top: 19px;
    }

    .guaranteeInfo__wrapper::before {
        height: 81%;
        left: 54px;
        top: 52px;
    }


}

@media (max-width: 600px) {
    .TradeInHeader {
        padding: 40px 20px  150px 20px;
        margin-bottom: 57px;
    }

    .TradeInHeader, .TradeInRules, .TradeInSteps{
        margin-bottom: 57px;
    }

    .TradeInTitle {
        text-align: center;
    }

    .TradeInDescription {
        text-align: center;
    }

    .TradeInHeader__img {
        top: 183px;
        left: 26%;
        width: 187px;
        height: 186px;
    }

    .TradeInRules__list {
        flex-wrap: wrap;
    }

    .TradeInRules__item {
        padding-bottom: 20px;
        padding-right: 20px;
    }

    .TradeInRules__title {
        text-align: left;
    }

    .diskList__item, .GameList__item, .GamePad__description {
        text-align: left;
    }

    .disk__diskList, .GamePad__GameList {
        list-style: none;
    }


    .TradeInSteps__list {
        flex-direction: column;
        gap: 20px;
    }

    .TradeInSteps__StepsItem {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .StepsItem__description {
        max-width: 100%;
        margin-bottom: 25px;
    }

    .StepsItem__title {
        margin-top: 5px;
        margin-bottom: 15px;
    }

    .TradeInSocialMedia {
        flex-wrap: wrap;
        padding-left: 20px;
        padding-right: 20px;
    }

    .TradeInSocialMedia__title {
        margin-top: 24px;
        font-size: 32px;
        text-align: center;
    }

    .TradeInSocialMedia__description {
        font-size: 18px;
        line-height: 24px;
        text-align: center;
    }

    .TradeInSocialMedia__list {
        list-style: none;
        display: flex;
        gap: 0;
        justify-content: space-between;
        padding-left: 0;
        width: 100%;
    }

    .TradeInSocialMedia_item {
        background-color: #5E51F3;
        border-radius: 10px;
        padding: 5px 16px;
    }

    .TradeInSocialMedia__link {
        font-size: 11px;
        font-weight: 400;
        text-align: center;
        white-space: nowrap;
        line-height: 27px;
    }


    .purchase--header {
        padding: 0 20px;
        margin-bottom: 57px;

    }

    .purchase--header__title{
        font-size: 28px;
        line-height: normal;
        text-align: center;
        max-width: 100%;
        margin-top: 20px;
    }

    .purchase__description {
        max-width: 100%;
        text-align: justify;
        margin-bottom: 58px;
        font-size: 16px;

    }

    .purchase-header__social-media {
        font-size: 16px;
        margin-bottom: 20px;
        max-width: 100%;
        text-align: justify;
    }

    .purchase-header__img{
        display: none;
    }

    .social-media__list--mobile{
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .social-media__list {
        gap: 5px;
        margin-bottom: 20px;
    }


    .social-media__item{
        padding: 7px 18px;
    }

    .social-media__link{
        font-size: 10px;
    }

    .item__title {
        text-align: center;
        max-width: 250px;
    }

    .item__description {
        max-width: 290px;
    }
    .product__item {
        height: 230px;
    }

    .purchase__button {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .purchase--steps_img {
        display: none;
    }

    .purchase--steps {
        margin-bottom: 57px;
    }

    .purchase--steps__list {
        margin-left: 20px;
        margin-right: 20px;
    }
    .purchase--steps__item--description {
        text-align: left;
    }

    .purchase--steps__list::before {
        content: "";
        background-image: url("../static/img/StepsLine.png");
        width: 1px;
        height: 382px;
        position: absolute;
        top: 20px;
        left: 10px;
    }

    .purchase__connection {
        padding-left: 3%;
    }

    .purchase__connection {
        padding-left: 20px;
        padding-right: 20px;
        flex-wrap: wrap;
    }

    .connection__title {
        line-height: 40px;
        text-align: center;
    }

    .connection__description {
        text-align: center;
    }


    .social-media__list--connection {
        list-style: none;
        padding: 0;
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 0;
        margin-bottom: 20px;
    }

    .purchase__connection {
        gap: 0;
    }

    .connection__item {
        padding: 7px 15px;
        margin-right: 0;
    }

    

    .repairHeader {
        padding: 0 20px;
    }

    .repairList {
        margin-bottom: 57px;
    }

    .repairHeader, .repairSteps {
        margin-bottom: 57px;
    }

    .repairTitle {
        margin-top: 40px;
        text-align: center;
        font-size: 28px;
        line-height: 36px;
        max-width: 100%;
    }

    .repairDescription {
        margin-bottom: 40px;
        text-align: center;
        font-size: 18px;
        line-height: 24px;
        max-width: 100%;
    }

    .repair_socialMedia_header {
        margin-bottom: 25px;
        max-width: 100%;
        text-align: center;
        font-size: 18px;
        line-height: 24px;

    }

    .repair_SocialMedia {
        margin-bottom: 30px;
        justify-content: space-between;
    }


    .repair__SocialMediaItem {
        margin-right: 0;
    }

    .repair__socialMedia__link{
        font-size: 10px;
        font-weight: 700;
        line-height: 14px;
        padding: 8px 18px;
    }


    .repairRobot {
        display: none;
    }

    .repairList__list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .repairList_repairItem {
        width: 48%;
        height: auto;
        margin-bottom: 10px;
        padding: 0 10px;
    }

    .repairItem__wrapper {
        margin-top: 13px;
    }

    .repairList__img{
        width: 100%;
    }

    .repairItem__description {
        font-size: 14px;
        line-height: 20px;
        text-align: center;
        width: 100%;
        margin-top: 15px;
        margin-left: 0;
    }

    .repairSteps__wrapper::before {
       display: none;
    }

    .repairSteps__wrapper {
        padding: 40px 20px 0;
    }

    .repairSteps__wrapper::after {
        height: 66.3%;
        left: 30px;
    }

    .repairSteps__description {
        margin: 0;
        margin-left: 20px;
        text-align: left;
    }

    .repairInfo {
        padding: 25px 20px 25px;
        display: flex;
        flex-wrap: wrap;
    }

    .repairInfo__title {
        font-size: 28px;
        line-height: 36px;
        text-align: center;
        width: 100%;
    }

    .repairInfo__description {
        font-size: 18px;
        line-height: 24px;
        text-align: center;
        max-width: 100%;
        margin-bottom: 30px;
    }

    .repairInfo__link {
        font-size: 10px;
        font-weight: 700;
        line-height: 14px;
        padding: 8px 18px;
    }
    .repairInfo__SocialMediaItem {
        margin-right: 0;
    }

    .repairInfo__socialMedia {
        align-items: center;
        margin-left: 0;
        justify-content: space-between;
        width: 100%;
    }

    

    .shopHeader::before {
        background-image: url("../static/img/shopImg__mobile.png");
        width: 253px;
        height: 212px;
        top: 25%;
        margin: auto;
        right:0;
        left: 0;
    }

    .shopHeader {
       padding: 30px 20px;
        margin-bottom: 57px;
    }

    .shopTitle {
        margin: 0 auto 240px;
        max-width: 189px;
        text-align: center;
        font-size: 28px;
        line-height: 36px;
    }

    .shopDescription{
        text-align: center;
        font-size: 18px;
        line-height: 24px;
        max-width: 100%;
    }

    .shopDescription__wrapper{
        display: none;

    }

    .shopMain__wrapper{
        padding: 0 20px;
    }

    .shopList{
        margin-top: 30px;
        margin-right: 0;
    }

    .shopList__wrapper{
        margin-bottom: 30px;
    }

    .itemShop__cityShop {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 10px;
    }
    .itemShop__addressShop {
        font-size: 16px;
        font-weight: 400;
        line-height: 22px;
    }

    .mapShop__wrapper{
        display: none;
    }

    .shop__socialMedia {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 10px;
    }

    .socialMedia_item{
        margin-right: 0;
    }

    .linkShop{
        padding: 10px 25px;
    }

    


    .deliveryHeader {
        padding: 0 20px;
        margin-bottom: 57px;
    }
    .deliveryInfo {
        margin-bottom: 57px;
    }

    .deliveryTitle {
        margin: 20px auto;
        max-width: 189px;
        text-align: center;
        font-size: 28px;
        line-height: 36px;
    }

    .deliverySocialMedia__title{
        text-align: center;
        font-size: 18px;
        line-height: 24px;
        max-width: 100%;
    }

    .delivery_socialMedia {
        margin-bottom: 37px;
        gap: 0;
        justify-content: space-between;
    }

    .delivery__socialMediaItem{
        margin-right: 0;
    }

    .deliveryHeader::before {
       display: none;
    }

    .deliveryInfo__wrapper, .payment__wrapper {
        padding: 20px 20px;
    }

    .deliveryInfo__title {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 20px;
    }

    .pickup__info {
        font-size: 18px;
        line-height: 25px;
    }

    .list {
        padding: 20px 20px ;
    }

    .payment__button {
        border-radius: 9px;
        width: 100%;
        font-size: 18px;
        line-height: 25px;
    }

    .payment__img{
        display: none;
    }

    .payment__info{
        margin-right: 0;
    }


    

    .guaranteeHeader {
        padding: 20px;
        margin-bottom: 57px;
    }

    .guaranteeHeader::before {
       display: none;
    }

    .guaranteeTitle{
        margin: 0 auto;
        margin-bottom: 12px;
        max-width: 189px;
        text-align: center;
        font-size: 28px;
        line-height: 36px;
    }

    .headerDescription, .shopDescription__item {
        text-align: left;
        font-size: 18px;
        line-height: 24px;
        max-width: 100%;
    }

    .guarantee_socialMedia {
       justify-content: space-between;
        gap: 0;
    }

    .guaranteeInfo__wrapper {
        padding: 20px;
        gap: 20px;
    }

    .guaranteeInfo__wrapper::before {
        height: 84%;
        left: 34px;
        top: 35px;
    }

    .guaranteeInfo {
        margin-bottom: 57px;
    }

}



@media (max-width:1450px ) and (min-width: 1250px){
    .vr_img{
        width: 516.75px;
        height: 339px;
        margin-top: 125px;
    }
    .application__wrapper{
        flex-direction: column;
        align-items: center;
    }
    .steps__list{
        gap: 12%;
    }

    .steps-img{
        width: 100%;
        height: auto;
    }
}

@media (max-width:1250px) and (min-width: 830px){

    .steps__list{
        margin-left: 50px;
        gap: 7%;
    }

    .vr_img{
        display: none;
    }

    .steps-img{
        width: 100%;
        height: auto;
    }

    .header__wrapper{
        margin-right: 60px;
    }

    .main__title{
        width: 100%;
    }
    .application__wrapper{
        justify-content: center;
    }
}


@media (max-width:830px ){
    .vr_img{
        display: none;
    }

    .body-wrapper{
        min-width: 375px;
    }

   .main__header{
       min-width: inherit;
       /*padding: 0 20px;*/
   }

   .header__wrapper{
        margin: 30px 20px;
   }

   .main__title{
       width: inherit;

       text-align: center;
       font-size: 35px;
   }

   .text{
       width: 100%;
       font-size: 18px;
       text-align: center;
       margin-bottom: 10px;
   }

   .header--button{
       width: 100%;
   }

   .vr_img--mobile{
       display: inline;
       max-width: 100%;
       max-height: 100%;
       margin-bottom: 40px;
   }

   .social-media__list{
       margin-top: 30px;
       margin-bottom: 10px;
       gap:0 ;
       flex-wrap: wrap;
       justify-content: space-around;
   }

   .social-media{
       display: flex;
       flex-direction: column;
       align-items: center;
       margin-bottom: 20px;
   }

   .contacts__tel{
       display: inline-block;
       margin-left: 19px;
   }

   .steps img{
       display: none;
   }

   .steps{
       margin-top: 30px;
   }


   .steps__list{
       width: 100%;
       display: flex;
       flex-direction: column;
       gap: 10px;
       margin: 20px auto;

   }

   .steps--item{
       width: inherit;
   }

   .steps--title{
       display: flex;
       align-items: center;
       padding-left: 3%;
       height: 40px;
       background-color: #5e51f3;
       color: white;
       border-top-left-radius: 10px;
       border-top-right-radius: 10px;
       position: relative;
   }

   .steps--title::after{
       content: "";
       background-image: url("../static/img/arrow.png");
       background-repeat: no-repeat;
       position: absolute;
       width: 15px;
       height: 11px;
       left: 90%
   }

    .steps--item__show .steps--title::after{
       transform: rotate(-180deg);
   }



   .steps-body{
       font-size: 16px;
       margin-top: 0;
       padding: 10px 3%;
       border-left: 1px solid rgba(0,0,0,0.2);
       border-right: 1px solid rgba(0,0,0,0.2);
       border-bottom: 1px solid rgba(0,0,0,0.2);
       border-bottom-right-radius: 10px;
       border-bottom-left-radius: 10px;
   }

    .steps--item:not(.steps--item__show) .steps-body{
        display: none;
    }

     .steps--item:not(.steps--item__show) .steps--title{
           border-radius: 10px;
     }

     .catalog{
         margin-top: 57px;
     }

    .product{
        margin: 0 auto;
    }

    .application{
        margin-top: 57px;
    }

    .application__wrapper{
        justify-content: center;
    }

    .product-list__title{
        margin: 30px 0 20px 5%;
    }

    .product-list__price--wrapper{
        width: 82.5%;
        margin: 0 0 20px 7%;
    }

    .product-list__list-item{
        width: 90%;
        height: 148px;
        margin-left: 5%;
        margin-bottom: 22px;
        overflow-y: auto;
    }

    .product-item__name-item{
        font-size: 14px;
    }

    .list-item__product-item{
        width: 97%;
        height: 50px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        letter-spacing: 0;
        font-size: 14px;
    }


    .product-list__result-wrapper{
        width: 82.5%;
        margin-left: 7%;
        flex-wrap: wrap;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 34px;
    }

    .result__days-wrapper{
        width: 100%;
        margin-bottom: 15px;
    }

    .product-list__result--sum{
        margin-left: auto;
    }

    .user-data__controller{
        display: none;
    }

    .user-data__wrapper{
        padding: 7%;
        width: 100%;
        margin: 0 auto;
    }

    .user-data__form{
        display: flex;
        flex-direction:column;
        align-items: center;
    }


    .user-data__title{
        margin-left: 0;
        margin-top: 5px;
    }

    .name-wrapper{
        margin-left: 0;
        width: 100%;
    }

    .form-field{
        width: 100%;
    }

    .user-data__button{
        margin-left: 0;
        width: 100%;
        max-width: 328px;
        margin-bottom: 0;
    }

    .answers{
        margin-top: 27px;
    }

    .answers__body{
        text-align: justify;
    }

}

.home-tiles{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.home-tile{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    background: #f7f7fa;
    border-radius: 16px;
    padding: 16px;
    min-height: 200px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-tile:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.home-tile-title{
    font-family: 'PT Sans';
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 10px;
    color: rgba(0, 0, 0, 0.9);
}

.home-tile-links{
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-tile-links li{
    margin-bottom: 6px;
}

.home-tile-link{
    font-family: 'PT Sans';
    font-size: 14px;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.8);
    text-decoration: none;
    transition: color 0.2s ease;
}

.home-tile-link:hover{
    color: #5E51F3;
}

.home-tile-img{
    width: 110px;
    height: 110px;
    object-fit: contain;
    align-self: flex-end;
}

@media (max-width: 991px){
    .home-tiles{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px){
    .home-tiles{
        grid-template-columns: 1fr;
    }
    .home-tile{
        min-height: 160px;
    }
    .home-tile-img{
        width: 90px;
        height: 90px;
    }
}

.bg-white {
    transition: background-color var(--theme-transition) var(--theme-ease);
}

.card {
    transition: background-color var(--theme-transition) var(--theme-ease);
}

.rent-hero {
    overflow: hidden;
    background-clip: padding-box;
    transition: background-color var(--theme-transition) var(--theme-ease),
        background var(--theme-transition) var(--theme-ease);
}

.page-hero {
    position: relative;
    overflow: hidden;
    color: #ffffff;
}

.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 14, 20, 0.75) 0%, rgba(15, 14, 20, 0.45) 55%, rgba(15, 14, 20, 0.2) 100%);
    z-index: 0;
}

.page-hero > :not(.info-hero__art) {
    position: relative;
    z-index: 1;
}

.page-hero h1,
.page-hero p {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}


.phone-link {
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--accent);
    font-weight: 600;
    cursor: pointer;
}

.phone-link:hover {
    text-decoration: underline;
}

.info-page {
    display: grid;
    gap: 0;
}

.info-hero {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.info-hero--art {
    background: linear-gradient(130deg, rgba(56, 40, 104, 0.96) 0%, rgba(85, 56, 170, 0.94) 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding-right: clamp(140px, 22vw, 260px) !important;
}

.info-hero--art::before {
    background: linear-gradient(90deg, rgba(10, 10, 16, 0.35) 0%, rgba(10, 10, 16, 0.12) 55%, rgba(10, 10, 16, 0.03) 100%);
}

.info-hero__art {
    position: absolute;
    right: 14px;
    bottom: 10px;
    width: clamp(100px, 18vw, 220px);
    height: auto;
    max-height: 82%;
    object-fit: contain;
    object-position: right bottom;
    opacity: 0.94;
    z-index: 0;
    pointer-events: none;
}

.info-hero--tradein .info-hero__art {
    right: -24px;
    bottom: -42px;
    width: clamp(120px, 20vw, 226px);
    max-height: none;
}

.info-hero--buyout .info-hero__art {
    right: -29px;
    bottom: -46px;
    width: clamp(164px, 27vw, 309px);
    max-height: none;
    transform: translate(calc(5px + 5%), 10%);
}

.info-hero--shops .info-hero__art {
    right: -29px;
    bottom: -46px;
    width: clamp(164px, 27vw, 309px);
    max-height: none;
    transform: translate(calc(5px + 10%), 10%);
}

.info-hero--delivery .info-hero__art {
    right: -29px;
    bottom: -46px;
    width: clamp(184px, 30vw, 345px);
    max-height: none;
    transform: translate(11%, -5%);
}

.info-hero--service .info-hero__art {
    right: -29px;
    bottom: -46px;
    width: clamp(166px, 28vw, 312px);
    max-height: none;
    transform: translate(calc(10% + 10px), 6%);
}

.info-hero--status .info-hero__art {
    right: -29px;
    bottom: -46px;
    width: clamp(158px, 27vw, 296px);
    max-height: none;
    transform: translate(calc(10% + 10px), 6%);
}

.info-hero--plain {
    color: var(--ink);
    background: linear-gradient(120deg, rgba(109, 61, 243, 0.12), rgba(109, 61, 243, 0.02));
    border: 1px solid var(--border);
}

.info-hero--plain::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.02) 100%);
}

[data-theme='dark'] .info-hero--plain::before {
    background: linear-gradient(90deg, rgba(20, 20, 30, 0.35) 0%, rgba(20, 20, 30, 0.05) 100%);
}

.info-hero__badge {
    display: inline-flex;
    width: fit-content;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.info-hero--plain .info-hero__badge {
    background: rgba(109, 61, 243, 0.1);
    border-color: rgba(109, 61, 243, 0.24);
    color: var(--accent);
}

.info-hero__text {
    max-width: 760px;
}

.info-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.info-chip {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
}

.info-section-head {
    margin-bottom: 12px;
}

.info-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 18px;
    box-shadow: var(--shadow);
}

.info-card-media {
    height: 92px;
    border-radius: 12px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(140deg, rgba(109, 61, 243, 0.14), rgba(109, 61, 243, 0.04));
    border: 1px solid rgba(109, 61, 243, 0.18);
    overflow: hidden;
}

.info-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

.info-card-media--plain {
    background: transparent;
    border-color: transparent;
}

.info-card h2,
.info-card h3 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
}

.info-card--accent {
    background: linear-gradient(140deg, rgba(109, 61, 243, 0.17), rgba(109, 61, 243, 0.05));
    border-color: rgba(109, 61, 243, 0.25);
}

.info-step-index {
    display: inline-flex;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent);
    letter-spacing: 0.06em;
}

.info-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 6px;
}

.info-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.info-list-item {
    background: rgba(109, 61, 243, 0.07);
    border: 1px solid rgba(109, 61, 243, 0.16);
    border-radius: 12px;
    padding: 10px 12px;
    font-weight: 600;
}

.info-mini-tag {
    background: rgba(109, 61, 243, 0.1);
    color: var(--accent);
    border: 1px solid rgba(109, 61, 243, 0.2);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.info-timeline {
    display: grid;
    gap: 10px;
}

.info-timeline__item {
    display: grid;
    grid-template-columns: 28px 1fr;
    align-items: start;
    gap: 10px;
}

.info-timeline__item span {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(109, 61, 243, 0.14);
    color: var(--accent);
    font-weight: 800;
    font-size: 12px;
}

.info-input {
    min-height: 44px;
    border-radius: 12px;
}

.delivery-methods {
    display: grid;
    gap: 8px;
}

.delivery-methods__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 9px 10px;
    background: var(--card);
}

.delivery-methods__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.delivery-methods__icon {
    width: 14px;
    height: 14px;
    object-fit: contain;
    opacity: 0.9;
}

.delivery-top-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
    margin-bottom: 8px;
}

.delivery-tip-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin-bottom: 8px;
}

.status-step-icon {
    width: 54px !important;
    height: 54px !important;
    object-fit: contain !important;
    padding: 0 !important;
}

.delivery-methods__meta {
    color: var(--muted);
    font-size: 14px;
}

.status-head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
    margin-bottom: 14px;
}

.status-head__label {
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
}

.status-badge {
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid transparent;
    white-space: nowrap;
}

.status-badge--ok {
    color: #0f7b46;
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.28);
}

.status-badge--warn {
    color: #9a6900;
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.28);
}

.status-badge--bad {
    color: #b42318;
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(244, 63, 94, 0.24);
}

.status-meta {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 12px;
    display: grid;
    gap: 4px;
    background: var(--card);
}

.status-meta span {
    color: var(--muted);
    font-size: 13px;
}

.status-meta strong {
    font-size: 15px;
}

.status-items__list {
    display: grid;
    gap: 8px;
}

.status-item {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 9px 11px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
}

.status-item__name {
    font-weight: 600;
}

.status-item__qty {
    color: var(--muted);
    font-size: 13px;
}

.status-item__price {
    font-weight: 700;
}

.shop-photo-wrap {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--bg);
}

.shop-photo {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.shop-card--planned {
    opacity: 0.88;
}

.shop-photo--planned {
    filter: grayscale(1) contrast(0.9);
}

.info-mini-tag--planned {
    background: rgba(148, 163, 184, 0.2);
    color: #64748b;
    border: 1px dashed rgba(100, 116, 139, 0.5);
}

.shop-map-wrap {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    background: var(--bg);
}

.shop-map-frame {
    width: 100%;
    height: 360px;
    border: 0;
    display: block;
}

.shop-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.shop-map-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--muted);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 4px 10px;
    background: var(--card);
}

.shop-map-legend__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
}

.shop-map-btn {
    background: linear-gradient(120deg, var(--accent) 0%, #8f59ff 100%);
    border: 1px solid transparent;
    color: #ffffff;
    font-weight: 700;
    border-radius: 12px;
    padding: 10px 16px;
    box-shadow: 0 8px 20px rgba(109, 61, 243, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.shop-map-btn:hover {
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(109, 61, 243, 0.28);
    filter: saturate(1.06);
}

.shop-map-btn:active {
    transform: translateY(0);
    box-shadow: 0 6px 14px rgba(109, 61, 243, 0.2);
}

.shop-map-btn--small {
    padding: 8px 14px;
    border-radius: 10px;
}

.tradein-step-media {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(109, 61, 243, 0.18), rgba(109, 61, 243, 0.08));
    margin-bottom: 8px;
}

.tradein-step-image {
    width: 58px;
    height: 58px;
    object-fit: contain;
    mix-blend-mode: normal;
}

[data-theme='dark'] .tradein-step-media {
    background: linear-gradient(145deg, rgba(139, 109, 255, 0.22), rgba(139, 109, 255, 0.12));
}

[data-theme='dark'] .tradein-step-image { filter: brightness(1.06) contrast(1.04); }

.tradein-contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.tradein-contact-image {
    width: 150px;
    height: 150px;
    object-fit: contain;
    opacity: 0.95;
    flex-shrink: 0;
}

.info-contact-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.info-contact-image {
    width: 150px;
    height: 150px;
    object-fit: contain;
    opacity: 0.95;
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .info-list-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .info-hero {
        min-height: 190px;
    }

    .info-hero--art {
        padding-right: 18px !important;
        padding-bottom: 82px !important;
    }

    .info-hero__art {
        width: 110px;
        right: 8px;
        bottom: 8px;
        opacity: 0.9;
    }

    .info-hero--tradein .info-hero__art {
        right: -14px;
        bottom: -24px;
        width: 106px;
        max-height: none;
    }

    .info-hero--buyout .info-hero__art {
        right: -19px;
        bottom: -26px;
        width: 145px;
        max-height: none;
        transform: translate(calc(5px + 5%), 10%);
    }

    .info-hero--shops .info-hero__art {
        right: -19px;
        bottom: -26px;
        width: 145px;
        max-height: none;
        transform: translate(calc(5px + 10%), 10%);
    }

    .info-hero--delivery .info-hero__art {
        right: -19px;
        bottom: -26px;
        width: 163px;
        max-height: none;
        transform: translate(11%, -5%);
    }

    .info-hero--service .info-hero__art {
        right: -19px;
        bottom: -26px;
        width: 147px;
        max-height: none;
        transform: translate(calc(10% + 8px), 6%);
    }

    .info-hero--status .info-hero__art {
        right: -19px;
        bottom: -26px;
        width: 140px;
        max-height: none;
        transform: translate(calc(10% + 8px), 6%);
    }

    .status-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .delivery-methods__item {
        flex-direction: column;
        align-items: flex-start;
    }

    .status-item {
        grid-template-columns: 1fr;
    }

    .shop-map-frame {
        height: 280px;
    }

    .tradein-contact {
        flex-direction: column;
        align-items: flex-start;
    }

    .tradein-contact-image {
        width: 110px;
        height: 110px;
    }

    .info-contact-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .info-contact-image {
        width: 110px;
        height: 110px;
    }
}


