/* VBO style 1: wpcode-css-snippet */
/* ==================================================
   VIVILIV — GLOBALNY FOOTER — FINAL
   Jeden wygląd i jedna wysokość na wszystkich stronach
   ================================================== */

/* Usuwamy indywidualne linie i przesunięcia ze starych kodów */
html body
.viviliv-custom-footer.viviliv-custom-footer::before {
  display: none !important;
  content: none !important;
}

/* ==================================================
   DESKTOP
   ================================================== */

@media (min-width: 1025px) {

  html,
  body {
    min-height: 100% !important;
  }

  html body:not(.wp-admin) {
    min-height: 100vh !important;
    min-height: 100dvh !important;

    display: flex !important;
    flex-direction: column !important;
  }

  /* Główna część strony zajmuje wolne miejsce */
  html body:not(.wp-admin) > #page {
    flex: 1 0 auto !important;

    width: 100% !important;
    min-height: 0 !important;
  }

  /* Cały footer — jednakowa wysokość */
  html body
  .viviliv-custom-footer.viviliv-custom-footer {
    flex: 0 0 190px !important;

    width: 100% !important;
    max-width: none !important;

    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 20px 24px 18px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    background: #06150d !important;
    background-color: #06150d !important;
    background-image: none !important;

    border: 0 !important;
    border-top:
      1px solid rgba(216, 178, 74, .22) !important;

    box-shadow: none !important;
  }

  /* Tabliczka płatności — rozmiar jak na głównej */
  html body
  .viviliv-custom-footer.viviliv-custom-footer
  .viviliv-custom-footer__payments.viviliv-custom-footer__payments {
    flex: 0 0 auto !important;

    width: min(680px, calc(100% - 28px)) !important;
    max-width: 680px !important;

    margin: 0 auto 12px !important;
    padding: 7px 12px !important;

    box-sizing: border-box !important;
  }

  html body
  .viviliv-custom-footer
  .viviliv-custom-footer__payments
  img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
  }

  /* Linki prawne */
  html body
  .viviliv-custom-footer
  .viviliv-custom-footer__links {
    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    gap: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
  }

  /* Copyright */
  html body
  .viviliv-custom-footer
  .viviliv-custom-footer__copy {
    flex: 0 0 auto !important;

    width: 100% !important;
    max-width: none !important;

    margin: 7px auto 0 !important;
    padding: 0 !important;

    text-align: center !important;
    line-height: 1.15 !important;
  }
}

/* ==================================================
   TABLET + MOBILE
   ================================================== */

@media (max-width: 1024px) {

  html body
  .viviliv-custom-footer.viviliv-custom-footer {
    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 150px !important;
    max-height: none !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 18px 12px 16px !important;

    box-sizing: border-box !important;

    background: #06150d !important;

    border: 0 !important;
    border-top:
      1px solid rgba(216, 178, 74, .22) !important;
  }

  html body
  .viviliv-custom-footer.viviliv-custom-footer
  .viviliv-custom-footer__payments.viviliv-custom-footer__payments {
    width: min(680px, calc(100% - 20px)) !important;
    max-width: 680px !important;

    margin: 0 auto 12px !important;
    padding: 6px 9px !important;

    box-sizing: border-box !important;
  }

  html body
  .viviliv-custom-footer
  .viviliv-custom-footer__links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;

    gap: 8px 16px !important;

    width: 100% !important;
    margin: 0 !important;

    text-align: center !important;
  }

  html body
  .viviliv-custom-footer
  .viviliv-custom-footer__copy {
    width: 100% !important;
    margin: 8px auto 0 !important;
    text-align: center !important;
  }
}

/* VBO style 2: wpcode-css-snippet */
/* ==================================================
   VIVILIV — MENU DNIA + PEŁNE MENU
   Sticky wyszukiwarka bez prześwitu pod nagłówkiem
   ================================================== */

