/* ==================================================
   VIVILIV — KOREKTA WAGI I PŁATNOŚĆ KLIENTA
   ================================================== */

.viviliv-weight-gateway-label {
  color: #f7f4ea;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
  font-weight: 700;
}

.viviliv-weight-gateway-description {
  margin-top: 8px;
  color: rgba(247, 244, 234, .78);
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

.viviliv-weight-thankyou {
  margin: 24px 0;
  padding: 20px 22px;
  color: #f7f4ea;
  background: linear-gradient(180deg, rgba(18, 55, 34, .98), rgba(6, 21, 13, .98));
  border: 1px solid rgba(216, 178, 74, .45);
  border-radius: 18px;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
}

.viviliv-weight-thankyou strong {
  color: #f3d77a;
  font-size: 17px;
}

.viviliv-weight-thankyou p {
  margin: 8px 0 0;
  color: rgba(247, 244, 234, .82);
  line-height: 1.55;
}

body:has(.viviliv-weight-confirmation-page),
body:has(.viviliv-weight-confirmation-page) #page,
body:has(.viviliv-weight-confirmation-page) #content,
body:has(.viviliv-weight-confirmation-page) .site-content,
body:has(.viviliv-weight-confirmation-page) .inside-article,
body:has(.viviliv-weight-confirmation-page) .entry-content {
  background: #06150d !important;
}

body:has(.viviliv-weight-confirmation-page) .entry-header,
body:has(.viviliv-weight-confirmation-page) #right-sidebar {
  display: none !important;
}

body:has(.viviliv-weight-confirmation-page) .inside-article,
body:has(.viviliv-weight-confirmation-page) .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.viviliv-weight-confirmation-page {
  width: min(860px, calc(100% - 32px));
  margin: 42px auto 64px;
  padding: clamp(28px, 3.5vw, 38px);
  color: #f7f4ea;
  background:
    radial-gradient(circle at 16% 0%, rgba(216, 178, 74, .10), transparent 34%),
    linear-gradient(180deg, #0b2819 0%, #06150d 100%);
  border: 1px solid rgba(216, 178, 74, .42);
  border-radius: 26px;
  box-shadow: 0 24px 56px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .045);
  box-sizing: border-box;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif;
}

.viviliv-weight-confirmation-page__head > span {
  color: #d8b24a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.viviliv-weight-confirmation-page__head h1 {
  margin: 8px 0 6px;
  color: #fffdf6;
  font-size: clamp(27px, 4vw, 38px);
  line-height: 1.08;
}

.viviliv-weight-confirmation-page__head p {
  margin: 0;
  color: rgba(247, 244, 234, .66);
}

.viviliv-weight-confirmation-page__items {
  margin-top: 28px;
  padding-top: 8px;
  border-top: 1px solid rgba(216, 178, 74, .24);
}

.viviliv-weight-confirmation-page__items article {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 72px;
  margin: 0;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(216, 178, 74, .14);
  border-radius: 12px;
  box-sizing: border-box;
}

.viviliv-weight-confirmation-page__items article.no-product-image {
  grid-template-columns: minmax(0, 1fr) auto;
}

.viviliv-weight-confirmation-page__items article > div {
  min-width: 0;
}

.viviliv-weight-confirmation-page__thumb {
  width: 64px;
  height: 64px;
  overflow: hidden;
  border: 1px solid rgba(216, 178, 74, .34);
  border-radius: 13px;
  background: rgba(255, 255, 255, .025);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.viviliv-weight-confirmation-page__product-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
}

.viviliv-weight-confirmation-page__item-copy {
  padding: 2px 0;
}

.viviliv-weight-confirmation-page__items strong {
  color: #fffdf6;
}

.viviliv-weight-confirmation-page__item-copy > strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
}

.viviliv-weight-confirmation-page__item-amount {
  justify-self: end;
  padding-left: 12px;
  font-size: 15px;
  white-space: nowrap;
}

.viviliv-weight-confirmation-page__items small {
  display: block;
  margin-top: 5px;
  color: rgba(247, 244, 234, .70);
  line-height: 1.45;
}

.viviliv-weight-confirmation-page__items small b {
  color: #f3d77a;
}

.viviliv-weight-confirmation-page__total {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 22px;
  padding: 20px 22px;
  background:
    radial-gradient(circle at 100% 50%, rgba(243, 215, 122, .12), transparent 42%),
    linear-gradient(135deg, rgba(216, 178, 74, .11), rgba(26, 63, 38, .30));
  border: 1px solid rgba(243, 215, 122, .52);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .055);
}

