
.global-spinner-wrapper {
    top: 0;
    left: 0;
    z-index: 10000;
    position: fixed;
    display: flex;
    width: 100%;
    height: 100%;
}

.vitrina_holder {

    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    border-radius: 10px;
    margin-top: 10px;
    margin-top: 10px;
    margin: 10px;
}

.vitrina_category_name {
    font-size: 30px;
    margin: 10px;
}

.vitrina_town {
    margin-left: 25px;
}

.vitrina_area {
    margin-left: 25px;
}

.captcha_container {
    display: flex;
    align-items: center;
}

.captcha_icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-direction: column;
}

.captcha_icons svg {
    fill: white !important;
    stroke: white !important;
}

.captcha_icons svg path {
    stroke: white !important;
}

svg {
    cursor: pointer;
}

.vitrina_good {
    margin-left: 25px;
    display: flex;
    gap: 10px;

}

.real_product_name {
    font-size: 20px;
    font-weight: 900;

}

.vitrina_town_name, .vitrina_area_name, .vitrina_amount, .vitrina_value, .vitrina_divider {
    font-size: 20px;
}

.auth_label {
    text-align: center;
    display: flex;
    justify-content: center;
}

.captcha {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    margin-left: 28%;
    filter: brightness(0) invert(1);
}

.vitrina_category, .discount_page_body {
    margin-top: 10px;
    background: rgba(0, 0, 0, 0.16);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 10px;
    padding: 8px 14px 20px;
    box-sizing: border-box;
    backdrop-filter: blur(8px);
}

.global-spinner {
    width: 80px;
    height: 80px;
    margin: auto;
    border: 3px solid no;
    border-top: 3px solid var(--border-top-spinner);
    border-radius: 100%;
    animation: spin 1s infinite linear;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.svg_toggler {
    margin-left: 20px;
}

.svg_toggler path {
    fill: var(--text-color) !important;
}

@media screen and (min-width: 600px) {
    body {
        display: flex;
        flex-direction: row;
        width: 100%;
        overflow-y: auto;
    }

    #view_page {
        position: absolute;
        overflow-y: auto;
        width: calc(100%) !important;
    }
}

.no_entry_block {
    border: 1px dashed var(--text-color);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
}

.save_button {
    border: 1px dashed var(--text-color);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    width: 200px;
    background: var(--success-color);
    justify-content: center;
}

.button {
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    overflow: hidden;
    word-wrap: break-word;
    text-overflow: ellipsis;
    color: var(--text-color);
    width: 200px;
    background: var(--success-color);
    justify-content: center;
}

.second_text {
    color: var(--second-text-color);
}

.no_entry_block_child {
    border: 1px dashed var(--text-color);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
}

.input_form {
    border: none;
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    background: var(--bg-color);
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--text-color);
    font-size: 20px;
    width: calc(100% - 40px);
    position: relative;
    justify-content: center;
}

select.input_form {
    width: 100% !important;
}

input::placeholder, textarea::placeholder {
    opacity: 1;
    transition: 1s;
    font-size: 14px;
    font-family: -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Helvetica Neue, Helvetica, roboto, arial;
    letter-spacing: -0.12px;
    color: var(--second-text-color);
}

.entry_block_child {
    border: 1px solid var(--text-color);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    background: var(--success-color);
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    justify-content: center;
}

.entry_block {
    border: 1px solid var(--text-color);
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
    background: var(--bg-color);
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    justify-content: base-line;
}

.child_body {
    margin-top: 10px;
    border: 1px dashed var(--text-color);
    border-radius: 5px;
    padding: 10px;
}

.toggle_me:hover {
    cursor: pointer;
}

@media screen and (max-width: 800px) {
    .panel_body {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin: 10px;
        width: calc(100% - 65px);

    }

    .left_panel {
        width: 100%;
        padding: 20px;
        background: var(--nav-color);
        border-radius: 10px;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }

    .right_panel {
        width: 100%;
        padding: 20px;
        background: var(--nav-color);
        border-radius: 10px;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }
}

@media screen and (min-width: 800px) {
    .panel_body {
        display: flex;
        gap: 20px;
        margin: 20px;
    }

    .left_panel {
        width: 50%;
        padding: 20px;
        background: var(--nav-color);
        border-radius: 10px;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }

    .right_panel {
        width: 50%;
        padding: 20px;
        background: var(--nav-color);
        border-radius: 10px;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }
}

@media screen and (min-width: 400px) {
    .page {
        background: var(--nav-color);
        padding: 20px;
        margin: 20px;
        border-radius: 10px;
        transition: 1s;
    }

    .product_page {
        padding-left: 0px;
        padding-right: 0px;
        margin-left: 0px;
        margin-right: 0px;
    }

    .page_login {
        background: var(--nav-color);
        padding: 20px;
        margin-left: calc(50% - 170px);
        margin-top: calc(20px);
        width: 300px;
        height: 300px;

        border-radius: 10px;
        transition: 1s;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }

    .page_order {
        background: var(--nav-color);
        padding: 20px;
        width: 300px;
        border-radius: 10px;
        transition: 1s;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }
}

@media screen and (min-width: 800px) {
    .product_page {
        padding-left: 20px;
        padding-right: 20px;
        margin-left: 20px;
        margin-right: 20px;
    }
}

@media screen and (max-width: 400px) {

    .page {
        background: var(--nav-color);
        padding: 10px;
        margin: 10px;
        border-radius: 10px;
        transition: 1s;
    }

    .page_order {
        background: var(--nav-color);
        padding: 20px;
        width: 300px;
        border-radius: 10px;
        transition: 1s;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }

    .page_login {
        background: var(--nav-color);
        padding: 20px;
        width: 300px;
        margin-left: calc(50% - 170px);
        margin-top: 20px;
        height: 300px;
        border-radius: 10px;
        transition: 1s;
        -webkit-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        -moz-box-shadow: 4px 4px 8px 0px var(--shadow-color);
        box-shadow: 4px 4px 8px 0px var(--shadow-color);
    }
}

.flex_container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.array_entry {
    background: var(--success-color);
    padding: 20px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}

input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.no_entry_block:hover {
    cursor: pointer;
}

.input_form:focus, .input_form:active {
    border: 1px solid var(--border-top-spinner);
    outline: none;
}

#photo_preview {
    max-width: 100%;
    min-height: 150px;
    object-fit: contain;
}

.centered {
    display: flex;
    justify-content: center;
}

.link {
    color: var(--text-color);
}

#root {
    overflow-y: auto;
}

@media screen and (max-width: 400px) {
    #confirmation_popup, #form_popup {
        position: fixed;
        width: calc(100% - 15px);
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        height: 200px;
        top: calc(50% - 100px);
        left: 0;
        padding: 10px;
        z-index: 20;
        background: var(--bg-color);
        outline: 300em solid rgba(0, 0, 0, .4);
    }

}

