/* =========================================================
 * VIVILIV 0.6.1.8 — PUSTY KOSZYK PRO
 * Jedna, własna sekcja bez domyślnych rekomendacji WooCommerce.
 * ========================================================= */

body.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-cart:has(.viviliv-empty-cart-pro-shell) {
  width: min(920px, calc(100% - 64px)) !important;
  max-width: 920px !important;
  margin: 42px auto 64px !important;
  padding: 0 !important;

  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;

  color: #f7f4ea !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block.viviliv-empty-cart-pro-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  display: block !important;

  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro {
  position: relative !important;
  isolation: isolate !important;

  width: 100% !important;
  min-height: 438px !important;
  margin: 0 !important;
  padding: 50px 54px 44px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;
  box-sizing: border-box !important;

  color: #f7f4ea !important;
  text-align: center !important;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif !important;

  background:
    radial-gradient(
      circle at 50% -12%,
      rgba(216, 178, 74, .22),
      rgba(216, 178, 74, .05) 30%,
      transparent 56%
    ),
    radial-gradient(
      circle at 12% 100%,
      rgba(26, 63, 38, .46),
      transparent 42%
    ),
    linear-gradient(
      145deg,
      #0d321f 0%,
      #092619 46%,
      #05170e 100%
    ) !important;

  border: 1px solid rgba(216, 178, 74, .48) !important;
  border-radius: 30px !important;

  box-shadow:
    0 28px 70px rgba(0, 0, 0, .38),
    inset 0 1px 0 rgba(255, 255, 255, .055),
    inset 0 -1px 0 rgba(0, 0, 0, .22) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 64px !important;
  right: 64px !important;
  z-index: -1 !important;

  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(243, 215, 122, .84),
    transparent
  ) !important;
  pointer-events: none !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro::after {
  content: "" !important;
  position: absolute !important;
  inset: 16px !important;
  z-index: -2 !important;

  border: 1px solid rgba(216, 178, 74, .10) !important;
  border-radius: 23px !important;
  pointer-events: none !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__halo {
  position: absolute !important;
  top: -145px !important;
  left: 50% !important;
  z-index: -3 !important;

  width: 390px !important;
  height: 290px !important;
  border-radius: 50% !important;
  transform: translateX(-50%) !important;

  background: rgba(216, 178, 74, .12) !important;
  filter: blur(64px) !important;
  pointer-events: none !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__icon {
  width: 76px !important;
  height: 76px !important;
  margin: 0 0 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #f3d77a !important;
  background:
    linear-gradient(
      145deg,
      rgba(243, 215, 122, .16),
      rgba(216, 178, 74, .045)
    ) !important;

  border: 1px solid rgba(243, 215, 122, .52) !important;
  border-radius: 50% !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__icon svg {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.1 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__eyebrow {
  margin: 0 0 8px !important;
  color: #f3d77a !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro h2 {
  max-width: 700px !important;
  margin: 0 !important;

  color: #fffdf5 !important;
  font-size: clamp(29px, 3vw, 40px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
  text-wrap: balance !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__lead {
  max-width: 640px !important;
  margin: 14px 0 0 !important;

  color: rgba(247, 244, 234, .76) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  text-align: center !important;
  text-wrap: balance !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__actions {
  width: min(680px, 100%) !important;
  margin: 30px auto 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button {
  position: relative !important;
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 14px 48px 14px 16px !important;

  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 13px !important;

  border-radius: 17px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  text-decoration: none !important;

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    filter .18s ease !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button.is-primary {
  color: #06150d !important;
  background: linear-gradient(135deg, #f6dd87 0%, #d8b24a 100%) !important;
  border: 1px solid rgba(255, 235, 166, .92) !important;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, .26),
    inset 0 1px 0 rgba(255, 255, 255, .48) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button.is-secondary {
  color: #f7f4ea !important;
  background:
    linear-gradient(
      145deg,
      rgba(26, 63, 38, .76),
      rgba(6, 21, 13, .88)
    ) !important;
  border: 1px solid rgba(216, 178, 74, .48) !important;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button:hover,
body.woocommerce-cart .viviliv-empty-cart-pro__button:focus-visible {
  transform: translateY(-2px) !important;
  outline: none !important;
  filter: brightness(1.035) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button.is-primary:hover,
body.woocommerce-cart .viviliv-empty-cart-pro__button.is-primary:focus-visible {
  box-shadow:
    0 18px 36px rgba(0, 0, 0, .31),
    0 0 0 3px rgba(243, 215, 122, .12),
    inset 0 1px 0 rgba(255, 255, 255, .48) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button.is-secondary:hover,
body.woocommerce-cart .viviliv-empty-cart-pro__button.is-secondary:focus-visible {
  border-color: rgba(243, 215, 122, .76) !important;
  box-shadow:
    0 18px 36px rgba(0, 0, 0, .28),
    0 0 0 3px rgba(216, 178, 74, .08),
    inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button-icon {
  width: 46px !important;
  height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 13px !important;
}

body.woocommerce-cart .is-primary .viviliv-empty-cart-pro__button-icon {
  color: #06150d !important;
  background: rgba(6, 21, 13, .10) !important;
  border: 1px solid rgba(6, 21, 13, .12) !important;
}

body.woocommerce-cart .is-secondary .viviliv-empty-cart-pro__button-icon {
  color: #f3d77a !important;
  background: rgba(216, 178, 74, .07) !important;
  border: 1px solid rgba(216, 178, 74, .28) !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button-icon svg {
  width: 25px !important;
  height: 25px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button-copy strong {
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__button-copy small {
  color: inherit !important;
  opacity: .72 !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__arrow {
  position: absolute !important;
  top: 50% !important;
  right: 17px !important;
  transform: translateY(-50%) !important;

  color: inherit !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  opacity: .72 !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__note {
  margin: 22px 0 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  color: rgba(247, 244, 234, .57) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

body.woocommerce-cart .viviliv-empty-cart-pro__note span {
  color: #d8b24a !important;
  font-size: 8px !important;
  line-height: 1 !important;
}

@media (max-width: 900px) {
  body.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart:has(.viviliv-empty-cart-pro-shell) {
    width: calc(100% - 28px) !important;
    margin: 24px auto 38px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro {
    min-height: 410px !important;
    padding: 42px 30px 38px !important;
    border-radius: 24px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro::after {
    inset: 12px !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 640px) {
  body.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart:has(.viviliv-empty-cart-pro-shell) {
    width: calc(100% - 16px) !important;
    margin: 14px auto 28px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro {
    min-height: 0 !important;
    padding: 34px 18px 28px !important;
    border-radius: 20px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro::before {
    left: 34px !important;
    right: 34px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro::after {
    display: none !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__icon {
    width: 66px !important;
    height: 66px !important;
    margin-bottom: 15px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__icon svg {
    width: 36px !important;
    height: 36px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro h2 {
    font-size: 27px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__lead {
    max-width: 440px !important;
    margin-top: 12px !important;
    font-size: 12.5px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__actions {
    grid-template-columns: 1fr !important;
    margin-top: 24px !important;
    gap: 10px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__button {
    min-height: 72px !important;
    padding: 11px 44px 11px 12px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 11px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__button-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__button-copy strong {
    font-size: 14px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__button-copy small {
    font-size: 10px !important;
  }

  body.woocommerce-cart .viviliv-empty-cart-pro__note {
    margin-top: 18px !important;
    font-size: 9.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .viviliv-empty-cart-pro__button {
    transition: none !important;
  }
}

/* =========================================================
 * VIVILIV 0.6.1.19 — PUSTY KOSZYK: ODPORNOŚĆ NA KOMUNIKATY
 *
 * Stary CSS strony koszyka ustawia .entry-content jako flex.
 * Gdy WooCommerce dodaje komunikat (np. usunięty produkt), komunikat i blok
 * koszyka stają się osobnymi elementami flex i pusty koszyk zostaje ściśnięty
 * do wąskiej kolumny. W pustym koszyku wymuszamy zwykły układ blokowy.
 * ========================================================= */
html body.woocommerce-cart.viviliv-empty-cart-pro-page #primary,
html body.woocommerce-cart.viviliv-empty-cart-pro-page #main,
html body.woocommerce-cart.viviliv-empty-cart-pro-page article,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .inside-article,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .entry-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart.viviliv-empty-cart-pro-page .entry-content {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  justify-content: initial !important;
}

html body.woocommerce-cart.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart {
  display: block !important;
  flex: none !important;
  float: none !important;
  clear: both !important;

  width: min(920px, calc(100vw - 64px)) !important;
  max-width: 920px !important;
  min-width: 0 !important;
  margin: 42px auto 64px !important;
  box-sizing: border-box !important;
}

/* Komunikaty WooCommerce nie mogą zabierać szerokości blokowi pustego koszyka. */
html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-notices-wrapper,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .wc-block-components-notices,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-error,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-message,
html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-info {
  display: block !important;
  float: none !important;
  clear: both !important;
  flex: none !important;

  width: min(920px, calc(100vw - 64px)) !important;
  max-width: 920px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-notices-wrapper:empty {
  display: none !important;
}

@media (max-width: 767px) {
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart,
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-notices-wrapper,
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .wc-block-components-notices,
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-error,
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-message,
  html body.woocommerce-cart.viviliv-empty-cart-pro-page .woocommerce-info {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
  }

  html body.woocommerce-cart.viviliv-empty-cart-pro-page .wp-block-woocommerce-cart {
    margin-top: 14px !important;
    margin-bottom: 28px !important;
  }
}
