/* --- ШРИФТИ --- */
*{
    box-sizing:border-box
}
@font-face{
    font-family:'Adjusted Arial Fallback';
    src:local(Arial);
    size-adjust:104%;
    ascent-override:102%;
    descent-override:20%;
    line-gap-override:normal;
    font-display:swap
}
@font-face{
    font-family:'Exo 2';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url('/css/fonts/exo-2-v26-cyrillic_latin-regular.woff2') format('woff2')
}
@font-face{
    font-family:'Exo 2';
    font-style:normal;
    font-weight:500;
    font-display:swap;
    src:url('/css/fonts/exo-2-v26-cyrillic_latin-500.woff2') format('woff2')
}
    @font-face{
    font-family:'Exo 2';
    font-style:normal;font-weight:600;
    font-display:swap;
    src:url('/css/fonts/exo-2-v26-cyrillic_latin-600.woff2') format('woff2')
}
    @font-face{
    font-family:'Exo 2';
    font-style:normal;
    font-weight:700;font-display:swap;
    src:url('/css/fonts/exo-2-v26-cyrillic_latin-700.woff2') format('woff2')
}
body{
    font-family:"Exo 2",'Adjusted Arial Fallback',sans-serif;
    background-color:#f0f0f0;
    color:#434455;
    padding-top:65px;
    padding-bottom:80px
}
    h1{text-align:left;
    font-size:1.4rem;
    margin:15px 0
}
ol,ul{
    list-style-type:none;
    margin:0;
    padding:0
}
a{
    text-decoration:none;
    color:inherit
}
h1,h2,h3,h4,h5,h6,p{
    margin:0
}
img{
    display:block;
    max-width:100%;
    height:auto;
    aspect-ratio:auto
}
button{
    cursor:pointer
}
.visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(100%);
    white-space:nowrap;
    border:0
}
/* --- 2. СІТКА ТА АДАПТИВНІСТЬ (.container) --- */
.container{
    width:100%;
    margin:0 auto;
    padding:0 15px
}
/* НАЛАШТУВАННЯ СУВОРО ДЛЯ МОБІЛЬНИХ ТЕЛЕФОНІВ */
.product-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 350px;
    object-fit: contain; 
    margin: 0 auto 5px;
}

@media screen and (min-width: 768px) {
    .product-image {
        max-width: 500px;
    }
}

@media screen and (min-width:1024px){
.container{
    max-width:960px
    }
}
@media screen and (min-width:1200px){
.container{
    max-width:1140px
    }
}
@media screen and (min-width:1440px){
.container{
    max-width:1320px
    }
}
/* --- 3. ШАПКА САЙТУ ТА КОШИК В HEADER --- */
.page-header{position:fixed;top:0;left:0;width:100%;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000;padding:10px;background-color:#38841a;min-height:65px;box-sizing:border-box}.header-container{display:flex;justify-content:space-between;align-items:center}.header-logo{width:45px;height:45px;display:block;flex-shrink:0}.header-logo img{width:45px;height:45px;object-fit:contain}.basket-btn{border:none;fill:#f1f1f1;position:relative;display:flex;align-items:center;background:none;cursor:pointer}.basket-count{position:absolute;top:-5px;right:-5px;background-color:red;color:#fff;font-size:12px;font-weight:700;border-radius:50%;padding:2px 6px;min-width:18px;height:18px;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 4px rgba(0,0,0,.2)}.basket-count:empty,.basket-count[data-count="0"]{display:none}
/* --- 4. СПИСОК ТОВАРІВ ТА ПЛЕЙСХОЛДЕРИ --- */
.product-card {
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
    padding: 10px;
    content-visibility: auto;
    contain-intrinsic-size: 160px;
    contain: layout style;
    box-sizing: border-box;
    /* Нові налаштування сітки: */
    width: calc(25% - 12px);
    min-width: 200px; 
    display: flex;
    flex-direction: column;
    height: max-content; 
}
/* 1. ДЛЯ ПЛАНШЕТІВ (екрани від 481px до 992px) */
@media screen and (min-width: 481px) and (max-width: 992px) {
    div.product-card {
        width: calc(50% - 12px); */
        min-width: 0;
        margin: 6px; 
    }
}
/* 2. ДЛЯ ТЕЛЕФОНІВ (екрани до 480px) */
@media screen and (max-width: 480px) {
    div.product-card {
        width: 100%;            
        max-width: 100%;
        min-width: 0;       
        margin: 10px 0;         
    }
}
#dynamic-products {
    display: flex;
    flex-wrap: wrap;   
    gap: 15px;       
    min-height: 500px;
    width: 100%;
}
.header-section{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}.brand{color:rgba(0,0,0,.87);text-transform:uppercase}.sku{font-size:16px;color:rgba(0,0,0,.87)}
.details-section {
    display: flex;
    flex-direction: column-reverse; 
    align-items: left; 
    justify-content: center;
    background-color: #fafafa;
    padding: 5px 0;
    font-size: 12px;
    color: rgba(0,0,0,.87);
    text-transform: uppercase;
    width: 100%;             
}
.img-link{
    padding:6px
    }
