@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap");

/*
 * SNP 2026-10-25 (Artur/Claude) - ścieżka po zakupie, etap 1: wygląd checkoutu.
 * Co: nakładka CSS na klasyczny checkout Woo w układzie EATNET (.eatnet-checkout).
 *     Tylko kolory, typografia, odstępy i przycisk - markup bez zmian.
 * Dlaczego: design-system SNP (Eras + Inter, Gold/Navy/White, złoty CTA).
 * Wyłącznik: opcja WP snp_checkout_css_enabled (ładuje includes/checkout-css.php).
 * Opis: AIOS Narzędzia/WordPress/sciezka-po-zakupie.md
 *
 * Każdy selektor jest zakotwiczony w body.snp-checkout, a tam gdzie
 * motyw snpro albo wtyczka stawia !important - też !important (pułapka motywu:
 * Narzędzia/WordPress/CLAUDE.md, sekcja „Motyw snpro nadpisuje nasze style").
 */

/* ITC Eras: same-origin, w uploads (ten sam zestaw co snp-player/player.css). */
@font-face {
  font-family: "ITC Eras Std";
  src: url("/wp-content/uploads/fonts/itc-eras_bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "ITC Eras Std";
  src: url("/wp-content/uploads/fonts/itc-eras_medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}

body.snp-checkout {
  --sn-gold: #F3AC1E;
  --sn-gold-dark: #D9951A;
  --sn-navy: #2C5871;
  --sn-navy-dark: #1F3F52;
  --sn-navy-deep: #1A1A2E;
  --sn-bg-soft: #FAF7F0;
  --sn-border: #E5E1D6;
  --sn-border-strong: #D3CCB8;
  --sn-muted: #6B7885;
  --sn-radius-sm: 6px;
  --sn-radius-md: 10px;
  --sn-radius-lg: 16px;
  --sn-shadow-xs: 0 1px 2px rgba(26, 26, 46, .06);
  --sn-shadow-sm: 0 2px 6px rgba(26, 26, 46, .08);
  --sn-font-display: "ITC Eras Std", Georgia, serif;
  --sn-font-body: Inter, system-ui, sans-serif;
}

/* ------------------------------------------------ pasek kroków (Thrive h2) */
body.snp-checkout .tve_lp_content > .thrv_text_element:first-child h2 {
  font-family: var(--sn-font-body) !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  color: var(--sn-muted) !important;
  letter-spacing: 0;
}
body.snp-checkout .tve_lp_content > .thrv_text_element:first-child h2 .bold_text {
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  font-size: 30px;
  color: var(--sn-navy) !important;
}

/* ------------------------------------------------ kontener */
body.snp-checkout .eatnet-checkout {
  background: #fff;
  border: 1px solid var(--sn-border);
  border-radius: var(--sn-radius-lg);
  box-shadow: var(--sn-shadow-sm);
  font-family: var(--sn-font-body);
  font-size: 17px !important;
  color: var(--sn-navy-deep);
  overflow: hidden;
}
body.snp-checkout .eatnet-checkout .content-checkout {
  padding: 8px 32px 32px;
}
body.snp-checkout .eatnet-checkout .content-checkout form {
  margin: 0;
}
body.snp-checkout .eatnet-checkout p,
body.snp-checkout .eatnet-checkout label,
body.snp-checkout .eatnet-checkout td,
body.snp-checkout .eatnet-checkout th {
  font-family: var(--sn-font-body) !important;
  font-size: 17px !important;
  line-height: 1.55;
  color: var(--sn-navy-deep);
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout a {
  color: var(--sn-navy);
}

/* nagłówki sekcji formularza - motyw: inherit/600 !important */
body.snp-checkout .eatnet-checkout h3 {
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  color: var(--sn-navy) !important;
  margin: 32px 0 14px !important;
  padding: 0 !important;
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout h3 .edit-dane-billing {
  font-family: var(--sn-font-body);
  font-size: 15px;
  font-weight: 500 !important;
  color: var(--sn-muted);
  margin-left: 6px;
}
body.snp-checkout .eatnet-checkout h3 .edit-dane-billing:hover {
  color: var(--sn-gold-dark);
}

/* dane zalogowanego klienta (odczyt) */
body.snp-checkout .woocommerce-billing-fields .dane p {
  font-weight: 400 !important;
  color: var(--sn-navy-deep) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  padding: 2px 0 !important;
}
body.snp-checkout .woocommerce-billing-fields .dane p label {
  width: 150px;
  padding: 0;
  font-weight: 700;
  color: var(--sn-navy);
  font-size: 15px !important;
}

/* ------------------------------------------------ pola formularza */
body.snp-checkout .eatnet-checkout .input-text,
body.snp-checkout form.login .input-text,
body.snp-checkout .eatnet-checkout input[type="text"],
body.snp-checkout .eatnet-checkout input[type="email"],
body.snp-checkout .eatnet-checkout input[type="tel"],
body.snp-checkout .eatnet-checkout input[type="password"],
body.snp-checkout .eatnet-checkout select,
body.snp-checkout .eatnet-checkout textarea {
  font-family: var(--sn-font-body) !important;
  font-size: 17px !important;
  color: var(--sn-navy-deep);
  background: #fff;
  border: 1px solid var(--sn-border-strong) !important;
  border-radius: var(--sn-radius-sm) !important;
  padding: 12px 14px !important;
  min-height: 48px;
  box-shadow: none !important;
  transition: border-color 120ms, box-shadow 120ms;
}
body.snp-checkout .eatnet-checkout .input-text:focus,
body.snp-checkout form.login .input-text:focus,
body.snp-checkout .eatnet-checkout select:focus,
body.snp-checkout .eatnet-checkout textarea:focus {
  outline: none !important;
  border-color: var(--sn-navy) !important;
  box-shadow: 0 0 0 3px rgba(243, 172, 30, .35) !important;
}
body.snp-checkout .eatnet-checkout ::placeholder {
  color: var(--sn-muted);
  opacity: 1;
}
/* wiersze pól: motyw daje padding 8 px + margin 10 px (36 px między polami) - uwaga Artura 2026-10-26 */
body.snp-checkout .eatnet-checkout .form-row,
body.snp-checkout form.login .form-row {
  padding: 0 !important;
  margin: 0 0 12px !important;
}
/* oko „pokaż hasło” wewnątrz pola, nie pod nim */
body.snp-checkout .eatnet-checkout .password-input {
  position: relative;
  display: flow-root; /* motyw floatuje input - inaczej wrapper ma 0 px i oko ucieka nad pole */
}
body.snp-checkout .eatnet-checkout .password-input .input-text {
  padding-right: 48px !important;
}
body.snp-checkout .eatnet-checkout .show-password-input {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--sn-radius-sm);
  background: transparent;
  color: var(--sn-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.snp-checkout .eatnet-checkout .show-password-input:hover,
body.snp-checkout .eatnet-checkout .show-password-input:focus-visible {
  background: var(--sn-bg-soft);
  outline: none;
}
/* checkboxy: faktura, regulamin - cel >= 22 px */
body.snp-checkout .eatnet-checkout input[type="checkbox"],
body.snp-checkout .eatnet-checkout input[type="radio"] {
  width: 22px;
  height: 22px;
  margin: 0 10px 0 0;
  vertical-align: -5px;
  accent-color: var(--sn-gold); /* złoto jak checkbox Stripe (Artur 2026-10-26), wcześniej navy */
  cursor: pointer;
}
body.snp-checkout .eatnet-checkout label.checkbox {
  font-weight: 700 !important;
  color: var(--sn-navy) !important; /* brandowy navy jak naglowki sekcji, nie navy-deep (Artur 2026-10-26) */
  cursor: pointer;
}
/* regulamin: tekst w kolumnie obok checkboxa, nie pod nim (Artur 2026-10-26, jak w Stripe) */
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox {
  display: flex !important;
  align-items: flex-start;
  line-height: 1.35;
  font-size: 0 !important; /* &nbsp; przed gwiazdką zostawał jako pusty element flex (5 px) i łamał linię */
}
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox input[type="checkbox"] {
  flex: 0 0 22px;
  margin-top: 1px;
}
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox .woocommerce-terms-and-conditions-checkbox-text {
  flex: 0 1 auto;
  font-size: 17px !important;
}
/* czerwona gwiazdka = jasny sygnał pola obowiązkowego (Artur 2026-10-26) - ale jako osobny element flex
   (po &nbsp;) spychała tekst do drugiej linii na 360; oryginał schowany, gwiazdka doklejona ::after do tekstu,
   płynie z nim jak zwykły znak, odstęp checkboxa 10 → 8 px daje te kilka pikseli zapasu */
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox .required {
  display: none !important;
}
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox input[type="checkbox"] {
  margin-right: 8px;
}
body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox .woocommerce-terms-and-conditions-checkbox-text::after {
  content: "*";
  color: #d9534f;
  margin-left: 3px;
}
/* z gwiazdką napis ma 303 px, na 360 jest 292 px miejsca - na wąskich ekranach 16 px, żeby została jedna linia */
@media (max-width: 400px) {
  body.snp-checkout .eatnet-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox .woocommerce-terms-and-conditions-checkbox-text {
    font-size: 16px !important;
  }
}
body.snp-checkout .eatnet-checkout label.checkbox .optional {
  font-weight: 400;
  color: var(--sn-muted);
}

/* ------------------------------------------------ above the fold (uwaga Artura 2026-10-25) */
/* pusty blok kolumn EATNET na górze karty (dwa puste .content-checkout) - 140 px białej przestrzeni */
body.snp-checkout .eatnet-checkout .custom--checkout__cols:not(:has(input, a, p, form, img)) {
  display: none !important;
}
/* "X został dodany do koszyka" + "Kontynuuj zakupy" - na checkoucie szum, produkt widać w podsumowaniu */
body.snp-checkout .woocommerce-message:has(a.wc-forward) {
  display: none !important;
}

/* ------------------------------------------------ paski info (punkty, kupon, logowanie) */
body.snp-checkout .woocommerce-info,
body.snp-checkout .woocommerce-message {
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
  color: var(--sn-navy-deep) !important;
  background: var(--sn-bg-soft) !important;
  border: 1px solid var(--sn-border) !important;
  border-left: 4px solid var(--sn-navy) !important;
  border-radius: var(--sn-radius-md) !important;
  box-shadow: none !important;
  line-height: 1.5;
}
body.snp-checkout .woocommerce-info a,
body.snp-checkout .woocommerce-message a {
  color: var(--sn-navy) !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.snp-checkout .woocommerce-info strong {
  color: var(--sn-navy);
}
/* „Zaloguj się" jako przycisk, nie podkreślony tekst (Artur 2026-10-26: 55+ mijali link) */
body.snp-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin {
  display: inline-block;
  margin-left: 6px;
  padding: 4px 14px;
  border: 2px solid var(--sn-gold);
  border-radius: 999px;
  background: #fff;
  color: var(--sn-navy) !important;
  text-decoration: none;
  line-height: 1.3;
  white-space: nowrap;
}
body.snp-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin:hover,
body.snp-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin:focus,
body.snp-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin:active {
  background: var(--sn-gold);
  color: var(--sn-navy-deep) !important;
  text-shadow: none !important; /* motyw daje bialy cien na hover/focus linkow */
  outline: none;
}
/* rozwinięty formularz logowania (Woo global/form-login.php) - uwaga Artura 2026-10-26:
   bez tekstu wstępnego, etykieta „Adres e-mail" (gettext w checkout-css.php), przycisk jak CTA */
body.snp-checkout form.login {
  margin: 0 0 16px !important;
  padding: 20px 20px 16px !important;
  background: var(--sn-bg-soft) !important;
  border: 1px solid var(--sn-border) !important;
  border-radius: var(--sn-radius-md) !important;
  box-shadow: none !important;
}
body.snp-checkout form.login > p:not([class]) {
  display: none; /* „Jeśli już robiłeś/aś u nas zakupy..." */
}
body.snp-checkout form.login .form-row-first,
body.snp-checkout form.login .form-row-last {
  float: none !important;
  width: 100% !important;
}
@media (min-width: 768px) {
  /* desktop: e-mail i haslo obok siebie, przycisk na szerokosc tresci */
  body.snp-checkout form.login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    align-items: end;
  }
  body.snp-checkout form.login > .form-row:not(.form-row-first):not(.form-row-last),
  body.snp-checkout form.login > .lost_password,
  body.snp-checkout form.login > .snp-ll,
  body.snp-checkout form.login > .clear {
    grid-column: 1 / -1;
  }
  body.snp-checkout form.login .snp-ll__btn {
    width: auto !important;
    min-width: 280px;
  }
  body.snp-checkout form.login > .form-row:has(input[type="submit"]) {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  body.snp-checkout form.login input[type="submit"].button {
    width: auto !important;
    flex: 0 0 auto;
    min-width: 280px;
    margin: 6px 0 !important;
  }
  body.snp-checkout form.login label.inline {
    white-space: nowrap;
  }
}
body.snp-checkout form.login label {
  display: block;
  margin: 0 0 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--sn-navy-deep) !important;
}
body.snp-checkout form.login label .required {
  display: none;
}
body.snp-checkout form.login .input-text {
  width: 100% !important;
}
body.snp-checkout form.login input[type="submit"].button,
body.snp-checkout form.login .snp-ll__btn {
  display: block;
  width: 100%;
  margin: 6px 0 12px !important;
  padding: 14px 20px !important;
  min-height: 52px;
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  font-size: 21px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  color: var(--sn-navy-deep) !important;
  background: var(--sn-gold) !important;
  border: 0 !important;
  border-radius: var(--sn-radius-sm) !important;
  box-shadow: var(--sn-shadow-sm) !important;
  text-shadow: none !important;
  cursor: pointer;
}
body.snp-checkout form.login input[type="submit"].button:hover,
body.snp-checkout form.login .snp-ll__btn:hover {
  background: var(--sn-gold-dark) !important;
}
body.snp-checkout form.login label.inline {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: var(--sn-muted) !important;
}
body.snp-checkout form.login label.inline input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--sn-navy);
}
body.snp-checkout form.login .lost_password {
  margin: 10px 0 0 !important;
  font-size: 15px !important;
}
body.snp-checkout form.login .lost_password a {
  color: var(--sn-navy) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* panel „link logujący" pod „Nie pamiętasz hasła?" (checkout.js, decyzja Artura 2026-10-26) */
body.snp-checkout form.login .snp-ll {
  margin: 14px 0 0;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--sn-border);
  border-radius: var(--sn-radius-md);
}
body.snp-checkout form.login .snp-ll[hidden] {
  display: none;
}
body.snp-checkout form.login .snp-ll p {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-family: var(--sn-font-body) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: left !important;
  color: var(--sn-navy-deep) !important;
}
body.snp-checkout form.login .snp-ll__input {
  box-sizing: border-box !important;
  max-width: 100% !important;
}
body.snp-checkout form.login .snp-ll__btn {
  margin: 12px 0 0 !important;
}
@media (max-width: 767px) {
  body.snp-checkout form.login .snp-ll__btn {
    font-size: 18px !important; /* „Wyślij mi link do logowania" w jednej linii na 360 */
  }
}
body.snp-checkout form.login .snp-ll__btn[disabled] {
  opacity: .6;
  cursor: wait;
}
body.snp-checkout form.login .snp-ll__msg {
  margin: 10px 0 0 !important;
}
body.snp-checkout form.login .snp-ll__msg:empty {
  display: none;
}
body.snp-checkout form.login .snp-ll__msg--err {
  color: #b3261e !important;
}
body.snp-checkout form.login .snp-ll__ok {
  margin: 0 !important;
}
body.snp-checkout form.login .snp-ll__ok strong {
  color: var(--sn-navy) !important;
}
body.snp-checkout #yith-par-message-reward-cart .input-text {
  min-height: 36px;
  padding: 4px 8px !important;
  font-size: 15px !important;
  width: 80px;
  text-align: center;
}
body.snp-checkout #yith-par-message-reward-cart .button {
  font-family: var(--sn-font-body) !important;
  font-weight: 700;
  font-size: 14px !important;
  background: var(--sn-navy) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--sn-radius-sm) !important;
  padding: 10px 16px !important;
  text-transform: none !important;
}
body.snp-checkout #yith-par-message-reward-cart .button:hover {
  background: var(--sn-navy-dark) !important;
}

