/* pages.css — стилі сторінок, винесені з PHP-файлів (щоб сторінки не «блимали» без оформлення).
   Підключається в index.php одразу після media-queries.css — тобто там само в черзі, де ці стилі були раніше.
   Кожен блок підписаний: з якого файлу він прийшов. */

/* ================= Футер (index.php) ================= */
.sf{margin-top:32px;background:#2a2d30;color:#c9ccd0;font-size:15px;line-height:1.5;overflow:hidden;max-width:100%}
.sf *{box-sizing:border-box}
.sf-col{min-width:0;overflow-wrap:anywhere}
.sf-line{height:6px;background:var(--brand)}
.sf .title1{padding-top:44px}
.sf-cols{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.25fr;gap:32px}
.sf-h{font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:22px;line-height:1.1;text-transform:uppercase;color:#fff;margin-bottom:16px;letter-spacing:.3px}
.sf ul{list-style:none;margin:0;padding:0}
.sf li{margin:0 0 9px}
.sf a{color:#c9ccd0;text-decoration:none;transition:color .2s}
.sf a:hover{color:#fff}
.sf-ic{display:flex;gap:12px;align-items:flex-start}
.sf-ic svg{width:18px;height:18px;flex:0 0 18px;margin-top:2px;color:var(--brand)}
.sf-contacts li{margin-bottom:14px}
.sf-phones{display:flex;flex-direction:column;gap:2px}
.sf-phones a{color:#fff;font-weight:500}
.sf-about{margin:0;color:#c9ccd0}
.sf-social{display:flex;gap:10px;margin-top:4px}
.sf-social a{width:40px;height:40px;border-radius:50%;background:#3b3f43;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}
.sf-social a:hover{background:var(--brand)}
.sf-social svg{width:18px;height:18px}
.sf-slogan{text-align:center;margin:40px 0 28px}
.sf-slogan img{display:inline-block;max-width:100%;height:auto}
.sf-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #45494d;padding:18px 0 22px;font-size:13.5px;color:#9a9ea3}
.sf-bottom a{color:#9a9ea3}
.sf-bottom-r{display:flex;gap:20px}
@media (max-width:991px){
    .sf .title1{width:100%!important;max-width:100%;box-sizing:border-box;padding:32px 16px 0}
    .sf-cols{grid-template-columns:1fr 1fr;gap:28px 20px}
}
@media (max-width:575px){
    .sf-cols{grid-template-columns:1fr 1fr;gap:26px 16px}
    .sf-col:nth-child(n+3){grid-column:1/-1}
    .sf-h{font-size:20px;margin-bottom:12px}
    .sf-bottom{flex-direction:column;align-items:center;text-align:center;gap:8px}
    .sf-slogan{margin:32px 0 20px}
    .sf-slogan img{width:200px}
    .sf-h{font-size:19px}
}
/* Кнопка «Задати питання» в картці товару (блок «Обслуговування клієнтів») */
#support{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border:0;border-radius:6px;background:var(--brand);color:#fff;font-family:'Google Sans',sans-serif;font-size:16px;font-weight:500;text-transform:none;line-height:1;cursor:pointer;transition:background .2s;box-sizing:border-box;margin:6px 0}
#support::before{content:'';width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.4 1.3 4.5 3.4 6L4.5 21l4.3-2.3c1 .2 2.1.3 3.2.3 5.5 0 10-3.6 10-8s-4.5-8-10-8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.4 1.3 4.5 3.4 6L4.5 21l4.3-2.3c1 .2 2.1.3 3.2.3 5.5 0 10-3.6 10-8s-4.5-8-10-8z'/%3E%3C/svg%3E") center/contain no-repeat}
#support:hover{background:var(--brand-dark);color:#fff}
@media (max-width:575px){#support{width:100%;justify-content:center}}

/* ================= Мобільна нижня панель і модальні вікна на телефоні (index.php) ================= */
/* ВБУДОВАНИЙ CSS ДЛЯ МОБІЛЬНОЇ ПАНЕЛІ */
@media (max-width: 991px) {
    /* 1. Безпечно ховаємо верхній гамбургер (робимо прозорим, щоб JS міг його клікати) */
    /* Вбиваємо блимання гамбургера миттєво при завантаженні сторінки */
.redline .title1 .bars { opacity: 0 !important; visibility: hidden !important; position: absolute !important; pointer-events: none !important; }

/* Повертаємо фірмову шапку з хрестиком у меню */
.menubar .mob.ar { display: block !important; width: 100% !important; height: auto !important; overflow: visible !important; }
    .korz { display: none !important; }

    /* 2. Відступ знизу сторінки, щоб товари не залазили під панель */
    body { padding-bottom: calc(75px + env(safe-area-inset-bottom)) !important; }

    /* 3. Головна панель */
    .mobile-bottom-nav {
        display: flex !important; justify-content: space-between !important; align-items: center !important;
        position: fixed !important; bottom: 0 !important; left: 0 !important; width: 100% !important; height: calc(65px + env(safe-area-inset-bottom)) !important;
        padding-bottom: env(safe-area-inset-bottom) !important; top: auto !important; right: 0 !important;
        background: #ffffff !important; box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.08) !important;
        z-index: 999999 !important; border-top: 1px solid #e2e8f0 !important;
        margin: 0 !important; box-sizing: border-box !important;
    }
    .m-nav-item.is-on { color: #1f839f !important; }

    /* Пошук: значок у шапці прибрано, рядок пошуку відкривається з нижньої панелі */
    .poisk { display: none !important; }
    /* Шапка: логотип по центру у звичайному потоці (раніше висів absolute і налазив на контент) */
    .redline .title1 { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; min-height: 50px; }
    .redline .logo { position: static !important; float: none !important; margin: 0 auto !important; width: 143px !important; height: 50px !important; left: auto !important; top: auto !important; }
    .redline .logo img { display: block; }
    .redline .cl { display: none !important; }

    /* Модальні вікна (вхід, задати питання…) на телефоні: поверх нижньої панелі,
       а якщо вікно вище за екран (iPhone SE) — гортається, а не обрізається */
    #mdl-root .mdl-overlay { z-index: 1000000 !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch;
        align-items: flex-start !important; justify-content: center !important;
        padding: calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom)) !important; box-sizing: border-box !important; }
    #mdl-root .mdl-overlay.is-open { display: flex !important; }
    #mdl-root .mdl-box { position: relative !important; top: auto !important; left: auto !important; transform: none !important;
        margin: auto !important; max-height: none !important; overflow: visible !important; flex-shrink: 0 !important; }
    .redline .searchbar { display: none !important; }
    .redline .searchbar.m-open { display: block !important; float: none !important; clear: both !important; width: 100% !important; flex: 0 0 100% !important; max-width: none !important; padding-top: 10px !important; }
    .redline .searchbar.m-open input[type=text] { font-size: 16px !important; } /* 16px — щоб iOS не збільшував сторінку */

    /* 4. Кнопки (однакові розміри) */
    .m-nav-item {
        display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
        color: #64748b !important; text-decoration: none !important; width: 20% !important; height: 65px !important; flex: 1 1 20% !important;
        background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; cursor: pointer !important;
    }
    .m-nav-item.active, .m-nav-item:active { color: #1f839f !important; }

    /* 5. Жорстка обгортка іконки (щоб не пливли) */
    .m-nav-icon-wrap {
        position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important;
        width: 32px !important; height: 32px !important; margin: 0 auto 2px auto !important;
    }
    .m-nav-icon-wrap svg { width: 24px !important; height: 24px !important; display: block !important; }

    /* 6. Текст під іконкою */
    .m-nav-item span.m-nav-text {
        font-family: 'Google Sans', sans-serif !important; font-weight: 500 !important; font-size: 11px !important; line-height: 1 !important; display: block !important;
    }

    /* 7. Ідеальний круглий бейдж (лічильник) */
    .m-nav-badge {
        position: absolute !important; top: -2px !important; right: -6px !important;
        background: var(--red) !important; color: #fff !important; font-size: 10px !important; font-family: Arial, sans-serif !important;
        font-weight: bold !important; height: 16px !important; min-width: 16px !important; border-radius: 50px !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        border: 2px solid #fff !important; padding: 0 4px !important; box-sizing: border-box !important; line-height: 1 !important;
    }
}

/* ================= Мобільне вікно «Контакти» (index.php) ================= */
.m-contact-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 999998; display: none; opacity: 0; transition: opacity 0.3s; }
.m-contact-overlay.active { display: block; opacity: 1; }
/* Вікно ховаємо зсувом униз + visibility: не з'являється на довгих скрінах і при зміні висоти екрана; на ПК його немає взагалі */
.m-contact-modal { position: fixed; bottom: 0; left: 0; width: 100%; background: #ffffff; z-index: 999999; border-radius: 24px 24px 0 0; padding: 25px 20px calc(25px + env(safe-area-inset-bottom)); box-sizing: border-box; box-shadow: 0 -5px 25px rgba(0,0,0,0.15);
    transform: translateY(110%); visibility: hidden; transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s linear 0.3s; }
.m-contact-modal.active { transform: translateY(0); visibility: visible; transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s; }
@media (min-width: 992px) { .m-contact-modal, .m-contact-overlay { display: none !important; } }
.m-contact-modal::before { content: ''; display: block; width: 40px; height: 5px; background: #e2e8f0; border-radius: 3px; margin: 0 auto 20px auto; }
.m-contact-modal a { display: flex; align-items: center; justify-content: center; padding: 14px; margin-bottom: 10px; font-size: 18px; font-weight: 600; color: #1e293b; text-decoration: none; background: #f8fafc; border-radius: 12px; transition: background 0.2s; }
.m-contact-modal a:active { background: #e2e8f0; }
.m-contact-modal a span { margin-right: 10px; font-size: 22px; }
.m-contact-modal .close-modal { background: #ebebeb; color: var(--red); margin-top: 15px; }
.m-contact-modal .close-modal:active { background: #fecdd3; }

/* ================= Підказки пошуку (makesearch.php) ================= */
#searchresults .sr-all{display:block;padding:12px 15px;text-align:center;font-weight:600;color:var(--brand-dark)!important;text-decoration:none!important;border-top:1px solid #e3e8ec;background:#f8fafb}
#searchresults .sr-all:hover{background:#eef7f9}
#searchresults .sr-st{color:#94a3b8!important;font-weight:500!important;font-size:12.5px!important;white-space:nowrap}

/* ================= Сторінка результатів пошуку (modules/search.php) ================= */
.sr h1{margin-bottom:10px}
.sr-fix{color:#595959;margin:0 0 12px}
.sr-cats{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 16px}
.sr-cats span{color:#595959;font-size:14px;margin-right:4px}
.sr-cats a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:6px;background:#eef7f9;color:var(--brand-dark)!important;text-decoration:none!important;font-size:14px;font-weight:500}
.sr-cats a:hover{background:var(--brand);color:#fff!important}
.sr-count{color:#595959;font-size:14px;margin:0 0 12px}
.sr-list{border:1px solid #e3e8ec;border-radius:10px;overflow:hidden;background:#fff}
.sr-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 16px;border-top:1px solid #eef1f3;transition:background .15s}
.sr-row:first-child{border-top:0}
.sr-row:hover{background:#f8fafb}
.sr-img{display:flex;align-items:center;justify-content:center;width:72px;height:72px}
.sr-img img{max-width:100%;max-height:100%;object-fit:contain}
.sr-row.is-off .sr-img img{filter:grayscale(1);opacity:.6}
.sr-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.sr-name{color:#2a2d30!important;text-decoration:none!important;font-size:15px;line-height:1.35}
.sr-name:hover{color:var(--brand)!important}
.sr-code{font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:15px;color:var(--brand)}
.sr-buy{display:flex;align-items:center;gap:14px;justify-content:flex-end}
.sr-price{font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:22px;white-space:nowrap;text-align:right;line-height:1.1}
.sr-price small{font-size:12px}
.sr-price s{display:block;font-family:'Google Sans',sans-serif;font-size:12px;color:#94a3b8}
.sr-price.sale{color:var(--red)}
.sr-st{font-size:13px;color:#94a3b8;white-space:nowrap}
.sr-dead{margin:18px 0}
.sr-dead summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:8px 14px;border:1px solid #e3e8ec;border-radius:6px;color:#595959;font-size:14px;font-weight:500;user-select:none}
.sr-dead summary::-webkit-details-marker{display:none}
.sr-dead summary::after{content:'';width:7px;height:7px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.sr-dead[open] summary::after{transform:rotate(-135deg)}
.sr-dead summary span{background:#eef1f3;border-radius:10px;padding:0 7px;font-size:12px}
.sr-dead[open] summary{margin-bottom:10px}
.sr-pages{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:20px 0}
.sr-pages a,.sr-pages span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:6px;border:1px solid #e3e8ec;text-decoration:none!important;color:#2a2d30!important}
.sr-pages span{background:var(--brand);border-color:var(--brand);color:#fff!important}
.sr-h{font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:22px;text-transform:uppercase;margin:24px 0 10px}
.sr-news{margin:0;padding-left:18px}.sr-news li{margin:6px 0}
.sr-empty{padding:30px 20px;text-align:center;background:#f8fafb;border:1px dashed #cbd5e1;border-radius:10px;color:#595959;line-height:1.6;margin:10px 0 30px}
@media (max-width:768px){
    .sr-row{grid-template-columns:56px minmax(0,1fr);gap:10px 12px;padding:10px 12px}
    .sr-img{width:56px;height:56px;grid-row:span 2}
    .sr-name{font-size:14px}
    .sr-buy{justify-content:space-between}
    .sr-price{font-size:20px;text-align:left}
    .sr-cats{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .sr-cats::-webkit-scrollbar{display:none}
    .sr-cats a{flex:0 0 auto;white-space:nowrap}
}

/* ================= Головна: банери (modules/home.php) ================= */
    /* Контейнери для iframe-банерів: тримають пропорції картинок і адаптуються під мобільні */
    .iframe-banner-wrap-slider {
        position: relative; width: 100%;
        aspect-ratio: 1900/600; max-height: 600px; overflow: hidden;
        background: transparent !important;
    }
    .iframe-banner-wrap-block {
        position: relative; width: 100%;
        aspect-ratio: 600/300; max-height: 300px; overflow: hidden;
        background: #14181a;
    }
    .iframe-banner-wrap-slider iframe,
    .iframe-banner-wrap-block iframe {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important; border: 0 !important;
    }
    /* Банери-картинки: не розповзаються і не смикають верстку при завантаженні */
    .slide1 .sld img,
    .slide1 .sld picture { display: block; width: 100%; height: auto; }
    @media (max-width: 840px) {
        .iframe-banner-wrap-slider { aspect-ratio: 16/9; max-height: none; }
        .iframe-banner-wrap-block  { aspect-ratio: 4/3;  max-height: none; }
    }
    /* Телефон/планшет: прозорий шар над динамічним банером — свайп гортає слайдер, тап веде за посиланням банера.
       На ПК шару немає: там працюють кнопки й виділення тексту всередині банера */
    .ifb-tap { display: none; }
    @media (hover: none) and (pointer: coarse) {
        .ifb-tap { display: block; position: absolute; inset: 0; z-index: 2; background: transparent; -webkit-tap-highlight-color: transparent; }
    }
    @media (max-width: 560px) {
    .iframe-banner-wrap-slider { aspect-ratio: 1/1; }
    .iframe-banner-wrap-block  { aspect-ratio: 1/1; }
}

/* ================= Головна: відео (modules/home.php) ================= */
/* ========================================= */
/* БЛОК "ВІДЕО" НА ГОЛОВНІЙ         */
/* ========================================= */
.video-section { margin-top: 30px; margin-bottom: 50px; }
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* Картка відео */
.video-card {
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    transition: transform 0.3s ease;
}
.video-card:hover {
    transform: translateY(-5px);
}

/* Обгортка картинки з пропорцією 16:9 (як у YouTube) */
.video-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #1e293b;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.video-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8; /* Легке затемнення фотографії */
    transition: transform 0.5s ease, opacity 0.3s ease;
}
.video-card:hover .video-img-wrap img {
    transform: scale(1.08);
    opacity: 1; /* При наведенні стає яскравішою */
}

/* Кнопка PLAY по центру */
.video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 54px;
    height: 54px;
    background: rgba(31, 131, 159, 0.85); /* Фірмовий колір з прозорістю */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    z-index: 2;
}
/* Трикутник всередині кнопки */
.video-play-btn::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #fff;
    margin-left: 4px; /* Щоб візуально трикутник був по центру */
}
.video-card:hover .video-play-btn {
    background: #1f839f; /* Стає повністю непрозорим */
    transform: translate(-50%, -50%) scale(1.15); /* Збільшується */
    box-shadow: 0 0 20px rgba(31, 131, 159, 0.6);
}

/* Заголовок відео */
.video-title {
    font-family: 'HelveticaNeueLTStd-BdCn', sans-serif;
    font-size: 16px;
    color: #2a2d30;
    text-align: center;
    line-height: 1.3;
    transition: color 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.video-card:hover .video-title {
    color: #1f839f;
}

@media (max-width: 576px) {
    .video-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .video-title { font-size: 13px; }
    .video-play-btn { width: 40px; height: 40px; }
    .video-play-btn::after { border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 12px solid #fff; }
}

/* ================= Головна: хіти/новинки/акції (modules/inc/hits.php) ================= */
/* ===== Хіти / Новинки / Акції на десктопі: активна вкладка з бірюзовою лінією ===== */
@media (min-width:992px){
    .hits-box .tabs{position:relative;border-bottom:1px solid #e3e8ec!important;margin-bottom:24px}
    .hits-box .tabs span.vkl,.hits-box .tabs span.actvkl{position:relative;display:inline-block;margin:0 36px 0 0!important;padding:0 0 14px!important;font-size:22px!important;color:#595959!important;background:none!important;border:0!important;cursor:pointer;transition:color .2s}
    .hits-box .tabs span.vkl:hover{color:var(--brand)!important}
    .hits-box .tabs span.actvkl{color:var(--brand)!important}
    .hits-box .tabs span.actvkl::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:var(--brand)}
}
/* ===== Хіти / Новинки / Акції на телефоні ===== */
@media (max-width:991px){
    /* Вкладки — «таблетки», гортаються пальцем, якщо не влазять */
    .hits-box .tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 14px;margin:0;border:0!important}
    .hits-box .tabs::-webkit-scrollbar{display:none}
    .hits-box .tabs span.vkl,.hits-box .tabs span.actvkl{flex:0 0 auto;margin:0!important;padding:9px 16px!important;border-radius:20px;background:#eef1f3;color:#2a2d30!important;font-family:'Google Sans',sans-serif!important;font-size:15px!important;font-weight:600;line-height:1;text-transform:none!important;border:0!important;cursor:pointer}
    .hits-box .tabs span.actvkl{background:var(--brand);color:#fff!important}
    /* Без slick: рідне гортання з «прилипанням» карток; праворуч видно край наступної */
    .hits-box #sld{display:flex!important;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 6px!important;margin:0!important}
    .hits-box #sld::-webkit-scrollbar{display:none}
    .hits-box #sld > .tovar{flex:0 0 30%;width:auto!important;max-width:none!important;margin:0!important;float:none!important;scroll-snap-align:start}
    .hits-box #sld > .tovar.is-off{display:none!important}
}
@media (max-width:650px){
    .hits-box #sld > .tovar{flex-basis:43%}
}

/* ================= Головна: блог (modules/inc/blogs.php) ================= */
/* Блог на головній: картки як на /blog/, але 5 в ряд */
.home-blog-section { margin-top: 30px; margin-bottom: 40px; }
.home-blog-section .blog-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

/* Кнопка "Усі статті" — як "Показати товари" у фільтрі */
.home-blog-all-wrap { text-align: center; margin-top: 24px; }
.home-blog-all {
    display: inline-block;
    min-width: 280px;
    box-sizing: border-box;
    padding: 14px 30px;
    background: var(--brand, #1f839f);
    border: 1px solid #fff;
    color: #fff;
    font-family: 'HelveticaNeueLTStd-BdCn', sans-serif;
    font-size: 15px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.home-blog-all:hover,
.home-blog-all:focus-visible {
    background: #fff;
    color: var(--brand, #1f839f);
    border-color: var(--brand, #1f839f);
    outline: none;
}

/* Планшет і телефон: 2 в ряд, 5-ту картку ховаємо — буде рівно 2×2 */
@media (max-width: 991px) {
    .home-blog-section .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .home-blog-section .blog-card:nth-child(5) { display: none; }
}

/* ================= Картка товару на телефоні (modules/catalog.php) ================= */
.m-gallery{display:none}
@media (max-width:768px){
    /* Галерея: замість великого фото + мініатюр зі стрілками — стрічка фото з крапками */
    .mainfoto #wrap,.thumbs{display:none!important}
    .mainfoto{position:relative;margin-bottom:6px!important}
    .m-gallery{display:block;position:relative;z-index:1}
    .m-gal-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .m-gal-track::-webkit-scrollbar{display:none}
    .m-gal-track .m-gal-it{flex:0 0 100%;cursor:zoom-in;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#fff}
    .m-gal-track img{max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain}
    .m-gal-dots{display:flex;justify-content:center;gap:6px;padding:8px 0 2px}
    .m-gal-dots i{width:6px;height:6px;border-radius:3px;background:#d5dce1;transition:all .2s}
    .m-gal-dots i.on{width:18px;background:var(--brand)}
    .m-view{display:none;position:fixed;inset:0;z-index:2147483000;background:#fff;flex-direction:column}
    .m-view.on{display:flex}
    .m-view-top{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 12px 10px 16px;flex:0 0 auto}
    .m-view-n{font-size:14px;font-weight:600;color:#595959}
    .m-view-x{width:44px;height:44px;border:0;background:#f1f4f6;border-radius:50%;font-size:28px;line-height:1;color:#2a2d30;cursor:pointer}
    .m-view-track{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .m-view-track::-webkit-scrollbar{display:none}
    .m-view-sl{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:0 0 calc(20px + env(safe-area-inset-bottom))}
    .m-view-sl img{max-width:100%;max-height:100%;object-fit:contain}
}
.m-buybar{display:none}
@media (max-width:768px){
    .pdf-quick{display:none!important}
    /* Короткий опис під ціною — тим самим компактним шрифтом, що й у розділах */
    .short-desc,.short-desc *{font-size:14.5px!important;line-height:1.45!important}
    .short-desc p{margin:0 0 8px!important}
    .short-desc h2,.short-desc h3,.short-desc h4,.short-desc h2 *,.short-desc h3 *,.short-desc h4 *{font-size:17px!important;line-height:1.25!important}
    .short-desc h2,.short-desc h3,.short-desc h4{margin:12px 0 6px!important}
    /* Заголовок короткого опису набраний як <strong> (шрифт BdCn) */
    .short-desc strong,.short-desc .b,.short-desc strong *,.short-desc .b *{font-size:17px!important;line-height:1.25!important}
    .bgs .tab_title{display:flex;justify-content:space-between;align-items:center;width:95%;margin:0 auto!important;padding:16px 2px!important;background:none!important;color:var(--text,#2a2d30)!important;text-align:left;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:20px!important;line-height:1.2;text-transform:uppercase;border-top:1px solid #e3e8ec;cursor:pointer;-webkit-tap-highlight-color:transparent}
    .bgs .tab_title::after{content:'';width:10px;height:10px;flex:0 0 10px;margin-right:6px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s}
    .bgs .tab_title.acc-closed::after{transform:rotate(-45deg)}
    .bgs .tab_title.acc-closed + .title1{display:none!important}
    .bgs .tab_title + .title1{padding-bottom:18px}
    /* Підзаголовки з тексту товару (ТЕХНІЧНА ІНФОРМАЦІЯ, ОСНОВНІ ПЕРЕВАГИ…) — менші за заголовок розділу */
    /* Текст усередині розділів — компактніше */
    .bgs .tab_title + .title1 p,.bgs .tab_title + .title1 li,.bgs .tab_title + .title1 .par,.bgs .tab_title + .title1 p *,.bgs .tab_title + .title1 li *{font-size:14.5px!important;line-height:1.45!important}
    .bgs .tab_title + .title1 p{margin:0 0 8px!important}
    .bgs .tab_title + .title1 li{margin-bottom:6px!important}
    .bgs .tab_title + .title1 td,.bgs .tab_title + .title1 th{font-size:14px!important;line-height:1.4!important}
    .bgs .tab_title + .title1 h2,.bgs .tab_title + .title1 h3{font-size:16px!important;line-height:1.25!important;color:#595959!important;margin:4px 0 12px!important;letter-spacing:.3px}
    .bgs .getintouch{font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:20px!important;text-transform:uppercase;color:var(--text,#2a2d30);border-bottom:0;border-top:1px solid #e3e8ec;padding:16px 2px 0;margin:10px 0 12px}

    .m-buybar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:calc(65px + env(safe-area-inset-bottom));z-index:99990;background:#fff;border-top:1px solid #dde3e8;box-shadow:0 -4px 16px rgba(15,23,42,.08);padding:10px 12px;transform:translateY(120%);transition:transform .25s ease;visibility:hidden}
    .m-buybar.on{transform:none;visibility:visible}
    .m-buybar .p{flex:1;min-width:0;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:26px;line-height:1;white-space:nowrap}
    .m-buybar .p sup{font-size:12px;vertical-align:baseline;margin-left:3px}
    .m-buybar .p.act{color:var(--red)}
    .m-buybar button{flex:0 0 auto;height:44px;padding:0 22px;border:0;border-radius:6px;background:var(--red);color:#fff;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:18px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}
    .m-buybar button.nv{background:var(--brand)}
    .m-buybar button.in-cart{background:#10b981}
}

/* ================= Список товарів: рядок «Сортування + Фільтр» (modules/catalog.php) ================= */
    /* Сучасний рядок для мобільних (Сортування + Кнопка фільтра) */
    .mobile-controls-row { display: flex; gap: 10px; align-items: center; margin-bottom: 20px; }
    .sorting-wrapper { flex: 1; }
    .sorting-wrapper select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; font-size: 14px; outline: none; }
    .catalog-mobile-filter-btn { display: none; }
    .cat-count{display:none}
    .f-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--brand);color:#fff;font-size:12px;font-weight:700}
    @media (max-width:768px){
        /* Обгортка «розчиняється», щоб рядок сортування міг прилипати на всю довжину списку */
        .category-header{display:contents!important}
        .category-header h1{margin:0 0 4px!important}
        .cat-count{display:block;margin:0 0 8px;font-size:14px;color:#595959}
        .mobile-controls-row .sorting-wrapper select{min-width:0!important;width:100%!important;margin:0!important;padding:0 10px!important;border-radius:6px!important}
        /* Сортування + Фільтр: дві рівні половини, рядок «прилипає» вгорі під час гортання */
        .mobile-controls-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;position:sticky;top:0;z-index:60;background:#fff;padding:8px 0;margin:0 0 12px!important}
        .mobile-controls-row .sorting-wrapper select{height:44px;border-color:#d5dce1;color:#2a2d30;font-size:14px;font-family:inherit}
        .mobile-controls-row .catalog-mobile-filter-btn{width:100%;height:44px!important;border:1px solid #d5dce1!important;border-radius:6px!important;color:#2a2d30!important;font-weight:500}
        .mobile-controls-row .catalog-mobile-filter-btn.has-f{border-color:var(--brand)!important;color:var(--brand-dark)!important}
        /* Каталог: нижчі фото — на екрані вміщається більше рядів */
        .category-header ~ .flex .tovar .tns span.f{height:118px!important}
        .category-header ~ .flex .tovar .tns span.f img{max-height:100%;width:auto}
    }
    
    @media (max-width: 991px) {
        .catalog-mobile-filter-btn {
            display: flex; align-items: center; justify-content: center;
            height: 42px; padding: 0 15px; background: #fff; color: #595959;
            border: 1px solid #e7e7e7; border-radius: 4px;
            font-size: 14px; cursor: pointer; white-space: nowrap;
            font-family: inherit;
        }
    }

/* ================= Список товарів: вибрані фільтри-чипси (modules/catalog.php) ================= */
.f-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px}
.f-chips a.vort{display:inline-flex;align-items:center;gap:5px;height:28px;margin:0;padding:0 8px 0 10px;border:0;border-radius:6px;background:#eef7f9;color:var(--brand-dark)!important;font-size:13px;font-weight:500;text-decoration:none!important;line-height:1;transition:background .2s}
.f-chips a.vort::after{content:'×';font-size:16px;line-height:1;color:#7aa9b6}
.f-chips a.vort:hover{background:#dff0f4}
.f-chips a.vort:hover::after{color:var(--red)}
.f-chips-reset{font-size:14px;color:#595959!important;text-decoration:underline!important;margin-left:4px}
@media (max-width:768px){
    .f-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 12px;padding-bottom:2px}
    .f-chips::-webkit-scrollbar{display:none}
    .f-chips a{flex:0 0 auto;white-space:nowrap}
}

/* ================= Фільтр (modules/filter.php) ================= */
/* --- ДЕСКТОПНІ СТИЛІ ФІЛЬТРА --- */
#mainFilterForm { position: relative; height: 100%; }
.modern-filter-label {
    display: flex; align-items: center; margin-bottom: 8px;
    cursor: pointer; font-size: 14px; color: #334155; transition: 0.2s; line-height: 1.4;
}
.modern-filter-label:hover { color: #00829b; }
.modern-filter-label input[type="checkbox"] { margin-right: 10px; width: 14px; height: 14px; cursor: pointer; accent-color: #00829b; flex-shrink: 0; }

.apply-filter-btn {
    position: sticky; bottom: 15px; width: 100%; background: #00829b; color: #fff;
    padding: 14px; border: none; cursor: pointer;
    margin: 10px 0 25px 0; z-index: 99; letter-spacing: 0.5px;
    font-family: 'HelveticaNeueLTStd-BdCn';
    text-transform: uppercase;
    border: 1px solid #fff;
}
.apply-filter-btn:hover { 
     background: #fff;
     color: #00829b;
     border: 1px solid #00829b;
     transition: all 0.4s ease;
}

/* Кількість товарів біля значення і «Показати ще» */
/* Ціна: поля «від — до» і повзунок */
#mainFilterForm #container { margin-top: 12px; }
#container .par { display: flex; align-items: center; gap: 8px; margin: 0 0 4px !important; }
#mainFilterForm #amountfrom, #mainFilterForm #amountdo { flex: 1; min-width: 0; width: auto !important; height: 38px !important; padding: 0 10px !important; border: 1px solid #d5dce1 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; font-size: 14px; text-align: center; color: #2a2d30; font-family: inherit; box-sizing: border-box; }
#amountfrom:focus, #amountdo:focus { border-color: var(--brand); outline: none; }
.pr-dash { color: #94a3b8; }
.pr-range { position: relative; height: 32px; margin: 16px 0 4px; }
/* Доріжка відступає на пів «кружечка» з кожного боку — кружечки не вилазять за край і стоять точно на кінцях заливки */
.pr-track { position: absolute; left: 11px; right: 11px; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; background: #e3e8ec; }
.pr-fill { position: absolute; top: 0; bottom: 0; border-radius: 2px; background: var(--brand); }
.pr-range input[type=range] { position: absolute; left: 0; top: 0; width: 100%; height: 32px; margin: 0; padding: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; z-index: 3; }
.pr-range input[type=range]:focus { outline: none; }
.pr-range input[type=range]::-webkit-slider-runnable-track { background: none; border: 0; height: 32px; }
.pr-range input[type=range]::-moz-range-track { background: none; border: 0; }
.pr-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 22px; height: 22px; margin-top: 5px; border-radius: 50%; background: #fff; border: 3px solid var(--brand); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; }
.pr-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--brand); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: pointer; }
.pr-range input#pr-max { z-index: 4; }

.modern-filter-label .f-n { margin-left: 6px; color: #94a3b8; font-size: 12px; }
.modern-filter-label .f-n::before { content: '('; } .modern-filter-label .f-n::after { content: ')'; }
.f-more { display: inline-block; margin: 4px 0 2px; padding: 0; border: 0; background: none; color: var(--brand-dark); font-size: 14px; font-weight: 500; cursor: pointer; }
.f-more:hover { text-decoration: underline; }
.f-hid { display: none !important; }
.modern-filter-label.f-off { color: #b8c0c8 !important; cursor: default; }
.modern-filter-label.f-off .f-n { display: none; }

/* --- Мобільна магія для фільтра --- */
.close-filter-mobile { display: none; }

@media (max-width: 991px) {
    /* Ховаємо сам фільтр за замовчуванням на мобільному */
    #mainFilterForm { display: none; }
    
    /* Стилі для відкритого фільтра на весь екран */
    #mainFilterForm.active-on-mobile {
        display: block; position: fixed !important; top: 0; left: 0;
        width: 100%; height: 100vh !important; background: #ffffff;
        z-index: 999999; padding: 20px; padding-bottom: 100px;
        overflow-y: auto; box-sizing: border-box;
    }

    /* Примусово показуємо блоки фільтрів, які ховає головний CSS сайту */
    #mainFilterForm.active-on-mobile .filter1,
    #mainFilterForm.active-on-mobile .filter-block-wrapper {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
    }
    
    /* ===== Фільтр на телефоні: шапка, групи списком, кнопка внизу ===== */
    #mainFilterForm.active-on-mobile { z-index: 1000001; padding: 0 16px calc(90px + env(safe-area-inset-bottom)) !important; overflow-x: hidden !important; }
    #mainFilterForm.active-on-mobile * { box-sizing: border-box; }
    .close-filter-mobile {
        display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 5;
        background: #fff; margin: 0 -16px 4px; padding: calc(10px + env(safe-area-inset-top)) 12px 10px 16px;
        border-bottom: 1px solid #e3e8ec;
    }
    .close-filter-mobile b { flex: 1; font-family: 'HelveticaNeueLTStd-BdCn', sans-serif; font-weight: normal; font-size: 22px; text-transform: uppercase; color: #2a2d30; }
    .fm-reset { color: var(--brand-dark) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; }
    .fm-x { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f4f6; color: #2a2d30; font-size: 26px; line-height: 1; cursor: pointer; }

    /* Групи — без карток і тіней, розділені лінією */
    #mainFilterForm.active-on-mobile .filter1 { box-shadow: none !important; border: 0 !important; border-bottom: 1px solid #e3e8ec !important; border-radius: 0 !important; margin: 0 !important; padding: 16px 0 !important; background: none !important; }
    #mainFilterForm.active-on-mobile .filter1 big,
    #mainFilterForm.active-on-mobile .moka { display: block; font-family: 'HelveticaNeueLTStd-BdCn', sans-serif; font-size: 17px !important; color: #2a2d30 !important; margin: 0 0 10px !important; padding: 0 !important; background-image: none !important; }
    #mainFilterForm.active-on-mobile .moka:after, #mainFilterForm.active-on-mobile .moka:before { display: none !important; }
    #mainFilterForm.active-on-mobile .modern-filter-label { font-size: 15px; color: #2a2d30; margin: 0; padding: 7px 0; }
    #mainFilterForm.active-on-mobile .modern-filter-label input[type="checkbox"] { width: 20px; height: 20px; margin-right: 12px; accent-color: var(--brand); }

    /* Ціна на телефоні: більші поля (16px — щоб iOS не збільшував сторінку) */
    #mainFilterForm.active-on-mobile #amountfrom, #mainFilterForm.active-on-mobile #amountdo { height: 44px !important; font-size: 16px; }

    /* Кнопка «Показати товари» — завжди внизу екрана */
    #mainFilterForm.active-on-mobile .apply-filter-btn {
        position: fixed !important; left: 0; right: 0; bottom: 0; width: 100%; margin: 0 !important; z-index: 10;
        height: auto; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
        background: #fff !important; border: 0 !important; border-top: 1px solid #e3e8ec !important; box-shadow: 0 -4px 16px rgba(15,23,42,.08);
        color: transparent; font-size: 0;
    }
    #mainFilterForm.active-on-mobile .apply-filter-btn::after {
        content: attr(data-label); display: flex; align-items: center; justify-content: center; height: 46px; border-radius: 6px;
        background: var(--brand); color: #fff; font-family: 'HelveticaNeueLTStd-BdCn', sans-serif; font-size: 18px; letter-spacing: .4px; text-transform: uppercase;
    }
}

/* ================= Картка товару: супутні товари (modules/inc/aksessuary.php) ================= */
/* Телефон: супутні товари — стрічка з гортанням пальцем, як хіти на головній */
@media (max-width:768px){
    .vkladkios{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 12px;margin:0}
    .vkladkios::-webkit-scrollbar{display:none}
    .vkladkios span.omo{flex:0 0 auto;margin:0!important;padding:9px 16px!important;border-radius:20px;background:#eef1f3;color:#2a2d30!important;font-family:'Google Sans',sans-serif!important;font-size:14px!important;font-weight:600;line-height:1;text-transform:none!important;border:0!important;cursor:pointer}
    .vkladkios span.omo.z{background:var(--brand);color:#fff!important}
    #parnas{display:flex!important;flex-wrap:nowrap!important;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
    #parnas::-webkit-scrollbar{display:none}
    #parnas > .tovar{flex:0 0 43%;width:auto!important;max-width:none!important;margin:0!important;float:none!important;scroll-snap-align:start}
    .show-more-wrapper{display:none!important}
}
/* Залізобетонний клас для приховування зайвих карток */
.hidden-by-script {
    display: none !important;
}

/* ================= Картка товару: пилососи (modules/inc/dust.php) ================= */
/* Пилососи — 5 в ряд, як супутні товари */
@media (min-width:726px){ .pyl-list .tovar{width:19%} }

/* ================= Кошик і оформлення замовлення (modules/bag.php) ================= */
.co{--co-line:#e3e8ec;--co-muted:#595959;--co-text:#2a2d30;--co-soft:#eef7f9;color:var(--co-text);font-size:15px}
.co *{box-sizing:border-box}
.co [hidden]{display:none!important}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"main side";gap:28px;align-items:start}
.co-main{grid-area:main;display:flex;flex-direction:column;gap:20px;min-width:0}
.co-side{grid-area:side;display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
.co-card{background:#fff;border:1px solid var(--co-line);border-radius:12px;padding:24px 28px}
.co-step{margin-bottom:16px}
.co-step h2{margin:0;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-weight:normal;font-size:20px;line-height:1.2;text-transform: uppercase; color:var(--co-text)}
.co-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.co-f{display:flex;flex-direction:column;gap:6px;position:relative;min-width:0}
.co-f>label{font-size:12px;color:#595959;font-weight:600;margin-left: 8px;}
.co-f>label i{color:var(--red);font-style:normal}
.co-in{height:38px;width:100%;border:1px solid #c9d2da;border-radius:8px;padding:0 14px;font-size:15px;color:var(--co-text);background:#fff;font-family:inherit;transition:border-color .2s}
.co-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,131,159,.15)}
.co-in:disabled{background:#f1f5f9;color:#94a3b8}
.co-in.is-err,.co-opts.is-err{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(236,27,36,.12)}
.co-hint{font-size:12.5px;color:var(--co-muted)}
.co-step{display:flex;align-items:center;justify-content:space-between;gap:12px}
.co-login{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--brand-dark);text-decoration:none;white-space:nowrap}
.co-login:hover{color:var(--red)}
.co-login svg{width:18px;height:18px}
.co-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-radius:12px}
.co-opts.co-col{grid-template-columns:1fr}
.co-opt{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;min-height:60px;border:2px solid #dbe2e8;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.co-opt:hover{border-color:#a9c9d3}
.co-opt input{position:absolute;opacity:0;pointer-events:none}
.co-ico{width:26px;height:26px;flex:none;margin-left:auto;color:#9aa7b2;transition:color .15s}
.co-opt.is-on .co-ico,.co-opt:has(input:checked) .co-ico{color:var(--brand)}
.co-dot{width:18px;height:18px;flex:none;margin-top:2px;border-radius:50%;border:2px solid #94a3b8;background:#fff;transition:border .15s}
.co-opt.is-on,.co-opt:has(input:checked){border-color:var(--brand);background:var(--co-soft)}
.co-opt.is-on .co-dot,.co-opt:has(input:checked) .co-dot{border:6px solid var(--brand)}
.co-opt:has(input:focus-visible){box-shadow:0 0 0 3px rgba(31,131,159,.3)}
.co-opt-t{display:block;font-size:15px;font-weight:600;color:var(--co-text)}
.co-opt-s{display:block;font-size:13px;color:#595959;margin-top:3px;line-height:1.35}
.co-sub{margin-top:20px}
.co-pickup{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;background:var(--co-soft);border-radius:10px}
.co-pickup .t{font-size:15.5px;font-weight:600}
.co-pickup .s{font-size:13.5px;color:#595959;margin-top:4px}
.co-pickup .h{font-size:13px;color:#595959;line-height:1.6;white-space:nowrap}
.co-dd{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #c9d2da;border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.12);display:none}
.co-dd div{padding:6px 14px;font-size:14px;line-height:1.35;cursor:pointer;border-bottom:1px solid #f1f5f9}
.co-dd div:hover{background:var(--co-soft)}
.co-dd div small{display:block;color:var(--co-muted);font-size:12px}
.co-more{margin-top:18px;padding-top:16px;border-top:1px dashed #dde3e8}
.co-more a{text-decoration:none;color:var(--brand-dark)}
.co-more textarea{display:none;width:100%;margin-top:10px;min-height:90px;padding:10px 14px;height:auto}
.co-more.is-open textarea{display:block}
/* Підсумок */
.co-sum h2{margin:0;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-weight:normal;font-size:21px;color:var(--co-text)}
.co-sum-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;width:100%;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:default}
.co-sum-head .co-hd-total,.co-sum-head svg{display:none}
.co-items{display:flex;flex-direction:column}
.co-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #edf1f4}
.co-item:first-child{padding-top:0}
.co-item img{width:60px;height:60px;flex:none;object-fit:contain;border:1px solid var(--co-line);border-radius:8px;background:#fff}
.co-item-b{flex:1;min-width:0}
.co-item-n{font-size:14px;font-weight:500;line-height:1.3;color:var(--co-text);text-decoration:none;display:block}
.co-item-n:hover{color:var(--brand-dark)}
.co-item-u{font-size:12.5px;color:var(--co-muted);margin-top:3px}
.co-item-pre{font-size:12.5px;color:var(--red);margin-top:3px}
.co-item-r{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.co-qty{display:flex;align-items:center;border:1px solid #c9d2da;border-radius:8px;overflow:hidden}
.co-qty button{width:32px;height:32px;border:0;background:#f1f5f9;font-size:16px;cursor:pointer;color:var(--co-text)}
.co-qty button:hover{background:#e2e8f0}
.co-qty input{width:38px;height:32px;border:0;text-align:center;font-size:14px;-moz-appearance:textfield;font-family:inherit}
.co-qty input::-webkit-outer-spin-button,.co-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.co-item-p{text-align:right;white-space:nowrap}
.co-item-p .o{font-size:12px;color:#94a3b8;text-decoration:line-through}
.co-item-p .n{font-size:15px;font-weight:700}
.co-item-p .n.promo{color:#c8141c}
.co-del{width:28px;height:28px;flex:none;border:0;background:none;color:#94a3b8;font-size:18px;cursor:pointer;border-radius:6px;line-height:1}
.co-del:hover{color:var(--red);background:#fde8e9}
.co-free{padding:14px 0;border-bottom:1px solid #edf1f4;font-size:13.5px}
.co-free .ok{color:#15803d;display:flex;align-items:center;gap:8px;font-weight:500}
.co-free .left{color:#595959}
.co-bar{height:6px;background:#e2e8f0;border-radius:3px;margin-top:8px;overflow:hidden}
.co-bar i{display:block;height:100%;background:#22a35a;border-radius:3px;transition:width .3s}
.co-rows{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid #edf1f4;font-size:14.5px}
.co-rows div{display:flex;justify-content:space-between;gap:12px}
.co-rows>div>span:first-child{color:#595959}
.co-rows>div>span:last-child{font-weight:500}
.co-rows .save{color:var(--red);font-weight:600}
.co-rows .green{color:#15803d;font-weight:600}
.co-pre-note{font-size:12.5px;color:var(--co-muted);padding-top:8px}
.co-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 16px}
.co-total span:first-child{font-size:16px;font-weight:600}
.co-total span:last-child{font-size:28px;font-weight:700;letter-spacing:-.3px}
.co-btn{width:100%;height:46px;border:0;border-radius:6px;background:var(--red); margin-top: 15px;color:#fff;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:18px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.co-btn:hover{background:var(--red-dark)}
.co-agree{margin-top:10px;font-size:12.5px;color:var(--co-muted);text-align:center;line-height:1.45}
.co-help{display:flex;flex-direction:column;gap:10px;padding:18px 24px}
.co-help .t{font-size:15px;font-weight:600}
.co-help-f{display:flex;justify-content:space-between;gap:16px}
.co-help-f .ph{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:500}
.co-help-f .ph a{text-decoration:none;color:var(--brand-dark)}
.co-help-f .sc{font-size:13px;color:#595959;line-height:1.6;white-space:nowrap}
.co-mbar{display:none}
.co-mbar .co-btn{margin-top:0;display:block;background:var(--red,#ec1b24);color:#fff}
.co-empty{text-align:center;padding:50px 0 70px}
.co-empty img{width:220px;height:auto;display:block;margin:0 auto 14px;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none} /* картинка-декор: без меню «зберегти зображення» при довгому натисканні */
.co-empty p{margin:8px 0 22px;font-size:15px;color:var(--co-muted)}
.co-empty-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 32px;border-radius:6px;background:var(--brand);color:#fff!important;text-decoration:none!important;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-size:18px;letter-spacing:.4px;text-transform:uppercase;transition:background .2s}
.co-empty-btn:hover{background:var(--brand-dark)}
.co-empty h2{margin:0;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-weight:normal;font-size:24px;color:var(--co-text)}
@media (max-width:991px){
    .co-grid{grid-template-columns:1fr;grid-template-areas:"side" "main";gap:12px}
    .co-side{position:static;gap:12px}
    .co-card{padding:18px 16px}
    .co-fields{grid-template-columns:1fr;gap:14px}
    .co-in{height:48px;font-size:16px}
    .co-opts{grid-template-columns:1fr;gap:10px}
    .co-pickup{flex-direction:column;gap:10px}
    /* Підсумок згортається */
    .co-sum{padding:0;overflow:hidden}
    .co-sum-head{min-height:56px;padding:12px 16px;margin:0;cursor:pointer;align-items:center}
    .co-sum-head h2{font-size:18px}
    .co-sum-head .co-hd-total{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700}
    .co-sum-head svg{display:block;transition:transform .2s}
    .co-sum.is-open .co-sum-head svg{transform:rotate(180deg)}
    .co-sum-body{display:none;padding:0 16px 14px;border-top:1px solid #edf1f4}
    .co-sum.is-open .co-sum-body{display:block}
    .co-item:first-child{padding-top:12px}
    .co-sum .co-btn,.co-sum .co-agree{display:none}
    .co-help{display:none}
    .co-qty button{width:40px;height:36px;font-size:18px}
    .co-mbar{display:block;position:fixed;left:0;right:0;bottom:calc(65px + env(safe-area-inset-bottom));z-index:99998;background:#fff;border-top:1px solid #dde3e8;box-shadow:0 -4px 16px rgba(15,23,42,.08);padding:10px 12px!important}
    .co-mfoot{display:block!important;text-align:center;font-size:12.5px;color:#595959;line-height:1.6;padding:4px 8px}
}
.co-mfoot{display:none}

/* ================= Кабінет (modules/kabinet.php) ================= */
.kb{--kb-line:#e3e8ec;--kb-muted:#595959;--kb-text:#2a2d30;--kb-soft:#eef7f9;color:var(--kb-text);font-size:15px;margin-bottom:30px}
.kb-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:6px 0 16px}
.kb-head h1{margin:0;font-family:'HelveticaNeueLTStd-BdCn',sans-serif;font-weight:normal;font-size:30px;line-height:1.1;text-transform:uppercase;color:var(--kb-text)}
.kb-out{display:inline-flex;align-items:center;gap:6px;color:var(--kb-muted)!important;text-decoration:none!important;font-size:14px;white-space:nowrap}
.kb-out:hover{color:var(--red)!important}
.kb-out svg{width:16px;height:16px}
.kb-nav{display:flex;gap:8px;margin-bottom:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.kb-nav::-webkit-scrollbar{display:none}
.kb-nav a{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:6px;background:#fff;border:1px solid var(--kb-line);color:var(--kb-text)!important;text-decoration:none!important;font-weight:500;transition:border-color .2s,background .2s}
.kb-nav a:hover{border-color:var(--brand)}
.kb-nav a.on{background:var(--brand);border-color:var(--brand);color:#fff!important}
.kb-nav a b{background:#eef1f3;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;color:var(--kb-text)}
.kb-nav a.on b{background:rgba(255,255,255,.25);color:#fff}
.kb-nav svg{width:18px;height:18px;flex:0 0 18px}
.kb-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}
.kb-main,.kb-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.kb-card{background:#fff;border:1px solid var(--kb-line);border-radius:14px;padding:20px 22px}
.kb-h2{margin:0 0 14px;font-size:13px;font-weight:600;color:var(--kb-muted);text-transform:uppercase;letter-spacing:.6px}
.kb-hi{font-size:22px;font-weight:700;margin:0 0 6px}
.kb-sub{color:var(--kb-muted);font-size:14px;line-height:1.5}
.kb-order{display:flex;gap:16px;align-items:center}
.kb-thumbs{display:flex;gap:8px;flex:0 0 auto}
.kb-thumbs span{width:64px;height:64px;border-radius:10px;background:#f4f6f8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.kb-thumbs img{max-width:86%;max-height:86%;object-fit:contain}
.kb-thumbs .more{font-weight:700;color:var(--kb-muted)}
.kb-oi{flex:1;min-width:0}
.kb-oi .n{font-weight:700;font-size:16px}
.kb-oi .m{color:var(--kb-muted);font-size:13.5px;margin-top:3px}
.kb-st{display:inline-flex;align-items:center;gap:6px;background:var(--kb-soft);color:var(--brand-dark);font-weight:600;font-size:13px;padding:4px 10px;border-radius:20px;margin-top:8px}
.kb-st:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--brand)}
.kb-sum{text-align:right;flex:0 0 auto}
.kb-sum .p{font-size:22px;font-weight:700;white-space:nowrap}
.kb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 16px;border-radius:6px;background:var(--brand);color:#fff!important;text-decoration:none!important;font-weight:600;font-size:14px;margin-top:8px;transition:background .2s}
.kb-btn:hover{background:var(--brand-dark)}
.kb-btn svg{width:15px;height:15px}
.kb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kb-tile{background:#fff;border:1px solid var(--kb-line);border-radius:14px;padding:18px 20px;text-decoration:none!important;color:var(--kb-text)!important;display:flex;flex-direction:column;gap:4px;transition:border-color .2s,box-shadow .2s}
.kb-tile:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(31,131,159,.08)}
.kb-tile .i{width:40px;height:40px;border-radius:10px;background:var(--kb-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.kb-tile .i svg{width:22px;height:22px}
.kb-tile .k{font-weight:700;font-size:16px}
.kb-tile .v{color:var(--kb-muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-war{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;border:0}
.kb-war .kb-h2{color:rgba(255,255,255,.8)}
.kb-war .big{font-size:20px;font-weight:700;line-height:1.25;margin-bottom:8px}
.kb-war p{margin:0 0 6px;opacity:.9;font-size:14px;line-height:1.5}
.kb-btn-w{background:#fff;color:var(--brand)!important}
.kb-btn-w:hover{background:#f1f6f8}
.kb-ph{display:block;font-size:18px;font-weight:700;color:var(--kb-text)!important;text-decoration:none!important;margin-bottom:2px}
.kb-viber{display:inline-flex;align-items:center;margin-top:12px;background:#7360f2;color:#fff!important;padding:0 16px;height:40px;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none!important}
/* ===== Розділи кабінету в тому ж стилі (Мої дані, Історія, Переглянуті) ===== */
/* Повідомлення */
.kb .msg-modern{border:1px solid var(--kb-line);border-left-width:4px;border-radius:12px;box-shadow:none;padding:14px 18px;font-weight:500}
.kb .msg-success{background:var(--kb-soft);color:var(--brand-dark);border-left-color:var(--brand)}
.kb .msg-error{background:#fdecec;color:#b42318;border-color:#f6caca;border-left-color:var(--red)}
/* Мої дані */
.kb .reg-wrap{max-width:820px!important}
.kb .card{border:1px solid var(--kb-line);border-radius:14px;box-shadow:none;padding:24px 26px!important}
.kb .row{gap:16px;margin-bottom:16px}
.kb .field label{font-size:12px;font-weight:600;color:var(--kb-muted);margin:0 0 6px 8px}
.kb .chk-wrap .input{height:46px!important;border:1px solid #d5dce1!important;border-radius:10px!important;padding:0 14px!important;font-size:15px!important;font-family:inherit!important}
.kb .chk-wrap .input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(31,131,159,.12)}
.kb .btn-submit{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:220px;max-width:100%!important;height:46px!important;padding:0 28px!important;margin:6px 0 0!important;border:0!important;border-radius:6px!important;background:var(--brand)!important;color:#fff!important;font-family:'HelveticaNeueLTStd-BdCn',sans-serif!important;font-size:18px!important;letter-spacing:.4px;text-transform:uppercase}
.kb .btn-submit:hover{background:var(--brand-dark)!important}
.kb #lk-personal-form .card > div:last-child{text-align:left!important}
/* Історія замовлень */
.kb .new-style-card{border:1px solid var(--kb-line);border-radius:14px;box-shadow:none;margin-bottom:12px}
.kb .order-acc-header{background:#fff;padding:16px 20px}
.kb .order-acc-header:hover{background:#f8fafb}
.kb .new-style-card.active .order-acc-header{border-bottom-color:var(--kb-line)}
.kb .order-badge{border-radius:8px;font-size:15px;font-weight:600;padding:6px 12px}
.kb .order-date{color:var(--kb-muted)}
.kb .order-arrow{border-color:var(--kb-line)}
.kb .structured-table th{font-size:12px;font-weight:600;color:var(--kb-muted);text-transform:uppercase;letter-spacing:.4px;background:#f8fafb;border-color:var(--kb-line)}
.kb .structured-table td{border-color:var(--kb-line)}
.kb .order-acc-footer{background:#fff;border-top-color:var(--kb-line);padding:16px 20px}
/* Переглянуті */
.kb .cabinet-grid{margin-top:0;gap:12px}
.kb .cabinet-grid .tovar{background:#fff;border:1px solid var(--kb-line);border-radius:14px;padding:10px 12px 14px;box-sizing:border-box}
@media (max-width:991px){
    .kb-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
    .kb .card{padding:18px 16px!important}
    .kb .btn-submit{width:100%!important}
    .kb .cabinet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .kb-head h1{font-size:24px}
    .kb-card{padding:16px}
    .kb-order{flex-wrap:wrap}
    .kb-thumbs span{width:56px;height:56px}
    .kb-oi{flex:1 1 calc(100% - 200px)}
    .kb-sum{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;text-align:left}
    .kb-sum .kb-btn{margin-top:0}
    .kb-tiles{grid-template-columns:1fr;gap:10px}
    .kb-tile{flex-direction:row;align-items:center;gap:12px;padding:14px 16px}
    .kb-tile .i{margin:0;flex:0 0 40px}
    .kb-tile .k{flex:0 0 auto}
    .kb-tile .v{margin-left:auto;text-align:right}
}

/* ===== Кабінет компактніше (десктоп і телефон): менші відступи, кнопки, плитки й поля ===== */
.kb{font-size:14.5px}
.kb-head{margin:4px 0 12px}
.kb-head h1{font-size:26px}
.kb-nav{gap:6px;margin-bottom:14px}
.kb-nav a{height:38px;padding:0 13px;font-size:14px;gap:7px}
.kb-nav svg{width:16px;height:16px;flex-basis:16px}
.kb-grid,.kb-main,.kb-side{gap:12px}
.kb-card{border-radius:12px;padding:14px 18px}
.kb-h2{margin:0 0 10px;font-size:12px}
.kb-hi{font-size:19px;margin:0 0 4px}
.kb-sub{font-size:13.5px;line-height:1.45}
.kb-order{gap:12px}
.kb-thumbs{gap:6px}
.kb-thumbs span{width:52px;height:52px;border-radius:8px}
.kb-oi .n{font-size:15px}
.kb-oi .m{font-size:13px}
.kb-st{font-size:12.5px;padding:3px 9px;margin-top:6px}
.kb-sum .p{font-size:19px}
.kb-btn{height:36px;padding:0 14px;font-size:13.5px;margin-top:6px}
.kb-tiles{gap:12px}
.kb-tile{border-radius:12px;padding:12px 14px;gap:2px}
.kb-tile .i{width:34px;height:34px;border-radius:8px;margin-bottom:4px}
.kb-tile .i svg{width:19px;height:19px}
.kb-tile .k{font-size:15px}
.kb-tile .v{font-size:13px}
.kb-war .big{font-size:17px;margin-bottom:6px}
.kb-war p{font-size:13.5px;margin-bottom:4px}
.kb-ph{font-size:16px}
.kb-viber{height:36px;margin-top:8px;font-size:13.5px}
.kb .card{border-radius:12px;padding:18px 20px!important}
.kb .row{gap:12px;margin-bottom:12px}
.kb .chk-wrap .input{height:42px!important;border-radius:8px!important;font-size:14.5px!important}
.kb .btn-submit{height:42px!important;min-width:200px;font-size:16px!important}
.kb .new-style-card{border-radius:12px;margin-bottom:8px}
.kb .order-acc-header{padding:12px 16px}
.kb .order-acc-footer{padding:12px 16px}
.kb .order-badge{font-size:14px;padding:4px 10px}
.kb .cabinet-grid{gap:10px}
.kb .cabinet-grid .tovar{border-radius:12px;padding:8px 10px 12px}
@media (max-width:640px){
    .kb-head{margin:2px 0 10px}
    .kb-head h1{font-size:22px}
    .kb-nav{margin:0 -2px 12px}
    .kb-nav a{height:36px;padding:0 11px;font-size:13.5px}
    .kb-card{padding:12px 14px}
    .kb-thumbs span{width:46px;height:46px}
    .kb-tiles{gap:8px}
    .kb-tile{padding:10px 12px;gap:10px}
    .kb-tile .i{flex:0 0 32px;width:32px;height:32px}
    .kb .card{padding:14px 14px!important}
    .kb .order-acc-header{padding:12px 14px!important}
}

/* ================= Кабінет: доставка за замовчуванням (modules/my-account.php) ================= */
.dlv-box{margin-top:26px;padding-top:22px;border-top:1px solid #e3e8ec}
.dlv-title{font-weight:700;font-size:16px;margin-bottom:4px}
.dlv-hint{font-size:13px;color:#595959;margin-bottom:14px}
.dlv-opts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dlv-opt{cursor:pointer}
.dlv-opt input{position:absolute;opacity:0;pointer-events:none}
.dlv-opt span{display:inline-flex;align-items:center;height:40px;padding:0 16px;border:1px solid #d5dce1;border-radius:6px;font-size:14px;font-weight:500;background:#fff;transition:all .2s}
.dlv-opt input:checked + span{border-color:var(--brand);background:#eef7f9;color:var(--brand-dark);box-shadow:inset 0 0 0 1px var(--brand)}
.dlv-blk{display:none}
.dlv-blk.on{display:flex}
.dlv-ac{position:relative}
.dlv-dd{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;margin-top:4px;max-height:260px;overflow-y:auto;background:#fff;border:1px solid #d5dce1;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12)}
.dlv-dd div{padding:9px 14px;cursor:pointer;font-size:14px;line-height:1.35}
.dlv-dd div:hover{background:#eef7f9}
.dlv-dd small{display:block;color:#888;font-size:12px}

/* ================= Кабінет: історія замовлень (modules/history-of-orders.php) ================= */
.new-style-card .order-acc-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ord-total{display:flex;align-items:center;gap:10px}
.ord-repeat{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px;border-radius:6px;background:var(--brand);color:#fff!important;text-decoration:none!important;font-weight:600;font-size:14px;transition:background .2s}
.ord-repeat:hover{background:var(--brand-dark)}
/* Оновлений солідний дизайн для історії замовлень */
.new-style-card {
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 25px;
    padding: 0 !important;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.order-acc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 25px;
    cursor: pointer;
    background: #f4f7f8; 
    border-bottom: 1px solid transparent;
    transition: background 0.2s ease;
}

.order-acc-header:hover {
    background: #eef3f5;
}

.new-style-card.active .order-acc-header {
    border-bottom-color: #dcdcdc;
    background: #fff;
}

.order-badge {
    background: #1f839f;
    color: #fff;
    font-size: 16px;
    padding: 6px 12px;
    border-radius: 6px;
    letter-spacing: 0.5px;
}

.order-date {
    color: #666;
    font-size: 14px;
    font-weight: 500;
}

.order-arrow {
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #ddd;
    width: 36px;
    height: 36px;
    border-radius: 50%;
}

.new-style-card.active .order-arrow {
    transform: rotate(180deg);
    border-color: #1f839f;
}

.order-acc-content {
    display: none;
    background: #fff;
}

.new-style-card.active .order-acc-content {
    display: block;
    animation: slideDown 0.3s ease-in-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.structured-table { 
    width: 100%; 
    border-collapse: collapse; 
    font-size: 14px; 
}

.structured-table th { 
    background: #fcfcfc; 
    color: #888; 
    font-weight: 600; 
    padding: 15px 20px; 
    border-bottom: 2px solid #eee;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}

.structured-table td { 
    padding: 15px 20px; 
    vertical-align: middle; 
    border-bottom: 1px solid #f2f2f2;
}

.structured-table tbody tr:nth-child(even) td {
    background-color: #fafafa;
}

.structured-table tbody tr:hover td { 
    background-color: #f4f9fa; 
}

.img-wrapper {
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
}
.img-wrapper img { max-width: 100%; max-height: 100%; object-fit: contain; }
.empty-img { background: #f5f5f5; }

.product-link {
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.2s;
    line-height: 1.4;
    display: block;
}
.product-link:hover { color: #1f839f; }

.art-badge {
    background: #f0f0f0;
    color: #555;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 13px;
    font-family: monospace;
}

.order-acc-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    padding: 20px 25px;
    background: #fdfdfd;
    border-top: 1px solid #eee;
}

.order-acc-footer span {
    font-size: 16px;
    color: #666;
    text-transform: uppercase;
    font-weight: 600;
}

/* ================= Кабінет: переглянуті товари (modules/visited-products.php) ================= */
/* МАГІЯ КОМПАКТНОСТІ */
.cabinet-grid {
    display: grid;
    /* Робимо картки шириною від 210px. Влізе 5 штук у ряд! */
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 15px;
    margin-top: 25px;
}

/* Вбиваємо жорсткі стилі tvi.php (24% ширини), через які минулого разу все сплющило */
.cabinet-grid .tovar {
    width: 100% !important;
    margin: 0 !important;
    height: 100% !important; /* Щоб всі картки були однакової висоти */
}

/* ================= Блог: стаття (modules/news.php) ================= */
/* Сучасний блок ЧИТАЙТЕ ТАКОЖ */
.related-section { margin-top: 50px; padding-top: 30px; border-top: 2px solid #f1f5f9; }
.related-section .h3 { font-family: 'HelveticaNeueLTStd-BdCn', sans-serif; font-size: 26px; color: #1f839f; text-transform: uppercase; text-align: center; display: block; margin-bottom: 30px; }
.related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }

/* Картка */
.related-card { 
    display: flex; 
    flex-direction: column; 
    text-decoration: none !important; 
    background: #fff; 
    border-radius: 8px; 
    border: 1px solid #e2e8f0; 
    overflow: hidden; 
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}
.related-card:hover { transform: translateY(-5px); border-color: #1f839f; box-shadow: 0 10px 25px rgba(31, 131, 159, 0.15); }

/* Картинка */
.related-img-wrap { 
    position: relative; 
    width: 100%; 
    aspect-ratio: 16/9; 
    background: #1e293b; 
    margin-bottom: 0; 
    flex-shrink: 0; 
    border-bottom: 1px solid #f1f5f9;
}
.related-img-wrap img { width: 100%; height: 100%; object-fit: cover; opacity: 0.9; transition: transform 0.5s ease, opacity 0.3s ease; display: block; }
.related-card:hover .related-img-wrap img { transform: scale(1.08); opacity: 1; }

/* Текст */
.related-title { 
    font-family: 'HelveticaNeueLTStd-BdCn', sans-serif; 
    font-size: 16px; 
    color: #2a2d30; 
    text-align: center; 
    line-height: 1.3; 
    transition: color 0.2s; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    margin: 0; 
    padding: 15px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1; 
}
.related-card:hover .related-title { color: #1f839f; }

/* Кнопка PLAY */
.rel-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; background: rgba(31, 131, 159, 0.85); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; box-shadow: 0 0 15px rgba(0,0,0,0.2); z-index: 2; }
.rel-play-btn::after { content: ''; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 14px solid #fff; margin-left: 4px; }
.related-card:hover .rel-play-btn { background: #1f839f; transform: translate(-50%, -50%) scale(1.15); }

/* ========================================= */
/* МОБІЛЬНА АДАПТАЦІЯ (БРОНЕБІЙНИЙ FLEXBOX)  */
/* ========================================= */
@media (max-width: 576px) {
    .related-section .h3 { font-size: 22px; margin-bottom: 20px; }
    .related-grid { grid-template-columns: 1fr; gap: 12px; }
    
    .related-card { 
        flex-direction: row !important; 
        align-items: stretch !important; 
    }
    .related-card:hover { transform: none; }
    
    .related-img-wrap { 
        width: 140px !important; 
        flex: 0 0 140px !important; /* Жорстко фіксуємо ширину для мобілок */
        height: auto !important; 
        border-bottom: none !important;
        border-right: 1px solid #f1f5f9 !important;
    }
    
    .rel-play-btn { width: 32px; height: 32px; }
    .rel-play-btn::after { border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 9px solid #fff; margin-left: 3px; }
    
    .related-title { 
        flex: 1 1 auto !important; /* Займає весь залишок місця */
        font-size: 13px !important; 
        text-align: left !important; 
        padding: 10px 15px !important; 
        justify-content: flex-start !important;
    }
}

/* «Читайте також»: фото товарів цілком на білому (а не обрізані на темному), назви звичайним шрифтом;
   на телефоні — рядками, як список блогу */
.related-img-wrap { background: #fff !important; }
.related-img-wrap img { object-fit: contain !important; padding: 12px; box-sizing: border-box; opacity: 1 !important; }
.related-card:hover .related-img-wrap img { transform: scale(1.04); }
.related-title { font-family: 'Google Sans', sans-serif !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.4 !important; text-align: left !important; justify-content: flex-start !important; align-items: flex-start !important; padding: 14px 16px 16px !important; }
@media (max-width: 576px) {
    .related-section { margin-top: 32px; padding-top: 20px; }
    .related-section .h3 { text-align: left; font-size: 20px; margin-bottom: 6px; }
    .related-grid { gap: 0 !important; border-top: 1px solid #edf1f4; }
    .related-card { border: 0 !important; border-bottom: 1px solid #edf1f4 !important; border-radius: 0 !important; box-shadow: none !important; align-items: center !important; gap: 14px; padding: 12px 0; }
    .related-img-wrap { width: 90px !important; flex: 0 0 90px !important; height: 90px !important; aspect-ratio: auto !important; border: 1px solid #edf1f4 !important; border-radius: 8px; overflow: hidden; }
    .related-img-wrap img { padding: 6px; }
    .related-card:hover .related-img-wrap img { transform: none; }
    .related-title { padding: 0 !important; font-size: 15px !important; line-height: 1.35 !important; display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ================= Сервіс (modules/service.php) ================= */
/* ============ палітра, виведена з основного #1f839f ============ */
.srv-page{
 --acc:#1f839f;          /* основний */
 --acc-d:#156a83;        /* ховер */
 --acc-dd:#0e4d5f;       /* темний кінець градієнта */
 --tint:#edf4f6;         /* світла заливка з бірюзовим підтоном */
 --tint-2:#e0eef1;
 --ink:#23343a;          /* заголовки */
 --text:#4c6069;         /* основний текст */
 --muted:#72878f;        /* другорядний */
 --line:#dae5e8;         /* лінії */
 --r:12px;               /* великий радіус */
 --r-s:8px;              /* малий радіус */
 --bd:'HelveticaNeueLTStd-BdCn',sans-serif;
 --rm:'HelveticaNeueLTStd-Roman',sans-serif;
}
.srv-page *{box-sizing:border-box}

/* ============ заголовки секцій ============ */
.srv-section-title{display:flex;align-items:center;gap:13px;font-family:var(--bd);font-size:24px;line-height:1.15;color:var(--ink);text-transform:uppercase;margin:0 0 30px}
.srv-section-title::before{content:'';width:4px;height:22px;border-radius:2px;background:var(--acc);flex-shrink:0}
.srv-on-dark{color:#fff}
.srv-on-dark::before{display:none}   /* на темному тлі біла риска читається як літера «І» */

/* ============ герой ============ */
.srv-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr minmax(250px,330px);gap:44px;align-items:center;background:var(--tint);border-radius:var(--r);padding:46px;margin:20px 0 60px}
.srv-hero::after{content:'';position:absolute;right:-110px;top:-110px;width:360px;height:360px;border-radius:50%;background:rgba(31,131,159,.06);pointer-events:none}
.srv-hero-main{position:relative;z-index:1}
.srv-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--bd);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
.srv-eyebrow::before{content:'';width:24px;height:2px;background:var(--acc)}
.srv-hero h1{font-family:var(--bd);font-size:36px;line-height:1.08;color:var(--ink);text-transform:uppercase;margin:0 0 16px}
.srv-lead{font-family:var(--rm);font-size:17px;line-height:1.55;color:var(--text);max-width:520px;margin:0 0 28px}
.srv-cta{display:flex;flex-wrap:wrap;gap:12px}
.srv-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--bd);font-size:16px;text-transform:uppercase;padding:15px 30px;border-radius:var(--r-s);text-decoration:none;transition:background .2s,border-color .2s,color .2s;border:2px solid transparent}
.srv-btn svg{width:18px;height:18px;stroke-width:2.2;fill:none;stroke:currentColor;flex-shrink:0}
.srv-btn-main{background:var(--acc);color:#fff}
.srv-btn-main:hover{background:var(--acc-d);color:#fff}
.srv-btn-alt{background:transparent;color:var(--acc);border-color:#c3d8de}
.srv-btn-alt:hover{border-color:var(--acc);background:#fff;color:var(--acc)}

.srv-stats{position:relative;z-index:1;background:#fff;border-radius:var(--r);padding:6px 26px;box-shadow:0 10px 28px rgba(20,62,76,.08)}
.srv-stat{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.srv-stat:last-child{border-bottom:0}
.srv-stat b{font-family:var(--bd);font-size:28px;line-height:1;color:var(--acc);min-width:74px;flex-shrink:0}
.srv-stat span{font-family:var(--rm);font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;line-height:1.3}

/* ============ текст з CMS ============ */
.srv-content{font-family:var(--rm);max-width:75ch;margin-bottom:56px;line-height:1.65;color:var(--text)}

/* ============ кроки ремонту — горизонтальний таймлайн ============ */
.srv-steps{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 30px;margin-bottom:64px;counter-reset:st}
.srv-steps::before{content:'';position:absolute;top:17px;left:17px;right:17px;height:2px;background:var(--line);z-index:0}
.srv-step{position:relative;z-index:1}
.srv-step::before{counter-increment:st;content:counter(st);display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:20px;border-radius:50%;background:var(--acc);color:#fff;font-family:var(--bd);font-size:16px}
.srv-step h3{font-family:var(--bd);font-size:17px;text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.srv-step p{font-family:var(--rm);font-size:14px;color:var(--muted);line-height:1.55;margin:0}

/* ============ переваги ============ */
.srv-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:30px 34px;margin-bottom:64px}
.srv-feature{display:flex;align-items:flex-start;gap:16px}
.srv-feature-icon{width:42px;height:42px;flex-shrink:0;background:var(--tint);color:var(--acc);border-radius:var(--r-s);display:flex;align-items:center;justify-content:center}
.srv-feature-icon svg{width:21px;height:21px;stroke-width:2;fill:none}
.srv-feature-title{font-family:var(--bd);font-size:16px;line-height:1.4;color:var(--ink);text-transform:none;padding-top:9px}

/* ============ форма ============ */
.srv-form-wrap{background:linear-gradient(135deg,var(--acc) 0%,var(--acc-dd) 100%);border-radius:var(--r);padding:46px;margin-bottom:64px}
.srv-form-sub{font-family:var(--rm);font-size:16px;line-height:1.5;color:rgba(255,255,255,.82);margin:-18px 0 28px;max-width:520px}
.srv-form-wrap form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.srv-form-wrap input[type="text"],
.srv-form-wrap input[type="tel"],
.srv-form-wrap input[type="email"]{width:100%;padding:16px 20px;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-s);font-family:var(--rm);font-size:16px;color:#fff;background:rgba(255,255,255,.12);outline:none;transition:background .2s,border-color .2s,color .2s}
.srv-form-wrap input::-webkit-input-placeholder{color:rgba(255,255,255,.7)}
.srv-form-wrap input::placeholder{color:rgba(255,255,255,.7)}
.srv-form-wrap input[type="text"]:focus,
.srv-form-wrap input[type="tel"]:focus,
.srv-form-wrap input[type="email"]:focus{background:#fff;border-color:#fff;color:var(--ink)}
.srv-form-wrap input:focus::-webkit-input-placeholder{color:#9aabb2}
.srv-form-wrap input:focus::placeholder{color:#9aabb2}
.srv-form-wrap input[type="submit"]{grid-column:1/-1;justify-self:start;min-width:260px;background:#fff;color:var(--acc);border:none;padding:17px 44px;border-radius:var(--r-s);font-family:var(--bd);font-size:18px;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.srv-form-wrap input[type="submit"]:hover{background:var(--tint-2)}
.srv-form-wrap input[type="submit"][disabled]{opacity:.55;cursor:default}
.srv-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.srv-hint{grid-column:1/-1;font-family:var(--rm);font-size:13px;color:rgba(255,255,255,.75);margin:-4px 0 0}
.srv-msg{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:var(--r-s);margin-bottom:26px;font-family:var(--rm);font-size:15px;line-height:1.45;background:#fff}
.srv-msg svg{width:20px;height:20px;flex-shrink:0;margin-top:1px;fill:none;stroke-width:2.2}
.srv-msg-ok{color:#0b6b4f}
.srv-msg-ok svg{stroke:#0f9d63}
.srv-msg-err{color:#b3261e}
.srv-msg-err svg{stroke:#d93a31}

/* ============ FAQ ============ */
.srv-faq{margin-bottom:56px;border-top:1px solid var(--line)}
.srv-faq details{border-bottom:1px solid var(--line)}
.srv-faq summary{cursor:pointer;padding:20px 52px 20px 0;font-family:var(--bd);font-size:17px;color:var(--ink);list-style:none;position:relative;transition:color .2s}
.srv-faq summary::-webkit-details-marker{display:none}
.srv-faq summary:hover{color:var(--acc)}
.srv-faq summary::after{content:'';position:absolute;right:14px;top:50%;width:10px;height:10px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.srv-faq details[open] summary{color:var(--acc)}
.srv-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.srv-faq .ans{padding:0 40px 22px 0;font-family:var(--rm);font-size:15px;color:var(--text);line-height:1.65;max-width:75ch}

/* ============ повторний CTA ============ */
.srv-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;background:var(--tint);border-radius:var(--r);padding:30px 36px;margin-bottom:60px}
.srv-band-t{font-family:var(--bd);font-size:21px;text-transform:uppercase;color:var(--ink);margin:0}
.srv-band-s{font-family:var(--rm);font-size:15px;color:var(--muted);margin:7px 0 0}

/* ============ карта ============ */
.srv-map{position:relative;width:100%;height:450px;border-radius:var(--r);overflow:hidden;margin-bottom:50px}
.srv-map>iframe,.srv-map>div:not(.srv-address){width:100%!important;height:100%!important;border:none}
.srv-address{position:absolute;top:30px;left:30px;background:rgba(255,255,255,.96);backdrop-filter:blur(5px);padding:30px;border-radius:var(--r);box-shadow:0 10px 30px rgba(20,62,76,.12);width:320px;z-index:10}
.srv-address p{margin:0 0 16px;font-family:var(--rm);font-size:15px;color:var(--text);line-height:1.5}
.srv-address p:last-child{margin-bottom:0}
.srv-address strong{font-family:var(--bd);font-size:13px;letter-spacing:.6px;color:var(--acc);display:block;margin-bottom:5px;text-transform:uppercase}
.srv-address a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.srv-address a:hover{color:var(--acc);border-color:var(--acc)}

/* ============ адаптив ============ */
@media (max-width:999px){
 /* планшет: 2 колонки, лінію прибираємо — стиснутий таймлайн виглядає погано */
 .srv-steps{grid-template-columns:repeat(2,1fr);gap:34px 30px}
 .srv-steps::before{display:none}
 .srv-step{display:grid;grid-template-columns:36px 1fr;column-gap:14px;align-items:center}
 .srv-step::before{margin-bottom:0}
 .srv-step h3{margin:0}
 .srv-step p{grid-column:2;margin-top:9px}
}
@media (max-width:980px){
 .srv-hero{grid-template-columns:1fr;gap:32px;padding:36px}
 .srv-stats{padding:4px 22px}
 .srv-form-wrap form{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
 #srv-form{scroll-margin-top:70px}
 .srv-hero{padding:28px 24px;margin-bottom:44px}
 .srv-hero h1{font-size:26px}
 .srv-lead{font-size:15px}
 .srv-cta{flex-direction:column}
 .srv-btn{justify-content:center}
 .srv-stat b{font-size:24px;min-width:64px}
 .srv-section-title{font-size:20px;margin-bottom:24px}
 /* мобільний: вертикальний таймлайн */
 .srv-steps{display:block;margin-bottom:48px}
 .srv-step{display:block;position:relative;padding:0 0 26px 52px}
 .srv-step::before{position:absolute;left:0;top:0;width:32px;height:32px;margin:0}
 .srv-step::after{content:'';position:absolute;left:15px;top:38px;bottom:0;width:2px;background:var(--line)}
 .srv-step:last-child{padding-bottom:0}
 .srv-step:last-child::after{display:none}
 .srv-step h3{margin:6px 0 8px}
 .srv-step p{margin:0}
 .srv-features{gap:24px;margin-bottom:48px}
 .srv-form-wrap{padding:28px 24px;margin-bottom:48px}
 .srv-form-wrap form{grid-template-columns:1fr}
 .srv-form-wrap input[type="submit"]{justify-self:stretch;min-width:0;width:100%}
 .srv-form-sub{margin-top:-10px}
 .srv-band{padding:24px;flex-direction:column;align-items:flex-start}
 .srv-band .srv-btn{width:100%;justify-content:center}
 .srv-map{height:auto;display:flex;flex-direction:column;overflow:visible}
 .srv-map>iframe,.srv-map>div:not(.srv-address){height:300px!important;border-radius:var(--r-s)}
 .srv-address{position:relative;top:0;left:0;width:100%;margin-top:18px;padding:24px;box-shadow:0 4px 15px rgba(20,62,76,.07)}
}
#srv-form{scroll-margin-top:110px}