.viviliv-weight-confirmation-page__total span {
  color: #fffdf6;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.viviliv-weight-confirmation-page__total strong {
  color: #f3d77a;
  font-size: clamp(24px, 3.3vw, 30px);
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
  text-shadow: 0 2px 14px rgba(216, 178, 74, .16);
}

.viviliv-weight-confirmation-page__form,
.viviliv-weight-confirmation-page__confirmed {
  margin-top: 24px;
}

.viviliv-weight-confirmation-page__form,
.viviliv-weight-confirmation-page__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
  align-items: stretch;
}

.viviliv-weight-confirmation-page__cancel-form {
  margin: 0;
}

.viviliv-weight-confirmation-page__pay,
.viviliv-weight-confirmation-page__cancel,
.viviliv-weight-confirmation-page__confirmed .button,
.viviliv-weight-confirmation-page__back {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 14px !important;
  font: 800 14px/1.2 "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif !important;
  text-decoration: none !important;
  box-sizing: border-box;
  cursor: pointer;
}

.viviliv-weight-confirmation-page__pay,
.viviliv-weight-confirmation-page__confirmed .viviliv-weight-confirmation-page__pay,
.viviliv-weight-confirmation-page__back {
  color: #06150d !important;
  background: linear-gradient(135deg, #f3d77a, #d8b24a) !important;
  border: 1px solid rgba(243, 215, 122, .82) !important;
}

.viviliv-weight-confirmation-page__cancel {
  color: #ffcbc4 !important;
  background: rgba(112, 31, 31, .18) !important;
  border: 1px solid rgba(224, 92, 79, .58) !important;
  box-shadow: none !important;
}

.viviliv-weight-confirmation-page__cancel:hover,
.viviliv-weight-confirmation-page__cancel:focus {
  color: #fff3f0 !important;
  background: rgba(144, 38, 38, .28) !important;
  border-color: rgba(239, 120, 106, .82) !important;
}

.viviliv-weight-confirmation-page__cancelled {
  margin-top: 24px;
  padding: 20px 22px;
  color: #f7f4ea;
  background: rgba(112, 31, 31, .12);
  border: 1px solid rgba(224, 92, 79, .38);
  border-radius: 16px;
}

.viviliv-weight-confirmation-page__cancelled strong {
  color: #ffcbc4;
  font-size: 17px;
}

.viviliv-weight-confirmation-page__cancelled p {
  margin: 8px 0 0;
  color: rgba(247, 244, 234, .78);
  line-height: 1.55;
}

.viviliv-weight-confirmation-page__back {
  margin-top: 18px;
}

.viviliv-weight-confirmation-page.is-error {
  text-align: center;
}

.viviliv-weight-confirmation-page.is-error h1 {
  color: #f3d77a;
}

@media (max-width: 820px) {
  .viviliv-weight-confirmation-page {
    width: calc(100% - 24px);
    margin: 24px auto 44px;
    padding: 26px 24px;
    border-radius: 22px;
  }

  .viviliv-weight-confirmation-page__items article {
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 11px 12px;
  }

  .viviliv-weight-confirmation-page__items article.no-product-image,
  .viviliv-weight-confirmation-page__items article.is-shipping {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .viviliv-weight-confirmation-page__thumb {
    width: 58px;
    height: 58px;
    border-radius: 12px;
  }
}

@media (max-width: 600px) {
  .viviliv-weight-confirmation-page {
    width: calc(100% - 12px);
    margin: 10px auto 30px;
    padding: 20px 16px;
    border-radius: 18px;
  }

  .viviliv-weight-confirmation-page__head h1 {
    font-size: clamp(25px, 8vw, 32px);
  }

  .viviliv-weight-confirmation-page__items {
    margin-top: 22px;
  }

  .viviliv-weight-confirmation-page__items article {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px 11px;
    min-height: 64px;
    padding: 10px 8px;
  }

  .viviliv-weight-confirmation-page__items article.no-product-image,
  .viviliv-weight-confirmation-page__items article.is-shipping {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .viviliv-weight-confirmation-page__thumb {
    width: 52px;
    height: 52px;
    border-radius: 11px;
  }

  .viviliv-weight-confirmation-page__item-copy > strong {
    font-size: 15px;
  }

  .viviliv-weight-confirmation-page__item-amount {
    grid-column: 2;
    justify-self: end;
    padding-left: 0;
    margin-top: -2px;
    font-size: 14px;
  }

  .viviliv-weight-confirmation-page__items article.is-shipping {
    padding: 14px 13px;
  }

  .viviliv-weight-confirmation-page__items article.is-shipping > strong {
    align-self: start;
    font-size: 15px;
  }

  .viviliv-weight-confirmation-page__total {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 17px 16px;
  }

  .viviliv-weight-confirmation-page__total strong {
    justify-self: end;
    font-size: 27px;
  }

  .viviliv-weight-confirmation-page__form,
  .viviliv-weight-confirmation-page__actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .viviliv-weight-confirmation-page {
    padding-left: 13px;
    padding-right: 13px;
  }

  .viviliv-weight-confirmation-page__items article {
    padding-left: 5px;
    padding-right: 5px;
  }

  .viviliv-weight-confirmation-page__items small {
    font-size: 11.5px;
  }
}

/* ==================================================
   VIVILIV 0.6.1.13 — pełne centrowanie strony potwierdzenia
   Niezależnie od ograniczeń GeneratePress i starych reguł WPCode.
   ================================================== */
body.viviliv-weight-confirmation-screen,
body.viviliv-weight-confirmation-screen #page,
body.viviliv-weight-confirmation-screen #content,
body.viviliv-weight-confirmation-screen #primary,
body.viviliv-weight-confirmation-screen #main,
body.viviliv-weight-confirmation-screen .site,
body.viviliv-weight-confirmation-screen .site-content,
body.viviliv-weight-confirmation-screen .content-area,
body.viviliv-weight-confirmation-screen .site-main,
body.viviliv-weight-confirmation-screen article,
body.viviliv-weight-confirmation-screen .inside-article,
body.viviliv-weight-confirmation-screen .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
  background: #06150d !important;
}

body.viviliv-weight-confirmation-screen #content,
body.viviliv-weight-confirmation-screen .site-content {
  display: block !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.viviliv-weight-confirmation-screen .inside-article,
body.viviliv-weight-confirmation-screen .entry-content {
  padding: 0 !important;
}

body.viviliv-weight-confirmation-screen .entry-content {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

body.viviliv-weight-confirmation-screen .viviliv-weight-confirmation-page {
  flex: 0 1 820px !important;
  width: min(820px, calc(100% - 32px)) !important;
  margin: 42px 16px 64px !important;
}

@media (max-width: 600px) {
  body.viviliv-weight-confirmation-screen .viviliv-weight-confirmation-page {
    width: calc(100% - 16px) !important;
    margin: 16px 8px 36px !important;
  }
}


/* ==================================================
   VIVILIV 0.6.1.14 — ORDER-PAY W STYLU VIVILIV
   Końcowa płatność po akceptacji rzeczywistej wagi.
   ================================================== */
html body.viviliv-order-pay-screen,
html body.viviliv-order-pay-screen #page,
html body.viviliv-order-pay-screen #content,
html body.viviliv-order-pay-screen #primary,
html body.viviliv-order-pay-screen #main,
html body.viviliv-order-pay-screen .site,
html body.viviliv-order-pay-screen .site-content,
html body.viviliv-order-pay-screen .content-area,
html body.viviliv-order-pay-screen .site-main,
html body.viviliv-order-pay-screen article,
html body.viviliv-order-pay-screen .inside-article,
html body.viviliv-order-pay-screen .entry-content {
  background: #06150d !important;
  box-sizing: border-box !important;
}

html body.viviliv-order-pay-screen #primary,
html body.viviliv-order-pay-screen #main,
html body.viviliv-order-pay-screen article,
html body.viviliv-order-pay-screen .inside-article,
html body.viviliv-order-pay-screen .entry-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.viviliv-order-pay-screen .entry-header,
html body.viviliv-order-pay-screen #right-sidebar {
  display: none !important;
}

html body.viviliv-order-pay-screen .woocommerce {
  position: relative !important;
  width: min(880px, calc(100% - 32px)) !important;
  max-width: 880px !important;
  margin: 34px auto 64px !important;
  padding: 30px !important;
  color: #f7f4ea !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(216, 178, 74, .11), transparent 36%),
    linear-gradient(145deg, #0d301e 0%, #082318 52%, #05170f 100%) !important;
  border: 1px solid rgba(216, 178, 74, .42) !important;
  border-radius: 26px !important;
  box-shadow: 0 26px 64px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255,255,255,.045) !important;
  box-sizing: border-box !important;
  font-family: "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

html body.viviliv-order-pay-screen .woocommerce::before {
  content: "PŁATNOŚĆ KOŃCOWA" !important;
  display: block !important;
  margin: 0 0 8px !important;
  color: #d8b24a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
}

html body.viviliv-order-pay-screen .woocommerce::after {
  content: "Sprawdź ostateczną wagę i kwotę, a następnie wybierz sposób płatności." !important;
  display: block !important;
  order: -1 !important;
  margin: 0 0 24px !important;
  color: rgba(247, 244, 234, .72) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html body.viviliv-order-pay-screen form#order_review,
html body.viviliv-order-pay-screen #order_review {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: #f7f4ea !important;
  background: transparent !important;
}

html body.viviliv-order-pay-screen table.shop_table {
  width: 100% !important;
  margin: 0 0 22px !important;
  color: #f7f4ea !important;
  background: rgba(4, 20, 12, .48) !important;
  border: 1px solid rgba(216, 178, 74, .30) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

html body.viviliv-order-pay-screen table.shop_table th,
html body.viviliv-order-pay-screen table.shop_table td {
  padding: 14px 16px !important;
  color: #f7f4ea !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(216, 178, 74, .14) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  opacity: 1 !important;
}

html body.viviliv-order-pay-screen table.shop_table th {
  color: rgba(247, 244, 234, .68) !important;
  font-weight: 700 !important;
}

html body.viviliv-order-pay-screen table.shop_table tr:last-child th,
html body.viviliv-order-pay-screen table.shop_table tr:last-child td {
  border-bottom: 0 !important;
}

html body.viviliv-order-pay-screen table.shop_table td.product-name,
html body.viviliv-order-pay-screen table.shop_table .product-quantity,
html body.viviliv-order-pay-screen table.shop_table .amount,
html body.viviliv-order-pay-screen table.shop_table strong {
  color: #fffdf5 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

html body.viviliv-order-pay-screen table.shop_table td.product-total,
html body.viviliv-order-pay-screen table.shop_table tfoot .amount {
  color: #f3d77a !important;
  font-weight: 800 !important;
}

html body.viviliv-order-pay-screen #payment {
  margin: 0 !important;
  padding: 0 !important;
  color: #f7f4ea !important;
  background: linear-gradient(180deg, rgba(13, 46, 28, .96), rgba(5, 23, 14, .98)) !important;
  border: 1px solid rgba(216, 178, 74, .32) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

html body.viviliv-order-pay-screen #payment ul.payment_methods {
  margin: 0 !important;
  padding: 20px !important;
  background: transparent !important;
  border: 0 !important;
}

html body.viviliv-order-pay-screen #payment ul.payment_methods li {
  margin: 0 !important;
  color: #f7f4ea !important;
  background: transparent !important;
}

html body.viviliv-order-pay-screen #payment ul.payment_methods li > label {
  color: #fffdf5 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

html body.viviliv-order-pay-screen #payment input[type="radio"],
html body.viviliv-order-pay-screen #payment input[type="checkbox"] {
  accent-color: #d8b24a !important;
}

html body.viviliv-order-pay-screen #payment div.payment_box {
  position: relative !important;
  margin: 14px 0 0 !important;
  padding: 15px 16px !important;
  color: rgba(247, 244, 234, .82) !important;
  background: rgba(216, 178, 74, .07) !important;
  border: 1px solid rgba(216, 178, 74, .25) !important;
  border-radius: 13px !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  opacity: 1 !important;
}

html body.viviliv-order-pay-screen #payment div.payment_box::before {
  display: none !important;
}

html body.viviliv-order-pay-screen #payment div.payment_box p {
  margin: 0 !important;
  color: inherit !important;
  opacity: 1 !important;
}