/* ------------------------------------------------ podsumowanie (accordion EATNET) */
body.snp-checkout .eatnet-checkout-summary {
  border: 1px solid var(--sn-border);
  border-radius: var(--sn-radius-md);
  box-shadow: var(--sn-shadow-xs);
}
body.snp-checkout .eatnet-checkout-summary__toggle {
  background: var(--sn-bg-soft);
  font-family: var(--sn-font-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--sn-navy-deep);
  padding: 16px 20px;
  min-height: 56px;
}
body.snp-checkout .eatnet-checkout-summary__toggle:hover {
  background: #F4EFE3;
}
body.snp-checkout .eatnet-checkout-summary__total {
  font-family: var(--sn-font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--sn-navy);
}
body.snp-checkout .eatnet-checkout-summary__content {
  border-top: 1px solid var(--sn-border);
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table th,
body.snp-checkout .eatnet-checkout-summary__content .shop_table td {
  padding-top: 12px;
  padding-bottom: 12px;
  border-color: var(--sn-border) !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table .order-total td,
body.snp-checkout .eatnet-checkout-summary__content .shop_table .order-total th {
  font-weight: 700;
  color: var(--sn-navy);
}

/* wiersz pozycji jako siatka (Artur 2026-10-26, wariant B): bez nagłówków tabeli
   (Usuń / Produkt / Kwota), okładka z Woo (filtr woocommerce_cart_item_name w checkout-css.php)
   obok nazwy, „Usuń" jako mały link POD OKŁADKĄ (lewa kolumna = obiekt + jego akcja, uwaga
   Artura 2026-10-26) zamiast kolumny z ×, kwota po prawej. Okładka siedzi w td.product-name,
   więc td dostaje display:contents, a okładka i nazwa stają się polami siatki wiersza. */
body.snp-checkout .eatnet-checkout-summary__content .shop_table thead {
  display: none !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table,
body.snp-checkout .eatnet-checkout-summary__content .shop_table tbody,
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot {
  display: block;
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  grid-template-areas: "thumb name total" "remove name total";
  align-items: start;
  column-gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--sn-border);
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-name {
  grid-area: name;
  align-self: center;
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
  line-height: 1.3;
  color: var(--sn-navy-deep) !important;
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-name:has(.snp-ci-thumb) {
  display: contents; /* okładka i nazwa wchodzą do siatki wiersza; font/kolor dziedziczą */
}
body.snp-checkout .snp-ci-thumb {
  grid-area: thumb;
}
body.snp-checkout .snp-ci-name {
  grid-area: name;
  align-self: center;
}
/* produkt bez okładki: nazwa od lewej, „Usuń" pod nią */
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item:not(:has(.snp-ci-thumb)) {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  grid-template-areas: "name total" "remove total";
}
body.snp-checkout .snp-ci-thumb .snp-ci-img {
  display: block;
  width: 48px !important;
  height: 48px !important;
  object-fit: cover;
  border-radius: var(--sn-radius-sm);
  box-shadow: var(--sn-shadow-xs);
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-remove {
  grid-area: remove;
  margin-top: 4px;
  text-align: center !important; /* pod okładką, wyśrodkowane w jej 48 px */
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item:not(:has(.snp-ci-thumb)) td.product-remove {
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-remove a.remove {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  font-size: 0 !important; /* × ze wzorca Woo schowany, napis z ::after */
  line-height: 1 !important;
  color: var(--sn-muted) !important;
  background: transparent !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-remove a.remove::after {
  content: "Usuń";
  font-family: var(--sn-font-body);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-remove a.remove:hover,
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-remove a.remove:focus {
  color: var(--sn-navy) !important;
  background: transparent !important;
  text-shadow: none !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tr.cart_item td.product-total {
  grid-area: total;
  align-self: center;
  text-align: right !important;
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
  font-weight: 600;
  white-space: nowrap;
  color: var(--sn-navy-deep) !important;
}
/* stopka: wiersze jako flex (etykieta | kwota), pusta środkowa komórka znika;
   „Kwota" (subtotal) dubluje „Łącznie", gdy nie ma kuponu ani opłat - wtedy schowana */
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--sn-border);
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot tr:last-child {
  border-bottom: 0;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot th,
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot td {
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot td:empty {
  display: none;
}
body.snp-checkout .eatnet-checkout-summary__content .shop_table tfoot:not(:has(tr.cart-discount, tr.fee, tr.shipping, tr.tax-rate, tr.tax-total)) tr.cart-subtotal {
  display: none;
}

/* ------------------------------------------------ płatność */
body.snp-checkout #payment {
  background: transparent !important;
}
body.snp-checkout #payment ul.payment_methods {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}
body.snp-checkout #payment ul.payment_methods li {
  padding: 10px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--sn-border);
  list-style: none;
}
body.snp-checkout #payment ul.payment_methods li:last-child {
  border-bottom: 0;
}
body.snp-checkout #payment ul.payment_methods li > label {
  font-family: var(--sn-font-body) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--sn-navy-deep) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
body.snp-checkout #payment ul.payment_methods li > label img {
  max-height: 28px;
  width: auto;
}
body.snp-checkout #payment div.payment_box {
  background: var(--sn-bg-soft) !important;
  border: 1px solid var(--sn-border);
  border-radius: var(--sn-radius-md) !important;
  color: var(--sn-navy-deep) !important;
  font-family: var(--sn-font-body);
  margin: 10px 0 6px !important;
  padding: 18px 20px !important;
}
body.snp-checkout #payment div.payment_box::before {
  border-bottom-color: var(--sn-bg-soft) !important;
}
body.snp-checkout #payment div.payment_box .blik-label {
  font-weight: 700;
  color: var(--sn-navy);
}
body.snp-checkout #payment div.payment_box a {
  color: var(--sn-navy) !important;
}
/* logo tpay precz (Artur 2026-10-26): w pudełku BLIK (szablon wtyczki blik0.php) i przy
   „Przelewy bankowe" (ikona bramki Woo, tpay.svg) - klient wybiera sposób zapłaty, nie operatora.
   Badge BLIK i ikona karty zostają. */
body.snp-checkout .tpay-blik0 .tpay_blik-payment-form .top label img,
body.snp-checkout .tpay-blik0 .tpay_blik-payment-alias .top label img,
body.snp-checkout #payment li.payment_method_tpaypbl > label img {
  display: none !important;
}
/* raty Pekao 3x0% (Artur 2026-10-27): logo przy etykiecie „Podziel na 3 raty" znika (zostaje w kafelku
   w karcie, jak banki przy przelewach), nagłówek „Raty" w karcie dubluje etykietę - znika; karta ciaśniejsza
   od góry jak przelewy. Kafelek to kanał Tpay (radio tpay-channel-id), musi zostać. */