@media screen and (min-width: 110px) {
    #confirmation_popup, #form_popup {
        position: fixed;
        width: 350px;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        height: 200px;
        top: calc(50% - 100px);
        left: calc(50% - 175px);
        padding: 10px;
        z-index: 20;
        background: var(--bg-color);
        outline: 300em solid rgba(0, 0, 0, .4);
    }

    #success_popup {
        background: var(--success-alert);
        padding: 10px;
        position: fixed;

        right: 0px;
        top: 0px;
        left: 0px;
        width: 100%;

        margin-left: auto;
        margin-right: auto;

        z-index: 10;
        border-bottom: 3px solid green;
        color: black;
        transition: 1s;
    }

    #error_popup {
        background: var(--border-top-spinner);
        padding: 10px;

        margin-left: auto;
        margin-right: auto;

        width: 100%;
        left: 0px;
        right: 0px;
        top: 0px;

        position: fixed;

        border-bottom: 3px solid black;
        color: black;
        z-index: 10;
        transition: 1s;
    }
}

html,
body {
    height: 100%;
    margin: 0;
    overflow-y: auto;
    transition: 1s;
    padding: 0;
    background: var(--bg-color);
    color: var(--text-color);
    font-family: -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Helvetica Neue, Helvetica, roboto, arial;
    letter-spacing: -0.12px;

}

h1 {
    color: var(--text-color);
}

.second-text {
    color: var(--second-text);
}

.make_order_balance__button {
    margin-top: 0;
    padding: 15px;
    margin-left: 0px !important;
}

.town_list {
    display: flex;
    gap: 5px;
    justify-content: center;
    flex-wrap: wrap;
}

.area_list {
    display: flex;
    gap: 5px;
    justify-content: center;
    flex-wrap: wrap;
}

.center_text {
    text-align: center;
}

.board_town_page {
    font-family: -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Helvetica Neue, Helvetica, roboto, arial;
    letter-spacing: -0.12px;
}

.product_card {
    width: calc(20% - 50PX);
    min-height: 200px;
    max-height: 400px;
    padding: 20px;
    position: relative;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--bg-color);
}

.product_card:hover {
    cursor: pointer;
}

.product_name {
    text-align: center;
}

.product_container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.product_img {
    object-fit: CONTAIN;
    width: 100%;
    height: 180px;
    margin-top: 5px;
}

@media screen and (MAX-width: 800px) {
    .product_card {
        padding: 15px;

    }
}

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

    .product_card {
        padding: 10px;

    }

    .page_products {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .profile_button {
        margin: 0;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        width: 170px;
        margin-bottom: 10px;
    }
}

@media screen and (MAX-width: 400px) {
    .product_card {
        padding: 5px;
        width: 100%;
    }
}

.auth_button {
    border: none;
    text-align: center;
    justify-content: center;
}

.buttons-container-auth {
    text-align: center;
    justify-content: center;
    display: flex;
}

.reg_button {
    text-align: center;
    color: var(--action-button);
}

.reg_button:hover {
    cursor: pointer;
}

.log_out_button {
    text-align: center;
    cursor: pointer;
    color: var(--action-button);
}

.check_button {
    text-align: center;
    cursor: pointer;
    color: var(--action-button);
}

.account_top_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.back__button {
    display: flex;
    align-items: center;
    margin-top: 14px;
    margin-left: 14px;
}

.devider {
    border-bottom: 1px solid var(--border-bottom-color);
}

.order_price_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    width: 100%;
}

.order_price_currency b {
    font-size: 13px;
}

.order_price b {
    font-size: 13px;
}

.order_price {
    padding: 10px;
    background: var(--bg-color);
    border-radius: 5px;
    width: 50%;
    display: grid;
}

.order_price_currency {
    padding: 10px;
    background: var(--bg-color);
    border-radius: 5px;
    display: grid;
    width: 50%;
}

.yellow_block-paymentForm {
    display: flex;
    gap: 6px;
    padding: 12px 16px;
    flex-direction: column;
    background: var(--warn-bg-color);
    border-radius: 8px;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
}

.yellow_block-paymentForm .prefix_text-paymentForm {
    color: var(--warn-text-color);
}

.prefix_text-paymentForm {
    font-size: 13px;
    color: var(--prefix-payment-text-color);
}

.yellow_block-paymentForm .title_text-paymentForm {
    color: var(--prefix-title-text-color);

}

.title_text-paymentForm {
    font-size: 14px;
    font-weight: 600;
}

.green_block-paymentForm {
    display: flex;
    gap: 6px;
    padding: 12px 16px;
    flex-direction: column;
    background: var(--green-bg-color-panel-payment);
    border-radius: 8px;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
}

.mn-12-0-0 {
    margin-top: 12px;
}

.green_block-paymentForm .title_text-paymentForm {
    color: var(--green-textcolor-panel-payment);
}

.red_block-paymentForm {
    color: var(--red-textcolor-panel-payment);
}

.cancel_button {
    text-align: center;
    cursor: pointer;
    color: var(--cancel-color-text);
}

.open_button {
    text-align: center;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    color: var(--cancel-color-text);
}

.open_button_history {
    cursor: pointer;
    color: var(--cancel-color-text);
}

.open_button_history : hover {
    cursor: pointer;
}

.open_button : hover {
    cursor: pointer;
}

.cancel_button : hover {
    cursor: pointer;
}

.red_block-paymentForm {
    display: flex;
    gap: 6px;
    padding: 12px 16px;
    flex-direction: column;
    background: var(--cancel-color);
    border-radius: 8px;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
}

.title_text-paymentForm {
    font-size: 14px;
    font-weight: 600;
}

.blure_order {
    filter: blur(4px);
}

.history__container {

}

.reviews__container {

}

.reserve_info {
    padding: 30px;
    border-radius: 5px;
    margin-bottom: 10px;
    background: var(--bg-color);
    color: var(--warn-text-color);
}

.review_body {
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    background: var(--warn-bg-color);
    color: var(--warn-text-color);
}

.history_entry__ {
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    background: var(--warn-bg-color);
    color: var(--warn-text-color);
}

.hist_success {
    background: var(--green-bg-color-panel-payment);
    color: var(--hist-ss-color);
}

.hist_cancelled {
    background: var(--cancel-color);
    color: var(--red-textcolor-panel-payment);
}

.review_entry_grid {
    display: grid;
    margin-top: 5px;
}

.history_entry_grid {
    display: grid;
    margin-top: 5px;
}

.reserve_entry_grid {
    display: grid;
    margin-top: 5px;
}

:root {
    --bg-color: #303030;
    --hist-ss-color: rgb(10, 199, 132);
    --nav-color: rgb(39, 39, 39);;
    --warn-bg-color: #ffa64d29;
    --text-color: #f5f5f5;;
    --warn-text-color: #d6d6d6;
    --border-spinner: rgb(148, 148, 148);
    --border-top-spinner: rgb(34, 142, 93);;
    --border-bottom-color: rgb(148, 148, 148);
    --shadow-color: rgba(34, 60, 80, 0.2);
    --success-color: rgb(34, 142, 93);
    --success-alert: rgb(124, 179, 66);
    --check-color: var(--bg-color);
    --second-text-color: rgb(148, 148, 148);
    --table-header-color: #f9f9f9;
    --cancel-color: rgb(255, 106, 112, 0.12);
    --second-text: rgb(148, 148, 148);
    --cancel-color-text: rgb(255, 106, 112);;
    --action-button: rgb(0, 186, 120);
    --prefix-payment-text-color: #949494;
    --prefix-title-text-color: #FFA64D;
    --red-textcolor-panel-payment: rgb(255, 106, 112);
    --green-bg-color-panel-payment: rgb(0, 186, 120, 0.16);
    --green-textcolor-panel-payment: rgb(10, 199, 132);
}

