﻿/* ===== Общие переменные ===== */
:root {
    --bg: #c1bc4514;
    --text: #111111;
    --card-bg: #f9f9f9;
    --border: #cccccc;
    --input-bg: #ffffff;
    --accent: #000000;
    --pre-bg: #f5f5f5;
    --pre-color: #222;
    --header-bg: linear-gradient(120deg, #fff 20%, #e3f6ff 60%, #38ffeba8 100%);
    --header-text: #000000;
    --checkout-bg: #ffffff;
    --checkout-text: #333333;
    --checkout-border: #cccccc;
    --checkout-input-bg: #ffffff;
    --checkout-button-bg: #007bff;
    --checkout-button-text: #ffffff;
    --checkout-button-hover: #0056b3;
    --text-color: #111;
    --bg-color: #fff;
    --button-bg: #007BFF;
    --button-text: #fff;
    --gift-card-bg: #fff;
    --gift-title-color: #1b437a;
    --modal-bg: #fff; /* Светлая тема */
    --modal-text: #222;
    /* dropdown (универсально для светлой) */
    --dropdown-bg: rgb(193 196 200 / 98%);
    --dropdown-hover-bg: rgba(55,55,72,0.94);
    --dropdown-shadow: 0 1px 8px #2ad2ff33, 0 0 0 transparent;
    --dropdown-hover-shadow: 0 2px 20px #65fcff44;
    --dropdown-border: 1.5px solid transparent;
    --dropdown-hover-border: 1.5px solid #19e4ffcc;
    --dropdown-list-bg: rgb(193 196 200 / 98%);
    --dropdown-list-shadow: 0 4px 32px #27e1fa60, 0 2px 8px #19004314;
    --dropdown-list-border: 1.5px solid #17e2fd55;
    --dropdown-list-color: #fff;
    --dropdown-list-hover-bg: linear-gradient(90deg, #a0f7e2 0%, #eefaff 90%);
    --dropdown-list-hover-color: #222; /* текст на hover */
}

/* ===== Темная тема ===== */
html.dark-theme {
    --bg: radial-gradient(circle at center, #000000 60%, rgb(0 0 0) 100%), #000;
    --text: #f4f5f7;
    --card-bg: #23242b;
    --border: #595b61;
    --input-bg: #23242b;
    --accent: #8ae9ff;
    --header-bg: linear-gradient(100deg, #000000 0%, #212121 60%, #24343dcc 100%);
    --header-text: #e1e8ee;
    --pre-bg: #1e2127;
    --pre-color: #f4f5f7;
    --checkout-bg: #20222a;
    --checkout-text: #f4f5f7;
    --checkout-border: #4c4d51;
    --checkout-input-bg: #23242b;
    --checkout-button-bg: #3a6fa1;
    --checkout-button-text: #fff;
    --checkout-button-hover: #2b577e;
    --gift-card-bg: #20222a;
    --gift-title-color: #a6bed7;
    --modal-bg: #212228;
    --modal-text: #e0e7ee;
    --dropdown-bg: rgba(34,36,46,0.95);
    --dropdown-hover-bg: rgba(50,55,75,0.97);
    --dropdown-shadow: 0 1px 10px #47eaff33, 0 0 0 transparent;
    --dropdown-hover-shadow: 0 2px 24px #25b7ff33;
    --dropdown-border: 1.5px solid #595b61;
    --dropdown-hover-border: 1.5px solid #8ae9ff;
    --dropdown-list-bg: rgba(20,24,34,0.97);
    --dropdown-list-shadow: 0 8px 36px #8ae9ff44, 0 3px 18px #181f2d33;
    --dropdown-list-border: 1.5px solid #8ae9ff44;
    --dropdown-list-color: #e1e8ee;
    --dropdown-list-hover-bg: linear-gradient(90deg, #232b3b 0%, #6afcfb33 100%);
    --dropdown-list-hover-color: #fff;
}



body.dark-theme {
    
    background-attachment: fixed;
}




/* ===== Розовый космос ===== */
html.rose-theme {
    --bg: linear-gradient(120deg, #fff0f7 0%, #fcbfd8 35%, #f573ba 70%, #ae4ce8 100%);
    --text: #ffe1f7;
    --card-bg: #3d2055;
    --border: #fa8df9;
    --input-bg: #3d2055;
    --accent: #ff66cc;
    --header-bg: linear-gradient(120deg, #2c193b 0%, #fd5ee5 45%, #d12797 100%);
    --header-text: #000000;
    --pre-bg: #fff0f5;
    --pre-color: #660033;
    --checkout-bg: #fff0f5;
    --checkout-text: #5a2a4e;
    --checkout-border: #d88dbd;
    --checkout-input-bg: #ffe3f0;
    --checkout-button-bg: #e91e63;
    --checkout-button-text: #ffffff;
    --checkout-button-hover: #c2185b;
    --gift-card-bg: #3d2055;
    --gift-title-color: #ffcaf3;
    --modal-bg: #fff0f5;
    --modal-text: #660033;
    --dropdown-bg: #c61db9;
    --dropdown-hover-bg: #7d0c64;
    --dropdown-shadow: 0 1px 10px #fc87e655, 0 0 0 transparent;
    --dropdown-hover-shadow: 0 2px 20px #fd5ee544;
    --dropdown-border: 1.5px solid #ffcaf344;
    --dropdown-hover-border: 1.5px solid #fd5ee5;
    --dropdown-list-bg: #c61db9;
    --dropdown-list-shadow: 0 4px 28px #fd5ee555, 0 2px 8px #fcbfd855;
    --dropdown-list-border: 1.5px solid #fd5ee544;
    --dropdown-list-color: #660033;
    --dropdown-list-hover-bg: linear-gradient(90deg, #fd5ee5 0%, #ffd6f6 90%);
    --dropdown-list-hover-color: #530033;
}

/* ===== Океан ===== */
html.ocean-theme {
    --bg: radial-gradient(circle at 60% 80%, rgba(51, 255, 238, 0.20) 0%, transparent 60%), radial-gradient(circle at 20% 30%, rgba(0, 220, 255, 0.16) 0%, transparent 70%), linear-gradient(120deg, #0e3049 0%, #2cb8e8 38%, #6df6fa 75%, #d6f8ff 100%);
    --text: #000000;
    --card-bg: #004f67;
    --border: #49b7ff;
    --input-bg: #b2ebf2;
    --accent: #00cffe;
    --header-bg: linear-gradient(110deg, #0a3564 0%, #24d0ff 65%, #a1fff7 100%);
    --header-text: #000000;
    --pre-bg: #e0f7fa;
    --pre-color: #004d40;
    --checkout-bg: #e0f7fa;
    --checkout-text: #004d40;
    --checkout-border: #80cbc4;
    --checkout-input-bg: #b2ebf2;
    --checkout-button-bg: #00838f;
    --checkout-button-text: #ffffff;
    --checkout-button-hover: #005662;
    --gift-card-bg: #e0f7fa;
    --gift-title-color: #00cffe;
    --modal-bg: #e0f7fa;
    --modal-text: #004d40;
    --dropdown-bg: #1daec1;
    --dropdown-hover-bg: #a1fff7;
    --dropdown-shadow: 0 1px 10px #49b7ff33, 0 0 0 transparent;
    --dropdown-hover-shadow: 0 2px 20px #24d0ff44;
    --dropdown-border: 1.5px solid #80cbc4;
    --dropdown-hover-border: 1.5px solid #00cffe;
    --dropdown-list-bg: #1daec1;
    --dropdown-list-shadow: 0 4px 32px #24d0ff33, 0 2px 8px #0a356433;
    --dropdown-list-border: 1.5px solid #00cffe44;
    --dropdown-list-color: #004d40;
    --dropdown-list-hover-bg: linear-gradient(90deg, #34eaff 0%, #b2ebf2 100%);
    --dropdown-list-hover-color: #004d40;
}

/* ===== Основные стили ===== */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: Arial, sans-serif;
    background: var(--bg);
    color: var(--header-text);
    transition: background-color 0.3s ease, color 0.3s ease;
    max-width: 100vw;
    overflow-x: hidden;
}



.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

button {
    background-color: var(--button-bg);
    color: var(--button-text);
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
}

pre {
    background: var(--pre-bg) !important;
    color: var(--pre-color) !important;
    padding: 10px;
    border-radius: 6px;
    font-family: Consolas, monospace;
    overflow-x: auto;
}

/* ===== Header и Footer ===== */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 20px;
    background: var(--header-bg);
    color: var(--header-text);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

    .site-header a {
        color: var(--header-text);
    }

.logo {
    font-weight: bold;
    font-size: 24px;
    color: var(--accent-color);
    text-shadow: 0 0 5px var(--accent-glow), 0 0 10px var(--accent-glow);
    animation: logo-glow 3s infinite ease-in-out;
}

@keyframes logo-glow {
    0%, 100% {
        text-shadow: 0 0 5px var(--accent-glow), 0 0 10px var(--accent-glow);
    }

    50% {
        text-shadow: 0 0 10px var(--accent-glow), 0 0 20px var(--accent-glow);
    }
}


/* ===== Навигация ===== */
.main-nav {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

    .main-nav a {
        
        text-decoration: none;
        padding: 5px 10px;
    }

        .main-nav a.active {
            
            font-weight: bold;
        }


/* ===== Сетка товаров и карточки ===== */
.products.grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
}



        .products.grid .product:hover {
            transform: scale(1.02);
        }

.product-image {
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .product-image img {
        max-height: 100%;
        max-width: 100%;
        object-fit: contain;
    }

.product-content {
    padding: 10px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.product-title {
    font-size: 16px;
    text-align: center;
    margin-bottom: 5px;
    min-height: 40px;
}



.product-price {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    margin-top: auto;
}

.product-stickers {
    text-align: center;
    margin-top: 5px;
}

.sticker {
    display: inline-block;
    background: #e53935;
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

/* ===== Checkout форма (изолирована) ===== */
.checkout-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 20px;
    background: var(--checkout-bg);
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
    color: var(--checkout-text);
}

.product-summary {
    flex: 1 1 300px;
    max-width: 400px;
    text-align: center;
}

    .product-summary img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
        margin-bottom: 10px;
    }

    .product-summary h3, .product-summary p {
        color: var(--checkout-text);
    }













@media (max-width: 768px) {
    .checkout-container {
        flex-direction: column;
        align-items: center;
    }

    .product-summary,
    .checkout-form {
        max-width: 100%;
    }
}




a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

    a:hover {
       
        color: var(--accent-color, #007bff);
    }
.my-dropdown {
    position: relative;
    display: inline-block;
    font-family: inherit;
    font-size: 14px;
    z-index: 1000;
}

.my-dropdown-toggle {

    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background-color: var(--bg-color, #fff);
    border: 1px solid var(--border-color, #ccc);
    color: var(--text-color, #333);
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
    user-select: none;
}
@media (max-width: 767px) {
    .my-dropdown-toggle {
        position: relative;
        top: -28px;
    }
}


    .my-dropdown-toggle .arrow {
        border: solid var(--text-color, #333);
        border-width: 0 2px 2px 0;
        padding: 3px;
        margin-left: auto;
        transform: rotate(45deg);
        transition: transform 0.3s;
    }

.my-dropdown.open .my-dropdown-toggle .arrow {
    transform: rotate(-135deg);
}

.my-dropdown-list {
    position: absolute;
    display: none !important;
    z-index: 2500;
    left: 0;
    min-width: 100%;
    list-style: none;
    padding: 5px 0;
    margin: 0;
    background-color: var(--bg-color, #fff);
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

@media screen and (max-width: 767px) {
    .my-dropdown-list {
        bottom: 110%;
    }
}

.my-dropdown.open .my-dropdown-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    display: block !important;
}


.logo {
    font-size: 24px;
    font-weight: bold;
    color: var(--accent-color);
    text-shadow: 0 0 5px var(--accent-glow), 0 0 10px var(--accent-glow);
    animation: logo-glow 3s infinite ease-in-out;
    transition: color 0.3s ease, text-shadow 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}
@keyframes logo-glow {
    0%, 100% {
        text-shadow: 0 0 5px var(--accent-glow), 0 0 10px var(--accent-glow);
    }

    50% {
        text-shadow: 0 0 10px var(--accent-glow), 0 0 20px var(--accent-glow);
    }
}
:root {
    --accent-color: #cc0066;
    --accent-glow: #ff99cc;
}

html.light-theme {
    --accent-color: #1ceff1d1;
    --accent-glow: #000000;
}

html.dark-theme {
    --accent-color: #49a99d;
    --accent-glow: #5233ffc7;
}

html.rose-theme {
    --accent-color: #470f33;
    --accent-glow: #f829ffab;
}

html.ocean-theme {
    --accent-color: #1ea6c6ad;
    --accent-glow: #060f0e;
 
}
.checkout-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 20px;
    margin: 0 auto 40px;
    max-width: 1200px;
    box-sizing: border-box;
}

.product-summary {
    flex: 1 1 300px;
    max-width: 500px;
    min-width: 250px;
    text-align: center;
}

    .product-summary img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
        margin-bottom: 10px;
    }

.checkout-form {
    all: unset;
    flex: 1 1 300px;
    max-width: 500px;
    min-width: 250px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--checkout-input-bg, #fff);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 0 10px rgba(0,0,0,0.03);
    color: var(--checkout-text, #333);
}

    .checkout-form label {
        display: flex;
        flex-direction: column;
        font-weight: bold;
        font-size: 0.95rem;
    }

    .checkout-form input,
    .checkout-form select {
        padding: 10px;
        margin-top: 5px;
        font-size: 1rem;
        border: 1px solid var(--checkout-border, #ccc);
        border-radius: 6px;
        background-color: var(--checkout-input-bg, #fff);
        color: var(--checkout-text, #333);
    }

        .checkout-form input:focus,
        .checkout-form select:focus {
            border-color: var(--checkout-button-bg, #007bff);
            outline: none;
        }

    .checkout-form button {
        padding: 12px;
        font-size: 1.1rem;
        background-color: var(--checkout-button-bg, #007bff);
        color: var(--checkout-button-text, #fff);
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: background 0.3s ease;
    }

        .checkout-form button:hover {
            background-color: var(--checkout-button-hover, #0056b3);
        }

/* Адаптивность */
@media (max-width: 768px) {
    .checkout-container {
        flex-direction: column;
        align-items: center;
    }

    .product-summary,
    .checkout-form {
        max-width: 100%;
    }
}
/* === Пагинация === */
.pagination {
    margin-top: 20px;
    text-align: center;
}

    .pagination a {
        margin: 0 5px;
        padding: 5px 10px;
        text-decoration: none;
        color: var(--text);
        border: 1px solid var(--border);
        border-radius: 5px;
    }

        .pagination a.active,
        .pagination a:hover {
            background-color: var(--accent);
            color: white;
        }

.product {
    width: 230px;
    height: 400px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ffffff;
    border-radius: 12px;
    overflow: hidden;
    background: #0b44417a;
    transition: box-shadow 0.3s ease;
    padding: 10px;
    box-sizing: border-box;
    position: relative;
}

    .product:hover {
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

.product-image img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 8px;
}

/* Контейнер под текст (название + описание) */
.product-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.product-title {
    
    font-weight: bold;
    margin: 10px 0 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    
}

.product-description {
    font-size: 0.9em;
    color: #949da6;
    line-height: 1.3em;
    height: 2.6em; /* 2 строки */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product-price {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 10px;
}

/* Иконка "акция" */
.product-stickers {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #ff5555;
    color: white;
    font-size: 0.75em;
    padding: 4px 7px;
    border-radius: 6px;
    z-index: 2;
}
.products.grid .product {
    width: 230px;
    margin: 10px;
    display: inline-block;
}



.products.list .product-image,
.products.list .product-description {
    display: none;
}

.products.icons .product {
    width: 100px;
    margin: 10px;
    display: inline-block;
    text-align: center;
}

.products.icons .product-image img {
    width: 60px;
    height: 60px;
    object-fit: cover;
}

.products.icons .product-description {
    display: none;
}
.view-options {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}



        .view-options a:hover {
            background-color: #e0e0e0;
        }

        .view-options a.active {
            background-color: #007bff;
            color: #fff;
            border-color: #007bff;
        }
.products.list {
    display: block;
    padding: 10px;
}

.product-list-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

    .product-list-item .product-title {
        font-weight: bold;
        
        text-decoration: none;
    }

    .product-list-item .product-price {
        color: #555;
        font-weight: bold;
    }
.filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.filter-group {
    display: flex;
    flex-direction: column;
}

    .filter-group label {
        font-weight: bold;
        margin-bottom: 5px;
    }

.filter-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}



        .filter-options a:hover {
            background-color: #e2e2e2;
        }

        .filter-options a.active {
            background-color: #007bff;
            color: white;
            border-color: #007bff;
        }

.google-btn {
    display: inline-block;
    background-color: #4285F4;
    color: white;
    padding: 10px 18px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 10px;
    transition: background 0.2s ease;
}

.google-btn:hover {
    background-color: #357ae8;
}


html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

.wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}


/* Общие стили для анимации меню */
.main-nav a {
    position: relative;
    display: inline-block;
    color: inherit;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s, transform 0.2s cubic-bezier(.34,1.56,.64,1), box-shadow 0.2s;
    outline: none;
}

    .main-nav a:after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 2px;
        width: 0;
        height: 1px;
        border-radius: 3px;
        background: linear-gradient(90deg, #46ecff 0%, #4876ff 50%, #ff44f0 100%);
        box-shadow: 0 0 8px 2px #58f3ff;
        opacity: 0.9;
        transition: width 0.33s cubic-bezier(.34,1.56,.64,1), background 0.2s;
        z-index: 1;
    }







/* Анимация появления всей панели */
.site-header {
    opacity: 0;
    transform: translateY(-32px);
    animation: fadeSlideDown 1s cubic-bezier(.34,1.56,.64,1) 0.2s forwards;
}

@keyframes fadeSlideDown {
    to {
        opacity: 1;
        transform: none;
    }
}
#site-preloader {
    position: fixed;
    z-index: 9999;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: #121212 linear-gradient(120deg, #192e42 0%, #181325 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .5s, visibility .5s;
}

    #site-preloader.hide {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

.preloader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    animation: fadeIn 1.2s cubic-bezier(.34,1.56,.64,1);
}

.preloader-title {
    font-family: 'Montserrat', Arial, sans-serif;
    color: #58f3ff;
    font-size: 1.5rem;
    letter-spacing: .04em;
    text-shadow: 0 0 16px #46ecff, 0 0 4px #fff;
    font-weight: 700;
    margin-bottom: 4px;
}

/* Неоновый спиннер */
.preloader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #3af7ff22;
    border-top: 4px solid #46ecff;
    border-radius: 50%;
    animation: spin 1.1s linear infinite, neonGlow 2s ease-in-out infinite alternate;
    margin-top: 8px;
    box-shadow: 0 0 20px #58f3ff66;
}

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

@keyframes neonGlow {
    from {
        box-shadow: 0 0 12px #46ecff44, 0 0 30px #46ecff22;
    }

    to {
        box-shadow: 0 0 28px #58f3ffcc, 0 0 60px #46ecff55;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}
/* По умолчанию скрываем */
.main-nav1 {
    display: none;
}

/* В мобильной версии показываем */
@media (max-width: 768px) {
    .main-nav1 {
        display: block;
    }
}

.products-swiper {
    width: 100%;
    padding: 30px 0 40px 0;
    position: relative;
    overflow: visible;
}

.swiper-slide {
    width: 260px !important;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gift-card {
    border-radius: 22px;
    box-shadow: 0 6px 20px 13px #5566a754;
    overflow: hidden;
    width: 240px;
    height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    transition: box-shadow 0.3s;
}

    .gift-card img {
        width: 100%;
        height: 150px;
        object-fit: cover;
        border-radius: 22px 22px 0 0;
    }

.gift-info {
    padding: 16px 12px 8px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gift-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
    
}

.gift-price {
    font-size: 16px;
    color: #27ae60;
    margin-bottom: 10px;
    font-weight: 500;
}

.btn.btn-primary.btn-sm {
    margin-top: auto;
    background: linear-gradient(90deg, #2af598 0%, #009efd 100%);
    color: #fff;
    border: none;
    border-radius: 24px;
    padding: 8px 18px;
    font-weight: 600;
    box-shadow: 0 2px 6px #009efd20;
}

    .btn.btn-primary.btn-sm:hover {
        background: linear-gradient(90deg, #009efd 0%, #2af598 100%);
    }

.main-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    gap: 36px;
    align-items: flex-start;
    padding: 32px 16px 0 16px;
}

.categories-block {
    flex: 2;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 22px;
    margin-top: 24px;
}

.category-card {
    display: flex;
    flex-direction: column;
    background: #000000;
    border-radius: 15px;
    box-shadow: 16px -16px 20px 9px #475fb92b;
    padding: 20px 18px 15px 18px;
    text-decoration: none;
    color: #ffffff;
    transition: box-shadow .2s, transform .2s;
    font-size: 1.08em;
    font-weight: 500;
    align-items: center;
}


    .category-card:hover {
        box-shadow: 0 4px 20px #0002;
        transform: translateY(-4px) scale(1.03);
        color: #008cff;
    }

.category-title {
    margin-bottom: 7px;
}

.category-count {
    color: #888;
    font-size: 0.98em;
}

.faq-block {
    flex: 1;
    
    border-radius: 12px;
    padding: 28px 24px 18px 24px;
    box-shadow: 0 2px 16px #0001;
    margin-top: 38px;
    min-width: 280px;
}

    .faq-block h2 {
        font-size: 1.2em;
        margin-bottom: 16px;
        text-align: center;
    }

    .faq-block ol {
        padding-left: 22px;
        margin: 0;
    }

    .faq-block li {
        margin-bottom: 8px;
        font-size: 1em;
    }

@media (max-width: 900px) {
    .main-container {
        flex-direction: column;
        gap: 20px;
    }

    .faq-block {
        margin-top: 0;
        max-width: 520px;
    }
}
#cookie-notice {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgb(255 255 255 / 65%);
    box-shadow: 0 -2px 16px #4a61ce8c;
    padding: 0;
    text-align: center;
    animation: cookie-fadein 0.7s;
}

.cookie-notice-content {
    max-width: 600px;
    margin: 0 auto;
    padding: 18px 10px 14px 10px;
    font-size: 1em;
    color: #2b2b2b;
}

#cookie-accept-btn {
    margin-left: 16px;
    padding: 7px 24px;
    background: #3745fd;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 1em;
    cursor: pointer;
    transition: background .2s;
}

    #cookie-accept-btn:hover {
        background: #232ecc;
    }

@keyframes cookie-fadein {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 500px) {
    .cookie-notice-content {
        font-size: 0.97em;
        padding: 14px 3px 10px 3px;
    }

    #cookie-accept-btn {
        margin-top: 8px;
        width: 100%;
    }
}


.review-list {
    max-width: 540px;
    margin: 40px auto 40px auto;
    padding: 24px 18px;
    background: rgba(30,30,30,0.7);
    border-radius: 20px;
    box-shadow: 0 8px 32px 0 #0003;
}

.review-list h1 {
    font-size: 2.2em;
    margin-bottom: 26px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
}

.add-review {
    text-align: center;
    margin-bottom: 30px;
}

    .add-review textarea {
        width: 95%;
        max-width: 400px;
        border-radius: 12px;
        border: none;
        background: #23272b;
        color: #fff;
        font-size: 1.1em;
        padding: 14px 16px;
        margin-bottom: 10px;
        box-shadow: 0 2px 12px #0001;
        resize: vertical;
        min-height: 60px;
    }

        .add-review textarea::placeholder {
            color: #aaa;
            opacity: .9;
        }

    .add-review button {
        padding: 10px 28px;
        border-radius: 10px;
        border: none;
        background: linear-gradient(90deg, #2979ff 40%, #00c6ff 100%);
        color: #fff;
        font-weight: 600;
        font-size: 1.1em;
        cursor: pointer;
        box-shadow: 0 2px 10px #0002;
        transition: background 0.2s;
    }

        .add-review button:hover {
            background: linear-gradient(90deg, #1769aa 40%, #1de9b6 100%);
        }

.review-item {
    background: #23272b;
    margin-bottom: 22px;
    border-radius: 16px;
    padding: 18px 18px 14px 18px;
    box-shadow: 0 2px 10px #0001;
    color: #eee;
    position: relative;
    transition: box-shadow 0.2s;
}

    .review-item:hover {
        box-shadow: 0 6px 32px #0003;
    }

.review-user {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 6px;
}

    .review-user img {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: #222;
        border: 2px solid #444;
        object-fit: cover;
    }

    .review-user b {
        font-size: 1.12em;
        color: #fff;
        font-weight: 600;
    }

.review-date {
    color: #aaa;
    font-size: 0.96em;
    margin-left: 6px;
}

.review-lang {
    margin-left: 10px;
    color: #6ee7b7;
    font-size: 0.99em;
    font-style: italic;
}

.review-text {
    margin-bottom: 10px;
    font-size: 1.07em;
    color: #e2e8f0;
    padding-left: 4px;
    word-break: break-word;
}

.translate-btn {
    padding: 7px 20px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(90deg, #1de9b6 30%, #2979ff 100%);
    color: #fff;
    font-weight: 500;
    font-size: 1em;
    cursor: pointer;
    box-shadow: 0 1px 6px #0002;
    margin-top: 2px;
    transition: background 0.2s;
}

    .translate-btn:hover {
        background: linear-gradient(90deg, #2979ff 60%, #00c6ff 100%);
    }

.reviews-pagination {
    text-align: center;
    margin: 30px 0 0 0;
}

    .reviews-pagination a, .reviews-pagination span {
        display: inline-block;
        margin: 0 4px;
        padding: 6px 14px;
        border-radius: 7px;
        font-weight: 600;
        font-size: 1.09em;
    }

    .reviews-pagination a {
        color: #2979ff;
        background: #fff;
        text-decoration: none;
        transition: background .2s, color .2s;
    }

        .reviews-pagination a:hover {
            background: #2979ff;
            color: #fff;
        }

    .reviews-pagination span {
        background: #2979ff;
        color: #fff;
    }

@media (max-width: 600px) {
    .review-list {
        padding: 4vw 2vw;
    }

    .review-user img {
        width: 38px;
        height: 38px;
    }

    .review-item {
        padding: 14px 10px 11px 10px;
    }

    .add-review textarea {
        max-width: 98vw;
    }
}

.products.list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 36px;
}

.product-list-item {
    background: #22292f;
    border-radius: 10px;
    box-shadow: 0 2px 10px #0001;
    display: flex;
    align-items: stretch;
    min-height: 78px;
    transition: box-shadow .18s, border-color .2s, background .2s;
    border: 1.2px solid #282828;
    padding: 0;
}

    .product-list-item:hover {
        box-shadow: 0 6px 30px #0003, 0 2px 12px #00b4ff11;
        border-color: #56c4fc;
        background: #26303a;
    }

    .product-list-item > a {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 10px 18px 10px 12px;
        gap: 17px;
        text-decoration: none;
        color: inherit;
    }

.pli-img {
    flex: 0 0 64px;
    height: 64px;
    border-radius: 7px;
    overflow: hidden;
    background: #222;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
}

    .pli-img img {
        width: 64px;
        height: 64px;
        object-fit: cover;
        border-radius: 7px;
    }

.pli-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.pli-title {
    font-size: 1.09em;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1px;
    overflow: hidden;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

.pli-desc {
    font-size: 0.97em;
    color: #b0b5c1;
    line-height: 1.2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.pli-price {
    font-size: 1.18em;
    font-weight: bold;
    color: #ffd944;
    text-align: right;
    margin-left: 15px;
    min-width: 96px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
}

    .pli-price del {
        color: #888;
        font-size: 0.98em;
        margin-bottom: 1px;
    }

.pli-price-promo {
    color: #ff4848;
    font-weight: 700;
    font-size: 1.14em;
}
.products.icons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 18px;
    margin-bottom: 38px;
}

.product-icon-item {
    background: #202226;
    border-radius: 13px;
    border: 1.5px solid #313236;
    box-shadow: 0 2px 10px #0002;
    text-align: center;
    padding: 10px 5px 12px;
    transition: box-shadow .17s, border-color .2s;
    min-width: 0;
    position: relative;
    overflow: hidden;
    height: 188px; /* фиксированная высота для сетки, регулируй по вкусу */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

    .product-icon-item > a {
        text-decoration: none;
        color: inherit;
        display: block;
        width: 100%;
        height: 100%;
    }

.icon-img {
    width: 96px;
    height: 96px;
    margin: 0 auto 7px;
    border-radius: 9px;
    overflow: hidden;
    background: #15161a;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

    .icon-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 9px;
        transition: transform .22s;
    }

.product-icon-item:hover .icon-img img {
    transform: scale(1.045);
}

.icon-title {
    font-size: 0.97em;
    font-weight: 500;
    color: #e2e3e8;
    margin: 1px 0 4px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 120px;
}

.icon-price {
    font-size: 1.06em;
    font-weight: bold;
    color: #ffd944;
    margin-bottom: 2px;
}

    .icon-price.promo {
        color: #ff4848;
    }

.icon-sticker {
    position: absolute;
    top: 8px;
    left: 8px;
    background: linear-gradient(90deg,#ff3535,#ffb70e 75%);
    color: #fff;
    font-size: .95em;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 7px;
    box-shadow: 0 1px 8px #0003;
    z-index: 2;
    pointer-events: none;
}

.site-footer {
    background: #181b1f;
    color: #bbb;
    padding: 28px 0 12px;
    text-align: center;
    font-size: 1.05em;
    
    border-top: 1.5px solid #252730;
}

.site-footer a {
    color: #ffd944;
    text-decoration: none;
    margin: 0 4px;
    transition: color .17s;
}

    .site-footer a:hover {
        color: #ff4848;
    }

.footer-social {
    margin-top: 9px;
    display: flex;
    gap: 13px;
    justify-content: flex-start;
    flex-direction: row;
}

    .footer-social img {
        vertical-align: middle;
        opacity: 0.87;
        transition: opacity .18s, transform .18s;
    }

    .footer-social a:hover img {
        opacity: 1;
        transform: scale(1.13);
    }

.main-promo-block {
    background: #23272e;
    color: #f0ece8;
    margin: 36px auto 24px;
    padding: 82px 24px 14px 24px;
    border-radius: 14px;
    box-shadow: 0 4px 20px #0002;
    max-width: 850px;
    font-size: 1.07em;
    line-height: 1.5;
}

    .main-promo-block a {
        color: #ffd944;
        text-decoration: underline;
    }

        .main-promo-block a:hover {
            color: #ff4848;
        }

    .main-promo-block ul {
        margin-top: 10px;
        margin-bottom: 8px;
        padding-left: 24px;
    }
.refund-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(30,30,34,0.85);
    align-items: center;
    justify-content: center;
}

.refund-modal-content {
    background: #202328;
    border-radius: 18px;
    padding: 34px 24px 28px 28px;
    max-width: 430px;
    width: 96vw;
    box-shadow: 0 10px 40px #0003;
    color: #f5f5f8;
    position: relative;
    font-size: 1.05em;
}

.refund-modal-title {
    font-size: 1.19em;
    font-weight: 700;
    margin-bottom: 14px;
    text-align: center;
}

.refund-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    color: #bbb;
    font-size: 1.7em;
    cursor: pointer;
    font-weight: bold;
}

.refund-policy-list {
    padding-left: 18px;
    margin-top: 7px;
}

    .refund-policy-list li {
        margin-bottom: 13px;
        line-height: 1.5;
    }

/* Мобильный адаптив */
@media (max-width: 600px) {
    .refund-modal-content {
        padding: 15px 6vw 19px 6vw;
        font-size: 0.98em;
        max-width: 98vw;
    }

    .refund-modal-title {
        font-size: 1em;
        margin-bottom: 10px;
    }
}
body .swiper-container.products-swiper {
    margin-top: 130px;
    margin-bottom: -380px;
}

@media screen and (max-width: 768px) {
    body .swiper-container.products-swiper {
        margin-top: 50px;
        margin-bottom: -346px;
    }
}

@media (max-width: 768px) {
    .site-footer {
        margin-top: 0px;
    }

    .dark-theme table, .dark-theme td, .dark-theme th {
        color: #fff !important;
        background: #181818 !important;
    }
}

.table-scroll-x {
    overflow-x: auto;
    width: 100%;
}

    .table-scroll-x table {
        min-width: 700px;
    }
.theme-switcher {
    background: rgba(25, 32, 41, 0.7); /* слегка затемнённый фон */
    border: none;
    outline: none;
    border-radius: 14px;
    padding: 9px 13px;
    margin-left: 12px;
    cursor: pointer;
    font-size: 1.3rem;
    box-shadow: 0 2px 16px 0 rgba(82,255,243,0.11);
    color: #52fff3;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.12s;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.8);
}

.theme-switcher:hover, .theme-switcher:focus {
    background: rgba(82,255,243,0.10);
    color: #fff;
    box-shadow: 0 4px 24px 0 rgba(82,255,243,0.21);
    transform: scale(1.08);
}

.theme-switcher:active {
    background: rgba(82,255,243,0.23);
    color: #52fff3;
    transform: scale(0.95);
}



    .theme-switcher:hover, .theme-switcher:focus {
        background: rgba(82,255,243,0.10);
        color: #fff;
        box-shadow: 0 4px 24px 0 rgba(82,255,243,0.21);
        transform: scale(1.08);
    }

    .theme-switcher:active {
        background: rgba(82,255,243,0.23);
        color: #52fff3;
        transform: scale(0.95);
    }
.site-header {
    
    padding: 0 36px;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 32px 0 #011b2690;
    position: relative;
    z-index: 100;
    gap: 24px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 2rem;
    font-weight: 700;
    text-shadow: 0 0 12px #1bfffa88, 0 0 32px #5afcff44;
    letter-spacing: 1px;
}

.logo-text {
    display: inline-block;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: 32px;
}

.menu-link {
    position: relative;
    font-weight: 600;
    font-size: 1.12rem;
    color: #eaf6ff;
    letter-spacing: 0.02em;
    padding: 4px 10px;
    border-radius: 7px;
    text-decoration: none;
    transition: color 0.16s, background 0.15s, box-shadow 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .menu-link:hover, .menu-link.active {
        background: rgb(196 41 208 / 8%);
        box-shadow: 2px 2px 20px 1px #00000030;
    }

        .menu-link.active::after, .menu-link:hover::after {
            content: '';
            display: block;
            position: absolute;
            left: 8px;
            right: 8px;
            bottom: 0;
            height: 3px;
            border-radius: 4px;
            background: linear-gradient(90deg, #3af9ff 20%, #77e8ff 65%, #f0f 100%);
            box-shadow: 0 0 12px #4bffff99;
            transition: 0.25s;
        }

    .menu-link::after {
        content: '';
        display: block;
        position: absolute;
        left: 8px;
        right: 8px;
        bottom: 0;
        height: 3px;
        opacity: 0;
        transition: 0.25s;
    }

.nav-icon {
    font-size: 1.23em;
    vertical-align: middle;
    margin-right: 3px;
}

.my-dropdown {
    position: relative;
    display: inline-block;
    margin: 0 8px;
}

.my-dropdown-toggle {
    background: var(--dropdown-bg);
    border-radius: 12px;
    padding: 7px 18px 7px 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--dropdown-shadow);
    color: var(--header-text);
    align-items: center;
    gap: 7px;
    transition: background 0.17s, box-shadow 0.25s;
    border: var(--dropdown-border);
}

.my-dropdown-toggle:hover, .my-dropdown:hover .my-dropdown-toggle {
    background: var(--dropdown-hover-bg);
    box-shadow: var(--dropdown-hover-shadow);
    border: var(--dropdown-hover-border);
}

.my-dropdown-list {
    display: none;
    position: absolute;
    left: -40px;
    background: var(--dropdown-list-bg);
    border-radius: 14px;
    min-width: 170px;
    padding: 8px 0;
    box-shadow: var(--dropdown-list-shadow);
    border: var(--dropdown-list-border);
    z-index: 999;
    backdrop-filter: blur(10px);
    animation: dropdownIn 0.25s cubic-bezier(0.44,1.45,0.54,1.03);
}


@keyframes dropdownIn {
    from {
        opacity: 0;
        transform: translateY(-14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.my-dropdown:hover .my-dropdown-list,
.my-dropdown:focus-within .my-dropdown-list {
    display: block;
}

.my-dropdown-list li {
    list-style: none;
}

.my-dropdown-list a, .my-dropdown-list .lang-link {
    display: block;
    padding: 9px 21px 9px 18px;
    color: var(--header-text);
    border-radius: 7px;
    font-size: 1.05em;
    transition: background 0.16s, color 0.15s;
    text-decoration: none;
    font-weight: 500;
}

    .my-dropdown-list a:hover, .my-dropdown-list .lang-link:hover {
        background: var(--dropdown-list-hover-bg);
        color: var(--dropdown-list-hover-color);
    }

.dropdown-arrow {
    font-size: 1.07em;
    color: #79eaff;
    margin-left: 3px;
}

.balance-chip {
    display: inline-flex;
    align-items: center;
    background: rgba(22,36,43,0.95);
    box-shadow: 0 2px 10px #00ffe766, 0 0 0 transparent;
    border-radius: 10px;
    padding: 7px 18px 7px 16px;
    font-size: 1.09em;
    font-weight: 600;
    color: #d9ffff;
    margin-left: 16px;
    border: 1.5px solid #29e8e855;
    letter-spacing: 0.02em;
}

.header-controls {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lang-dropdown .lang-flag {
    margin-right: 5px;
}



.theme-switcher {
    display: flex;
    /* Бургер */
    }



@media (max-width: 1065px) {
    .burger-menu {
        display: flex;
    }

    .main-nav, .header-controls {
        display: none;
    }

    .site-header {
        padding-right: 9px;
    }
}

/* Бургер */
.burger-menu {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    background: var(--accent);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    margin-right: 16px;
    transition: background .15s, box-shadow .18s;
    z-index: 1201;
    position: relative;
}

    .burger-menu span {
        display: block;
        width: 26px;
        height: 3px;
        background: var(--accent-color, #19e4ff);
        border-radius: 2px;
        margin: 4px 0;
        transition: .25s cubic-bezier(.44,1.45,.54,1.03);

    }

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

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

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

/* Мобильное меню */
.mobile-menu-panel {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    background: var(--bg, #181d23);
    color: var(--text, #fff);
    z-index: 1200;
    box-shadow: 0 8px 36px #10e3ff55;
    animation: slideMenuIn .34s cubic-bezier(.44,1.45,.54,1.03);
    padding: 0;
}

@keyframes slideMenuIn {
    from {
        transform: translateY(-110%);
    }

    to {
        transform: translateY(0);
    }
}

.mobile-menu-panel.open {
    display: flex;
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 16px 10px;
    background: var(--header-bg, #14181f);
    font-size: 1.33em;
    font-weight: bold;
    color: #46feffd1;
    border-bottom: 1.5px solid #19e4ff33;
}

.logo-mini {
    font-weight: bold;
    color: var(--accent-color, #19e4ff);
}

.close-mobile-menu {
    background: none;
    border: none;
    color: var(--accent-color, #19e4ff);
    font-size: 2em;
    cursor: pointer;
}

.mobile-menu-links {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 28px 24px 0;
}

    .mobile-menu-links .menu-link {
        font-size: 1.19em;
        color: var(--text);
        text-decoration: none;
        font-weight: 600;
        padding: 12px 3px 9px 0;
        border-radius: 8px;
        transition: background 0.14s, color 0.18s;
    }

        .mobile-menu-links .menu-link.active,
        .mobile-menu-links .menu-link:hover {
            background: linear-gradient(90deg, #2af7ef77 10%, #c5f6ff33 80%);
            color: #fff;
        }

.mobile-menu-extra {
    margin: 0 0 0 18px;
    padding: 38px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.mobile-theme {
    margin-top: 14px;
}

@media (max-width: 1065px) {
    .burger-menu {
        display: flex;
    }

    .main-nav, .header-controls {
        display: none !important;
    }

    .site-header {
        padding-right: 0;
    }
}

@media (min-width: 1066px) {
    .mobile-menu-panel, .burger-menu {
        display: none !important;
    }
}

html.dark-theme .mobile-menu-panel {
 
    color: #e7faff;
}

html.light-theme .mobile-menu-panel {
    background: #fff;
    color: #222;
}
.close-mobile-menu {
    position: absolute;
    top: 24px;
    right: 22px;
    background: rgba(25, 32, 41, 0.99);
    border: none;
    color: #63e3ff;
    font-size: 2.4em;
    border-radius: 14px;
    width: 48px;
    height: 48px;
    z-index: 1401;
    box-shadow: 0 0 16px #0ff4, 0 2px 18px #003c;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.12s;
}

    .close-mobile-menu:hover {
        background: #232d35;
        color: #fff;
        box-shadow: 0 0 32px #0ffb;
        transform: scale(1.09);
    }

/* Header теперь position:relative для абсолютного крестика */
.mobile-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    /* ... остальное не меняем ... */
}

.mobile-menu-header {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 72px;
    padding-left: 22px;
    padding-right: 60px; /* под крестик */
    background: #ffffff;
    font-size: 1.33em;
    font-weight: bold;
    color: #3af8f2;
    border-bottom: 1.5px solid #19e4ff33;
}
.mobile-menu-links,
.mobile-menu-extra {
    position: relative;
    z-index: 1; /* выше "основы" панели */
    background: var(--header-bg, #14181f);
}

.mobile-menu-panel .my-dropdown-list {
    position: static;
    left: unset;
    top: unset;
    background: rgba(18,26,35,0.98);
    box-shadow: 0 4px 32px #27e1fa30;
    border: 1.5px solid #17e2fd55;
    min-width: 100%;
    border-radius: 14px;
    padding: 7px 0;
    margin-top: 7px;
    animation: none;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    /* Можно добавить max-width если нужно */
}

.mobile-menu-panel .my-dropdown.open .my-dropdown-list {
    display: block !important;
}


.burger-menu {
    position: absolute;
    right: 0;
}
.mobile-menu-panel {
    /* ...остальные стили... */
    overflow-y: auto;
    max-height: 100vh;
}
    /* Дропдауны по умолчанию скрыты */
    .mobile-menu-panel .my-dropdown-list {
        display: none !important;
    }

    .mobile-menu-panel .my-dropdown.open .my-dropdown-list {
        display: block !important;
        position: static;
        left: unset;
        top: unset;
        width: 100%;
        min-width: unset;
        box-shadow: 0 2px 16px #19e4ff22;
        margin-top: 7px;
        border-radius: 10px;
        padding: 7px 0;
        background: var(--dropdown-list-bg);
    }
 .mobile-menu-header {
    background: linear-gradient(90deg, #17181a 60%, #232738 100%);
    position: relative;
    overflow: hidden;
}

 .mobile-menu-header::before {
    content: '';
    position: absolute;
    left: -30vw;
    top: -30vw;
    width: 100vw;
    height: 100vw;
    background: radial-gradient(circle at 60% 40%, #22ffd899 0%, transparent 60%);
    animation: glow-move 8s linear infinite alternate;
    z-index: 0;
}

@keyframes glow-move {
    from {
        left: -30vw;
        top: -30vw;
    }

    to {
        left: 20vw;
        top: 0vw;
    }
}

.theme-switcher {
    width: 66px;
    height: 25px;
    background: #ffffff;
    border: 2.5px solid var(--accent, #19e4ff);
    border-radius: 13px;
    position: relative;
    cursor: pointer;
    box-shadow: 0 0 14px var(--accent-glow, #19e4ff33);
    transition: border-color 0.25s, background 0.22s;
    outline: none;
    display: flex;
    align-items: center;
}

    .theme-switcher::before {
        content: "";
        position: absolute;
        top: 2.5px;
        width: 17px;
        height: 17px;
        background: var(--accent, #19e4ff);
        border-radius: 50%;
        box-shadow: 0 0 9px var(--accent-glow, #19e4ff77);
        transition: left 0.35s cubic-bezier(.44,1.45,.54,1.03), background 0.25s, box-shadow 0.22s;
        left: 2px;
    }

html.light-theme .theme-switcher::before {
    left: 2px;
    background: #000000;
    box-shadow: 0 0 9px #68ecff66;
}

html.dark-theme .theme-switcher::before {
    left: 15px;
    background: #19e4ff;
    box-shadow: 0 0 12px #19e4ffbb;
}

html.rose-theme .theme-switcher::before {
    left: 30px;
    background: #ff66cc;
    box-shadow: 0 0 14px #ff99ddaa;
}

html.ocean-theme .theme-switcher::before {
    left: 44px;
    background: #00cffe;
    box-shadow: 0 0 16px #66eaff;
}
.glow-wrap {
    display: inline-block;
    border-radius: 50%;
    padding: 8px;
    background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, rgba(0,150,255,0.05) 80%);
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.4), 0 0 24px rgba(0, 150, 255, 0.3), inset 0 0 6px rgba(255,255,255,0.2);
    transition: box-shadow 0.3s ease-in-out;
}

    .glow-wrap:hover {
        box-shadow: 0 0 20px rgba(255, 255, 255, 0.6), 0 0 40px rgba(0, 150, 255, 0.5), inset 0 0 10px rgba(255,255,255,0.3);
    }


.rotating-glow {
    position: relative;
    display: inline-block;
    width: 64px;
    height: 64px;
}

    .rotating-glow::before {
        content: '';
        position: absolute;
        top: -10px;
        left: -10px;
        width: 84px;
        height: 84px;
        border-radius: 50%;
        border: 2px solid rgba(0, 150, 255, 0.3);
        box-shadow: 0 0 15px rgba(0, 150, 255, 0.6);
        animation: spin 3s linear infinite;
        z-index: 0;
    }

    .rotating-glow img {
        position: relative;
        z-index: 1;
        width: 64px;
        height: 64px;
    }

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

    to {
        transform: rotate(360deg);
    }
}
.rotating-glow::before {
    background: conic-gradient( from 0deg, rgba(0,150,255,0.3), rgba(255,255,255,0.2), rgba(0,150,255,0.3) );
    animation: spin 4s linear infinite;
}
/* Темная неоновая модалка */
.modal-content {
    background: #ede5e575;
    color: var(--text);
    border-radius: 22px;
    box-shadow: 0 8px 40px #09f2f555, 0 0 0 #000;
    border: 2px solid #31eaff88;
    padding: 0;
    backdrop-filter: blur(7px);
}
.modal-content {
    background-color: rgba(255, 255, 255, 0.1); /* светлая прозрачность */
    backdrop-filter: blur(12px); /* размытие фона */
    -webkit-backdrop-filter: blur(12px); /* для Safari */
    border: 1px solid rgba(255, 255, 255, 0.3); /* стеклянный контур */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}
    .dark-modal .modal-header {
        border-bottom: 1.5px solid #36eaff55;
        background: transparent;
        border-radius: 22px 22px 0 0;
        padding: 28px 32px 12px 32px;
    }

    .dark-modal .modal-title {
        font-size: 2rem;
        font-weight: 700;
        text-shadow: 0 0 10px #30eaff, 0 0 2px #fff9;
    }

    .dark-modal .btn-close {
        filter: drop-shadow(0 0 6px #35fcffb3);
        opacity: 0.8;
        transition: opacity .18s;
    }

        .dark-modal .btn-close:hover {
            opacity: 1;
        }

    .dark-modal .modal-body {
        padding: 26px 32px 32px 32px;
    }

.filter-form .filter-group {
    margin-bottom: 1.4em;
    display: flex;
    align-items: center;
    gap: 1.4em;
}

.filter-label {
    font-weight: 600;
    min-width: 120px;
    letter-spacing: 0.02em;
    font-size: 1.18em;
}

.filter-options {
    display: flex;
    gap: 9px;
}

    .filter-options a,
    .filter-options button {
        border-radius: 12px;
        background: var(--card-bg, #23233a);
        color: var(--text, #f5f6fa);
        border: 1.7px solid #36eaff70;
        font-weight: 600;
        padding: 6px 17px;
        text-decoration: none;
        box-shadow: 0 2px 18px #14fcfc22;
        transition: all .18s cubic-bezier(.4,1.4,.65,1.05);
        font-size: 1.04em;
    }

        .filter-options a.active,
        .filter-options a:hover,
        .filter-options button.active,
        .filter-options button:hover {
            background: linear-gradient(90deg, #14eaff 0%, #34eaff 80%);
            color: #131b24;
            border-color: #35faff;
            box-shadow: 0 0 22px #14f9fc66;
        }

.filter-categories summary {
    color: #f3f3f3;
    font-weight: 600;
    cursor: pointer;
    font-size: 1.08em;
    padding: 4px 11px;
    border-radius: 9px;
    border: 1.5px solid #f74fff70;
    background: #2d1834;
    box-shadow: 0 2px 12px #f74fff18;
    margin-bottom: 9px;
}

.filter-categories[open] summary {
    background: #000000;
    color: #fff;
    border-color: #ffffff;
}

.filter-categories label {
    display: flex;
    align-items: center;
    gap: 7px;
    
    padding-left: 7px;
    font-weight: 500;
    margin-bottom: 3px;
}

.filter-categories input[type="checkbox"] {
    accent-color: #ed19ff;
}

.filter-form button[type="submit"] {
    background: linear-gradient(90deg, #15eaff 0%, #1a8fff 100%);
    border: none;
    border-radius: 13px;
    padding: 9px 28px;
    color: #fff;
    font-size: 1.2em;
    font-weight: 700;
    margin-left: 10px;
    box-shadow: 0 2px 18px #1a8fff77;
    transition: background .17s, box-shadow .19s;
}

    .filter-form button[type="submit"]:hover {
        background: linear-gradient(100deg, #28f2f7 0%, #4b7aff 100%);
        color: #111;
        box-shadow: 0 2px 28px #37eaffaa;
    }

/* Responsive — для маленьких экранов */
@media (max-width: 600px) {
    .dark-modal .modal-body,
    .dark-modal .modal-header {
        padding: 18px 9px 14px 9px;
    }

    .filter-form .filter-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.3em;
    }

    .filter-label {
        min-width: 0;
    }
}
.btn-glow {
    border-radius: 12px;
    border: 2px solid #16d8ff;
    background: transparent;
    color: #16d8ff;
    box-shadow: 0 0 18px #16d8ff44, 0 0 0 transparent;
    transition: box-shadow 0.22s, color 0.17s, border-color 0.17s, background 0.25s;
}

    .btn-glow:hover, .btn-glow:focus {
        color: #fff;
        background: #16d8ff12;
        box-shadow: 0 0 38px #16d8ff99, 0 0 6px #fff3;
        border-color: #52e7fa;
    }
.form-section {
    background: var(--modal-bg, rgba(34,40,49,0.83));
    backdrop-filter: blur(18px);
    border-radius: 24px;
    box-shadow: 0 4px 32px #1dd8ff29, 0 0 1px #fff5;
    padding: 25px 9px 45px;
    margin: 30px auto;
    max-width: 530px;
}

.form-section__title {
    margin-bottom: 22px;
    font-size: 2em;
    font-weight: 800;
    color: var(--accent, #00e6ff);
    text-shadow: 0 2px 18px #23fff3ad;
    letter-spacing: .01em;
}

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

@media (min-width: 600px) {
    .form-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.form-group {
    display: flex;
    gap: 7px;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: space-around;
}

.form-input, .form-select {
    background: rgb(30 180 171 / 46%);
    border: 1.5px solid #33ebff88;
    border-radius: 13px;
    padding: 13px 17px;
    color: #000000;
    font-size: 1.09em;
    transition: border-color .17s, box-shadow .19s;
    box-shadow: 0 2px 12px #19f5ff1a;
    outline: none;
}

    .form-input:focus, .form-select:focus {
        border-color: #14f5ff;
        box-shadow: 0 0 0 2.5px #1bf8ff88;
    }

.form-select {
    appearance: none;
    cursor: pointer;
}

.form-group label {
    font-weight: 600;
    color: var(--header-text, #e0eaff);
    margin-bottom: 4px;
}

.button-primary {
    width: 100%;
    padding: 15px 0;
    margin-top: 22px;
    background: linear-gradient(93deg, #09e6fb 18%, #0c5fd2 98%);
    color: #fff;
    font-size: 1.25em;
    font-weight: 700;
    border: none;
    border-radius: 13px;
    box-shadow: 0 4px 28px #0ee8ff49;
    transition: box-shadow 0.19s, background .22s;
}

    .button-primary:hover, .button-primary:focus {
        box-shadow: 0 6px 38px #0de8ffc7;
        background: linear-gradient(93deg, #14f5ff 8%, #197ffd 92%);
        color: #fff;
    }

input[type="checkbox"] {
    accent-color: #0ce1fb;
    transform: scale(1.16);
    margin-right: 5px;
}

label[for="accept_terms"] {
    color: #bbb;
    font-size: 0.99em;
    margin: 18px 0 0;
    display: flex;
    align-items: center;
}
.extra-service-group {
    display: flex;
    gap: 7px;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.dashboard-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 24px;
    padding: 0;
    list-style: none;
}

    .dashboard-btns li {
        margin: 0;
    }

    .dashboard-btns a {
        display: inline-block;
        padding: 14px 32px;
        font-size: 1.23em;
        font-weight: 600;
        color: #fff;
        background: linear-gradient(165deg, #339fb7 0%, #646565 60%, #000000 100%);
        border-radius: 15px;
        border: none;
        box-shadow: 0 4px 18px #16d8ff33, 0 2px 8px #0003;
        transition: background 0.18s, box-shadow 0.18s, transform 0.14s;
        outline: none;
        text-shadow: 0 2px 6px #154c65aa;
        letter-spacing: 0.02em;
        cursor: pointer;
        text-decoration: none;
        position: relative;
    }

        .dashboard-btns a:hover,
        .dashboard-btns a:focus {
            background: linear-gradient(100deg, #00f2fe 0%, #8ae9ff 100%);
            box-shadow: 0 8px 32px #16d8ff77, 0 2px 18px #fff5;
            color: #232744;
            transform: translateY(-2px) scale(1.04);
        }

.dashboard-divider {
    border: none;
    border-top: 2px solid #b9eaff;
    margin: 18px 0 32px 0;
    opacity: 0.8;
    box-shadow: 0 4px 32px #8ae9ff11;
    background: none;
}

@media (max-width: 800px) {
    .dashboard-btns {
        flex-direction: column;
        gap: 12px;
    }

        .dashboard-btns a {
            width: 100%;
            text-align: center;
            padding: 13px 0;
            font-size: 1.05em;
        }
}

html, body {
    height: 100%;
    margin: 0;
}

.page-wrapper {
    min-height: calc(100vh - 239px); /* 100px — высота футера */
}

footer {
    background: #222;
    color: #fff;
    text-align: center;
    padding: 20px;
}

.product-detail {
    margin-top: 25px;
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    flex-direction: column;
    align-items: center;
}

    .product-detail img {
        max-width: 300px;
        border-radius: 8px;
    }

.chat-bubble {
    position: fixed;
    right: 24px;
    bottom: 82px;
    z-index: 1200;
    background: none;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0,0,0,.2);
    border-radius: 50%;
    transition: box-shadow 0.2s;
}

    .chat-bubble:hover {
        box-shadow: 0 4px 16px rgba(56,182,255,0.4);
    }

.bounce {
    animation: smooth-bounce 1.7s linear infinite;
}

@keyframes smooth-bounce {
    0%, 100% {
        transform: translateY(0);
    }

    10% {
        transform: translateY(-6px);
    }

    20% {
        transform: translateY(-16px);
    }

    28% {
        transform: translateY(-22px);
    }

    36% {
        transform: translateY(-16px);
    }

    44% {
        transform: translateY(-8px);
    }

    54% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(0);
    }
}

.chat-tip {
    display: none;
    position: fixed;
    right: 80px;
    bottom: 48px;
    background: #fff;
    color: #222;
    padding: 13px 32px 13px 22px;
    font-size: 1.1em;
    border-radius: 15px 15px 15px 0;
    box-shadow: 0 2px 12px rgba(30,30,50,.18);
    z-index: 1210;
    cursor: pointer;
    font-weight: 500;
    transition: opacity 0.4s, transform 0.4s;
    opacity: 0;
}

    .chat-tip.active {
        display: block;
        opacity: 1;
        transform: translateY(0);
        animation: fadeIn 0.4s;
    }

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.chat-tip .close-tip {
    position: absolute;
    right: 10px;
    top: 8px;
    color: #999;
    font-size: 1.3em;
    cursor: pointer;
    font-weight: 600;
    border: none;
    background: transparent;
    padding: 0;
    line-height: 1;
    z-index: 2;
    transition: color .2s;
}

    .chat-tip .close-tip:hover {
        color: #38b6ff;
    }

@media (max-width: 600px) {
    .chat-tip {
        right: 10vw;
        bottom: 80px;
    }

    .chat-bubble {
        right: 14px;
        bottom: 80px;
    }
}
.chat-widget {
    display: none;
    flex-direction: column;
    position: fixed;
    right: 16px;
    bottom: 90px;
    width: 340px;
    max-width: 90vw;
    height: 440px;
    color: #fff;
    border-radius: 18px;
    box-shadow: 0 6px 32px rgba(30,30,50,.18);
    z-index: 1300;
    overflow: hidden;
    font-family: inherit;
}

    .chat-widget.active {
        display: flex;
    }


#chat-close {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 1.5em;
    cursor: pointer;
}

.chat-messages {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    background: var(--bg);
    font-size: 1em;
}

.chat-input-row {
    display: flex;
    padding: 10px 12px;
    border-top: 1px solid #444;
    background: #232b35;
}

#chat-input {
    flex: 1;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #2e4053;
    background: #15181c;
    color: #fff;
    font-size: 1em;
}

#chat-send {
    background: #38b6ff;
    color: #fff;
    border: none;
    margin-left: 8px;
    border-radius: 6px;
    padding: 0 16px;
    font-size: 1.2em;
    cursor: pointer;
    transition: background .2s;
}

    #chat-send:hover {
        background: #2196f3;
    }
.chat-msg {
    margin-bottom: 9px;
    padding: 8px 12px;
    border-radius: 13px;
    max-width: 80%;
    word-break: break-word;
    line-height: 1.5;
    font-size: 1em;
    position: relative;
    background: #fff;
    color: #232b35;
}

.chat-msg-user {
    margin-left: auto;
    background: #38b6ff;
    color: #fff;
    border-bottom-right-radius: 5px;
}

.chat-msg-bot {
    margin-right: auto;
    background: #232b35;
    color: #fff;
    border-bottom-left-radius: 5px;
}

.chat-msg-admin {
    margin-right: auto;
    background: #ffe39f;
    color: #6c5300;
    border-bottom-left-radius: 5px;
}

.chat-msg-typing {
    font-size: 1.2em;
    color: #aaa;
    background: transparent;
    box-shadow: none;
}

.typing-dots span {
    animation: blink 1.4s infinite both;
    display: inline-block;
}

    .typing-dots span:nth-child(2) {
        animation-delay: .2s;
    }

    .typing-dots span:nth-child(3) {
        animation-delay: .4s;
    }

@keyframes blink {
    0%, 100% {
        opacity: 0.2;
    }

    20% {
        opacity: 1;
    }
}

.dot {
    animation: dot-blink 1.2s infinite;
}

.dot1 {
    animation-delay: 0s;
}

.dot2 {
    animation-delay: 0.4s;
}

.dot3 {
    animation-delay: 0.8s;
}

@keyframes dot-blink {
    0% {
        opacity: 1;
    }

    20% {
        opacity: 0.2;
    }

    40% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

.modal-photo {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.8);
    justify-content: center;
    align-items: center;
}

    .modal-photo.active {
        display: flex;
    }

.modal-content-photo {
    max-width: 90vw;
    max-height: 90vh;
    border-radius: 16px;
    box-shadow: 0 4px 32px #0007;
    background: #fff;
}

.close-modal {
    position: absolute;
    top: 30px;
    right: 40px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    font-family: Arial, sans-serif;
    z-index: 1001;
    text-shadow: 1px 2px 8px #000;
}

@media (max-width: 600px) {
    .close-modal {
        top: 10px;
        right: 16px;
        font-size: 32px;
    }

    .modal-content-photo {
        max-width: 98vw;
        max-height: 60vh;
    }
}

/* Кнопки выбора режима */
.chat-modes {
    margin: 0;
    padding: 0;
}


.chat-header {
    background: var(--header-bg);
    color: var(--header-text);
    display: flex;
    align-items: center;
    height: 48px;
    position: relative;
    border-radius: 18px 18px 0 0;
    user-select: none;
}

#chat-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #fff;
}
/* Поле для ресайза */
.chat-resizer {
    position: absolute;
    left: 0;
    top: 0;
    width: 28px;
    height: 28px;
    cursor: nwse-resize;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

    .chat-resizer:after {
        content: "";
        display: block;
        margin: 6px 0 0 6px;
        width: 16px;
        height: 16px;
        background: repeating-linear-gradient(135deg, #eaf7ff 0 2px, transparent 2px 4px), repeating-linear-gradient(135deg, #9ddcff 0 1px, transparent 1px 6px);
        border-radius: 5px;
        opacity: 0.85;
        box-shadow: 0 1px 3px #0001;
    }

.chat-mode-btn {
    background: #22698b;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 1.23em;
    cursor: pointer;
    opacity: 0.6;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    transition: background .15s, opacity .2s;
    overflow: hidden; /* обрежет изображение по кругу */
}

    .chat-mode-btn.active,
    .chat-mode-btn:hover {
        background: #2ed8e6;
        color: #1a3754;
        opacity: 1;
    }

.mode-icon {
    width: 22px; /* или 20-24px — регулируйте по размеру фото */
    height: 22px;
    object-fit: cover;
    display: block;
    margin: auto;
    pointer-events: none; /* чтобы клик шел по кнопке, а не по картинке */
    border-radius: 50%; /* если хотите полностью круглое фото */
}
/* ===== Стили для блока запроса даты ===== */

.date-request-block {
    max-width: 370px;
    margin: 32px auto 22px auto;
    background: var(--card-bg, #f9f9f9);
    border-radius: 18px;
    box-shadow: 0 8px 34px rgba(60,170,255,0.10), 0 1.5px 0 0 var(--border, #ccc);
    padding: 30px 26px 22px 26px;
    border: 1.5px solid var(--border, #ccc);
    color: var(--text, #111);
    font-family: 'Montserrat', 'Arial', sans-serif;
    transition: background .18s, box-shadow .18s, border-color .18s;
}

    .date-request-block h3 {
        font-size: 1.42rem;

        margin-bottom: 18px;
        font-weight: 700;
        text-align: center;
    }

    .date-request-block label {
        font-size: 1.02rem;
        color: var(--text, #222);
        font-weight: 500;
        margin-bottom: 8px;
        display: block;
        letter-spacing: .01em;
    }

    .date-request-block input[type="date"],
    .date-request-block input[type="time"] {
        width: 68%;
        min-width: 135px;
        margin-left: 10px;
        padding: 7px 11px;
        border: 1.4px solid var(--border, #ccc);
        border-radius: 8px;
        background: var(--input-bg, #fff);
        color: var(--text, #222);
        font-size: 1.06rem;
        transition: border-color .16s, box-shadow .16s, background .16s;
        box-sizing: border-box;
    }

        .date-request-block input[type="date"]:focus,
        .date-request-block input[type="time"]:focus {
            border-color: var(--accent, #1779d3);
            outline: none;
            box-shadow: 0 0 0 1.5px var(--accent, #1779d3);
        }

    .date-request-block button[type="submit"] {
        display: block;
        margin: 17px auto 0 auto;
        padding: 9px 26px;
        background: var(--checkout-button-bg, #1779d3);
        color: var(--checkout-button-text, #fff);
        border: none;
        border-radius: 9px;
        font-size: 1.08rem;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 2px 12px rgba(25, 160, 255, .13);
        transition: background .17s, color .17s, box-shadow .17s;
    }

        .date-request-block button[type="submit"]:hover {
            background: var(--checkout-button-hover, #0056b3);
            color: var(--checkout-button-text, #fff);
        }

/* Поддержка всех цветовых тем (переменные уже есть в твоём css) */

html.dark-theme .date-request-block {
    box-shadow: 0 8px 34px rgba(10,170,255,0.10), 0 1.5px 0 0 var(--border, #595b61);
}

html.rose-theme .date-request-block {
    box-shadow: 0 8px 34px rgba(250, 60, 160, 0.14), 0 1.5px 0 0 var(--border, #fa8df9);
}

html.ocean-theme .date-request-block {
    box-shadow: 0 8px 34px rgba(34, 220, 255, 0.14), 0 1.5px 0 0 var(--border, #49b7ff);
}

/* Мелкие доработки для компактности */
@media (max-width: 480px) {
    .date-request-block {
        max-width: 97vw;
        padding: 19px 6vw 18px 6vw;
    }

        .date-request-block input[type="date"],
        .date-request-block input[type="time"] {
            min-width: 95px;
            font-size: 0.97rem;
        }

        .date-request-block h3 {
            font-size: 1.13rem;
            margin-bottom: 12px;
        }
}

.product-video iframe {
    max-width: 100%;
    min-height: 300px;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.09);
    display: block;
    margin: 0 auto;
}