html body.viviliv-order-pay-screen #payment .form-row.place-order {
  margin: 0 !important;
  padding: 20px !important;
  background: rgba(3, 16, 10, .40) !important;
  border-top: 1px solid rgba(216, 178, 74, .18) !important;
}

html body.viviliv-order-pay-screen #payment .woocommerce-terms-and-conditions-wrapper,
html body.viviliv-order-pay-screen #payment .woocommerce-privacy-policy-text,
html body.viviliv-order-pay-screen #payment .woocommerce-terms-and-conditions-checkbox-text,
html body.viviliv-order-pay-screen #payment .woocommerce-terms-and-conditions-checkbox-text a,
html body.viviliv-order-pay-screen #payment .woocommerce-privacy-policy-link {
  color: rgba(247, 244, 234, .76) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
}

html body.viviliv-order-pay-screen #payment a {
  color: #f3d77a !important;
  text-decoration-color: rgba(243, 215, 122, .55) !important;
}

html body.viviliv-order-pay-screen #place_order,
html body.viviliv-order-pay-screen button#place_order {
  width: 100% !important;
  min-height: 56px !important;
  margin: 18px 0 0 !important;
  padding: 12px 20px !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #06150d !important;
  background: linear-gradient(135deg, #f6dc82 0%, #d8b24a 100%) !important;
  border: 1px solid rgba(255, 232, 158, .86) !important;
  border-radius: 14px !important;
  box-shadow: 0 13px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.45) !important;
  font: 800 14px/1.2 "Segoe UI Variable Text", "Segoe UI", Tahoma, Arial, sans-serif !important;
  text-transform: none !important;
  cursor: pointer !important;
}