@media (min-width: 1025px) {

  html body.page-id-2237
  .viviliv-menu-sticky-group,

  html body.page-id-2689
  .viviliv-menu-sticky-group {
    position: sticky !important;

    /*
     * JS zapisuje pozycję 8 px poniżej nagłówka.
     * Odejmujemy te 8 px, aby zielone tło zaczynało
     * się dokładnie przy dolnej linii nagłówka.
     */
    top: var(--viviliv-menu-sticky-top, 130px) !important;

    z-index: 9994 !important;
    align-self: flex-start !important;

    width: calc(100% - 374px) !important;
    max-width: calc(100% - 374px) !important;

    /*
     * Bez zewnętrznego odstępu u góry.
     * Powietrze pozostaje wewnątrz zielonego tła.
     */
    margin: 0 0 20px !important;
    padding: 10px 0 9px !important;

    background: #06150d !important;
    background-color: #06150d !important;
    background-image: none !important;

    border: 0 !important;
    border-bottom: 0 !important;

    box-shadow:
      0 10px 16px rgba(0, 0, 0, 0.34) !important;

    overflow: visible !important;
    box-sizing: border-box !important;
    isolation: isolate !important;
  }

  /* Dodatkowa osłona dokładnie pod nagłówkiem */
  html body.page-id-2237
  .viviliv-menu-sticky-group::before,

  html body.page-id-2689
  .viviliv-menu-sticky-group::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -2px !important;

    height: 4px !important;

    background: #06150d !important;

    pointer-events: none !important;
    z-index: -1 !important;
  }

  /* Pole wyszukiwania */
  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-search,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-search {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 8px !important;
  }

  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Kategorie */
  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-tabs,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-tabs {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 7px !important;
  }

  /* Cennik + liczba produktów */
  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-category-count,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-category-count {
    position: relative !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
/* ==================================================
   VIVILIV — MENU — NIEPRZEZROCZYSTE TŁO NAGŁÓWKA
   Karty nie prześwitują podczas przewijania
   ================================================== */

@media (min-width: 1025px) {

  html body.page-id-2237 .viviliv-global-topbar,
  html body.page-id-2689 .viviliv-global-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 10020 !important;

    background: #06150d !important;
    background-color: #06150d !important;
    background-image: none !important;

    opacity: 1 !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    isolation: isolate !important;
    overflow: hidden !important;

    box-shadow: none !important;
  }

  /* Pełne krycie całej powierzchni nagłówka */
  html body.page-id-2237
  .viviliv-global-topbar::before,

  html body.page-id-2689
  .viviliv-global-topbar::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;

    display: block !important;

    background: #06150d !important;
    opacity: 1 !important;

    pointer-events: none !important;
  }

  /* Również wnętrze nagłówka jest całkowicie kryjące */
  html body.page-id-2237
  .viviliv-global-topbar__inner,

  html body.page-id-2689
  .viviliv-global-topbar__inner {
    position: relative !important;
    z-index: 1 !important;

    background: #06150d !important;
    background-color: #06150d !important;
    background-image: none !important;

    opacity: 1 !important;
  }
}
/* ==================================================
   VIVILIV — LICZBA PRODUKTÓW
   Przesunięcie całego napisu w lewo
   ================================================== */

@media (min-width: 1025px) {

  .viviliv-menu-sticky-group
  .viviliv-menu-category-count
  > .viviliv-menu-category-count__number {
    position: relative !important;
    transform: translateX(-10px) !important;
  }
}
/* ==================================================
   VIVILIV — RAMKA WYSZUKIWARKI JAK RAMKA KOSZYKA
   ================================================== */