.link-svg{fill:#006400}.info-section{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:5px 0}.quantity{font-size:14px;color:#666}.status-bar{flex-grow:1;margin:0 15px;height:4px;background-color:#eee;border-radius:3px;overflow:hidden}.price{color:rgba(0,0,0,.87);margin-right:10px}.basket-btn-cart{background-color:#e8f5e9;padding:6px;border:none}.cart-icon{display:block;fill:#006400}.schedule-section{background-color:#fafafa;padding:10px 0;font-size:14px;margin-top:5px}.car-icon{margin-right:8px;font-size:18px}.load-more-container{display:none}.error-message{text-align:center;color:red;padding:20px 0}.no-products-message{text-align:center;padding:20px}
.product-title-link{
    text-decoration:none;
    color:inherit
    }
    .product-title-link:hover {
    color: #38841a;
}
.product-title-link:hover .description {
    font-weight: 600;
}
.photo-link-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;     
    height: 160px;   
    margin: 8px 0;
}
.photo-link-wrapper img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* --- 5. СТОРІНКА ТОВАРУ ТА КОШИК (ЕКСЛЮЗИВНІ СТИЛІ) --- */
.product-cart .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.product-cart h1 {
    min-height: 1.4rem;
}

.order-button-tel{padding:15px 30px;text-decoration:none;background:#007bff;color:#fff;border-radius:5px;display:inline-block}.price-display{font-size:1.5rem;font-weight:700;color:#38841a;margin-top:20px;margin-bottom:10px;min-height:1.5rem;display:block}
.order-tel-wrapper{
    width:100%;
    margin-top:20px;
    margin-bottom:12px;
    min-height: 48px; 
    }
.btn-clear,.btn-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;transition:background-color .2s ease;font-family:'Exo 2',sans-serif;font-size:18px;font-weight:500;background-color:#777;color:#fff;border:none;padding:10px 20px;border-radius:4px}.btn-primary{background-color:#38841a;margin-bottom:10px}.btn-primary:active{filter:brightness(.9);transform:scale(.98)}.back-link-container{margin-top:10px}.cart-actions{text-align:left}.cart-actions h3{margin-bottom:15px}.btn-clear:hover{background-color:#5a6268}
.cart-footer-nav{
    margin-top:20px
    }
.cart-item-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px;margin-bottom:15px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.item-main-info{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:8px}.item-title{font-weight:600;font-size:16px;color:#333;line-height:1.3}.btn-del{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.del-icon{fill:red;width:24px;height:24px;transition:fill .2s ease,transform .2s ease}.item-change{display:flex;align-items:center;border:1px solid #ccc;border-radius:4px;overflow:hidden;width:fit-content}.item-change input[type=button]{background:#f0f0f0;border:none;padding:5px 10px;cursor:pointer}.item-change .cart-input{width:40px;text-align:center;border:none;border-left:1px solid #ccc;border-right:1px solid #ccc}.btn-del:focus .del-icon,.btn-del:hover .del-icon{fill:#cc0000;transform:scale(1.1)}.item-details-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}.detail-group{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#777;text-transform:uppercase}.detail-value{font-weight:700;font-size:14px}

/* --- 6. МОДАЛЬНЕ ВІКНО ФОТОГАЛЕРЕЇ --- */
#photo-modal{display:none;position:fixed;z-index:99999;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;cursor:pointer}#photo-modal.is-visible{display:flex}.modal-content{position:relative;width:80%;max-width:600px;text-align:center}.modal-close{position:absolute;top:-60px;right:0;color:#fff;font-size:50px;line-height:1}
.modal-image{
    max-height:80vh;
    border-radius:12px;
    box-shadow:0 20px 50px rgba(0,0,0,.5);
    margin:0 auto;
    background-color:#eee;
    }
    /* Фото заглушкі */
.modal-image[src*="no-photo.jpg"] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 350px;  
    object-fit: contain;
    margin: 0 auto;
}
.modal-caption{
    color:#fff;
    margin-top:15px;
    font-family:'Exo 2',sans-serif;
    font-size:18px;
    text-shadow:1px 1px 4px rgba(0,0,0,.8);
    text-transform:uppercase}

/* --- 7. МОБІЛЬНИЙ ПОШУК ТА НАВІГАЦІЯ --- */
#mobile-search-bar{display:flex;align-items:center;position:fixed;bottom:0;left:0;right:0;background-color:#fff;z-index:1001;border-top:1px solid #eee;box-shadow:0 -2px 10px rgba(0,0,0,.1);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(100%);visibility:hidden;transition:transform .3s ease,visibility .3s;will-change:transform}.search-wrapper{display:flex;align-items:center;justify-content:center;gap:5px;padding:16px 70px}#mobile-search-submit{display:flex;flex-direction:column;align-items:center;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0;color:#e30613}#mobile-search-input{border:none;outline:none;background:transparent;font-size:20px;min-width:0}#mobile-search-submit .icon{font-size:1.5rem;margin-bottom:4px}#mobile-search-submit span:last-child{font-size:24px;font-weight:700;text-transform:uppercase}#mobile-search-bar.is-open{transform:translateY(0);visibility:visible}.navigation{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px);will-change:transform}
.navbar-list{
    display:flex;
    align-items:center;
    justify-content: space-between;
    background-color:#fff;
    padding:10px 0;
    border-top:1px solid #eee;
    }
    .navbar-list > li {
    width: 80px; 
    display: flex;
    justify-content: center;
    }
.nav-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    color:rgba(0,0,0,.87);
    font-size:10px;
    font-weight:500;
    cursor:pointer;
    width: 100%;
    }