.order_container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.robotics_panel {
    margin-left: 15px;
    margin-right: 15px;
    display: grid;
    background: rgb(0 186 120 / 18%);
    padding: 10px;
    border-radius: 5px;
    width: auto;
    color: rgb(20, 199, 132);;
}

.robotics_panel b {
    margin-top: 5px;
}

.paned_red {
    background: rgb(255, 106, 112, 0.50);
    color: var(--red-textcolor-panel-payment);
}

.paned_yellow {
    background: #ffa64d6e;
    color: #a35b13;
}

.board_town_page {
    white-space: pre-line;
}

.style_toggler {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    cursor: pointer;
    justify-content: center;
}

.language_select {
    cursor: pointer;
}

.title_text-paymentForm b {
    word-wrap: break-word
}

.product_desc {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product_card:hover {
    transition: 0.3s;
    transform: scale(1.03);
}

.balance_entry_container {
    display: grid;
}

:root {
    --bg-color: linear-gradient(136.88deg, #eb4ee6, #338cf5 50.52%, #4eebc0);
    --hist-ss-color: rgb(10, 199, 132);
    --nav-color: rgb(235, 243, 255, 0.4);
    --warn-bg-color: #ffd7af47;
    --text-color: white;
    --warn-text-color: #794c1f;
    --border-spinner: white;
    --border-top-spinner: rgb(97, 206, 255);
    --border-bottom-color: rgb(148, 148, 148);
    --shadow-color: rgba(34, 60, 80, 0.2);
    --success-color: #b04ab1;
    --success-alert: rgb(124, 179, 66);
    --check-color: var(--bg-color);
    --second-text-color: rgb(30, 30, 31);
    --table-header-color: #f9f9f9;
    --cancel-color: rgb(255, 240, 240);
    --second-text: white;
    --cancel-color-text: rgb(187, 0, 50);
    --action-button: rgb(62, 62, 156);
    --prefix-payment-text-color: rgb(11, 87, 208);
    --prefix-title-text-color: #5a432ba3;
    --red-textcolor-panel-payment: rgb(255, 106, 112);
    --green-bg-color-panel-payment: rgb(24, 39, 34, 0.4);
    --green-textcolor-panel-payment: rgb(11, 87, 60, 0.5);
}

html, body {
    scroll-behavior: smooth;
    scrollbar-color: rgba(255, 255, 255, 0.64) rgba(33, 33, 33, 0.08);
    scrollbar-width: thin;
    /* Без !important: дефолтный фон остаётся, но кастомная картинка сайта
       (дописывается бэкендом ниже как body{background:...}) может его перебить. */
    background: none;
    background-image: linear-gradient(#0e213e 0%, #0e213e 100%);

}

.log_out_button, .reg_button, .cancel_button, .open_button, .custom___PAGE, .open_button_history, .check_button {
    color: rgb(97, 206, 255);
}

.second_text, .prefix_text-paymentForm, .title_text-paymentForm, .title_text-paymentForm {
    color: rgba(255, 255, 255, 0.64);
}

.yellow_block-paymentForm .prefix_text-paymentForm {
    color: rgba(255, 255, 255, 0.64);
}

.yellow_block-paymentForm .title_text-paymentForm {
    color: rgba(255, 255, 255, 0.64);
}

.green_block-paymentForm .title_text-paymentForm {
    color: rgba(255, 255, 255, 0.64);
}

.page, .product_card, .reserve_info, .page_order, .page_login, .review_body {
    background: rgba(0, 0, 0, 0.16);
    color: rgba(255, 255, 255, 0.92);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.history_entry__, .order_price, .order_price_currency, .yellow_block-paymentForm, .red_block-paymentForm, .green_block-paymentForm {
    background: rgba(0, 0, 0, 0.26);
}

#confirmation_popup, #form_popup {
    background: rgba(0, 0, 0);;
}

.language_select {
    color: white;
    border: none !important;
    border-radius: 5px;
}

.button {
    background: rgb(46, 190, 255);
    border-radius: 2rem;
    background: #2ebeff;
    color: #fff;
    transition: box-shadow 0.35s;
}

.input_form:focus, .input_form:active {
    border: 1px solid var(--border-top-spinner);
    outline: none;
}

.input_form::placeholder {
    color: rgba(255, 255, 255, 0.64);
}

.input_form {
    background: rgba(0, 0, 0, 0.26);
    color: rgba(255, 255, 255, 0.64);
}

.style_toggler {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    cursor: pointer;
    margin-right: 5px;
}

@media screen and (max-width: 700px) {

    .robotics_nav_container {
        display: flex;
        gap: 5px;
        justify-content: center;
        margin-top: -8px;
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 400px) {
    .page_products {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

.nav_button_menu_language {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.__price_discount::before {
    background: #99a3ae;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: rotate(-3deg);
    width: 100%;
}

.products_fas {
    max-height: 100px !important;
}

.robotics_nav_container {
    flex-wrap: wrap;
}

.drop_down_info {
    font-size: 20px;
    padding: 10px;
}

.fas_list {
    display: flex;
    gap: 5px;
    justify-content: center;
    flex-wrap: wrap;
}

.discount_page_body {
    margin-left: 10px;
    margin-right: 10px;
    padding: 10px;
}

img {
    max-width: 100%;

}

:root {
    --primary-color: rgb(46, 190, 255);
    --secondary-color: rgb(46, 190, 255);
    --nav-bg: var(--nav-color);
    --nav-link-color: white;
    --nav-link-hover: rgb(46, 190, 255);
    --dropdown-bg: black;
    --border-color:  1px solid rgba(255, 255, 255, 0.12);
    --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    --transition: all 0.3s ease;
}

.auo_ads {
    text-decoration: none;
}

html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: sans-serif;
}

.main {
    flex: 1;
}

#footer {

}

.page_login {
    margin-bottom: 20px;
}
.product_card {
    width: 300px;
    min-height: 400px;
    max-height: 1000px;
    overflow: hidden;
    padding: 20px;
    position: relative;
    border-radius: 10px;
    display: flex;
    padding: 0;
    flex-direction: column;
    justify-content: start;
}

.product_card:hover {
    cursor: pointer;
}

.product_img {
    object-fit: cover;
    width: 300px;
    height: 300px;
    margin:0px !important;
}

@media screen and (MAX-width: 1000px) {
    .product_card {
        width: 300px;
    }
}

@media screen and (MAX-width: 800px) {
    .product_card {
        width: 300px;
    }
}

@media screen and (MAX-width: 700px) {

    @media screen and (max-width: 700px) {
        .product_card {
            width: 300px;
        }
    }
}

@media screen and (MAX-width: 400px) {
    .product_card {
        width: 100%;
    }
    .product_img {
        object-fit: cover;
        width: 100%;
        height: 400px;
    }
}
.header_card_top {
    position: absolute;
    width: 100%;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3px;
    gap: 3px;
    backdrop-filter: blur(10px); /* Размытие заднего фона */
    background: rgba(0, 0, 0, 0.2);
}

.stock_type, .product_variant_name, .product_name_card_top {
    color: white;
}
.real_product_name {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}
.product_desc {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 10;
    line-clamp: 10;
    -webkit-box-orient: vertical;
}

@keyframes header-fix-anim {
    0% {
        background: transparent;
        transform: translateY(-100%)
    }
    to {
        background: #00000078;
        transform: translateY(0);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }
}

.navbar {
    animation: header-fix-anim .33s ease-out forwards;
    border-bottom: none;
    opacity: 0.9;
    background-color: var(--nav-bg);
    box-shadow: var(--shadow);
    padding: 12px;
    position: sticky;
    top: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    z-index: 1000;
    transition: var(--transition);
    margin-bottom: 20px;
    border-radius: 1rem;
    border: var(--border-color);
}

.navbar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 5px;
}

.navbar-brand .logo {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-color);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
    display: inline-block;
}

.navbar-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-item {
    position: relative;
    margin: 0 5px;
}

.nav-item a {
    color: var(--nav-link-color);
    text-decoration: none;
    padding: 8px 10px;
    display: block;
    transition: var(--transition);
    font-weight: 500;
    font-size: 0.9rem;
}

.nav-item a:hover {
    color: var(--nav-link-hover);
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--dropdown-bg);
    box-shadow: var(--shadow);
    border-radius: 4px;
    list-style: none;
    padding: 8px 0;
    min-width: 180px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: var(--transition);
    z-index: 1000;
}

.dropdown-menu li a {
    padding: 6px 15px;
    white-space: nowrap;
    font-size: 0.85rem;
}

.nav-item.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.navbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bot-button {
    display: flex;
    align-items: center;
    background-color: var(--primary-color);
    color: var(--text-color);
    padding: 6px 10px;
    border-radius: 4px;
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.8rem;
}

.bot-button:hover {
    background-color: var(--secondary-color);
}

.bot-text {
    margin-left: 5px;
    font-size: 0.8rem;
}

.language-switcher {
    position: relative;
}

.language-btn {
    background: none;
    border: none;
    color: var(--nav-link-color);
    cursor: pointer;
    font-weight: 500;
    padding: 4px 8px;
    font-size: 0.8rem;
    min-width: 30px;
}

.language-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: var(--dropdown-bg);
    box-shadow: var(--shadow);
    border-radius: 4px;
    padding: 6px;
    min-width: 50px;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.language-switcher:hover .language-dropdown {
    opacity: 1;
    visibility: visible;
}

.language-dropdown a {
    display: block;
    padding: 4px 8px;
    color: var(--nav-link-color);
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.8rem;
}

.language-dropdown a:hover {
    color: var(--nav-link-hover);
}

.theme-toggle {
    background: none;
    border: none;
    color: var(--nav-link-color);
    cursor: pointer;
    font-size: 1rem;
    position: relative;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.theme-toggle i {
    position: absolute;
    transition: var(--transition);
}

.fa-moon {
    opacity: 0;
}

[data-theme="dark"] .fa-moon {
    opacity: 1;
}

[data-theme="dark"] .fa-sun {
    opacity: 0;
}

.user-profile a {
    color: var(--nav-link-color);
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    transition: var(--transition);
    flex-shrink: 0;
}

.user-profile a:hover {
    background-color: rgba(0, 0, 0, 0.1);
    color: var(--nav-link-hover);
}

.navbar-toggler {
    display: none;
    background: none;
    border: none;
    color: var(--nav-link-color);
    font-size: 1.3rem;
    cursor: pointer;
    padding: 4px;
    margin-left: 5px;
}

@media (max-width: 992px) {
    .navbar-menu {
        position: fixed;
        top: 0;
        left: -100%;
        width: 80%;
        max-width: 280px;
        height: calc(100vh);
        background-color: var(--dropdown-bg);
        flex-direction: column;
        padding: 15px;
        transition: var(--transition);
        z-index: 999;
    }

    .navbar-menu.active {
        left: 0;
    }

    .nav-item {
        margin: 4px 0;
    }

    .dropdown-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        display: none;
        padding-left: 12px;
    }

    .nav-item.dropdown:hover .dropdown-menu,
    .nav-item.dropdown.active .dropdown-menu {
        display: block;
    }

    .navbar-toggler {
        display: block;
    }

    .bot-text {
        display: none;
    }
}

#success_popup, #error_popup {z-index:99999;}

@media (max-width: 576px) {
    .navbar-brand .logo {
        max-width: 120px;
        font-size: 1.1rem;
    }

    .navbar-actions {
        gap: 5px;
    }

    .language-btn {
        padding: 4px 6px;
        min-width: 28px;
    }

    .theme-toggle {
        width: 28px;
        height: 28px;
        font-size: 0.9rem;
    }

    .user-profile a {
        width: 28px;
        height: 28px;
        font-size: 0.9rem;
    }
}

/* ── Комьюнити (чат/диспуты) для темы blue ──
   На тёмном фоне белый текст; пузыри — как карточки .page;
   без розового success-color на своих сообщениях и кнопках. */
.community_section.community_section {
    --community-surface: transparent;
    --community-border: rgba(255, 255, 255, 0.12);
    --community-divider: rgba(255, 255, 255, 0.1);
    --community-frame-border: 1px solid rgba(255, 255, 255, 0.12);
    --community-hover-bg: rgba(255, 255, 255, 0.06);
    --community-modal-bg: #0e213e;
    --community-stat-bg: rgba(0, 0, 0, 0.32);
    --community-bubble-bg: rgba(0, 0, 0, 0.26);
    --community-bubble-text: rgba(255, 255, 255, 0.92);
    --community-bubble-own-bg: rgba(0, 0, 0, 0.26);
    --community-bubble-own-text: rgba(255, 255, 255, 0.92);
    --community-skeleton-shine: rgba(255, 255, 255, 0.1);
}
.community_section,
.community_section .community_content,
.community_section .community_dispute_title {
    color: rgba(255, 255, 255, 0.92);
}
.community_section .second-text {
    color: rgba(255, 255, 255, 0.64);
}
.community_section .community_chat_message_own .community_chat_bubble,
.community_section .community_chat_message_other .community_chat_bubble {
    color: rgba(255, 255, 255, 0.92);
}
.community_modal.community_modal,
.community_modal.page_login {
    --community-modal-bg: #0e213e;
    background: var(--community-modal-bg) !important;
    backdrop-filter: none !important;
    border: 0;
    box-shadow: 4px 4px 8px 0 var(--shadow-color);
    color: rgba(255, 255, 255, 0.92);
}
.community_modal .second-text {
    color: rgba(255, 255, 255, 0.64);
}
.community_section .community_btn,
.community_section .community_btn_icon {
    color: rgba(255, 255, 255, 0.92) !important;
}
.community_section .community_dispute_item:hover {
    background: rgba(0, 0, 0, 0.38);
}

/* ── Казино для темы blue ── */
.community_section.community_section {
    --casino-border: rgba(255, 255, 255, 0.18);
    --casino-reel-bg: rgba(0, 0, 0, 0.26);
    --casino-accent: var(--success-color);
    --casino-win: var(--success-alert);
    --casino-win-glow: rgba(124, 179, 66, 0.28);
}

.community_section.community_section .community_casino_badge {
    border-color: var(--casino-border);
}
.community_section.community_section .community_casino_machine {
    border-color: var(--casino-border);
}
.community_section.community_section .casino-reel {
    border-color: var(--casino-border);
    background: var(--casino-reel-bg);
}
.community_section.community_section .casino-reel-locked {
    border-color: var(--casino-accent);
}
.community_section.community_section .casino-slot-win .casino-reel {
    border-color: var(--casino-win);
    box-shadow: 0 0 0 2px var(--casino-win-glow);
}
.community_section.community_section .community_casino_message.community_casino_win {
    color: var(--casino-win);
}


/* Формы входа: одинаковая ширина полей и действий, зазор перед ALTCHA. */
.page_login .captcha_container {
    margin-top: 16px;
    margin-bottom: 4px;
}
.page_login .buttons-container-auth {
    margin-top: 12px;
}
.page_login .buttons-container-auth .auth_button {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    margin-top: 0;
    padding: 14px 20px;
    font: inherit;
}
/* Существующий скелетон использует палитру темы и на светлых поверхностях. */
.community_skel.community_skel {
    background-image: linear-gradient(90deg, var(--community-divider, var(--border-bottom-color)) 25%, var(--community-skeleton-shine, var(--shadow-color)) 50%, var(--community-divider, var(--border-bottom-color)) 75%);
}

/* Галочка появляется целиком сразу после проверки, без промежуточной точки. */
.captcha_container .altcha-checkbox input:checked + svg {
    transition: none;
}

/* Контраст подписей на светлой акцентной заливке. */
.button,
.button .area_name,
.button .town_name,
.bot-button,
.community_tab.button,
.cabinet_page .community_tab.button {
    color: #082943;
}

/* Модальные окна должны закрывать фон страницы, в том числе поверх фото темы. */
.community_section.community_section,
.cabinet_page,
.community_modal.community_modal,
.cabinet_modal.cabinet_modal,
.captcha_container {
    --community-modal-bg: #0e213e;
    --second-text-color: #d3d9e0;
    --cancel-color-text: #ff8fa1;
    --green-textcolor-panel-payment: #88dab6;
}
.community_modal.community_modal,
.cabinet_modal.cabinet_modal {
    background: var(--community-modal-bg) !important;
    color: #f1f3f6;
    backdrop-filter: none !important;
}
.community_modal .second-text,
.community_modal .auth_label,
.cabinet_modal .cabinet_modal_desc,
.cabinet_modal .cabinet_modal_label {
    color: var(--second-text-color);
}
.captcha_container {
    --nav-color: #0e213e;
    --text-color: #f1f3f6;
    --second-text: #d3d9e0;
    --border-bottom-color: #8d99a5;
}

/* ALTCHA: деликатная обводка из той же палитры, что и рамки темы. */
.captcha_container .altcha-main {
    border: var(--border-color);
    background: transparent;
}

/* Error popovers use the opposite surface color for readable text. */
.captcha_container altcha-widget {
    --altcha-color-error-content: var(--nav-color) !important;
}

/* Avatar controls share the theme frame on every account page. */
.cabinet_page .cabinet_avatar:not(.cabinet_avatar_skel),
.cabinet_page .cabinet_avatar_actions .community_btn,
.cabinet_page .cabinet_avatar_actions .community_btn_icon {
    border: var(--border-color);
}

/* Opaque modal colors prevent the translucent navigation color from flashing white. */
.community_skel.community_skel,
.banner_skeleton.banner_skeleton {
    background-color: var(--community-modal-bg, #0e213e);
    background-image: linear-gradient(90deg, color-mix(in srgb, var(--text-color) 4%, var(--community-modal-bg, #0e213e)) 25%, color-mix(in srgb, var(--text-color) 8%, var(--community-modal-bg, #0e213e)) 50%, color-mix(in srgb, var(--text-color) 4%, var(--community-modal-bg, #0e213e)) 75%) !important;
    background-size: 200% 100%;
}

/* Profile edit actions remain visible without changing the shared markup. */
.cabinet_page .cabinet_name_actions .community_btn {
    border: var(--border-color);
    background: var(--community-modal-bg, var(--nav-color));
    color: var(--text-color);
}
.cabinet_page .cabinet_name_actions .community_btn:first-child {
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 18%, var(--community-modal-bg, var(--nav-color)));
    border-color: var(--primary-color, var(--border-top-spinner));
}

/* Bot and reservation panels need their own readable surface over photos. */
.cabinet_bot_promo.cabinet_bot_promo {
    background: var(--panel-fill, rgba(14, 33, 62, .85));
    border: var(--border-color);
    color: var(--text-color);
    backdrop-filter: blur(8px);
}
.site_modal.community_modal.page_login,
.community_modal.community_modal,
.cabinet_modal.cabinet_modal {
    --community-modal-bg: #0e213e;
    background: var(--community-modal-bg) !important;
}

/* Compact account and service fields; auth, review and chat composer keep their styles. */
.cabinet_page input.input_form:not(.cabinet_otp_digit),
.community_modal_login input.input_form,
.cabinet_coupon_row input.input_form,
.site_modal input.site_modal_input,
.cabinet_modal input.cabinet_modal_input,
.balance_page__ input.input_form {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 46px;
    min-height: 46px;
    margin: 0;
    padding: 11px 14px;
    border: var(--border-color);
    border-radius: 10px;
    background: rgba(14, 30, 54, .9);
    color: var(--text-color);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    text-align: left;
    letter-spacing: normal;
    box-shadow: none;
    outline: 2px solid transparent;
    outline-offset: 1px;
    transition: border-color .15s ease, outline-color .15s ease;
}
.cabinet_page input.input_form:not(.cabinet_otp_digit)::placeholder,
.community_modal_login input.input_form::placeholder,
.cabinet_coupon_row input.input_form::placeholder,
.site_modal input.site_modal_input::placeholder,
.cabinet_modal input.cabinet_modal_input::placeholder,
.balance_page__ input.input_form::placeholder {
    color: var(--text-color);
    opacity: .65;
    font: inherit;
    letter-spacing: normal;
    transition: none;
}
.cabinet_page input.input_form:not(.cabinet_otp_digit):focus,
.community_modal_login input.input_form:focus,
.cabinet_coupon_row input.input_form:focus,
.site_modal input.site_modal_input:focus,
.cabinet_modal input.cabinet_modal_input:focus,
.balance_page__ input.input_form:focus {
    border-color: var(--primary-color, var(--border-top-spinner));
    outline-color: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 20%, transparent);
}
.cabinet_page input.input_form:not(.cabinet_otp_digit):disabled,
.community_modal_login input.input_form:disabled,
.cabinet_coupon_row input.input_form:disabled,
.site_modal input.site_modal_input:disabled,
.cabinet_modal input.cabinet_modal_input:disabled,
.balance_page__ input.input_form:disabled {
    opacity: .6;
    cursor: not-allowed;
}
.cabinet_page .cabinet_name_form {
    gap: 12px;
}
.cabinet_page .cabinet_name_actions {
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 12px;
}
.cabinet_page .cabinet_name_actions .community_btn {
    min-height: 38px;
    padding: 8px 16px;
}
.cabinet_coupon_row .auth_button.auth_button {
    height: 46px;
    min-height: 46px;
}

/* Order states and chat feedback share the semantic palette of this theme. */
.cabinet_history.cabinet_history,
.page_order.page_order,
.community_modal_profile.community_modal_profile,
.community_chat_meta.community_chat_meta,
.community_disputes_panel.community_disputes_panel {
    --warn-bg-color: #302f26;
    --warn-text-color: #ead083;
    --green-bg-color-panel-payment: #193b3c;
    --hist-ss-color: #8bdabf;
    --green-textcolor-panel-payment: #8bdabf;
    --cancel-color: #412936;
    --red-textcolor-panel-payment: #f4a5b6;
}
.cabinet_history .history_entry__ {
    background: var(--warn-bg-color);
    color: var(--warn-text-color);
    border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
    border-left: 3px solid currentColor;
}
.cabinet_history .history_entry__.hist_success {
    background: var(--green-bg-color-panel-payment);
    color: var(--hist-ss-color);
}
.cabinet_history .history_entry__.hist_cancelled {
    background: var(--cancel-color);
    color: var(--red-textcolor-panel-payment);
}
.cabinet_history .history_entry__ .second_text,
.cabinet_history .history_entry__ .open_button_history {
    color: inherit;
}
.cabinet_history .history_entry__ .open_button_history {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.page_order.page_order > b {
    background: transparent;
    color: var(--warn-text-color);
}
.page_order.page_order > b.hist_success {
    color: var(--hist-ss-color);
}
.page_order.page_order > b.hist_cancelled {
    color: var(--red-textcolor-panel-payment);
}

/* Keep the coupon readable even inside narrow payment cards. */
.cabinet_coupon .cabinet_coupon_row {
    flex-wrap: wrap;
}
.cabinet_coupon .cabinet_coupon_row input.input_form {
    flex: 1 1 160px;
}
.cabinet_coupon .cabinet_coupon_row .auth_button {
    flex: 1 1 140px;
    max-width: 100%;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 14px;
    white-space: normal;
}

/* Language picker uses local SVG flags and an opaque theme surface. */
.navbar.navbar { opacity: 1; }
.language-switcher.language-switcher .language-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--nav-link-color, var(--text-color));
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}
.language-switcher.language-switcher .language-btn:hover,
.language-switcher.language-switcher .language-btn[aria-expanded="true"] {
    background: color-mix(in srgb, currentColor 8%, transparent);
    border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
}
.language-switcher.language-switcher img {
    display: block;
    width: 24px;
    height: 18px;
    flex: 0 0 24px;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--text-color) 12%, transparent);
}
.language-switcher.language-switcher .language-dropdown {
    right: 0;
    left: auto;
    top: calc(100% + 8px);
    width: 232px;
    min-width: 0;
    max-width: calc(100vw - 24px);
    padding: 0;
    border: var(--border-color);
    border-radius: 10px;
    background: #0e213e;
    color: var(--text-color);
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
    text-shadow: none;
    transform: none;
    z-index: 1100;
}
.language-switcher.language-switcher:not(.open) .language-dropdown {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.language-switcher.language-switcher.open .language-dropdown {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.language-switcher.language-switcher .language-dropdown-inner {
    max-height: min(60vh, 360px);
    padding: 6px;
    scrollbar-color: color-mix(in srgb, var(--text-color) 25%, transparent) transparent;
}
.language-switcher.language-switcher .language-dropdown-inner a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    box-sizing: border-box;
    padding: 10px;
    border-radius: 10px;
    color: inherit;
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease;
}
.language-switcher.language-switcher .language-dropdown-inner a > span { flex: 1; }
.language-switcher.language-switcher .language-dropdown-inner a:hover,
.language-switcher.language-switcher .language-dropdown-inner a:focus-visible {
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
    outline: 1px solid color-mix(in srgb, var(--text-color) 24%, transparent);
    outline-offset: -1px;
}
.language-switcher.language-switcher .language-dropdown-inner a[aria-selected="true"] {
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 14%, transparent);
}

/* Navigation actions stay readable over both a photo and the plain theme background. */
.back__button.back__button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-height: 40px;
    padding: 9px 14px;
    border: var(--border-color);
    border-radius: 10px;
    background: rgba(14,33,62,.94);
    color: var(--text-color);
    opacity: 1;
    backdrop-filter: blur(8px);
    text-shadow: none;
}
.back__button.back__button .second-text {
    color: inherit;
}
.back__button.back__button svg {
    fill: currentColor;
    margin-left: 0;
    flex-shrink: 0;
}
.back__button.back__button:hover {
    border-color: var(--primary-color, var(--border-top-spinner));
}