html body.viviliv-order-pay-screen #place_order:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.04) !important;
}

@media (max-width: 700px) {
  html body.viviliv-order-pay-screen .woocommerce {
    width: calc(100% - 16px) !important;
    margin: 14px auto 36px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  html body.viviliv-order-pay-screen table.shop_table th,
  html body.viviliv-order-pay-screen table.shop_table td {
    padding: 11px 10px !important;
    font-size: 12px !important;
  }

  html body.viviliv-order-pay-screen #payment ul.payment_methods,
  html body.viviliv-order-pay-screen #payment .form-row.place-order {
    padding: 15px !important;
  }
}

/* =========================================================
 * VIVILIV 0.6.4.10 — DELIVERY BREAKDOWN
 * Dostawa jako osobny składnik zamówienia w potwierdzeniu i panelu wagi.
 * ========================================================= */
.viviliv-weight-confirmation-page__items article.is-shipping {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  margin-top: 14px;
  padding: 16px 18px;
  background:
    radial-gradient(circle at 0% 50%, rgba(216,178,74,.10), transparent 34%),
    linear-gradient(145deg, rgba(26,63,38,.76), rgba(6,21,13,.96));
  border: 1px solid rgba(216,178,74,.54);
  border-left: 3px solid #d8b24a;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.035);
}