.icon{
    font-size:1.5rem;
    margin-bottom:4px;
    display:inline-flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center}

/* --- 8. ФОРМА ЗАМОВЛЕННЯ ТА СПИСОК ТОВАРІВ (CHECKOUT) --- */
.checkout-section{padding:20px 0;max-width:600px;margin:0 auto}.order-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:500;font-family:'Exo 2',sans-serif}.form-group input,.form-group textarea{padding:12px;border:1px solid #ddd;border-radius:4px;font-family:'Exo 2',sans-serif;font-size:16px}.form-group textarea{height:100px;resize:vertical}.checkout-actions{margin-top:10px;display:flex;flex-direction:column;gap:10px}.btn-back-to-cart{background:none;border:none;color:#666;cursor:pointer;font-size:14px}.checkout-final-actions{display:flex;gap:10px;margin-top:20px}.btn-action-primary{background-color:#38841a;font-family:'Exo 2',sans-serif;font-size:16px;color:#fff;border:none;padding:10px 25px;border-radius:4px;cursor:pointer}.btn-action-secondary{background-color:#f8f9fa;font-family:'Exo 2',sans-serif;font-size:16px;color:#333;border:1px solid #ddd;padding:10px 25px;border-radius:4px;cursor:pointer}.btn-action-primary:hover{background-color:#218838}.btn-action-secondary:hover{background-color:#e2e6ea}#checkout-items-preview{margin-top:15px;overflow-x:auto}.checkout-items-table{width:100%;border-collapse:collapse;margin-bottom:10px}.checkout-items-table th{background-color:#7cff86;border:1px solid #38841a;padding:10px;text-align:left;font-weight:600;font-size:14px;color:#495057}.checkout-items-table td{border:1px solid #dee2e6;padding:10px;font-size:16px;vertical-align:middle}.checkout-total-mini{text-align:right;padding:15px;font-size:16px;font-weight:700;border-top:2px solid #dee2e6}.order-form .form-group input,.order-form .form-group select,.order-form .form-group textarea{padding:10px;border:1px solid #ccc;font-size:16px;border-radius:4px;font-family:'Exo 2',sans-serif}
@media screen and (max-width:600px){
    .checkout-items-table{
        display:block;width:100%;
        border-spacing:0;
        table-layout:fixed
        }
    .checkout-items-table thead{
        display:none
    }
    .checkout-items-table tbody,.checkout-items-table td,.checkout-items-table tr{
        display:block;
        width:100%;
        box-sizing:
        border-box
    }
    .checkout-items-table tr{
        margin-bottom:10px;
        border:1px solid #e0e0e0;
        background:#fff
    }
    .checkout-items-table td{
        padding:8px 12px;
        border:none;
        border-bottom:1px solid #f5f5f5;
        display:flex;
        justify-content:space-between;
        align-items:center;gap:10px;
        text-align:right;
        word-break:break-word}
    .checkout-items-table td:last-child{
        border-bottom:none}.checkout-items-table td::before{
        content:attr(data-label);
        font-weight:700;
        color:#666;
        font-size:16px;
        flex-shrink:0
    }
    .checkout-items-table td[data-label="Назва"]{flex-direction:column;
    align-items:flex-start;
    text-align:left
    }
}

/* --- 9. ПОВІДОМЛЕННЯ (TOAST) ПРО СКАСУВАННЯ ОЧИЩЕННЯ --- */
#undo-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:20px;background:rgba(33,37,41,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:12px 24px;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:9999;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}#undo-toast.show{transform:translateX(-50%) translateY(0);pointer-events:auto}#undo-toast span{font-family:sans-serif;font-size:15px;font-weight:400}#undo-toast button{background:#38841a;border:none;color:#fff;padding:6px 16px;border-radius:4px;font-weight:600;cursor:pointer;text-transform:uppercase;font-size:12px;letter-spacing:.5px;transition:background .3s,transform .2s}#undo-toast button:hover{background:#45a049;transform:scale(1.05)}#undo-toast button:active{transform:scale(.95)}@media (max-width:480px){#undo-toast{width:90%;bottom:20px;justify-content:space-between}}
.hidden-cross {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
}
/*Оплата Доставка*/
.return-page-buttons {
    margin-top: 30px;
}

.return-page-buttons .btn-home {
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    color: #ffffff;
    background-color: #38841a; /* Замініть цей колір на бренд-колір вашого сайту */
    transition: background-color 0.2s ease;
}

.return-page-buttons .btn-home:hover {
    background-color: #8cc675; /* Колір при наведенні курсору */
}
/*Контакти*/

/* Контейнер всієї сторінки (відступи від країв екрана) */
.contacts-container {
    padding: 20px 16px 80px 16px; 
}

/* Заголовок сторінки */
.contacts-container h1 {
    font-size: 24px;
    margin-bottom: 12px;
    color: #333333;
}

/* Опис під заголовком */
.contacts-container p {
    font-size: 15px;
    color: #666666;
    margin-bottom: 20px;
    line-height: 1.4;
}

/* Список контактів */
.contacts-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.contacts-list li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 12px;
    color: #333333;
}

