html{
    scrollbar-color: var(--red-background) var(--color-white-text);
    scrollbar-width: thin;
}

body{
    width: 100vw;
    height: 100vh;
}

:root {
    --header-logo-width: 70px;
    --header-logo-height: 15.35px;
    --header-full-height: 50px;
    --header-max-height: 20px;
    --header-icon-menu-wh: 20px;
    --margin-top-block: 51px;
    --input-search-width: 190px;
    --input-search-height: 30px;

    --red-background: #E62C36;
    --color-white-text: rgba(255, 255, 255, 1);
    --border-color: rgba(230, 44, 54, 0.15);
    --border-color-without-opacity: rgba(230, 44, 54, 1);
    --background-grey: rgba(0, 0, 0, 0.5);
    --background-black: rgba(0, 0, 0, 1);
    --bs-tooltip-bg: rgba(230, 44, 54, 1);

    --font-size-xxs: 8px;
    --font-size-xs: 9px;
    --font-size-s: 10px;
    --font-size-m: 12px;
    --font-size-l: 14px;

    --border-radius: 6px;
    --image-size: 95px;
    --image-size-vw: 15vw;
    --image-size-vh: 10vh;

    --garbage-count-font-size: 8px;
}

@font-face{
    font-family: 'headerFont';
    src: url('../css/fonts/BebasNeuePro-SemiExpXBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face{
    font-family: 'contentFont';
    src: url('../css/fonts/BebasNeuePro-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'GilroyR';
    src: url('../css/fonts/Gilroy-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'GilroyM';
    src: url('../css/fonts/Gilroy-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;

}

@font-face {
    font-family: 'GilroyS';
    src: url('../css/fonts/Gilroy-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

html, body {
    height: 100%;
}

body{
    margin: 0px;
    padding: 0px;
    background: var(--color-white-text);
    overflow-x: hidden;
    -ms-overflow-style: none;
}

.font-8r, .font-9r, .font-10r, .font-12r, .font-14r{
    font-family: 'GilroyR' !important;
}
.font-8m, .font-9m, .font-10m, .font-12m, .font-14m{
    font-family: 'GilroyM' !important;
}
.font-8s, .font-9s, .font-10s, .font-12s, .font-14s{
    font-family: 'GilroyS' !important;
}

.font-8r, .font-8m, .font-8s{
    font-size: var(--font-size-xxs) !important;
}
.font-9r, .font-9m, .font-9s{
    font-size: var(--font-size-xs) !important;
}
.font-10r, .font-10m, .font-10s{
    font-size: var(--font-size-s) !important;
}
.font-12r, .font-12m, .font-12s {
    font-size: var(--font-size-m) !important;
}
.font-14r, .font-14m, .font-14s {
    font-size: var(--font-size-l) !important;
}

.red-t {
    color: var(--red-background) !important;
}

h1, h2, h3, h4, h5, h6{
    font-family: headerFont;
}

h1{
    font-size: 24px !important;
}

h2{
    font-size: 16px !important;
    font-family: contentFont;
}

.w-9{
    width: 9% !important;
}
.w-15{
    width: 15% !important;
}
.w-30{
    width: 30% !important;
}
.w-40{
    width: 40% !important;
}
.w-45{
    width: 45% !important;
}
.w-65{
    width: 65% !important;
}
.w-70{
    width: 70% !important;
}
.w-85{
    width: 85% !important;
}
.w-90{
    width: 90% !important;
}

.h-45{
    height: 45% !important;
}
.h-70{
    height: 70% !important;
}

.content-font-r{
    font-family: GilroyR;
    font-weight: 400;
}

.small-desc{
    font-family: GilroyS;
    font-size: var(--font-size-s) !important;
    cursor: pointer;
}

buttons, .btn{
    background-color: var(--red-background) !important;
    color: white !important;
    font-family: GilroyM;
    font-size: 12px;
    letter-spacing: 1.1px !important;
}

.web-app.login, .web-app.redirect-login{
    height: inherit;
}

.icon-size{
    width: var(--header-icon-menu-wh);
    height: var(--header-icon-menu-wh);
}

.icon-resize{
    margin-top: 3px;
    width: 16px !important;
    height: 16px !important;
}

a{
    text-decoration: none !important;
    color: white !important;
    cursor: pointer;
}
input.input-search, input.input-search:focus {
    width: var(--input-search-width) !important;
    height: var(--input-search-height) !important;
    outline: none;
    border: 1px solid var(--red-background) !important;
    font-family: GilroyM;
    font-size: 12px !important;
    border-radius: var(--border-radius) !important;
}

/* История: плавное всплывание строки поиска */
.profile-header-history {
    position: relative;
}
.profile-header-history .search-container{
    transition: opacity 160ms ease, transform 160ms ease;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
}
.profile-header-history .search-container.open{
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
.profile-header-history .close-search{
    cursor: pointer;
    user-select: none;
    font-weight: bold;
    color: var(--red-background);
}


.animate-garbage{
    opacity: 0.9;
    left: 0px;
    position: absolute;
    object-fit: cover;
    z-index: 100;
    white-space: nowrap;
}

.block-info {
    /*top: 10%;*/
    left: 0px;
    user-select: none;

    .info {
        max-width: 340px;

        .info-i {
            height: auto;
            border-radius: var(--border-radius);
            background-color: white;
            z-index: 11;
            font-family: GilroyM !important;

            .title {
                color: rgba(0, 0, 0, 1);
            }

        }
    }
}

.background-grey{
    background-color: var(--background-grey) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    top: 0px;
    left: 0px;
}

.pos-fixed {
    position: fixed !important;
}

.overflow-hidden{
    overflow: hidden;
}

.img-aspect{
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.circle{
    width: 4px;
    height: 4px;
    border-radius: 50%;
    opacity: 60%;
    background-color: var(--background-black);
}

.up{
    transform: rotate(180deg);
}

.block-view-load {
    .div-img {
        height: 75vh !important;
    }

    .loading {
        width: 10vh;
        height: 10vh;
    }
}

/* Полноэкранный оверлей обработки заказа */
.processing-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--red-background);
    color: var(--color-white-text);
    border-radius: var(--border-radius);
    padding: 16px 24px;
    box-shadow: 0 8px 28px rgba(230, 44, 54, 0.18);
}

.processing-overlay .processing-title {
    font-size: var(--font-size-l);
    font-family: contentFont, sans-serif;
}

.processing-spinner {
    width: 26px;
    height: 26px;
    margin-top: 12px;
    border: 3px solid var(--color-white-text);
    border-top-color: transparent;
    border-radius: 50%;
    animation: processing-spin 0.8s linear infinite;
}

@keyframes processing-spin {
    to { transform: rotate(360deg); }
}

/* История операций: нижняя строка с ценой и датой */
.history-footer{
    border-top: 1px solid var(--border-color);
}
.history-footer .value:first-child{
    border-right: 1px solid var(--border-color);
}

/* История операций: карточки — визуал в стиле макета */
.profile-history-operations .block-carts{
    gap: 16px;
}
.profile-history-operations .block-carts .item.card{
    box-shadow: 0 8px 28px rgba(230, 44, 54, 0.18);
    border: 1px solid var(--border-color);
    border-top: none;
    border-radius: 12px;
    background-color: var(--color-white-text);
    overflow: hidden;
    margin: 12px; /* переопределяем bootstrap m-3 для равномерных отступов */
    /* Две карточки в строке, если ширины хватает */
}
.profile-history-operations .block-carts{
    justify-content: flex-start;
}
.profile-history-operations .block-carts .item.card .card-img-top{
    border-radius: var(--border-radius);
}
.profile-history-operations .block-carts .item.card .card-body{
    border-bottom: none; /* разделитель даёт history-footer */
    padding-bottom: 8px;
}
.profile-history-operations .block-carts .item.card .name{
    color: var(--background-black);
}
/* Скидочный бейдж в левом верхнем углу изображения */
.profile-history-operations .img-container{ display: flex; justify-content: center; align-items: center; }
.profile-history-operations .img-container .img-inner{ width: 75%; position: relative; }
.profile-history-operations .discount{
    color: var(--color-white-text);
    background-color: var(--red-background);
    padding: 4px 4px 3px 4px;
    position: absolute;
    top: 0px;
    left: 0px;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Ховер-анимация лёгкого увеличения, как в поиске */
.profile-history-operations .block-carts .item.card:hover{
    transform: scale(1.03);
    transition: transform 0.15s ease-in-out;
}