/* Order and receipt actions, including older HTML without the button class. */
.page_order .cancel_button.button,
.page_order .cancel_button,
.page_order .check_button,
.page_order .open_button,
.page .cancel_button[ng-click="uploadProof()"],
body[ng-app="china_robotics"] [ng-click="load_more_reviews()"],
body[ng-app="china_robotics"] [ng-click="load_more_community_reviews()"],
body[ng-app="china_robotics"] [ng-click="load_more_order_entries()"],
body[ng-app="china_robotics"] [ng-click="load_more_balance_entries()"],
body[ng-app="china_robotics"] [ng-click="dvm.loadMore()"],
body[ng-app="china_robotics"] [ng-click="cvm.loadMoreHistory()"] {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; vertical-align: middle; width: 100%; min-width: 0;
    min-height: 44px; height: auto; padding: 10px 14px; margin: 10px 0 0;
    border: 1px solid color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 50%, transparent);
    border-radius: 10px; background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 12%, transparent);
    color: var(--text-color); font-size: 14px; font-weight: 500; line-height: 1.3;
    text-align: center; text-decoration: none; text-shadow: none; white-space: normal;
    box-shadow: none; cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
.page_order .cancel_button.button + .cancel_button.button {
    background: color-mix(in srgb, var(--text-color) 4%, transparent);
    border-color: color-mix(in srgb, var(--text-color) 25%, transparent);
}
.page_order .cancel_button:hover,
.page_order .check_button:hover,
.page_order .open_button:hover,
.page .cancel_button[ng-click="uploadProof()"]:hover,
body[ng-app="china_robotics"] [ng-click="load_more_reviews()"]:hover:not(:disabled),
body[ng-app="china_robotics"] [ng-click="load_more_community_reviews()"]:hover:not(:disabled),
body[ng-app="china_robotics"] [ng-click="load_more_order_entries()"]:hover:not(:disabled),
body[ng-app="china_robotics"] [ng-click="load_more_balance_entries()"]:hover:not(:disabled),
body[ng-app="china_robotics"] [ng-click="dvm.loadMore()"]:hover:not(:disabled),
body[ng-app="china_robotics"] [ng-click="cvm.loadMoreHistory()"]:hover:not(:disabled) {
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 20%, transparent);
    border-color: var(--primary-color, var(--border-top-spinner));
}


