:root {--bg-color: #fcfbf7; --accent-emerald: #16302b; --gold: #b5935a; --text-dark: #1a1a1a; --white: #ffffff; --header-green: #4a8d39;}

html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Для плавності на iPhone */
}.product-card, .main-slider {
    content-visibility: auto; /* Дозволяє браузеру не рендерити те, що поза екраном */
    contain-intrinsic-size: 1px 500px; /* Резервує місце, щоб сторінка не стрибала */
}

/* Примусове апаратне прискорення для плавності анімацій */
.slider-item, .sticky-sidebar {
    will-change: transform;
    transform: translateZ(0);
}



/* 1. Базовий стан - стабільний і нерухомий */
.main-header {
    position: fixed !important; /* Fixed надійніше за sticky для таких ефектів */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    height: 70px; /* Фіксована висота, ніяких min-height */
    display: flex;
    align-items: center;
    background-color: #ffffff4a !important;
    /* Замість градієнта тут - основний колір */
    /* background-color: #164537 !important; */
    border-bottom: 1px solid rgba(181, 147, 90, 0.3);
    
    /* Анімуємо тільки те, що реально змінюється */
    transition: background-color 0.4s ease, height 0.4s ease, box-shadow 0.4s ease !important;
    will-change: height, background-color;
    //background: #5d5d5d;
    /* background: #5d5d5d; */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* 2. Градієнт виносимо в псевдоелемент */
.main-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: radial-gradient(circle, #1e5543 0%, #164537 100%); */
  background-color: #ffffff4a !important;
    z-index: -1;
    opacity: 1;
    transition: opacity 0.4s ease-in-out !important;
}

/* 3. Стан при скролі */
.main-header.is-scrolled {
    height: 70px; /* Плавна зміна висоти */
    /* background-color: rgba(22, 69, 55, 0.9) !important; */ /* Напівпрозорість */
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* При скролі просто ховаємо градієнт, проявляючи колір фону */
.main-header.is-scrolled::before {
    opacity: 0;
}


body {font-family: 'Tinos', serif !important;background-color: var(--bg-color);margin: 0;padding: 0;line-height: 1.6;-webkit-font-smoothing: antialiased;}
.header-cart, .header-cart span, .header-cart a {color: #161616 !important;} #main_image { width: 100% !important; max-width: 400px !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain; display: block; margin: 0 auto; }
.logo a, 
.tagline, 
.menu-trigger, 
.vibe-brand,
.offcanvas-content ul {font-family: 'Tinose', serif !important;}
.fa, .fas, .far, .fab, .hamburger, i {font-family: 'FontAwesome' !important; font-style: normal;}

.container {max-width: 1200px; margin: 0 auto; padding: 0 5px; position: relative;}


.header-flex {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100%;
    height: 100%; /* Занимает всю высоту родителя */
}

.logo {position: absolute !important; left: 50% !important; transform: translateX(-50%) !important; text-align: center; z-index: 5; width: auto !important; min-width: 180px; pointer-events: none;}

.logo a {font-family: 'Tinose', serif;font-size: 24px !important;text-decoration: none;color: #000000 !important;letter-spacing: 2px;display: block;line-height: 1.1;pointer-events: auto;}

.tagline {
 font-size: 9px;
 letter-spacing: 3px;
 color: #775825;
 text-transform: uppercase;
 display: block;
 margin-top: 5px;
 font-family: 'Tinose';
 }

.menu-trigger {
 display: flex !important;
 align-items: center;
 color: #000000 !important;
 z-index: 10;
 cursor: pointer;
 flex: 1;
 font-family: 'Tinose';
 letter-spacing: 0.2em;
 }
.hamburger { font-size: 24px; margin-right: 8px; }
.header-cart {display: flex !important; justify-content: flex-end !important; align-items: center !important; flex: 1; z-index: 10; min-width: 120px;}
.header-cart, 
.header-cart * {display: flex !important; visibility: visible !important; opacity: 1 !important; letter-spacing: 2px;}
.cart-title {font-family: 'Tinose'; letter-spacing: 0.05em; }
.header-cart a {flex-direction: row !important;align-items: center !important;gap: 0 !important;color: #ffffff !important;text-decoration: none !important;white-space: nowrap;position: relative !important;}
.header-cart i, .header-cart .fa-shopping-cart {font-size: 22px !important; margin: 0 10px !important; position: relative !important;}
#jshop_quantity_products {
   position: absolute !important;
    top: -11px !important;
    left: 126px !important;
    background: #74a7145e !important;
    border: 2px solid #72a21d !important;
    border-radius: 50%;
    width: 19px !important;
    height: 19px !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: bold;
    z-index: 11;
}
#jshop_summ_product {margin-left: 15px !important; font-weight: 600;
//font-size: 13px;
 //font-family: 'Montserrat', sans-serif;}
.breadcrumb li span.divider img, 
.breadcrumb li img { 
    display: none !important; 
}
.breadcrumb {
    display: flex !important; 
    flex-direction: row !important; 
    flex-wrap: wrap !important;
    list-style: none !important; 
    padding: 15px 0 !important; 
    margin: 0 !important; 
    font-family: 'Tinose', serif; 
    letter-spacing: 0.05em;
}

.breadcrumb li {  
    display: flex !important; 
    align-items: center !important;
    font-size: 14px !important; 
    text-transform: uppercase; 
    color: #1a1e1c; 
    font-weight: bold;
}
.breadcrumb li:after {
    content: "/" !important; 
    margin: 0 10px; 
    color: #ccc;
}
.breadcrumb li:last-child:after { 
    display: none !important; 
}
.breadcrumb li a { 
    color: #5d5252; 
    text-decoration: none; 
    transition: color 0.3s ease;
}

.breadcrumb li a:hover {
    color: #81bb42;
}
.offcanvas {
    height: 100%;
    width: 300px;
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    background-color: #787878;
    overflow-x: hidden;
    transform: translateX(-100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.4s;
    will-change: transform;
}
.offcanvas.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0s;
}
.offcanvas-content {
    opacity: 0;
    transition: opacity 0.15s ease-out;
}
.offcanvas.is-open .offcanvas-content {
    opacity: 1;
    transition: opacity 0.4s ease 0.2s;
}

.side-logo {display: block !important;padding: 40px 30px 20px 30px !important;color: var(--white) !important; font-size: 22px; text-align: left !important; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-family: 'Tinose', serif; text-decoration: none; letter-spacing: 2px; line-height: 1.1;}
.offcanvas .closebtn {position: absolute; top: 25px; right: 22px; font-size: 35px; color: #fbe6c3; cursor: pointer; background: none; border: none; line-height: 1; z-index: 2600; transition: transform 0.3s ease;}
.closebtn:hover {transform: rotate(90deg) scale(1.1); color: #ffffff;}
.closebtn, 
a.closebtn {text-decoration: none !important; border-bottom: none !important; outline: none !important; box-shadow: none !important;  }
.closebtn:hover, 
a.closebtn:hover {text-decoration: none !important; border: none !important;}
.header-flex > ul:not(.header-cart), 
.header-flex > ul:not([class*="cart"]), 
.header-flex > .menu, 
.desktop-nav {display: none !important;}
.main-footer, footer, .footer, #footer {background: linear-gradient(180deg, #1b654d 0%, #124535f7 100%) !important; color: #fbe6c3 !important; width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; padding: 40px 0 15px 0 !important; box-sizing: border-box !important; text-align: center !important; border-top: 1px solid rgba(255, 255, 255, 0.05);
 line-height: 0.1; letter-spacing: 2px;}
.main-footer .footer-language, 
footer .container, 
.footer .container {max-width: 1200px !important; margin: 0 auto !important; padding: 0 15px !important; display: block !important; left: auto !important; right: auto !important; transform: none !important;}

.footer-language p {display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 15px !important; margin-bottom: 15px !important;}
.footer-language a, footer a {color: #ffffff !important; text-decoration: none !important; font-size: 0.8rem !important; font-weight: 700 !important; transition: opacity 0.3s;
 letter-spacing: 0.5px;}

.footer-language a:hover {opacity: 0.8;}

.vibe-brand {font-family: 'Tinose', serif; font-size: 18px !important; text-decoration: none; color: var(--white) !important; letter-spacing: 2px; line-height: 1.1; pointer-events: auto;}

.main-footer p, .main-footer span {margin: 5px auto !important; display: inline-block !important;}

@media (max-width: 768px) {.footer-links { flex-direction: column; gap: 10px; } .main-footer { padding: 20px 0 !important; }}

@media (max-width: 768px) {.menu-text, .cart_text, .header-cart a > span:not(#jshop_quantity_products):not(#jshop_summ_product) {  display: none !important; }
 .logo a {  font-size: 18px !important; } .header-cart {  min-width: 80px; } #jshop_quantity_products { left: 28px !important; }
 .hamburger { font-size: 28px; margin-left: 10px; }}
.category-desc-content {overflow: hidden; transition: max-height 0.4s ease, opacity 0.3s ease; max-height: 0; display: none; }
.read-more-trigger {color: #10b981; cursor: pointer; text-decoration: underline; font-weight: bold; display: inline-block; margin-top: 5px;}

#system-message-container {max-width: 1200px; margin: 20px auto; padding: 0 15px; box-sizing: border-box;}
.alert {position: relative; padding: 15px 20px 15px 50px; margin-bottom: 20px; border-radius: 4px; font-family: 'Montserrat', sans-serif; font-size: 14px; line-height: 1.5; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); border: none; border-left: 5px solid; animation: slideInDown 0.5s ease-out; }

.alert.alert-message {background-color: #ffffff !important; color: var(--accent-emerald) !important; border-left-color: var(--header-green) !important;}
message::before {content: "";
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a4a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'%3E%3C/path%3E%3Cpolyline points='22 4 12 14.01 9 11.01'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px;}

.old_price-v9 { text-decoration: line-through;
 color: #888;
 font-size: 1em;
 margin-right: 10px;
 display: inline-block;
 font-weight: bold;
 letter-spacing: 0.05em; }
.offcanvas-content li a {color: #ffffff !important;text-decoration: none !important;font-size: 18px;display: block !important;padding: 12px 0 9px 25px !important;border-bottom: 1px solid rgba(255,255,255,0.05);transition: all 0.3s ease-in-out;position: relative !important;font-family: 'Tinos', serif !important;}
.offcanvas-content li a:hover {color: #9feb00 !important;padding-left: 40px !important;background-color: rgba(255, 255, 255, 0.05);}
.offcanvas-content li a::before {content: ''; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 2px; height: 0; background-color: #9feb00; transition: height 0.3s ease;}

.offcanvas-content li a:hover::before {height: 60%;}
.offcanvas-content ul {list-style: none !important; padding: 0px 0 !important; letter-spacing: 1.3px;margin-top: 4px;}
.offcanvas-content li a.active::before {height: 60%;}
@keyframes slideInDown {from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); }}
@media (max-width: 768px) {.alert { margin: 10px; font-size: 13px; }}
.alert h4 {margin: 0 0 5px 0; font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;}
.vibe-footer {background: linear-gradient(180deg, #1e614b 0%, #124535 100%) !important;background: linear-gradient(180deg, #1b654d 0%, #124535 100%) !important;padding: 60px 20px 30px;border-top: 1px solid rgba(255, 255, 255, 0.05);background: linear-gradient(180deg, #49473f 0%, #3b3333 100%) !important;}
.footer-container {max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.footer-col {flex: 1; min-width: 250px; margin-bottom: 30px;}
.about-brand {text-align: left;}
.footer-logo {font-size: 26px; font-weight: 800; font-family: 'Tinos', serif; margin-bottom: 20px; color: #fff; letter-spacing: 1px;}
.footer-text {color: #e5d7b6; font-family: 'Tinos', serif; font-size: 14px; line-height: 1.6; max-width: 280px;}
.navigation {text-align: center;}
.navigation h5, .social h5 {color: #fff; text-transform: uppercase; font-size: 13px; letter-spacing: 2px; margin-bottom: 25px; font-family: 'Tinos', serif;}
.footer-link {
  display: block; color: #e5d7b6 !important; text-decoration: none; font-size: 12px; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 1px; transition: 0.3s;
 padding: 9px; }
.footer-link:hover {transform: scale(1.2) translateY(-1px);color: #fff !important;}
.social {text-align: right;}
.social-icons {display: flex; gap: 15px; justify-content: flex-end;}
.social-icon {width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; transition: 0.3s;}
.social-icon:hover {background: #95db01; border-color: #95db01;}
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1);  padding-top: 20px;
text-align: center; font-family: 'Tinos', serif;}
.footer-bottom p, .developer {font-size: 10px;  text-transform: uppercase; letter-spacing: 1px; text-decoration: none;
 }
.developer:hover {color: #fff;}
.footer-text{ line-height: 1.6; max-width: 250px; padding: 0 0px 25px; color: #e5d7b6; font-family: 'Tinos', serif; font-weight: 500; letter-spacing: 0.09em; display: -webkit-inline-box;}
.footer-text {color: #e5d7b6; font-family: 'Tinos', serif; font-size: 14px; line-height: 1.6; max-width: 280px;}
.devel{
font-size: 9px !important; }




/* 1. Стилізуємо ТІЛЬКИ контейнер категорій, не чіпаючи загальну розмітку товарів */
.jshop_categ.category {
    display: inline-block; /* Повертаємо блокову модель для коректного обтікання */
    margin: 5px 4px;       /* Відступи між кнопками */
    vertical-align: top;
}

/* 2. Сама кнопка (дизайн як на фото) */
.jshop_categ.category .sblock2 {
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 15px;
    transition: all 0.2s ease;
    cursor: pointer;
    text-align: center;
    min-width: 130px; /* Мінімальна ширина для однаковості */
}

.jshop_categ.category .sblock2:hover {
    background-color: #ebebeb;
    border-color: #adadad;
}

/* 3. Посилання всередині кнопки */
.jshop_categ.category .product_link {
    text-decoration: none !important;
    color: #161e0d !important;
    font-size: 14px;
    font-weight: 500;
    display: block; /* Щоб вся площа кнопки була клікабельною */
}

/* 4. Приховуємо опис категорій, щоб вони не розтягували кнопки */
.jshop_categ.category .category_short_description {
    display: none !important;
}

/* 5. ВИПРАВЛЕННЯ СІТКИ ТОВАРІВ (Row-fluid) */
/* Повертаємо стандартну поведінку для рядів з товарами */
.row-fluid {
    display: block; /* Скасовуємо flex, який ламав сітку */
    width: 100%;
    clear: both;
}

/* Додаємо невеликий відступ знизу для блоку з кнопками */
.category_name {
    margin-bottom: 0;
}
/* Скасовуємо фіксовану ширину 25% */
.jshop_categ.category.sblock4 {
    width: auto !important; 
    float: none !important;
    display: inline-block !important;
}

/* Очищуємо внутрішні відступи, які можуть роздувати блок */
.row-fluid .jshop_categ.category {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-right: 10px; /* Відступ між кнопками */
}








@media (min-width: 768px) {.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.05); text-align: center; color: #fbe6c3; font-size: 10px; text-transform: uppercase; letter-spacing: 2px; font-family: 'Tinos', serif; }}
@media (min-width: 768px) {.footer-logo { font-size: 24px; font-weight: 900; margin-bottom: 20px; font-family: 'Tinos', serif; letter-spacing: 0.09em; }}
@media (max-width: 768px) {.footer-container { flex-direction: column; text-align: center; } .about-brand, .navigation, .social { text-align: center; width: 100%; }
.social-icons { justify-content: center; } .footer-text { margin: 0 auto; }
.vibe-footer i.fab, 
.vibe-footer i.fas {font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important; display: inline-block; line-height: 1;}
.footer-link, .footer-logo, .footer-text {font-family: 'Tinos', serif !important; }
.offcanvas {
    backface-visibility: hidden;
    perspective: 1000px;
}}
.offcanvas {
    backface-visibility: hidden;
    perspective: 1000px;
}
/* Додаємо це в загальний блок стилів */
.recent-card, 
.btn-copy-v7, 
.img-wrapper,
.main-header {
    will-change: transform, opacity;
    backface-visibility: hidden; /* Додатковий "пінок" для апаратного прискорення */
}
@media (max-width: 768px) {
    .main-header, .product-page-wrapper {
        backdrop-filter: none !important;
        background: rgba(255, 255, 255, 0.95) !important; /* Просто щільний колір */
    }
}