/* Обгортка карти із закругленням */
.map-wrapper {
    margin-bottom: 28px;
    border-radius: 8px;
    overflow: hidden; 
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); 
}

.map-wrapper iframe {
    display: block;
}

/* Блок для центрування кнопки дзвінка */
.call-button-wrapper {
    text-align: center;
    margin-bottom: 24px;
}

/* Кругла зелена кнопка дзвінка */
.btn-call-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px; 
    background-color: #38841a; 
    color: #ffffff;
    font-size: 19px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 24px;
    border-radius: 50px; 
    width: 100%;
    max-width: 320px;
    box-shadow: 0 4px 12px rgba(56, 132, 26, 0.25);
    transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Ефект при натисканні */
.btn-call-now:active {
    background-color: #218838;
    transform: scale(0.98);
}
/* --- СТИЛІ ДЛЯ НОВОЇ ГОЛОВНОЇ СТОРІНКИ КАТЕГОРІЙ (ЧЕРЕЗ FLEX) --- */

.category-tabs-container {
    border-bottom: 1px solid #e5e5e5;
    background-color: #fff;
    padding-top: 15px;
    margin-bottom: 25px;
}

.category-tabs-wrapper {
    display: flex;
    gap: 25px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
}

.category-tabs-wrapper::-webkit-scrollbar {
    display: none;
}

