/* ==========================================================================
   ГЛОБАЛЬНИЕ СТИЛІ І ЗКИДАННЯ (BASE STYLES)
   ========================================================================== */
body {
    min-width: 480px;
    background: linear-gradient(180deg, #fff7e8 0%, #f3fbff 45%, #fffaf0 100%);
    font-family: "Gilroy", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #333 !important;
    cursor: default;
    padding-bottom: 120px !important; 
    padding-top: 0 !important;
    margin-top: 0 !important;
    overflow-x: hidden !important;
}

.main_wrapper { 
    margin: 0 auto; 
    width: 480px; 
    background: #ffffff6e; 
    padding-top: 0px !important; /* Висота верхнього фіксованого меню */
    overflow-x: hidden !important;
}

section { 
    padding: 30px 0; 
}

.clearfix:after { 
    content: ""; 
    display: block; 
    clear: both; 
}

img { 
    max-width: 96%; 
    height: auto; 
    border-radius: 20px; 
    margin: 10px auto; 
    box-shadow: inset -1px 1px 12px rgba(0, 0, 0, 0.4), -2px 5px 10px rgba(0, 0, 0, 0.43); 
}

b { 
    font-weight: 700; 
}

/* ==========================================================================
   ЗАГОЛОВКИ ТА ЕЛЕМЕНТИ ТЕКСТУ
   ========================================================================== */
.main-title-block {
    background: #ffffff;
    padding: 20px 15px 10px;
    text-align: center;
    border-bottom: 1px solid #f0f0f0;
    margin-top: 0 !important;
}

.main-title-block h1 {
    font-family: "AvenirNextCyr", sans-serif;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #333333 !important;
    margin: 0 !important;
    padding: 0 !important;
}

h2.title { 
    margin: 0 0 30px; 
    font-weight: 700; 
    font-size: 30px; 
    line-height: 36px; 
    text-align: center; 
    color: #fff; 
    text-transform: uppercase; 
}

.description_section { padding: 30px 0 0 0 !important; }
.description_section h2 span { color: #1a1a1ac7; }
.description_section .text_block { margin: 0 0 30px; }
.description_section .text_block p { margin: 0 20px 46px; font-size: 18px; padding: 0px 25px; color: #1a1a1ac7; font-weight: 400; }

/* Списки переваг */
.list4 { padding: 20px 0; }
.list4 li { margin: 0 0 12px; padding: 0 20px 0 50px; background: url("../images/tick.svg") 20px 2px no-repeat; position: relative; background-size: 20px; text-align: left; }

/* Блок відео презентації */
.video { margin: 40px auto 25px; width: 440px; }
.video .player { border-radius: 25px; overflow: hidden; width: 440px; height: 440px; background: #ffffff00; text-align: center; box-shadow: 0 0 11px #000000cc; }
.video_block { width: 480px; height: 270px; background-color: #000; overflow: hidden; position: relative; }
.video_block iframe { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

/* ==========================================================================
   КАТАЛОГ КОМПЛЕКТІВ ЗАВДАНЬ (PRODUCT CATALOG SECTION)
   ========================================================================== */
.kids-upsell-card .kids-open-popup {
    display: block;
    width: calc(100% - 20px);
    margin: 10px auto 12px;
    padding: 12px 8px;

    border: none;
    border-radius: 10px;

    background: #f58220;
    color: #ffffff;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;

    cursor: pointer;
}

.kids-upsell-card .kids-open-popup:active {
    transform: scale(0.98);
}

.kids-upsell-section {
    background: #fff;
    margin: 40px 10px 30px;
    padding: 25px 10px 30px;
    border-radius: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.kids-upsell-title {
    text-align: center;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #333;
    margin-bottom: 25px;
}

/* ФІКС: Закриваємо розірваний у твоїй базі клас правильними дужками */
.kids-upsell-grid,
.kids-upsell-grid-new {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.kids-upsell-card {
    position: relative;
}

.kids-upsell-card {
    display: flex !important;
    flex-direction: column !important;
}

.kids-upsell-card .kids-open-popup {
    margin-top: auto !important;
}

.kids-upsell-card h3 {
    text-align: center !important;

    padding: 0 8px 10px !important;
    margin: 10px 0 0 !important;

    line-height: 1.25 !important;
}


/* ==========================================================================
   ОФОРМЛЕННЯ ЕКРАНУ "ЯК ЗАМОВИТИ?" (ПОВЕРНЕННЯ КАРТИНОК-ФОНІВ)
   ========================================================================== */
.order_steps_section h2.title {
    color: #333333 !important;
    text-shadow: none !important;
    font-size: 30px !important;
    margin-bottom: 25px !important;
    text-align: center !important;
}

.how-order-img {
    height: 110px !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto 15px auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
}

.how-order-img.img1 { background-image: url("../images/111.jpg") !important; }
.how-order-img.img2 { background-image: url("../images/222.jpg") !important; }
.how-order-img.img3 { background-image: url("../images/333.jpg") !important; }
.how-order-img.img4 { background-image: url("../images/444.jpg") !important; }

.how-order-img .title {
    font-family: "AvenirNextCyr", sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9), -1px -1px 3px rgba(0, 0, 0, 0.9) !important;
    text-align: inherit !important;
}

.how-order-img .description {
    font-family: "AvenirNextCyr", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9), -1px -1px 3px rgba(0, 0, 0, 0.9) !important;
    text-align: inherit !important;
}

.how-order-img.img1, .how-order-img.img3 {
    align-items: flex-start !important;
    text-align: left !important;
    padding: 20px 120px 20px 30px !important; 
}

.how-order-img.img2, .how-order-img.img4 {
    align-items: flex-end !important;
    text-align: right !important;
    padding: 20px 30px 20px 120px !important;
}

.how-order-img .right {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: inherit !important;
}

/* ==========================================================================
   ЗАХИСТ ВІД ВИЛЕЗАННЯ: СТИЛІ МОДАЛЬНИХ ВІКОН (ПОПАПІВ)
   ========================================================================== */
.modal-popup {
    display: none !important; /* ЗАХИСТ: Жорстко ховаємо вікна на сторінці */
    position: fixed !important;
    z-index: 9999 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    transition: opacity 0.3s ease !important;
}

.modal-popup.active {
    display: flex !important; /* Показуємо тільки при активації через JS */
    opacity: 1 !important;
}

.modal-content {
    background-color: #fff !important;
    padding: 30px 20px 25px !important;
    border-radius: 20px !important;
    width: 92% !important;
    max-width: 430px !important;
    position: relative !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    box-sizing: border-box !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
}

.modal-close {
    position: absolute !important;
    top: 8px !important;
    right: 15px !important;
    font-size: 35px !important;
    font-weight: 300 !important;
    color: #aaa !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
}

.modal-close:hover {
    color: #000 !important;
}

.modal-content .form-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.modal-content .field {
    width: 100% !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    box-sizing: border-box !important;
}

/* СТИЛІ ДЛЯ НАШОГО FLEX-КОШИКА ВСЕРЕДИНІ ПОПАПУ */
.form-upsells {
    background: #fafafa !important;
    border: 1px solid #e0e0e0 !important;
    padding: 15px !important;
    border-radius: 12px !important;
    margin: 15px 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

.cart-item-visual {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: #ffffff !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    border: 1px solid #e2e2e2 !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important;
}

.cart-item-visual .item-name {
    font-family: 'AvenirNextCyr', sans-serif !important;
    font-weight: 700 !important;
    color: #333333 !important;
    font-size: 15px !important;
    text-align: left !important;
    line-height: 1.3 !important;
}

.cart-item-visual .item-controls {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
}

.cart-item-visual .item-price {
    font-family: 'AvenirNextCyr', sans-serif !important;
    font-weight: 800 !important;
    color: #252525 !important;
    font-size: 15px !important;
}

.cart-item-visual .remove-from-cart {
    color: #dc3545 !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    cursor: pointer !important;
    padding: 0 5px !important;
    line-height: 1 !important;
    transition: transform 0.2s ease !important;
}
.cart-item-visual .remove-from-cart:hover {
    transform: scale(1.2) !important;
}

.form-total-box {
    background: #fff0f0 !important;
    border: 2px solid #d92c2c !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin: 12px 0 !important;
    text-align: center !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #222 !important;
}
.form-total-box span { color: #d92c2c !important; }

/* ========================================
   ДОПРОДАЖИ В КОРЗИНЕ
======================================== */

.form-upsell-item {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    box-sizing: border-box !important;

    padding: 11px 12px !important;
    margin-bottom: 8px !important;

    background: #ffffff !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;

    cursor: pointer !important;
}


/* Ховаємо стандартний checkbox */
.form-upsell-item > input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* Видимий квадрат checkbox */
.form-upsell-checkmark {
    display: block !important;

    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;

    border: 2px solid #b8b8b8 !important;
    border-radius: 4px !important;

    background: #ffffff !important;

    position: relative !important;
    box-sizing: border-box !important;
}


/* Галочка */
.form-upsell-item > input[type="checkbox"]:checked
+ .form-upsell-checkmark {
    background: #2cb742 !important;
    border-color: #2cb742 !important;
}


.form-upsell-item > input[type="checkbox"]:checked
+ .form-upsell-checkmark::after {
    content: "✓" !important;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    transform: translate(-50%, -55%) !important;

    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}


/* Назва товару */
.form-upsell-item > span {
    flex: 1 1 auto !important;
    min-width: 0 !important;

    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: #333333 !important;

    white-space: normal !important;
}


/* Ціна справа */
.form-upsell-item > b {
    flex-shrink: 0 !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    color: #222222 !important;

    white-space: nowrap !important;
}

/* ==========================================================================
   СТИЛІ ДЛЯ ВЕЛИКОГО БЛОКУ БАГАТОРАЗОВОГО НАБОРУ
   ========================================================================== */
.reuse-pack-section {
    background: #f0fff3 !important;
    border: 3px dashed #2cb742 !important;
    margin: 30px 10px !important;
    padding: 25px 15px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
}
.reuse-title {
    text-align: center !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #1e7e34 !important;
    margin-bottom: 15px !important;
    line-height: 1.2 !important;
}
.reuse-list {
    font-size: 22px !important;
    line-height: 1.5 !important;
    color: #333333 !important;
    margin: 15px 0 !important;
    list-style: none !important;
    padding: 0 !important;
}
.reuse-list li {
    margin-bottom: 12px !important;
    padding-left: 30px !important;
    position: relative !important;
    text-align: left !important;
}
.reuse-list li::before {
    content: "✨" !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
}
.reuse-btn-wrapper {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}
.add-reuse-btn-style {
    display: block !important;
    margin: 0 auto !important; /* ФІКС: Центрування кнопки набору */
    background: #2cb742 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 55px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(44, 183, 66, 0.3) !important;
    text-transform: uppercase !important;
    transition: background 0.2s ease, transform 0.1s ease !important;
}
.add-reuse-btn-style:active {
    transform: scale(0.98) !important;
}

/* ==========================================================================
   НИЖНЯ ФІКСОВАНА ПАНЕЛЬ З ТАЙМЕРОМ (STICKY BAR)
   ========================================================================== */
.mobile-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #ffffff;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
    padding: 10px 5px 15px 5px !important;
    box-sizing: border-box;
    display: none; 
    font-family: "Gilroy", sans-serif;
}

@media (max-width: 768px) {
    .mobile-sticky-bar {
        display: block !important;
    }
}

.sticky-container {
    max-width: 480px;
    margin: 0 auto;
}

.sticky-timer-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #333;
}

.st-digits {
    font-weight: 800;
    color: #d92c2c;
    font-size: 16px;
    letter-spacing: 1px;
}

.sticky-btn-link {
    display: block;
    width: 100%;
    height: 55px;
    line-height: 55px;
    text-align: center;
    background: linear-gradient(180deg, #ff5e57 0%, #d92c2c 100%) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(217, 44, 44, 0.4) !important;
    transition: transform 0.1s;
}

.sticky-btn-link:active {
    transform: scale(0.98);
}

/* ==========================================================================
   КНОПКИ І ЗАГАЛЬНІ ЕЛЕМЕНТИ ФОРМИ (BUTTONS & COMPONENT BASICS)
   ========================================================================== */

.footer_section { 
    padding: 25px 0; 
    background: #f2f2f2; 
    font-size: 14px; 
    line-height: 22px; 
    text-align: center; 
}
.footer_section img { display: block; margin: 0 auto 10px auto; }
.footer_section a { color: #111; }

/* ==========================================================================
   НОВЫЕ КАРТОЧКИ КАТАЛОГА СО СЛАЙДЕРОМ И АККОРДЕОНОМ
   Этот блок не ломает старые плитки .kids-upsell-grid.
   Он обслуживает только новый каталог .kids-upsell-grid-new.
   ========================================================================== */
.kids-upsell-grid-new {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

.kids-product-box {
    position: relative !important;
    background: #ffffff !important;
    border: 1px solid #eeeeee !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.kids-price-badge {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: #d92c2c !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 7px 10px !important;
    border-radius: 20px !important;
    z-index: 20 !important;
    box-shadow: 0 3px 8px rgba(217, 44, 44, 0.3) !important;
}

.product-slider {
    width: 100% !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f2f2f2 !important;
    margin-bottom: 10px !important;
}

.slider-media-item {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #f2f2f2 !important;
}

.slider-media-item video,
.slider-media-item img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
   aspect-ratio: 1 / 1 !important;
height: auto !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.product-slider .slick-prev,
.product-slider .slick-next {
    z-index: 30 !important;
    width: 30px !important;
    height: 30px !important;
}

.product-slider .slick-prev {
    left: 6px !important;
}

.product-slider .slick-next {
    right: 6px !important;
}

.product-slider .slick-prev:before,
.product-slider .slick-next:before {
    font-size: 26px !important;
    color: #ffffff !important;
    text-shadow: 0 2px 5px rgba(0,0,0,0.8) !important;
    opacity: 1 !important;
}

.kids-product-box h3 {
    font-family: "AvenirNextCyr", sans-serif !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    margin: 20px 0 18px !important;
    color: #222222 !important;
    text-align: left !important;
}

.short-descr {
    font-size: 20px !important;
    line-height: 1.4 !important;
    color: #444444 !important;
    margin: 0 0 10px !important;
    text-align: left !important;
}

.short-bullets {
    padding: 0 !important;
    margin: 0 0 12px !important;
    list-style: none !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    color: #333333 !important;
}

.short-bullets li {
    margin-bottom: 6px !important;
}

.card-buttons-row {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
}

.btn-card-order,
.btn-card-more {
    flex: 1 !important;
    border: none !important;
    border-radius: 10px !important;
    height: 42px !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    font-family: "AvenirNextCyr", sans-serif !important;
    transition: transform 0.1s ease, background 0.2s ease !important;
}

.btn-card-order:active,
.btn-card-more:active {
    transform: scale(0.97) !important;
}

.btn-card-order {
    background: #2cb742 !important;
    color: #ffffff !important;
}

.btn-card-order.is-added {
    background: #6c757d !important;
    color: #ffffff !important;
}

.btn-card-more {
    background: #eef2f5 !important;
    color: #333333 !important;
}

.btn-card-more.is-open {
    background: #d1d8dc !important;
}

.card-accordion-content {
    display: none;
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid #eeeeee !important;
}

.accordion-inner {
    font-size: 20px !important;
    line-height: 1.5 !important;
    color: #333333 !important;
    text-align: left !important;
}

.accordion-inner p {
    margin: 0 0 10px !important;
}

.accordion-inner img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-shadow: none !important;
    margin: 10px 0 0 !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
}

.empty-cart-message {
    text-align: center !important;
    color: #888888 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    padding: 15px 0 !important;
}

.add-reuse-btn-style.is-added {
    background: #dc3545 !important;
}

.kids-popup-list {
    font-size: 17px !important;
    line-height: 1.4 !important;
    color: #333333 !important;
    margin: 10px 0 15px !important;
}

.kids-popup-price {
    text-align: center !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #2cb742 !important;
    margin: 12px 0 18px !important;
}

footer,
.footer_section {
    padding: 25px 0 40px !important;
    background: #f2f2f2 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    text-align: center !important;
}

footer a,
.footer_section a {
    color: #111111 !important;
}

.reuse-form-check {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    background: #f0fff3 !important;
    border: 2px solid #2cb742 !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin: 12px 0 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    color: #222 !important;
    box-sizing: border-box !important;
}

.reuse-form-check input {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin-top: 2px !important;
    accent-color: #2cb742 !important;
}

.reuse-form-check span {
    display: block !important;
    text-align: left !important;
}

.reuse-form-check b {
    font-size: 18px !important;
    color: #1e7e34 !important;
}



/* =====================================================
   ЕДИНАЯ СИСТЕМА КНОПОК ДЛЯ ЛЕНДИНГА
   ===================================================== */

/* Главные кнопки заказа */
.button,
.sticky-btn-link,
#order_popup button[type="submit"].button {
   background: #ff8c32 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(0, 86, 179, 0.25) !important;
    text-shadow: none !important;
    font-family: "AvenirNextCyr", sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

/* Большие кнопки */
.button,
#order_popup button[type="submit"].button {
    width: 90% !important;
    max-width: 400px !important;
    height: 60px !important;
    line-height: 60px !important;
    font-size: 20px !important;
    padding: 0 !important;
    display: block !important;
    text-align: center !important;
    margin: 0 auto !important;
    cursor: pointer !important;
}

/* Нижняя липкая кнопка */
.sticky-btn-link {
    height: 55px !important;
    line-height: 55px !important;
    font-size: 19px !important;
    border-radius: 14px !important;
}

/* Зеленые кнопки добавления */
.btn-card-order,
.add-reuse-btn-style,
#kids_popup_order_btn {
    background: #2cb742 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 12px rgba(44, 183, 66, 0.25) !important;
    text-shadow: none !important;
    font-weight: 900 !important;
}

/* Вторичные кнопки */
.btn-card-more {
    background: #eef2f5 !important;
    color: #333333 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.price-card{
    width:calc(100% - 30px);
    margin:20px auto;
    background:#ffffff;
    border-radius:20px;
    padding:20px;
    text-align:center;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
    border:2px solid #ffe0b2;
}

.price-label{
    font-size:18px;
    font-weight:700;
    color:#ff8c32;
    margin-bottom:8px;
}

.price-value{
    font-size:42px;
    line-height:1;
    font-weight:900;
    color:#333;
    margin-bottom:10px;
}

.price-text{
    font-size:18px;
    color:#666;
    line-height:1.4;
}

.benefits-row{
    width:calc(100% - 30px);
    margin:14px auto 24px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
}

.benefit-card{
    background:#ffffff;
    border-radius:14px;
    padding:10px 6px;
    text-align:center;
    box-shadow:0 3px 10px rgba(0,0,0,.05);
    border:1px solid #ffe0b2;
}

.benefit-icon{
    font-size:30px;
    line-height:1;
    margin-bottom:5px;
}

.benefit-title{
    font-size:16px;
    line-height:1.15;
    font-weight:900;
    color:#333;
}

.benefit-text{
    font-size:12px;
    line-height:1.2;
    color:#666;
}

.benefit-card:nth-child(1){
    border-color:#ffd6a5;
}

.benefit-card:nth-child(2){
    border-color:#c8f0c8;
}

.benefit-card:nth-child(3){
    border-color:#cfe5ff;
}

.section-label{
    width:calc(100% - 30px);
    margin:0 auto 20px;
    padding:16px 14px;
    background:#fff8e8;
    border:2px dashed #ffb347;
    border-radius:20px;
    text-align:center;
    box-sizing:border-box;
}

.section-label-small{
    font-size:15px;
    line-height:1.2;
    font-weight:800;
    color:#ff8c32;
    margin-bottom:5px;
}

.section-label-title{
    font-size:28px;
    line-height:1.15;
    font-weight:900;
    color:#333;
    text-transform:uppercase;
}

.theme-title{
    width:calc(100% - 20px);
    margin:0 auto 18px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:18px;
    box-sizing:border-box;
}

.theme-logic{
    background:#fff4e6;
    border:2px dashed #ffb347;
}

.theme-icon{
    font-size:40px;
    line-height:1;
}

.theme-main{
    font-size:28px;
    line-height:1;
    font-weight:900;
    color:#333;
    text-transform:uppercase;
}

.theme-sub{
    margin-top:5px;
    font-size:17px;
    line-height:1.25;
    font-weight:700;
    color:#666;
}

.theme-graph{
    background:#eef7ff;
    border:2px dashed #7db7ff;
}

.theme-lab{
    background:#eefceb;
    border:2px dashed #8ed081;
}

.theme-color{
    background:#fff8d9;
    border:2px dashed #f1c84c;
}

.theme-cut{
    background:#fff0f3;
    border:2px dashed #ff9ab0;
}

.reuse-note{
    background:#ffffff;
    border:1px solid #c8f0c8;
    border-radius:14px;
    padding:10px 12px;
    margin:0 auto 15px;
    font-size:16px;
    line-height:1.35;
    font-weight:800;
    color:#1e7e34;
    text-align:center;
}

/* Одинаковая высота подзаголовков в карусели тематик */

.themes-carousel .theme-sub {
    min-height: 2.5em !important;

    display: flex !important;
    align-items: center !important;
}

/* ==========================================================================
   БАННЕР КЕШБЕКА ЗА ВИДЕООТЗЫВ
   ========================================================================== */
.cashback-banner {
    display: flex;
    align-items: center;
    gap: 15px;
    width: calc(100% - 30px);
    margin: 10px auto 20px auto;
    padding: 16px;
    background: linear-gradient(135deg, #fff3e0 0%, #fff9c4 100%);
    border: 2px dashed #ffb347;
    border-radius: 20px;
    box-sizing: border-box;
    box-shadow: 0 4px 15px rgba(255, 140, 50, 0.08);
}

.cb-icon {
    font-size: 38px;
    line-height: 1;
    animation: gift-bounce 2.5s infinite ease-in-out;
}

.cb-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.cb-title {
    font-family: "AvenirNextCyr", sans-serif;
    font-size: 20px;
    font-weight: 900;
    color: #e65100;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cb-text {
    font-size: 16px;
    line-height: 1.35;
    color: #4e342e;
    font-weight: 500;
}

.cb-text b {
    color: #d84315;
    font-weight: 800;
}

/* Мягкая анимация покачивания подарка, чтобы привлечь внимание */
@keyframes gift-bounce {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-4px) rotate(8deg); }
}


/* ==========================================================================
   АКЦЕНТНАЯ ЛИПКАЯ КНОПКА И ПАНЕЛЬ (ИСПРАВЛЕНО)
   ========================================================================== */

/* 1. Делаем подложку панели более контрастной */
.mobile-sticky-bar {
    background: #ffffff !important;
    border-top: 3px solid #ff8c32 !important; 
    box-shadow: 0 -8px 25px rgba(0, 0, 0, 0.15) !important; 
    padding: 10px 0 !important;
}

/* 2. Текст счетчика делаем сочнее */
.sticky-timer-row {
    color: #222222 !important;
    font-weight: 800 !important;
    margin-bottom: 6px !important;
}

.sticky-timer-row #stock-count {
    color: #d92c2c !important; 
    font-weight: 900 !important;
}

/* 3. Перебиваем глобальную систему кнопок за счет жесткого пути .mobile-sticky-bar .sticky-btn-link */
.mobile-sticky-bar .sticky-btn-link {
    background: linear-gradient(180deg, #ff9d42 0%, #ff6f00 100%) !important; /* Включаем сочный градиент */
    color: #ffffff !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 18px rgba(255, 111, 0, 0.5) !important; 
    
    /* Принудительно запускаем пульсацию */
    animation: sticky-pulse 2s infinite ease-in-out !important;
    transition: transform 0.1s ease !important;
}

/* Эффект тапа на телефоне */
.mobile-sticky-bar .sticky-btn-link:active {
    transform: scale(0.96) !important;
    background: #ff5500 !important;
}

/* 4. Магия пульсации */
@keyframes sticky-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 18px rgba(255, 111, 0, 0.5);
    }
    50% {
        transform: scale(1.03); 
        box-shadow: 0 6px 25px rgba(255, 111, 0, 0.75); 
    }
    100% {
        transform: scale(1);
        box-shadow: 0 4px 18px rgba(255, 111, 0, 0.5);
    }
}

/* ========================================
   КАРУСЕЛЬ ТЕМАТИК — КОМПАКТНЫЕ ОТСТУПЫ
======================================== */

.themes-carousel .kids-upsell-section {
    margin-bottom: 0 !important;
}

.themes-carousel .slick-dots {
    position: static !important;

    height: 14px !important;

    margin: 6px 0 0 !important;
    padding: 0 !important;

    line-height: 1 !important;
}

.themes-carousel .slick-dots li {
    width: 14px !important;
    height: 14px !important;

    margin: 0 2px !important;
}

.themes-carousel .slick-dots li button {
    width: 14px !important;
    height: 14px !important;

    padding: 0 !important;
}

.themes-carousel .slick-list {
    padding-bottom: 4px !important;
}

/* Убираем лишнюю внешнюю карточку у тематик внутри слайдера */

.themes-carousel .kids-upsell-section {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* ========================================
   СТРЕЛКИ КАРУСЕЛИ ТЕМАТИК
======================================== */

.themes-carousel {
    position: relative !important;
}

.themes-carousel .slick-arrow {
    position: absolute !important;

    /* Поднимаем стрелки выше */
    top: 38% !important;
    transform: translateY(-50%) !important;

    width: 48px !important;
    height: 48px !important;

    border-radius: 50% !important;
    border: 3px solid #ffffff !important;

    background: #f58220 !important;
    color: #ffffff !important;

    font-size: 38px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* Сам символ стрелки чуть поднимаем внутри кружка */
    padding: 0 0 4px !important;

    box-shadow: 0 4px 14px rgba(245, 130, 32, 0.45) !important;

    cursor: pointer !important;
    z-index: 20 !important;
}

.themes-carousel .slick-prev {
    left: 4px !important;
}

.themes-carousel .slick-next {
    right: 4px !important;
}

.themes-carousel .slick-arrow:before {
    display: none !important;
    content: none !important;
}

.themes-carousel .slick-arrow.slick-disabled {
    opacity: 0.35 !important;
}

/* Центрируем символ стрелки внутри оранжевого круга */

.themes-carousel .slick-arrow {
    padding: 0 !important;
    font-size: 0 !important;
}

.themes-carousel .slick-arrow::after {
    display: block !important;

    color: #ffffff !important;

    font-size: 42px !important;
    line-height: 1 !important;
    font-weight: 900 !important;

    transform: translateY(-2px) !important;
}

.themes-carousel .slick-prev::after {
    content: "‹" !important;
}

.themes-carousel .slick-next::after {
    content: "›" !important;
}


/* ========================================
   ВЕРХНИЙ ПРИЛИПАЮЩИЙ НАВБАР
======================================== */

.top-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;

    width: 100% !important;
    max-width: 480px !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    margin: 0 auto !important;
    padding: 8px 12px !important;

    background: #ffffff !important;
    border-bottom: 1px solid #eeeeee !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.10) !important;
}


/* ЛОГОТИП */

.top-navbar .nav-logo {
    display: flex !important;
    align-items: center !important;

    flex: 1 !important;
    min-width: 0 !important;

    text-decoration: none !important;
}

.top-navbar .nav-logo img {
    display: block !important;

    width: auto !important;
    max-width: 190px !important;
    height: 48px !important;

    margin: 0 !important;

    border-radius: 0 !important;
    box-shadow: none !important;

    object-fit: contain !important;
    object-position: left center !important;
}


/* КНОПКА "ВСІ ТОВАРИ" */

.top-navbar .nav-btn {
    flex-shrink: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 11px 16px !important;

    border: none !important;
    border-radius: 10px !important;
    outline: none !important;

    background: #f58220 !important;
    color: #ffffff !important;

    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: none !important;
}