/* Preorder surfaces reuse this theme's existing opaque modal surface. */
.__preorder_cart, .__preorder_checkout, .__preorder_variants, [data-preorder-overlay] {
    --preorder-ink: var(--text-color);
    --preorder-surface: #0e213e;
}
:root {
    --toast-bg: #0e213e;
    --toast-text: var(--text-color);
}
/* Preorder: theme surfaces for cart, checkout and the shared drawer.
   Structural defaults also live in the storefront for CSS saved in the database. */
.__preorder_cart .reserve_info,
.__preorder_checkout .reserve_info {
    color: var(--text-color);
    background: var(--preorder-surface, Canvas);
    border: 1px solid color-mix(in srgb, var(--text-color) 16%, transparent);
    border-radius: 12px;
    padding: 8px 16px;
}
.__preorder_cart .reserve_info .second_text,
.__preorder_checkout .reserve_info .second_text { color: var(--text-color); }
.__preorder_cart .reserve_info small.second_text,
.__preorder_checkout .reserve_info small.second_text { font-size: 13px; line-height: 1.45; }
.__preorder_checkout .area_list label.button:hover {
    background: color-mix(in srgb, var(--text-color) 9%, var(--preorder-surface, Canvas));
}
.__preorder_checkout .area_list label.button:has(input:checked) {
    border-color: var(--primary-color, var(--border-top-spinner));
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 12%, var(--preorder-surface, Canvas));
}
.__preorder_variants .fas_list > button.button {
    width: 100%;
    margin: 8px 0;
    padding: 12px 14px;
    box-sizing: border-box;
    font-family: inherit;
    white-space: normal;
}
[data-preorder-overlay] .__preorder_cart .reserve_info { padding: 8px 12px; }