.tab-btn {
    background: none;
    border: none;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    color: #444;
    padding: 5px 0 15px 0;
    cursor: pointer;
    position: relative;
    transition: color 0.15s ease;
}

.tab-btn:hover, .tab-btn.active {
    color: #000;
}

.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #d92323;
}

/* ГОЛОВНИЙ КОНТЕЙНЕР СІТКИ (БЕЗ ГРІДІВ) */
.showcase-grid {
    display: flex;
    flex-wrap: wrap; /* Дозволяє карткам переноситися на наступний рядок */
    gap: 12px;       /* Відступи між картками */
    padding-bottom: 40px;
}

/* САМА КАРТКА ТОВАРУ */
.showcase-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    background-color: #f8f8f8;
    border-radius: 4px;
    padding: 15px;
    box-sizing: border-box; /* Щоб відступи не розпирали картку */
    transition: background-color 0.2s ease, transform 0.15s ease;
    
    /* На телефонах: вираховуємо ширину так, щоб ставало рівно 2 картки в ряд */
    width: calc((100% - 12px) / 2); 
}

.showcase-card:hover {
    background-color: #f1f1f1;
    transform: translateY(-2px);
}

.showcase-card .image-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
}

/* ПРОПОРЦІЇ КАРТИНКИ (184x120) */
.showcase-img {
    width: 100%;
    height: auto;
    max-height: 120px;
    aspect-ratio: 184 / 120;
    object-fit: contain;
}

.showcase-card .card-title {
    font-size: 14px;
    font-weight: 500;
    color: #222;
    text-align: center;
}

/* АДАПТИВНІСТЬ ДЛЯ ВЕЛИКИХ ЕКРАНІВ */

/* На планшетах: робимо по 3 картки в ряд */
@media (min-width: 768px) {
    .showcase-card {
        width: calc((100% - (12px * 2)) / 3);
    }
}

/* На комп'ютерах: робимо рівно по 5 карток в ряд, як на вашому зразку */
@media (min-width: 1024px) {
    .showcase-grid {
        gap: 18px; /* Трохи більший відступ на великих моніторах */
    }
    .showcase-card {
        width: calc((100% - (18px * 4)) / 5);
    }
}