body.snp-checkout #payment li.payment_method_pekaoinstallments > label img,
body.snp-checkout #payment li.payment_method_pekaoinstallments div.payment_box > p:first-child {
  display: none !important;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments div.payment_box {
  padding-top: 14px !important;
}
/* karta rat (Artur 2026-10-27): jedna kolumna - kafelek, pod nim regulamin (wtyczka stawia je obok siebie);
   kafelek niewybrany ma widoczną ramkę (zaproszenie do kliknięcia), wybrany - złotą. Siatka banków
   przy przelewach bez zmian. */
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-pbl-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-pbl-container .tpay-pbl {
  grid-template-columns: minmax(0, 180px) !important;
  width: 100%;
  margin: 0 0 10px !important;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-pbl .tpay-item > div > div {
  border-color: var(--sn-border-strong) !important;
  background: #fff;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-pbl .tpay-item:hover > div > div {
  border-color: var(--sn-navy) !important;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-pbl .tpay-item input:checked + div > div {
  border-color: var(--sn-gold) !important;
}
body.snp-checkout #payment li.payment_method_pekaoinstallments .tpay-accept-conditions {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
/* pudełko BLIK = bohater płatności (Artur 2026-10-26): bez białej karty w kremowym boksie
   (.tpay-blik0 ma białe tło z CSS wtyczki), bez nagłówka „Płatność kodem BLIK" (dubluje etykietę
   radia tuż nad boksem), pole kodu duże i złote - to najczęstsza metoda płatności. */
body.snp-checkout .tpay-blik0 {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.snp-checkout .tpay-blik0 .tpay_blik-payment-form .top {
  display: none !important;
}
body.snp-checkout .tpay-blik0 .tpay_blik-payment-form .bottom {
  padding: 0 !important;
  margin: 0 !important;
}
body.snp-checkout .tpay-blik0 .tpay_blik-payment-form .bottom > div {
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--sn-navy) !important;
  margin: 0 0 8px !important;
}
body.snp-checkout .tpay-blik0 #blik0-code {
  display: block;
  width: 100% !important;
  max-width: 300px;
  height: 64px !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 16px !important;
  font-family: var(--sn-font-body) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: .18em;
  text-align: center;
  color: var(--sn-navy-deep) !important;
  background: #fff !important;
  border: 2px solid var(--sn-gold) !important;
  border-radius: var(--sn-radius-md) !important;
  box-shadow: var(--sn-shadow-sm) !important;
  transition: border-color 120ms, box-shadow 120ms;
}
body.snp-checkout .tpay-blik0 #blik0-code::placeholder {
  color: var(--sn-border-strong);
  font-weight: 500;
  opacity: 1;
}
body.snp-checkout .tpay-blik0 #blik0-code:focus {
  outline: none !important;
  border-color: var(--sn-navy) !important;
  box-shadow: 0 0 0 4px rgba(243, 172, 30, .35) !important;
}
body.snp-checkout .tpay-blik0 .tpay-accept-conditions {
  padding: 0 !important;
  margin: 12px 0 0 !important;
}
/* regulamin Tpay pod polem BLIK (GatewayHelper::agreements_field) - drobny jak polityka prywatności */
body.snp-checkout .tpay-accept-conditions p,
body.snp-checkout .tpay-accept-conditions a.agreement_text_scroller {
  font-size: 14px !important;
  line-height: 1.5;
}
body.snp-checkout .tpay-accept-conditions p {
  color: var(--sn-muted) !important;
  margin: 10px 0 6px;
}
/* nagłówek „Wybierz metodę płatności." w przelewach (pbl.php: pierwszy <p> w .payment_box) - ta sama
   etykieta co „Wpisz kod BLIK" (Inter 16/600 navy, 8 px pod spodem), bez paddingu i marginesu akapitu
   motywu; boks przelewów ciaśniejszy od góry (Artur 2026-10-26) */