/* Telegram bot status: readable text, compact shape, filled/hollow status dot. */
.cabinet_page .cabinet_bot_badge.is_active {
    color: var(--text-color);
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 12%, var(--toast-bg));
    border-color: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 40%, transparent);
}
.cabinet_page .cabinet_bot_badge.is_active::before { color: var(--primary-color, var(--border-top-spinner)); }
.cabinet_page .cabinet_bot_badge.is_inactive {
    color: var(--text-color);
    background: color-mix(in srgb, var(--text-color) 5%, var(--toast-bg));
    border-color: color-mix(in srgb, var(--text-color) 20%, transparent);
}

/* Upload and pagination actions share a compact, centered frame. */
.page .cancel_button[ng-click="uploadProof()"],
body[ng-app="china_robotics"] [ng-click="load_more_reviews()"],
body[ng-app="china_robotics"] [ng-click="load_more_community_reviews()"],
body[ng-app="china_robotics"] [ng-click="load_more_order_entries()"],
body[ng-app="china_robotics"] [ng-click="load_more_balance_entries()"],
body[ng-app="china_robotics"] [ng-click="dvm.loadMore()"],
body[ng-app="china_robotics"] [ng-click="cvm.loadMoreHistory()"] {
    display: flex;
    max-width: 320px;
    margin: 16px auto 0;
    gap: 8px;
}
.page_order .cancel_button[ng-click="cancelOrder()"] {
    background: var(--cancel-color);
    border-color: var(--red-textcolor-panel-payment, var(--cancel-color-text));
    color: var(--red-textcolor-panel-payment, var(--cancel-color-text));
}
.page_order .cabinet_qr_wrap {
    margin: 12px auto 0;
}
.page_order .cabinet_qr_img {
    width: 220px;
    height: auto;
    max-width: 100%;
    aspect-ratio: 1;
}