@media (min-width: 1025px) {

  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field {
    border: 1px solid rgba(216, 178, 74, .55) !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  /* При натисканні рамка не стає подвійною */
  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field:focus-within,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-search__field:focus-within {
    border-width: 1px !important;
    border-color: rgba(216, 178, 74, .55) !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}
/* ==================================================
   VIVILIV — STICKY MENU
   Jednolity фон bez cienia
   ================================================== */

@media (min-width: 1025px) {

  html body.page-id-2237
  .viviliv-menu-sticky-group,

  html body.page-id-2689
  .viviliv-menu-sticky-group {
    background: #06150d !important;
    box-shadow: none !important;
    filter: none !important;
  }

  /* Wszystkie części korzystają z jednego tła grupy */
  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-search,

  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-tabs,

  html body.page-id-2237
  .viviliv-menu-sticky-group
  .viviliv-menu-category-count,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-search,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-tabs,

  html body.page-id-2689
  .viviliv-menu-sticky-group
  .viviliv-menu-category-count {
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Wnętrze pola wyszukiwania bez osobnego ciemnego tła */
  html body.page-id-2237
  .viviliv-menu-search__field,

  html body.page-id-2237
  .viviliv-menu-search__input,

  html body.page-id-2689
  .viviliv-menu-search__field,

  html body.page-id-2689
  .viviliv-menu-search__input {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
}


/* VBO style 3: wpcode-css-snippet */
/* ==================================================
   VIVILIV — MENU DNIA + PEŁNE MENU
   Koszyk zawsze pod nagłówkiem — FIXED FINAL
   ================================================== */

@media (min-width: 1025px) {

  body.page-id-2237 .viviliv-premium-order-layout,
  body.page-id-2689 .viviliv-premium-order-layout {
    align-items: flex-start !important;
    overflow: visible !important;
  }

  /*
   * Zewnętrzna kolumna pozostaje w układzie.
   * Dzięki temu miejsce na koszyk jest zawsze zachowane.
   */
  body.page-id-2237 .viviliv-live-cart-aside,
  body.page-id-2689 .viviliv-live-cart-aside {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    align-self: flex-start !important;

    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    transform: none !important;

    box-sizing: border-box !important;
  }

  /*
   * Sama ramka koszyka jest przyklejona do okna.
   * Nie ogranicza jej już koniec kontenera produktów.
   */
  body.page-id-2237
  .viviliv-live-cart-widget.viviliv-cart-fixed,

  body.page-id-2689
  .viviliv-live-cart-widget.viviliv-cart-fixed {
    position: fixed !important;
    z-index: 9993 !important;

    display: flex !important;
    flex-direction: column !important;

    min-height: 0 !important;

    margin: 0 !important;

    overflow: hidden !important;
    box-sizing: border-box !important;

    transform: none !important;
  }

  /* Wewnętrzna część koszyka */
  body.page-id-2237
  .viviliv-cart-fixed
  .widget_shopping_cart_content,

  body.page-id-2689
  .viviliv-cart-fixed
  .widget_shopping_cart_content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: hidden !important;
  }

  /* Przewija się wyłącznie lista produktów */
  body.page-id-2237
  .viviliv-cart-fixed
  ul.woocommerce-mini-cart,

  body.page-id-2689
  .viviliv-cart-fixed
  ul.woocommerce-mini-cart {
    flex: 1 1 auto !important;

    min-height: 0 !important;
    max-height: none !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    overscroll-behavior: contain !important;
  }

  /* Górny blok koszyka nie kurczy się */
  body.page-id-2237
  .viviliv-cart-fixed
  .viviliv-cart-delivery-choice,

  body.page-id-2689
  .viviliv-cart-fixed
  .viviliv-cart-delivery-choice {
    flex: 0 0 auto !important;
  }

  /* Kwota, przycisk i notatka zawsze widoczne */
  body.page-id-2237
  .viviliv-cart-fixed
  .woocommerce-mini-cart__total,

  body.page-id-2689
  .viviliv-cart-fixed
  .woocommerce-mini-cart__total,

  body.page-id-2237
  .viviliv-cart-fixed
  .woocommerce-mini-cart__buttons,

  body.page-id-2689
  .viviliv-cart-fixed
  .woocommerce-mini-cart__buttons,

  body.page-id-2237
  .viviliv-cart-fixed
  .viviliv-cart-note,

  body.page-id-2689
  .viviliv-cart-fixed
  .viviliv-cart-note {
    flex: 0 0 auto !important;
  }

  /* Pusty koszyk */
  body.page-id-2237
  .viviliv-cart-fixed
  .woocommerce-mini-cart__empty-message,

  body.page-id-2689
  .viviliv-cart-fixed
  .woocommerce-mini-cart__empty-message {
    display: flex !important;
    flex: 1 1 auto !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 24px 18px !important;

    text-align: center !important;
  }
}

/* VBO style 4: wpcode-css-snippet */
/* ==================================================
   VIVILIV — PULPIT: DOLNE KARTY MODUŁÓW
   Wspólny styl premium z kartami KPI
   ================================================== */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small) {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 94px !important;

    margin: 0 !important;
    padding: 17px 58px 29px 18px !important;

    border: 1px solid rgba(216, 178, 74, 0.30) !important;
    border-radius: 14px !important;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(243, 215, 122, 0.11),
            transparent 44%
        ),
        linear-gradient(
            145deg,
            #123d25 0%,
            #071b10 58%,
            #031008 100%
        ) !important;

    box-shadow:
        inset 0 2px 0 rgba(243, 215, 122, 0.38),
        0 8px 20px rgba(0, 0, 0, 0.14) !important;

    color: #f7f4ea !important;
    text-decoration: none !important;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease !important;
}


/* Złoty okrąg ze strzałką */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)::before {
    content: "↗" !important;

    position: absolute !important;
    top: 15px !important;
    right: 15px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 31px !important;
    height: 31px !important;

    border: 1px solid rgba(216, 178, 74, 0.40) !important;
    border-radius: 50% !important;

    background: rgba(216, 178, 74, 0.11) !important;
    color: #f3d77a !important;

    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    transition:
        transform 0.18s ease,
        background 0.18s ease !important;
}


