/* Responsive layout: shared dimensions for the header, navigation and content. */
    .home-1.small svg {
        display: none;
    }
    
    .mobile-nav-panel, .mobile-nav-backdrop, .mobile-copyright, .mobile-gallery-arrow { display: none; }
@media (max-width: 1200px) {
    body {
        --mobile-header-height: 74px;
        --mobile-control-width: 44px;
        --mobile-control-height: 48px;
        --mobile-gap: clamp(5px, 1.4vw, 12px);
        --mobile-gutter: clamp(10px, 2.5vw, 28px);
        --mobile-top: 0px;
    }
    body.admin-bar { --mobile-top: 32px; }
    body .mobile-header,
    body .mobile-header *,
    body .mobile-nav-panel { box-sizing: border-box; }
    body .mobile-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) repeat(4, var(--mobile-control-width));
        position: fixed;
        top: var(--mobile-top);
        left: 0;
        right: 0;
        width: 100%;
        align-items: center;
        gap: var(--mobile-gap);
        height: var(--mobile-header-height);
        padding: 10px var(--mobile-gutter);
        background: #fff;
        z-index: 999;
        box-shadow: 0 1px 5px #0000000a;
    }
    body .mobile-header > a:first-child { min-width: 0; width: 100%; grid-column: 1; }
    body .mobile-header > .mobile-info-button { grid-column: 2; }
    body .mobile-header > .dgwt-wcas-search-wrapp { grid-column: 3; }
    body .mobile-header > .mobile-cart-space { grid-column: 4; display: block; }
    body .mobile-header > .mobile-products-button { grid-column: 5; }
    body .mobile-header > * { grid-row: 1; }
    body .mobile-header > a:first-child img {
        display: block;
        width: auto;
        max-width: min(100%, 200px);
        max-height: 54px;
        object-fit: contain;
        object-position: left center;
        height: auto;
        margin: 0;
        padding: 0;
    }
    body .mobile-header .mobile-nav-button,
    body .mobile-header .dgwt-wcas-search-wrapp,
    body .mobile-cart-space {
        width: var(--mobile-control-width);
        min-width: 0;
        max-width: var(--mobile-control-width);
        height: var(--mobile-control-height);
    }
    body .mobile-header .mobile-nav-button {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 4px;
        margin: 0;
        padding: 5px 1px;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        background: #fff;
        color: var(--color1);
        cursor: pointer;
    }
    .mobile-nav-button i { font-size: 21px; }
    .mobile-nav-button span { font-size: 8px; font-weight: 700; line-height: 1; }
    body .mobile-header .mobile-nav-button[aria-expanded="true"] { background: #e1f1df; border-color: #cde8c7; }
    body .mobile-header .dgwt-wcas-search-wrapp {
        position: relative;
        inset: auto;
        margin: 0;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        color: var(--color1, #d13d35);
    }
    /* Keep the magnifier independent of plugin SVG rules and JS rendering. */
    body .mobile-header .dgwt-wcas-search-wrapp::before {
        content: '';
        position: absolute;
        top: calc(50% - 10px);
        left: calc(50% - 10px);
        width: 15px;
        height: 15px;
        border: 2px solid currentColor;
        border-radius: 50%;
        background: transparent;
        z-index: 1;
        pointer-events: none;
    }
    body .mobile-header .dgwt-wcas-search-wrapp::after {
        content: '';
        position: absolute;
        top: calc(50% + 3px);
        left: calc(50% + 3px);
        width: 9px;
        height: 2px;
        border-radius: 1px;
        background: currentColor;
        transform: rotate(45deg);
        transform-origin: left center;
        z-index: 1;
        pointer-events: none;
    }
    body .mobile-header .dgwt-wcas-search-wrapp > .dgwt-wcas-search-form {
        display: none;
        position: fixed;
        top: calc(var(--mobile-top) + var(--mobile-header-height));
        left: var(--mobile-gutter);
        right: var(--mobile-gutter);
        width: auto;
        min-width: 0;
        max-width: none;
        margin: 0;
        padding: 10px;
        background: #fff;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        box-shadow: 0 5px 12px #00000014;
        box-sizing: border-box;
        opacity: 1;
        z-index: 1000;
    }
    body .mobile-header .dgwt-wcas-search-wrapp.mobile-search-open > .dgwt-wcas-search-form { display: block; }
    body .mobile-header .dgwt-wcas-search-wrapp > .dgwt-wcas-search-icon,
    body .mobile-header .dgwt-wcas-search-wrapp > .dgwt-wcas-search-icon-arrow,
    body .mobile-header .dgwt-wcas-search-wrapp > .dgwt-wcas-icon-preloader { display: none; }
    body .mobile-header .mobile-search-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 4px;
        background: #fff;
        color: var(--color1, #d13d35);
        cursor: pointer;
    }
    /* Іконку малює ::before/::after на .dgwt-wcas-search-wrapp — svg всередині кнопки ховаємо, щоб не було подвійної лупи */
    body .mobile-header .mobile-search-button svg {
        display: none;
    }
    /* Розкритий мобільний пошук — рядок: [назад] [поле з кнопкою праворуч] */
    body .mobile-header .dgwt-wcas-search-wrapp.mobile-search-open > .dgwt-wcas-search-form {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        left: 0;
        right: 0;
        padding: 10px var(--mobile-gutter);
        border: 0;
        border-bottom: 1px solid #ececec;
        border-radius: 0;
        box-shadow: 0 6px 14px #00000012;
    }
    body .mobile-header .dgwt-wcas-search-form .mobile-search-back {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 46px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #1c1c1c;
        cursor: pointer;
    }
    body .mobile-header .dgwt-wcas-search-form .mobile-search-back svg {
        width: 23px;
        height: 23px;
        fill: none;
        stroke: currentColor;
    }
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp {
        position: relative;
        inset: auto;
        display: block;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        height: 46px;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
    }
    body .mobile-header .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input.dgwt-wcas-search-input {
        opacity: 1 !important;
        width: 100% !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 10px 54px 10px 14px !important;
        background: #f4f4f4 !important;
        color: #111 !important;
        border: 1px solid #e4e4e4 !important;
        border-radius: 8px !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        box-sizing: border-box !important;
    }
    body .mobile-header .dgwt-wcas-search-wrapp.dgwt-wcas-search-focused .dgwt-wcas-sf-wrapp input.dgwt-wcas-search-input {
        border-color: var(--color1) !important;
    }
    body .mobile-header .dgwt-wcas-search-form input.dgwt-wcas-search-input::placeholder {
        color: #8a8a8a;
        opacity: 1;
    }
    /* магніфер-іконка та голосовий пошук у полі не потрібні — є окрема кнопка */
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp > .dgwt-wcas-ico-magnifier,
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-voice-search {
        display: none !important;
    }
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-preloader {
        left: auto !important;
        right: 60px !important;
    }
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
        position: absolute !important;
        right: 4px !important;
        left: auto !important;
        top: 4px !important;
        bottom: 4px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: var(--color1) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: auto !important;
        cursor: pointer;
        transition: none !important;
    }
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-search-submit svg,
    body .mobile-header .dgwt-wcas-search-form .dgwt-wcas-search-submit svg path {
        fill: #fff !important;
    }
    /* панель підказок — світла на мобільному (на десктопі лишається темною) */
    html body .dgwt-wcas-suggestions-wrapp {
        margin-top: 0 !important;
        background: #fff !important;
        color: #111 !important;
        border: 1px solid #ececec !important;
        border-radius: 0 0 8px 8px;
    }
    /* Match the fourth grid cell even before the plugin button is mounted. */
    body #adfy__woofc-trigger[class] {
        transition: background-color .2s, color .2s, border-color .2s;
        position: fixed;
        top: calc(var(--mobile-top) + (var(--mobile-header-height) - var(--mobile-control-height)) / 2);
        right: calc(var(--mobile-gutter) + var(--mobile-control-width) + var(--mobile-gap));
        left: auto;
        bottom: auto;
        width: var(--mobile-control-width);
        height: var(--mobile-control-height);
        margin: 0;
        padding: 0;
        transform: none;
        box-sizing: border-box;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        background: #fff;
        color: #333;
    }
    body .mobile-header .mobile-cart-space #adfy__woofc-trigger {
        position: relative;
        inset: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--mobile-control-width);
        height: var(--mobile-control-height);
        margin: 0;
        padding: 0;
        border: 1px solid #e5e5e5;
        border-radius: 4px;
        background: #fff;
        color: #333;
        box-shadow: none;
        transform: none;
        box-sizing: border-box;
    }
    body #adfy__woofc-trigger[class] .badge {
        top: -7px;
        right: -5px;
        left: auto;
        bottom: auto;
        min-width: 18px;
        height: 18px;
        padding: 2px 4px;
        font-size: 11px;
        line-height: 14px;
        border-radius: 3px;
        transform: none;
    }
    body header ul.menu { display: none; }
    body.mobile-navigation-open { overflow: hidden; }
    .mobile-nav-backdrop:not([hidden]) {
        display: block;
        position: fixed;
        inset: calc(var(--mobile-top) + var(--mobile-header-height)) 0 0;
        z-index: 997;
        background: #0000000a;
    }
    .mobile-nav-panel:not([hidden]) {
        display: block;
        position: fixed;
        top: calc(var(--mobile-top) + var(--mobile-header-height));
        bottom: 0;
        left: 0;
        width: min(290px, 78vw);
        padding: 22px 16px;
        z-index: 998;
        background: #fff;
        box-shadow: 8px 0 20px #0000000c;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .mobile-nav-panel ul { margin: 0; padding: 0; list-style: none; }
    .mobile-nav-panel > ul { border: 1px solid #e7e7e7; border-radius: 3px; }
    .mobile-nav-panel li { position: relative; margin: 0; padding: 0; }
    .mobile-nav-panel li + li { border-top: 1px solid #e7e7e7; }
    .mobile-nav-panel li > a {
        display: block;
        padding: 16px 52px 16px 14px;
        color: #333;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.4;
        text-decoration: none;
    }
    .mobile-nav-panel li > a::after {
        content: '›';
        position: absolute;
        top: 10px;
        right: 14px;
        font-size: 24px;
    }
    .mobile-nav-panel li:has(> ul) > a::after,
    .mobile-nav-panel li.has-submenu > a::after { display: none; }
    .mobile-nav-panel li.is-expanded > a,
    .mobile-nav-panel .current-cat > a,
    .mobile-nav-panel .current-menu-item > a { color: var(--color1); }
    .mobile-nav-panel .mobile-submenu-button {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 100%;
        min-height: 46px;
        padding: 0;
        border: 0;
        border-left: 1px solid #eee;
        background: transparent;
        color: #9a9a9a;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
        z-index: 1;
    }
    .mobile-nav-panel .mobile-submenu-button > span {
        display: block;
        transition: transform .2s ease;
    }
    .mobile-nav-panel .mobile-submenu-button[aria-expanded="true"] { color: var(--color1); }
    .mobile-nav-panel .mobile-submenu-button[aria-expanded="true"] > span { transform: rotate(90deg); }
    .mobile-nav-panel ul ul:not([hidden]) { display: block; background: #fff3f2; padding: 8px 0; }
    .mobile-nav-panel ul[hidden] { display: none; }
    .mobile-nav-panel ul ul li { border: 0; }
    .mobile-nav-panel ul ul li > a { padding: 8px 34px 8px 34px; font-size: 12px; }
    .mobile-nav-panel ul ul li > a::before { content: '•'; color: #c7c7c7; position: absolute; left: 15px; }
    .mobile-nav-panel ul ul li > a::after { display: none; }
    .mobile-catalog-link {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 15px;
        margin-bottom: 16px;
        background: #e90019;
        border-radius: 4px;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
    }
    .mobile-catalog-link span { margin-left: auto; font-size: 25px; line-height: 1; }
    .mobile-nav-panel a:focus-visible,
    .mobile-nav-panel button:focus-visible,
    .mobile-header button:focus-visible { outline: 2px solid #e90019; outline-offset: 2px; }
    body section.main-site {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: calc(var(--mobile-header-height) + var(--mobile-top) + 20px) auto 28px;
        padding: 0 var(--mobile-gutter);
    }
    body section.main-site > .all-menu { display: none; }
    body section.main-site > div,
    body section.main-site .container { min-width: 0; max-width: 100%; }
    body nav.breadcrumb {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin: calc(var(--mobile-header-height) + var(--mobile-top) + 14px) 0 20px;
        padding: 0 var(--mobile-gutter);
        font-size: 12px;
        line-height: 1.5;
        white-space: nowrap;
        overflow-x: auto;
    }
    body nav.breadcrumb ~ section.main-site { margin-top: 0; }
    body .woocommerce-php > div > .home-1.small {
        margin: 0 0 18px;
        padding: 0;
        background: transparent;
        text-align: left;
    }
    body .woocommerce-php .home-1.small h1 {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin: 0;
        padding: 0 0 10px;
        font-size: clamp(16px, 2vw, 22px);
        line-height: 1.4;
        border-bottom: 2px solid #f1b4b4;
    }
    body ul.product-categories {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(12px, 2vw, 24px);
        width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body ul.product-categories > li { min-width: 0; width: 100%; margin: 0; padding: 0; }
    body ul.product-categories > li img {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }
    body ul.product-categories > li h3 { min-height: 0; padding: 12px 8px; font-size: clamp(13px, 1.5vw, 16px); line-height: 1.4; }
    body.woocommerce ul.products[class*="columns-"] {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
        padding: 0;
        margin: 0;
    }
    body.woocommerce ul.products::before,
    body.woocommerce ul.products::after { display: none; }
    body.woocommerce ul.products[class*="columns-"] > li.product {
        min-width: 0;
        width: 100%;
        max-width: 100%;
        float: none;
        margin: 0;
        box-sizing: border-box;
    }
    body .woocommerce-notices-wrapper,
    body .woocommerce-notices-wrapper .woocommerce-error,
    body .woocommerce-notices-wrapper .woocommerce-message,
    body .woocommerce-notices-wrapper .woocommerce-info { margin-top: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1200px) {
    body.woocommerce div.product div.images.woocommerce-product-gallery { width: 46%; margin: 0; }
    body.woocommerce div.product div.summary { width: 50%; margin: 0 0 24px 4%; padding: 20px; box-sizing: border-box; }
    body.woocommerce div.product .product_title { font-size: 22px; line-height: 1.35; }
}
@media (max-width: 782px) { body.admin-bar { --mobile-top: 46px; } }
@media (max-width: 767px) {
    body ul.product-categories,
    body.home ul.product-categories,
    body.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    body.home ul.product-categories li h3 { font-size: 13px; padding: 12px 7px; }
    body section.fyter {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 22px 12px 12px;
        background: #151515;
        color: #bdbdbd;
    }
    body section.fyter > div,
    body section.fyter > .widget,
    body section.fyter .slimness-contact__label,
    body section.fyter .slimness-contact__item:nth-child(3),
    body section.fyter + a.joie { display: none; }
    body section.fyter .slimness-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: auto; margin: 0; }
    body section.fyter .slimness-contact__item { display: flex; align-items: center; gap: 7px; margin: 0; padding: 0; }
    body section.fyter .slimness-contact__item + .slimness-contact__item { border-left: 1px solid #626262; padding-left: 16px; }
    body section.fyter .slimness-contact__link,
    body section.fyter .slimness-contact__icon { color: #bdbdbd; font-size: 10px; }
    body section.fyter .mobile-copyright { display: block; margin: 0; font-size: 10px; color: #aaa; }
    body .woocommerce-php > div > .home-1.small {
        margin: 0 0 16px;
        padding: 0;
        background: transparent;
        text-align: left;
    }
    body .woocommerce-php .home-1.small h1 {
        display: inline-block;
        position: relative;
        margin: 0;
        padding: 0 0 1px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4;
        border-bottom: 2px solid var(--color1);
        margin-bottom: 13px;
    }
      .home-1.small svg {
        position: absolute;
        left: calc(50% - 15px);
        bottom: -18px;
        width: 30px;
        display: block;
    }
    body.single-product .woocommerce-php .home-1.small { display: none; }
    body.woocommerce div.product div.images.woocommerce-product-gallery {
        width: 100%;
        margin: 0;
        border-radius: 3px;
    }
    body.woocommerce div.product div.summary {
        width: 100%;
        margin: 0 0 24px;
        padding: 16px;
        border: 1px solid #eee;
        border-radius: 0 0 3px 3px;
    }
    body.woocommerce div.summary .product-head { padding-bottom: 12px; margin-bottom: 12px; }
    body.woocommerce div.summary .product-sku { display: none; }
    body.woocommerce div.summary .product-head h1,
    body.woocommerce div.summary .product-head h2 { font-size: 16px; font-weight: 700; line-height: 1.4; margin: 0; }
    body.woocommerce div.summary span.price-with-meta { flex-direction: row-reverse; padding-bottom: 12px; margin-bottom: 0; gap: 8px; }
    body.woocommerce div.summary span.price-upakovka { color: #222; font-size: 14px; font-weight: 500; }
    body.woocommerce div.summary span.price-upakovka > span,
    body.woocommerce div.summary .price-label { display: none; }
    body.woocommerce div.summary span.price-upakovka::before { content: '\f49e'; font-family: 'Font Awesome 7 Free'; font-weight: 900; }
    body.woocommerce div.summary bdi { color: #f04444; font-size: 18px; font-weight: 700; }
    body.woocommerce div.product div.summary > form.cart.custom-qty-form {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        margin: 12px 0 0;
        padding: 0;
    }
    body.woocommerce div.product div.summary > form.cart.custom-qty-form > .custom-quantity {
        display: flex;
        flex: 0 0 auto;
        gap: 7px;
        width: auto;
        margin: 0;
    }
    body.woocommerce .summary .custom-quantity .qty-btn,
    body.woocommerce .summary .custom-quantity .quantity .qty {
        height: 38px;
        width: 38px;
        min-width: 0;
        padding: 0;
        border: 0;
        border-radius: 4px;
        background: #eee;
        font-size: 16px;
    }
    body.woocommerce .summary .custom-quantity .qty-btn { background: var(--color1); color: #fff; }
    body.woocommerce div.product div.summary > form.cart.custom-qty-form > .single_add_to_cart_button {
        flex: 1;
        width: auto;
        min-width: 0;
        height: 38px;
        margin: 0;
        padding: 8px 8px 8px 30px;
        border-radius: 4px;
        background: var(--color1);
        font-size: 14px;
    }
    body.woocommerce .summary .single_add_to_cart_button span { font-size: 14px; }
    .mobile-gallery-arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 3;
        width: 34px;
        height: 34px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
        color: #5b5b5b;
        font-size: 19px;
        line-height: 1;
        cursor: pointer;
    }
    .mobile-gallery-arrow i { line-height: 1; }
    .mobile-gallery-prev { left: 10px; }
    .mobile-gallery-next { right: 10px; }
}
@media (max-width: 359px) {
    body { --mobile-control-width: 40px; --mobile-gap: 5px; --mobile-gutter: 8px; }
    body.woocommerce .summary .custom-quantity .qty-btn,
    body.woocommerce .summary .custom-quantity .quantity .qty { width: 30px; }
}