.viviliv-weight-confirmation-page__items article.is-shipping > div > strong {
  color: #f3d77a;
  font-size: 16px;
}

.viviliv-weight-confirmation-page__items article.is-shipping > strong {
  color: #fffdf6;
  font-size: 16px;
  white-space: nowrap;
}

.viviliv-weight-confirmation-page__items article.is-shipping small {
  color: rgba(255,255,255,.68);
}

/* =========================================================
   VIVILIV 0.9.21.1.14.78 — FINAL PAYMENT CANCEL: RED + CLEAN
   ========================================================= */
.viviliv-weight-confirmation-page .viviliv-weight-confirmation-page__form,
.viviliv-weight-confirmation-page .viviliv-weight-confirmation-page__actions {
  grid-template-columns: minmax(0, 1fr) 220px !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.viviliv-weight-confirmation-page form.viviliv-weight-confirmation-page__cancel-form {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.viviliv-weight-confirmation-page button.viviliv-weight-confirmation-page__cancel,
.viviliv-weight-confirmation-page form.viviliv-weight-confirmation-page__cancel-form > button.viviliv-weight-confirmation-page__cancel {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #d92d20 0%, #b42318 100%) !important;
  background-color: #b42318 !important;
  border: 1px solid #f04438 !important;
  border-radius: 13px !important;
  box-shadow: 0 8px 20px rgba(180,35,24,.32) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.viviliv-weight-confirmation-page button.viviliv-weight-confirmation-page__cancel:hover,
.viviliv-weight-confirmation-page button.viviliv-weight-confirmation-page__cancel:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #f04438 0%, #d92d20 100%) !important;
  background-color: #d92d20 !important;
  border-color: #ff6b5f !important;
  box-shadow: 0 10px 24px rgba(217,45,32,.38) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 700px) {
  .viviliv-weight-confirmation-page .viviliv-weight-confirmation-page__form,
  .viviliv-weight-confirmation-page .viviliv-weight-confirmation-page__actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .viviliv-weight-confirmation-page button.viviliv-weight-confirmation-page__cancel {
    white-space: normal !important;
  }
}


/* =========================================================
 * VIVILIV 0.9.21.1.14.80 — VERY NARROW PAYMENT POLISH
 * Keep photos/text readable on 320–390 px screens without edge collisions.
 * ========================================================= */
@media (max-width: 390px) {
  body.viviliv-weight-confirmation-screen .viviliv-weight-confirmation-page {
    width: calc(100% - 12px) !important;
    margin-left: 6px !important;
    margin-right: 6px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .viviliv-weight-confirmation-page__items article {
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .viviliv-weight-confirmation-page__items article.is-shipping {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .viviliv-weight-confirmation-page__item-copy,
  .viviliv-weight-confirmation-page__item-copy > strong,
  .viviliv-weight-confirmation-page__items small {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