/* Keep pagination framed despite the legacy flat community-link reset. */
body[ng-app="china_robotics"] .community_disputes_panel [ng-click="dvm.loadMore()"] {
    border: 1px solid color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 50%, transparent) !important;
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 12%, transparent) !important;
}
body[ng-app="china_robotics"] .community_disputes_panel [ng-click="dvm.loadMore()"]:hover {
    border-color: var(--primary-color, var(--border-top-spinner)) !important;
    background: color-mix(in srgb, var(--primary-color, var(--border-top-spinner)) 20%, transparent) !important;
}

/* Embedded review labels stay close to their values without changing the reviews page. */
.community_reviews_embed .review_body .review_entry_grid {
    display: grid;
    grid-template-columns: fit-content(35%) minmax(0, 1fr);
    align-items: start;
    gap: 4px 10px;
    margin-top: 4px;
}
.community_reviews_embed .review_body .review_entry_grid:first-child { margin-top: 0; }
/* The review body gets a full-width line below its label. */
.community_reviews_embed .review_body .review_entry_grid:last-child { grid-template-columns: minmax(0, 1fr); }
.community_reviews_embed .review_body .review_entry_grid > * {
    min-width: 0;
    margin: 0;
    text-align: left;
    overflow-wrap: anywhere;
}

/* Content links use the theme's readable ink, including after visiting a URL. */
body[ng-app="china_robotics"] [ng-bind-html] a[href],
body[ng-app="china_robotics"] .ql-editor a[href],
#footer .auo_ads {
    color: var(--text-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}
body[ng-app="china_robotics"] [ng-bind-html] a[href]:hover,
body[ng-app="china_robotics"] .ql-editor a[href]:hover,
#footer .auo_ads:hover { text-decoration-thickness: 2px; }
body[ng-app="china_robotics"] [ng-bind-html] a[href]:focus-visible,
body[ng-app="china_robotics"] .ql-editor a[href]:focus-visible,
#footer .auo_ads:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* A small opaque surface keeps the footer readable over any shop background. */
#footer .auo_ads {
    background: var(--toast-bg, var(--nav-color));
    border: var(--border-color);
    border-radius: 8px;
    padding: 8px 12px;
    margin: 12px;
    line-height: 1.4;
}
/* Use a font-independent error symbol instead of a bare exclamation mark. */
body #error_popup::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: -3px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m9 9 6 6m0-6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m9 9 6 6m0-6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Compact Telegram action uses the navigation palette, including custom backgrounds. */
.navbar .bot-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    box-sizing: border-box; flex-shrink: 0; min-width: 36px; min-height: 36px;
    padding: 7px 10px; border-radius: 10px;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, var(--nav-link-color, var(--text-color)) 24%, transparent);
    background: transparent;
    background: color-mix(in srgb, var(--nav-link-color, var(--text-color)) 7%, transparent);
    color: var(--nav-link-color, var(--text-color));
    font-size: 13px; font-weight: 500; line-height: 20px;
    text-decoration: none; text-shadow: none; box-shadow: none;
    transition: background .15s ease, border-color .15s ease;
}
.navbar .bot-button:hover {
    background: color-mix(in srgb, var(--nav-link-color, var(--text-color)) 13%, transparent);
    border-color: color-mix(in srgb, var(--nav-link-color, var(--text-color)) 42%, transparent);
    color: var(--nav-link-color, var(--text-color));
}
.navbar .bot-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.navbar .bot-button .nav-icon { width: 20px; height: 20px; flex-shrink: 0; margin: 0; color: inherit; fill: none; }
.navbar .bot-button .bot-text { margin: 0; font: inherit; color: inherit; }