/* Napis w prawym dolnym rogu */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)::after {
    content: "Otwórz →" !important;

    position: absolute !important;
    right: 15px !important;
    bottom: 11px !important;

    color: rgba(243, 215, 122, 0.82) !important;

    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;

    opacity: 0.55 !important;
    transition: opacity 0.18s ease !important;
}


/* Tytuł modułu */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)
> strong,

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)
> h2,

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)
> h3 {
    display: block !important;

    margin: 0 0 7px !important;

    color: #f3d77a !important;

    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}


/* Opis modułu */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small)
> small {
    display: block !important;

    margin: 0 !important;

    color: rgba(247, 244, 234, 0.70) !important;
    opacity: 1 !important;

    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}


/* Hover */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small):hover {
    transform: translateY(-3px) !important;

    border-color: rgba(243, 215, 122, 0.72) !important;

    box-shadow:
        inset 0 2px 0 rgba(243, 215, 122, 0.70),
        0 15px 30px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(216, 178, 74, 0.10) !important;

    filter: brightness(1.035) !important;
}

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small):hover::before {
    transform: translate(2px, -2px) !important;
    background: rgba(216, 178, 74, 0.19) !important;
}

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small):hover::after {
    opacity: 1 !important;
}


/* Kliknięcie */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small):active {
    transform: translateY(-1px) scale(0.993) !important;
}


/* Klawiatura */

body.viviliv-staff-panel-page
.viviliv-portal-dashboard
a[href*="viviliv_module="]:has(small):focus-visible {
    outline: 3px solid rgba(243, 215, 122, 0.42) !important;
    outline-offset: 3px !important;
}


/* Telefon */

@media (max-width: 620px) {

    body.viviliv-staff-panel-page
    .viviliv-portal-dashboard
    a[href*="viviliv_module="]:has(small) {
        min-height: 88px !important;
        padding: 15px 54px 27px 16px !important;
    }
}

/* VBO style 5: wpcode-css-snippet */
/* ==================================================
   VIVILIV — PULPIT: 4 KARTY KPI
   Naprawa niewidocznych wartości ON / liczników
   ================================================== */

body.viviliv-staff-panel-page .viviliv-portal-kpi span {
    color: #f3d77a !important;
    opacity: 1 !important;
}