body.snp-checkout #payment li.payment_method_tpaypbl div.payment_box {
  padding-top: 14px !important;
}
body.snp-checkout #payment li.payment_method_tpaypbl div.payment_box > p:first-child {
  font-family: var(--sn-font-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--sn-navy) !important;
  text-align: left !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
/* karta (Stripe): „Zapamiętaj dane do przyszłych płatności." - akapit z checkboxem 13 px i etykietą
   17 px o interlinii 34 px zajmował 68 px; jedna ciasna linia: flex, checkbox 20 px, etykieta 15 px (Artur 2026-10-26) */
body.snp-checkout #payment div.payment_box p.woocommerce-SavedPaymentMethods-saveNew {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 10px 0 0 !important;
  padding: 0 !important;
}
body.snp-checkout #payment div.payment_box p.woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  accent-color: var(--sn-gold);
}
body.snp-checkout #payment div.payment_box p.woocommerce-SavedPaymentMethods-saveNew label {
  font-family: var(--sn-font-body) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: var(--sn-navy-deep) !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
}
/* siatka banków po rozwinięciu „Przelewy bankowe" (pbl.php: label.tpay-item > div > div > logo + .name) -
   bez obwódek, wyśrodkowane, wybrany bank = złota ramka (Artur 2026-10-26) */