/* Appending lists keeps the page visible and shows progress inside More. */
body[ng-app="china_robotics"] [ng-click="load_more_reviews()"]:hover,
body[ng-app="china_robotics"] [ng-click="load_more_community_reviews()"]:hover,
body[ng-app="china_robotics"] [ng-click="load_more_order_entries()"]:hover,
body[ng-app="china_robotics"] [ng-click="load_more_balance_entries()"]:hover,
body[ng-app="china_robotics"] [ng-click="dvm.loadMore()"]:hover { color: var(--text-color); }
[ng-click="load_more_reviews()"],
[ng-click="load_more_community_reviews()"],
[ng-click="load_more_order_entries()"],
[ng-click="load_more_balance_entries()"],
[ng-click="dvm.loadMore()"] { gap: 8px; }
body [ng-click="load_more_reviews()"][aria-busy="true"],
body [ng-click="load_more_community_reviews()"][aria-busy="true"],
body [ng-click="load_more_order_entries()"][aria-busy="true"],
body [ng-click="load_more_balance_entries()"][aria-busy="true"],
body [ng-click="dvm.loadMore()"][aria-busy="true"] { cursor: wait; }
[ng-click="load_more_reviews()"] > svg,
[ng-click="load_more_community_reviews()"] > svg,
[ng-click="load_more_order_entries()"] > svg,
[ng-click="load_more_balance_entries()"] > svg,
[ng-click="dvm.loadMore()"] > svg {
    display: inline-block; width: 16px; height: 16px; flex: 0 0 16px;
    margin: 0; color: inherit; animation: spin .8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    [ng-click="load_more_reviews()"] > svg,
    [ng-click="load_more_community_reviews()"] > svg,
    [ng-click="load_more_order_entries()"] > svg,
    [ng-click="load_more_balance_entries()"] > svg,
    [ng-click="dvm.loadMore()"] > svg { animation: none; }
}

/* Secondary review action, including older templates without the button class. */
.review_filters .review_filters_reset {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: auto; max-width: 100%; min-height: 36px;
    margin: 0; padding: 8px 14px; border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--text-color) 28%, transparent);
    background: color-mix(in srgb, var(--text-color) 6%, transparent);
    color: var(--text-color); font: inherit; font-size: 14px; line-height: 1.35;
    font-weight: 500; text-align: center; text-decoration: none;
    text-shadow: none; box-shadow: none; white-space: normal; cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.review_filters .review_filters_reset:hover {
    background: color-mix(in srgb, var(--text-color) 12%, transparent);
    border-color: color-mix(in srgb, var(--text-color) 45%, transparent);
    color: var(--text-color);
}

/* Secondary and moderation actions inside the participant card. */
.community_modal.community_modal .community_modal_actions .community_btn {
    min-height: 36px; padding: 8px 14px; box-sizing: border-box;
    border: 1px solid currentColor !important;
    background: color-mix(in srgb, currentColor 8%, transparent) !important;
    color: var(--text-color) !important; font: inherit; font-size: 14px; line-height: 1.4;
    text-decoration: none; text-shadow: none; box-shadow: none;
}
.community_modal.community_modal .community_modal_actions .community_btn_danger {
    color: var(--red-textcolor-panel-payment, var(--cancel-color-text)) !important;
}
.community_modal.community_modal .community_modal_actions .community_btn_warn {
    color: var(--warn-text-color, var(--text-color)) !important;
}
.community_modal.community_modal .community_modal_actions .community_btn:hover {
    background: color-mix(in srgb, currentColor 15%, transparent) !important;
}
.community_chat_meta .community_chat_link_btn { display: inline-flex; align-items: center; gap: 4px; }
.community_chat_meta .community_chat_link_btn > svg,
.cabinet_secret_copy > svg { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; color: inherit; }
[role="button"][ng-click]:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Dispute statuses use the theme's paired foreground/background colors. */
.community_disputes_panel .community_dispute_status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
    max-width: 100%;
    min-height: 24px;
    padding: 3px 9px;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 30%, transparent);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    text-shadow: none;
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.community_disputes_panel .community_dispute_status::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: currentColor;
}
.community_disputes_panel .community_dispute_status.is_open {
    color: var(--warn-text-color, var(--text-color));
    background: var(--warn-bg-color, var(--community-bubble-bg));
}
.community_disputes_panel .community_dispute_status.is_closed {
    color: var(--green-textcolor-panel-payment, var(--text-color));
    background: var(--green-bg-color-panel-payment, var(--community-bubble-bg));
}
.community_disputes_panel .community_dispute_status_strip.is_open {
    background: var(--warn-text-color, var(--text-color));
}
.community_disputes_panel .community_dispute_status_strip.is_closed {
    background: var(--green-textcolor-panel-payment, var(--text-color));
}
.community_disputes_panel .community_dispute_meta { flex-wrap: wrap; row-gap: 6px; }
.community_disputes_panel .community_disputes_chat_title { gap: 6px; }

/* Preorder empty cart and price labels share the theme's existing text and buttons. */
.__preorder_cart .community_empty_state {
    opacity: 1;
    color: var(--preorder-ink, var(--text-color));
}
.__preorder_cart .community_empty_state > p { margin: 0; }
.__preorder_cart .community_empty_state > .button.auth_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin: 8px 0 0;
    white-space: normal;
}
.__preorder_products .product_card > .product_price {
    display: block;
    position: static;
    align-self: stretch;
    box-sizing: border-box;
    margin: auto 0 0;
    padding: 12px;
    background: none;
    color: var(--text-color);
    font-size: 16px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}
.__preorder_checkout .button.auth_button[ng-click="saveFieldsAndContinue()"] {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    height: auto;
    max-width: 100%;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
}

/* Custom PC Background */
@media screen and (min-width: 1041px) {
    body {
        animation: fade 3s ease-in-out infinite alternate-reverse;
        background: #333 url('https://storage-new.auo-bot.pro/site_assets/c54d76c6-1c09-48bf-8bf4-b6972405ffff/auo_bg_pc/f1310219-4a15-4154-b717-4ca92c6942fc.jpg') center/cover no-repeat fixed;
    }
}

/* Custom Mobile Background */
@media screen and (max-width: 1040px) {
    body {
        animation: fade 3s ease-in-out infinite alternate-reverse;
        background: #333 url('https://storage-new.auo-bot.pro/site_assets/c54d76c6-1c09-48bf-8bf4-b6972405ffff/auo_bg_mobile/3e4f724e-6be1-4834-a78f-440439911546.jpg') center/cover no-repeat fixed;
    }
}

:root { --panel-fill: rgba(14, 33, 62, .92); }
.page.page, .product_card.product_card, .reserve_info.reserve_info, .page_order.page_order, .page_login.page_login, .review_body.review_body {
background: var(--panel-fill) !important; border: var(--border-color); backdrop-filter: blur(8px);
}
.cabinet_page.cabinet_page .cabinet_card.page_login { background: transparent !important; backdrop-filter: none !important; }