body.viviliv-staff-panel-page .viviliv-portal-kpi strong {
    display: block !important;
    margin: 7px 0 5px !important;

    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;

    font-size: 27px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

body.viviliv-staff-panel-page .viviliv-portal-kpi small {
    color: rgba(247, 244, 234, 0.72) !important;
    opacity: 1 !important;
}

/* VBO style 6: wpcode-css-snippet */
/* ==================================================
   VIVILIV — МАЛІ КАРТКИ ТА МІНІКОШИК
   ================================================== */


/* Приховуємо напис способу подачі
   тільки в малих картках каталогу */

.woocommerce ul.products li.product
.viviliv-product-serving-badge,
.woocommerce-page ul.products li.product
.viviliv-product-serving-badge {
  display: none !important;
}


/* Приховуємо тільки конкретні рядки
   Sposób podania та Alergeny у мінікошику */

.viviliv-live-cart-aside
.woocommerce-mini-cart-item
dl.variation
> dt.variation-Sposbpodania,

.viviliv-live-cart-aside
.woocommerce-mini-cart-item
dl.variation
> dd.variation-Sposbpodania,

.viviliv-live-cart-aside
.woocommerce-mini-cart-item
dl.variation
> dt.variation-Alergeny,

.viviliv-live-cart-aside
.woocommerce-mini-cart-item
dl.variation
> dd.variation-Alergeny {
  display: none !important;
}


/* Залишаємо контейнер variation у структурі,
   але прибираємо порожній проміжок */

.viviliv-live-cart-aside
.woocommerce-mini-cart-item
dl.variation {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

/* VBO style 7: wpcode-css-snippet */
/* ==================================================
   VIVILIV — HEADER CART COUNT — FINAL
   ================================================== */

/* Кнопка кошика є опорною точкою для лічильника */
html body
.viviliv-global-topbar
.viviliv-header-cart-icon {
  position: relative !important;
  overflow: visible !important;
}

/* За замовчуванням лічильник прихований */
html body
.viviliv-global-topbar
.viviliv-header-cart-icon
.viviliv-header-cart-count {
  position: absolute !important;

  top: -5px !important;
  right: -5px !important;
  bottom: auto !important;
  left: auto !important;

  z-index: 30 !important;

  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;

  display: none !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  border-radius: 999px !important;
  box-sizing: border-box !important;

  transform: none !important;
  pointer-events: none !important;
}

/* Показуємо тільки тоді, коли у кошику є товари */
html body
.viviliv-global-topbar
.viviliv-header-cart-icon
.viviliv-header-cart-count.is-visible {
  display: inline-flex !important;
}

/* Додатковий захист: без is-visible цифри немає */
html body
.viviliv-global-topbar
.viviliv-header-cart-icon
.viviliv-header-cart-count:not(.is-visible) {
  display: none !important;
}

/* VBO style 8: wpcode-css-snippet */
/* ==================================================
   MENU DNIA — MOBILE TOPBAR — TITLE FIX
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2689 .viviliv-global-topbar__inner {
    grid-template-columns: 104px minmax(0, 1fr) auto !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.page-id-2689 .viviliv-global-topbar__logo img {
    width: 104px !important;
    height: auto !important;
    max-width: 104px !important;
  }

  body.page-id-2689 .viviliv-global-topbar__title {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 4px !important;

    color: #f7f4ea !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-id-2689 .viviliv-global-topbar__actions {
    gap: 6px !important;
  }

  body.page-id-2689 .viviliv-header-cart-icon,
  body.page-id-2689 .viviliv-global-topbar__toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* ==================================================
   MENU DNIA — MOBILE — PODNIESIENIE PRODUKTÓW
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2689 .viviliv-menu-category-count {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.page-id-2689 .viviliv-premium-order-layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.page-id-2689 .viviliv-products-area {
    position: relative !important;
    top: -66px !important;
    margin-bottom: -66px !important;
  }
}
/* ==================================================
   MENU — MOBILE — CENNIK I LICZBA W JEDNYM WIERSZU
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237 div.viviliv-menu-category-count,
  body.page-id-2689 div.viviliv-menu-category-count {
    display: grid !important;
    grid-template-columns: max-content 1fr max-content !important;
    grid-template-rows: auto !important;
    align-items: center !important;

    width: 100% !important;
    gap: 8px !important;

    margin: 8px 0 10px !important;
    padding: 0 !important;
  }

  body.page-id-2237
  .viviliv-menu-category-count
  > .viviliv-price-list-download,
  body.page-id-2689
  .viviliv-menu-category-count
  > .viviliv-price-list-download {
    grid-column: 1 !important;
    grid-row: 1 !important;

    margin: 0 !important;
    justify-self: start !important;
  }

  body.page-id-2237
  .viviliv-menu-category-count
  > .viviliv-menu-category-count__title,
  body.page-id-2689
  .viviliv-menu-category-count
  > .viviliv-menu-category-count__title {
    display: none !important;
  }

  body.page-id-2237
  .viviliv-menu-category-count
  > .viviliv-menu-category-count__number,
  body.page-id-2689
  .viviliv-menu-category-count
  > .viviliv-menu-category-count__number {
    grid-column: 3 !important;
    grid-row: 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}
/* ==================================================
   MENU — MOBILE — HORIZONTALNE KATEGORIE
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237 .viviliv-menu-tabs,
  body.page-id-2689 .viviliv-menu-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    width: 100% !important;
    gap: 8px !important;

    margin: 8px 0 10px !important;
    padding: 0 0 8px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth !important;
    scroll-snap-type: x proximity !important;

    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.page-id-2237 .viviliv-menu-tabs::-webkit-scrollbar,
  body.page-id-2689 .viviliv-menu-tabs::-webkit-scrollbar {
    display: none !important;
  }

  /* Прибираємо перенос рядка з HTML */
  body.page-id-2237 .viviliv-menu-tabs > br,
  body.page-id-2689 .viviliv-menu-tabs > br {
    display: none !important;
  }

  body.page-id-2237 .viviliv-menu-tab,
  body.page-id-2689 .viviliv-menu-tab {
    flex: 0 0 auto !important;

    min-width: max-content !important;
    width: auto !important;

    margin: 0 !important;
    padding: 9px 14px !important;

    border-radius: 999px !important;

    white-space: nowrap !important;
    scroll-snap-align: start !important;
  }

  body.page-id-2237 .viviliv-menu-tab.active,
  body.page-id-2689 .viviliv-menu-tab.active {
    background: linear-gradient(
      135deg,
      #f3d77a,
      #d8b24a
    ) !important;

    color: #06150d !important;
  }
}
/* ==================================================
   MENU — MOBILE — KATEGORIE W JEDNYM WIERSZU FINAL
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237
  .viviliv-menu-sticky-group
  > .viviliv-menu-tabs,

  body.page-id-2689
  .viviliv-menu-sticky-group
  > .viviliv-menu-tabs {
    display: flex !important;
    flex-flow: row nowrap !important;
    flex-wrap: nowrap !important;

    justify-content: flex-start !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 8px !important;
    margin: 6px 0 8px !important;
    padding: 0 0 7px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.page-id-2237
  .viviliv-menu-sticky-group
  > .viviliv-menu-tabs::-webkit-scrollbar,

  body.page-id-2689
  .viviliv-menu-sticky-group
  > .viviliv-menu-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body.page-id-2237 .viviliv-menu-tabs > br,
  body.page-id-2689 .viviliv-menu-tabs > br {
    display: none !important;
  }

  body.page-id-2237 .viviliv-menu-tabs > .viviliv-menu-tab,
  body.page-id-2689 .viviliv-menu-tabs > .viviliv-menu-tab {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: max-content !important;

    margin: 0 !important;
    padding: 8px 13px !important;

    white-space: nowrap !important;
    scroll-snap-align: start !important;
  }
}
/* ==================================================
   MENU — MOBILE — STICKY SEARCH + CATEGORIES
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237 .viviliv-menu-sticky-group,
  body.page-id-2689 .viviliv-menu-sticky-group {
    position: sticky !important;
    top: 0px !important;
    z-index: 9995 !important;

    width: 100vw !important;
max-width: 100vw !important;

margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;

padding: 8px 10px 6px !important;
box-sizing: border-box !important;

    background: rgba(6, 21, 13, .98) !important;

    border-bottom: 1px solid rgba(216, 178, 74, .22) !important;

    box-shadow:
      0 10px 20px rgba(0, 0, 0, .24),
      inset 0 1px 0 rgba(255, 255, 255, .025) !important;

    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  /* Пошук всередині sticky-блоку */
  body.page-id-2237 .viviliv-menu-search,
  body.page-id-2689 .viviliv-menu-search {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  /* Категорії ближче до пошуку */
  body.page-id-2237 .viviliv-menu-tabs,
  body.page-id-2689 .viviliv-menu-tabs {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  /* Рядок Pobierz cennik + кількість */
  body.page-id-2237 .viviliv-menu-category-count,
  body.page-id-2689 .viviliv-menu-category-count {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
  }
}
/* ==================================================
   MENU — MOBILE — STICKY CLEAN
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237 .viviliv-menu-sticky-group,
  body.page-id-2689 .viviliv-menu-sticky-group {
    border: 0 !important;
    border-bottom: 0 !important;

    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    outline: 0 !important;
    filter: none !important;
  }

  body.page-id-2237 .viviliv-menu-sticky-group:focus,
  body.page-id-2237 .viviliv-menu-sticky-group:focus-visible,
  body.page-id-2237 .viviliv-menu-sticky-group:focus-within,
  body.page-id-2689 .viviliv-menu-sticky-group:focus,
  body.page-id-2689 .viviliv-menu-sticky-group:focus-visible,
  body.page-id-2689 .viviliv-menu-sticky-group:focus-within {
    outline: 0 !important;
    box-shadow: none !important;
  }
}
@media (max-width: 767px) {
  body.page-id-2237 .viviliv-menu-sticky-group,
  body.page-id-2689 .viviliv-menu-sticky-group {
    background: #06150d !important;
  }
}
/* ==================================================
   PEŁNE MENU — MOBILE TOPBAR — TITLE FIX
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2237 .viviliv-global-topbar__inner {
    grid-template-columns: 104px minmax(0, 1fr) auto !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.page-id-2237 .viviliv-global-topbar__logo img {
    width: 104px !important;
    height: auto !important;
    max-width: 104px !important;
  }

  body.page-id-2237 .viviliv-global-topbar__title {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 4px !important;

    color: #f7f4ea !important;

    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-id-2237 .viviliv-global-topbar__actions {
    gap: 6px !important;
  }

  body.page-id-2237 .viviliv-header-cart-icon,
  body.page-id-2237 .viviliv-global-topbar__toggle {
    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* ==================================================
   KONTAKT — MOBILE TOPBAR — TITLE FIX
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2845 .viviliv-global-topbar__inner {
    grid-template-columns: 104px minmax(0, 1fr) auto !important;
    gap: 6px !important;

    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.page-id-2845 .viviliv-global-topbar__logo img {
    width: 104px !important;
    height: auto !important;
    max-width: 104px !important;
  }

  body.page-id-2845 .viviliv-global-topbar__title {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 4px !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: nowrap !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-id-2845 .viviliv-header-cart-icon,
  body.page-id-2845 .viviliv-global-topbar__toggle {
    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* ==================================================
   POLITYKA PRYWATNOŚCI — MOBILE TOPBAR — CLEAN FINAL
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2935 .viviliv-global-topbar__inner {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    gap: 5px !important;

    min-height: 56px !important;
    padding: 7px 8px !important;
  }

  /* Logo */
  body.page-id-2935 .viviliv-global-topbar__logo {
    position: static !important;
    width: 104px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-2935 .viviliv-global-topbar__logo img {
    display: block !important;
    width: 104px !important;
    max-width: 104px !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* Tytuł */
  body.page-id-2935 .viviliv-global-topbar__title {
    position: static !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Koszyk + burger */
  body.page-id-2935 .viviliv-global-topbar__actions {
    position: static !important;

    width: 86px !important;
    min-width: 86px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-2935 .viviliv-header-cart-icon,
  body.page-id-2935 .viviliv-global-topbar__toggle {
    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* ==================================================
   POLITYKA COOKIES — MOBILE TOPBAR — CLEAN FINAL
   ================================================== */

@media (max-width: 767px) {

  body.page-id-2941 .viviliv-global-topbar__inner {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) 86px !important;
    align-items: center !important;
    gap: 5px !important;

    min-height: 56px !important;
    padding: 7px 8px !important;
  }

  body.page-id-2941 .viviliv-global-topbar__logo {
    position: static !important;
    width: 104px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-2941 .viviliv-global-topbar__logo img {
    display: block !important;
    width: 104px !important;
    max-width: 104px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-2941 .viviliv-global-topbar__title {
    position: static !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.page-id-2941 .viviliv-global-topbar__actions {
    position: static !important;

    width: 86px !important;
    min-width: 86px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-id-2941 .viviliv-header-cart-icon,
  body.page-id-2941 .viviliv-global-topbar__toggle {
    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}
/* VIVILIV — mobile header actions fix on cart page */
@media (max-width: 767px) {
  body.woocommerce-cart .viviliv-global-topbar__actions {
    transform: translateX(8px) !important;
    gap: 6px !important;
  }

  body.woocommerce-cart .viviliv-header-cart-icon,
  body.woocommerce-cart .viviliv-global-topbar__toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }
}
@media (max-width: 767px) {
  body.woocommerce-cart .viviliv-global-topbar__title {
    margin-left: 10px !important;
  }
}
@media (max-width: 767px) {
  body.woocommerce-cart
  .viviliv-header-cart-icon
  .viviliv-header-cart-count {
    top: -3px !important;
    right: 42px !important;
    bottom: auto !important;
    left: auto !important;
  }
}
@media (max-width: 767px) {
  body.woocommerce-checkout .viviliv-global-topbar__title {
    max-width: 104px !important;
    margin-left: 30px !important;

    font-size: 13px !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
@media (max-width: 767px) {
  body.woocommerce-checkout
  .viviliv-global-topbar__actions {
    transform: translateX(8px) !important;
  }
}
/* ==================================================
   VIVILIV — MOBILE HEADER FINAL
   jeden układ dla wszystkich stron
   ================================================== */

@media (max-width: 767px) {

  .viviliv-global-topbar__inner {
    position: relative !important;

    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 8px !important;

    width: 100% !important;
    min-height: 56px !important;

    padding: 0 14px !important;
    box-sizing: border-box !important;
  }

  /* LOGO */
  .viviliv-global-topbar__logo {
    position: relative !important;
    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;

    min-width: 0 !important;
    margin: 0 !important;
  }

  .viviliv-global-topbar__logo img {
    display: block !important;

    width: auto !important;
    max-width: 118px !important;
    height: 34px !important;

    margin: 0 !important;
  }

  /* NAZWA STRONY */
  .viviliv-global-topbar__title {
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 4px !important;

    text-align: center !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    justify-self: stretch !important;
  }

  /* KOSZYK + BURGER */
  .viviliv-global-topbar__actions {
    position: relative !important;
    z-index: 3 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    min-width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 6px !important;

    transform: none !important;
  }

  .viviliv-header-cart-icon,
  .viviliv-global-topbar__toggle {
    position: relative !important;

    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
  }

  .viviliv-header-cart-icon svg {
    width: 20px !important;
    height: 20px !important;

    display: block !important;
    margin: 0 !important;
  }

  /* CYFRA KOSZYKA */
  .viviliv-header-cart-count {
    position: absolute !important;

    top: 3px !important;
    right: 3px !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    min-width: 17px !important;
    height: 17px !important;
    padding: 0 4px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    border-radius: 999px !important;
    box-sizing: border-box !important;

    z-index: 10 !important;
  }
}
/* Główna — pozycja licznika koszyka */
@media (max-width: 767px) {
  body.home
  .viviliv-header-cart-icon
  .viviliv-header-cart-count {
    position: absolute !important;
    top: -4px !important;
    right: 43px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}
/* Zamówienie — pozycja licznika koszyka */
@media (max-width: 767px) {
  body.woocommerce-checkout
  .viviliv-header-cart-icon
  .viviliv-header-cart-count {
    position: absolute !important;
    top: -4px !important;
    right: 43px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}
/* Zamówienie — większy tytuł w nagłówku */
@media (max-width: 767px) {
  body.woocommerce-checkout
  .viviliv-global-topbar__title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }
}
/* Koszyk — wyśrodkowana nazwa w nagłówku */
@media (max-width: 767px) {
  body.woocommerce-cart
  .viviliv-global-topbar__title {
    position: absolute !important;
    left: 60% !important;
    top: 50% !important;

    transform: translate(-50%, -50%) !important;

    width: auto !important;
    max-width: 110px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;

    text-align: center !important;
    white-space: nowrap !important;

    z-index: 2 !important;
  }
}