body.snp-checkout .tpay-pbl-container {
  background: transparent !important;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 0;
  margin: 0 0 6px !important;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item {
  width: auto !important;
  min-width: 0;
  cursor: pointer;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item > div > div {
  border: 2px solid transparent !important;
  border-radius: var(--sn-radius-md) !important;
  padding: 8px 4px !important;
  text-align: center;
  transition: background-color .15s, border-color .15s;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item:hover > div > div {
  background: #fff;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item input:checked + div > div {
  border-color: var(--sn-gold) !important;
  background: #fff;
  box-shadow: none !important;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item .tpay-group-logo-holder {
  height: 56px !important;
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item .tpay-group-logo-holder img {
  display: block;
  width: auto !important;
  max-width: 84px;
  max-height: 44px;
  mix-blend-mode: multiply; /* loga z Tpay mają białe tło - multiply zdejmuje biel na kremie bez wycinania plików */
}
body.snp-checkout .tpay-pbl-container .tpay-pbl .tpay-item .name {
  font-family: var(--sn-font-body);
  font-size: 12px !important;
  line-height: 1.3;
  color: var(--sn-muted) !important;
  text-align: center !important;
  margin-top: 4px;
}
@media (max-width: 480px) {
  body.snp-checkout .tpay-pbl-container .tpay-pbl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* prywatność + regulamin */
body.snp-checkout .woocommerce-privacy-policy-text p {
  font-size: 14px !important;
  color: var(--sn-muted) !important;
  line-height: 1.5;
  margin: 18px 0 14px;
}
body.snp-checkout .woocommerce-privacy-policy-text a {
  color: var(--sn-muted) !important;
  text-decoration: underline;
}
body.snp-checkout .woocommerce-terms-and-conditions-checkbox-text,
body.snp-checkout .woocommerce-terms-and-conditions-checkbox-text a {
  font-family: var(--sn-font-body);
  font-size: 16px !important;
  color: var(--sn-navy-deep) !important;
}
body.snp-checkout .woocommerce-terms-and-conditions-checkbox-text a {
  color: var(--sn-navy) !important;
  font-weight: 700;
}

/* ------------------------------------------------ przycisk „Kupuję i płacę" (sn-btn--primary) */
body.snp-checkout #payment #place_order,
body.snp-checkout .woocommerce #payment #place_order {
  display: block;
  width: 100%;
  margin: 18px 0 8px;
  padding: 20px 24px !important;
  min-height: 64px;
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: 0;
  color: var(--sn-navy-deep) !important;
  background: var(--sn-gold) !important;
  border: 0 !important;
  border-radius: var(--sn-radius-sm) !important;
  box-shadow: var(--sn-shadow-sm) !important;
  text-shadow: none !important;
  cursor: pointer;
  transition: background 200ms cubic-bezier(.2, .7, .2, 1), transform 120ms;
}
body.snp-checkout #payment #place_order:hover {
  background: var(--sn-gold-dark) !important;
  color: var(--sn-navy-deep) !important;
}
body.snp-checkout #payment #place_order:active {
  transform: translateY(1px);
}
body.snp-checkout #payment #place_order:focus-visible {
  outline: 2px solid var(--sn-navy) !important;
  outline-offset: 3px;
}

/* ------------------------------------------------ prawa kolumna: opinie (navy zostaje) */
/* Decyzja Artura 2026-10-25: opinia = zdjęcie + jedno zdanie (dzisiejszy tytuł h5) + imię,
   reszta za ikoną. Markup z form-checkout.php bez zmian: h5, img, .review-content (skrót
   + .showcomment), .review--content__full (+ .hidecomment), tekst imienia, <br><br>.
   Rozwijanie robi JS motywu (js/default.js: showcomment chowa .review-content i slideDown full). */
body.snp-checkout .eatnet-checkout-reviews {
  background: var(--sn-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff;
}
body.snp-checkout .eatnet-checkout-reviews .content-checkout-lest {
  padding: 28px 24px 20px;
}
/* przerywana ramka motywu pod całą listą opinii - resztka starego szarego układu (Artur 2026-10-26);
   30 px paddingu motywu odsuwało tylko tę ramkę */
body.snp-checkout .eatnet-checkout-reviews .review--boxes__holder {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* .review-box.review-box-first, bo ogólna reguła .review-box niżej (siatka kart) ma tę samą wagę
   i wygrywała - tytuł siedział w siatce 1fr | 44px jak w dwóch kolumnach (Artur 2026-10-26) */
body.snp-checkout .eatnet-checkout-reviews .review-box.review-box-first {
  display: block;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}
/* Tekst „Opinie naszych kursantów" jest wpisany na sztywno w form-checkout.php motywu - podmiana
   w CSS (oryginał font-size 0, nowy w ::before), bez kreski pod tytułem (Artur 2026-10-26) */
body.snp-checkout .eatnet-checkout-reviews .review-box.review-box-first h5.review-box-first-title {
  font-size: 0 !important;
  border-bottom: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.snp-checkout .eatnet-checkout-reviews .review-box.review-box-first h5.review-box-first-title::before {
  content: "Potwierdzone opinie kursantów";
  display: block;
  font-family: var(--sn-font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  color: var(--sn-gold);
  text-align: center;
}
/* karta opinii: siatka zdjęcie | tekst | przełącznik; imię (goły tekst) wpada auto-placementem
   w wolną komórkę kol. 2 / rz. 2, czyli pod zdanie */
body.snp-checkout .eatnet-checkout-reviews .review-box {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 44px;
  grid-template-rows: auto auto auto;
  column-gap: 12px;
  row-gap: 3px;
  align-items: start;
  margin: 0 !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  clear: none;
  text-align: left;
  font-family: var(--sn-font-body);
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, .62);
}
body.snp-checkout .eatnet-checkout-reviews .review-box:last-child {
  border-bottom: 0;
}
body.snp-checkout .eatnet-checkout-reviews .review-box br {
  display: none;
}
body.snp-checkout .eatnet-checkout-reviews .review-box .review-img {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 52px;
  max-width: 52px !important;
  height: 52px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid var(--sn-gold);
  margin: 0;
}
/* opinia bez zdjęcia (tvo-no-photo): kolumna zdjęcia znika, tytuł na całą szerokość,
   imię (goły tekst) spada do wolnej komórki rz. 2 / kol. 1 */
body.snp-checkout .eatnet-checkout-reviews .review-box:not(:has(.review-img)) {
  grid-template-columns: minmax(0, 1fr) 12px 44px;
  column-gap: 0;
}
body.snp-checkout .eatnet-checkout-reviews .review-box:not(:has(.review-img)) h5 {
  grid-column: 1 / 3;
}
/* tytuł opinii = jedno zdanie, bohater karty */
body.snp-checkout .eatnet-checkout-reviews .review-box h5 {
  grid-column: 2;
  grid-row: 1;
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: #fff !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* skrót opinii znika; przełącznik = mała ikona w trzeciej kolumnie */
body.snp-checkout .eatnet-checkout-reviews .review-box .review-content:not(.review--content__full) {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  margin: 0;
  /* JS motywu daje tu display:none po rozwinięciu - komórka musi zostać, inaczej imię
     (goły tekst) wskakuje w jej miejsce; chowamy sam przycisk, gdy pełna treść jest otwarta */
  display: block !important;
}
body.snp-checkout .eatnet-checkout-reviews .review-box .review-content:has(+ .review--content__full[style*="block"]) .showcomment {
  visibility: hidden;
}
body.snp-checkout .eatnet-checkout-reviews .review-box .review-content:not(.review--content__full) p {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  color: transparent !important;
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout-reviews .review-content p:first-child:before,
body.snp-checkout .eatnet-checkout-reviews .review-content p:last-child:after {
  content: none !important;
}
/* tekst z markupu („pokaż cały komentarz" / „Zwiń komentarz") schowany, etykietę daje ::after */
body.snp-checkout .eatnet-checkout-reviews .showcomment,
body.snp-checkout .eatnet-checkout-reviews .hidecomment {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-width: 44px;
  min-height: 44px;
  padding: 2px 0;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  cursor: pointer;
  user-select: none;
}
body.snp-checkout .eatnet-checkout-reviews .showcomment::before,
body.snp-checkout .eatnet-checkout-reviews .hidecomment::before {
  content: "";
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .45);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-opacity='.8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center / 14px no-repeat;
  flex: 0 0 auto;
  transition: border-color 150ms, background-color 150ms;
}
body.snp-checkout .eatnet-checkout-reviews .showcomment::after,
body.snp-checkout .eatnet-checkout-reviews .hidecomment::after {
  content: "Więcej";
  font-family: var(--sn-font-body);
  font-style: normal;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .6);
}
body.snp-checkout .eatnet-checkout-reviews .hidecomment::before {
  transform: rotate(180deg);
}
body.snp-checkout .eatnet-checkout-reviews .hidecomment::after {
  content: "Zwiń";
}
body.snp-checkout .eatnet-checkout-reviews .showcomment:hover::before,
body.snp-checkout .eatnet-checkout-reviews .hidecomment:hover::before {
  border-color: var(--sn-gold);
  background-color: rgba(243, 172, 30, .18);
}
/* pełna treść po rozwinięciu - pod całą kartą */
body.snp-checkout .eatnet-checkout-reviews .review-content.review--content__full {
  grid-column: 1 / -1;
  grid-row: 3;
  margin: 10px 0 0;
  padding: 12px 14px;
  border-left: 3px solid var(--sn-gold);
  background: rgba(255, 255, 255, .06);
  border-radius: 0 var(--sn-radius-sm) var(--sn-radius-sm) 0;
  overflow: visible;
}
body.snp-checkout .eatnet-checkout-reviews .review-content.review--content__full,
body.snp-checkout .eatnet-checkout-reviews .review-content.review--content__full p {
  font-family: var(--sn-font-body) !important;
  font-size: 15px !important;
  font-style: normal !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, .92) !important;
  text-align: left !important;
}
body.snp-checkout .eatnet-checkout-reviews .review-content.review--content__full p {
  margin: 0 0 10px !important;
}
body.snp-checkout .eatnet-checkout-reviews .review-content.review--content__full .hidecomment {
  flex-direction: row;
  gap: 8px;
  min-height: 36px;
  margin: 2px 0 0 auto;
  float: right;
}
/* FAQ i certyfikat (gdy produkt je ma) */
body.snp-checkout .eatnet-checkout-reviews .faq--header,
body.snp-checkout .eatnet-checkout-reviews .eatnet--checkout__cert h3 {
  font-family: var(--sn-font-display) !important;
  font-weight: 700 !important;
  color: var(--sn-gold) !important;
}
body.snp-checkout .eatnet--checkout__faq .faq--question,
body.snp-checkout .eatnet--checkout__faq .faq--answer,
body.snp-checkout .eatnet--checkout__faq .faq--answer p {
  font-family: var(--sn-font-body) !important;
  color: #fff !important;
}

/* ------------------------------------------------ telefon */
@media screen and (max-width: 767px) {
  body.snp-checkout .eatnet-checkout {
    border-radius: var(--sn-radius-md);
  }
  body.snp-checkout .eatnet-checkout .content-checkout {
    padding: 4px 16px 24px;
  }
  body.snp-checkout .eatnet-checkout h3 {
    font-size: 22px !important;
    margin: 26px 0 12px !important;
  }
  /* nagłówek z logo: 96 px -> ok. 46 px (Artur 2026-10-26: mniejsze logo, pasek kroków wyżej) */
  /* padding 20px siedzi inline z !important (Thrive) - kompensacja ujemnym marginesem wnętrza */
  html body.tve_lp.snp-checkout .in.darkSec > .cck {
    margin-top: -14px !important;
    margin-bottom: -14px !important;
  }
  html body.tve_lp.snp-checkout .darkSec .tve_image_caption {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
  }
  /* logo 260x36 (atrybuty inline Thrive) -> 200 px szerokości */
  html body.tve_lp.snp-checkout .darkSec .tve_image_caption img {
    width: 200px !important;
    height: auto !important;
  }
  /* okruszki w jednej linii */
  /* Thrive ma responsywne reguły z ID i !important - stąd #tve_editor w selektorze */
  html body.snp-checkout #tve_editor .tve_lp_content > .thrv_text_element:first-child h2 {
    font-size: 15px !important;
    line-height: 1.3 !important;
    padding: 5px 0 6px !important;
    margin: 0 !important;
  }
  html body.snp-checkout #tve_editor .tve_lp_content > .thrv_text_element:first-child h2 .bold_text {
    font-size: 19px !important;
  }
  /* kontener formularza (Thrive custom HTML) bliżej okruszków: margines 20 -> 6 px */
  html body.snp-checkout #tve_editor .tve_lp_content .thrv_custom_html_shortcode {
    margin-top: 6px !important;
  }
  /* paski info kompaktowo */
  body.snp-checkout .woocommerce-info,
  body.snp-checkout .woocommerce-message {
    font-size: 15px !important;
    line-height: 1.4;
    padding: 10px 12px 10px 50px !important; /* ikona ::before siedzi na 15-38 px */
    margin: 0 0 12px !important;
  }
  body.snp-checkout .eatnet-checkout #customer_details h3:first-of-type {
    margin-top: 12px !important;
  }
  body.snp-checkout #payment #place_order {
    font-size: 23px !important;
    min-height: 60px;
  }
  body.snp-checkout .eatnet-checkout-reviews {
    border-radius: 0 0 var(--sn-radius-md) var(--sn-radius-md) !important;
  }
  body.snp-checkout .eatnet-checkout-reviews .content-checkout-lest {
    padding: 20px 16px 12px;
  }
}
