/* =========================================================
   MOJAWODA — CART + ETS ONE PAGE CHECKOUT
   CLEAN SOURCE OF TRUTH
   Migrated from ClassyDevs global CSS: 2026-09-08
   Current production behavior preserved; Google account UX added in theme.
   Asset version: 1.12.5
   ========================================================= */

/* =========================================================
   MW CART + ETS ONE PAGE CHECKOUT OPTIMIZER
   Wersja: 1.12.0
   Scope: body#cart oraz body#checkout z ets_onepagecheckout
   ========================================================= */

/* ---------- Wspólne ---------- */

body#cart #wrapper,
body#checkout #wrapper {
  background: #f7f9fa;
}

body#cart #wrapper > .container,
body#checkout #wrapper > .container {
  max-width: 1240px;
}

body#cart .card,
body#checkout .block-onepagecheckout,
body#checkout #conditions-to-approve {
  border: 1px solid #dce5e9;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

body#cart .btn-primary,
body#checkout .btn-primary {
  border: 0;
  border-radius: 7px;
  background: #0685a9;
  box-shadow: none;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body#cart .btn-primary:hover,
body#cart .btn-primary:focus,
body#checkout .btn-primary:hover,
body#checkout .btn-primary:focus {
  background: #046d8b;
  box-shadow: 0 6px 16px rgba(6, 133, 169, .22);
  transform: translateY(-1px);
}

/* ---------- Standardowy koszyk ---------- */

body#cart .cart-grid {
  align-items: flex-start;
}

body#cart .cart-container,
body#cart .cart-summary {
  overflow: hidden;
  border-color: #dce5e9;
  box-shadow: 0 8px 28px rgba(22, 52, 65, .08);
}

body#cart .cart-container .card-block:first-child {
  padding: 20px 22px 16px;
}

body#cart .cart-container h1.h1 {
  margin: 0;
  color: #17242b;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.3;
}

body#cart .cart-grid-right {
  position: sticky;
  top: var(--mw-checkout-top, 80px);
}

body#cart .cart-grid-right .cart-summary-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  color: #17242b;
}

body#cart .cart-grid-right .cart-summary-line.cart-total {
  padding-top: 4px;
  font-size: 17px;
  font-weight: 650;
}

body#cart .cart-detailed-actions {
  padding: 16px 18px 18px;
}

body#cart .cart-detailed-actions .btn-primary {
  width: 100%;
  min-height: 48px;
  padding: 13px 18px;
  background: #10a651;
  font-size: 14px;
  white-space: normal;
}

body#cart .cart-detailed-actions .btn-primary:hover,
body#cart .cart-detailed-actions .btn-primary:focus {
  background: #0b843f;
  box-shadow: 0 6px 16px rgba(16, 166, 81, .22);
}

body#cart .cart-grid-body > .label {
  display: inline-flex;
  align-items: center;
  margin: 12px 0 0;
  color: #17242b;
  font-size: 13px;
  font-weight: 500;
}

body#cart .cart-grid-body > .label:hover {
  color: #0685a9;
}

body#cart .blockreassurance_product {
  margin-top: 18px;
}

body#cart .blockreassurance_product > div {
  margin-bottom: 9px;
}

/* ---------- Nowy układ ETS One Page Checkout ---------- */

body#checkout #content-wrapper {
  width: 100%;
  max-width: none;
}

/* The final layout is emitted by the theme module template before JS loads. */

body#checkout #form_ets_onepagecheckout.mw-opc-ready {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
  display: grid !important;
  visibility: visible;
  opacity: 1;
  animation: none;
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 1.65fr) minmax(340px, 1fr);
  gap: 24px;
  align-items: start;
  margin: 0 !important;
}

body#checkout .mw-opc-flow,
body#checkout .mw-opc-summary {
  width: auto !important;
  min-width: 0;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body#checkout .mw-opc-flow {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

body#checkout .mw-opc-summary {
  grid-column: 2;
  position: sticky;
  align-self: start;
  top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body#checkout .mw-opc-flow .block-onepagecheckout,
body#checkout .mw-opc-summary .block-onepagecheckout {
  width: 100%;
  margin: 0;
  overflow: visible;
  box-shadow: 0 8px 28px rgba(22, 52, 65, .08);
}

body#checkout .block-onepagecheckout > .title-heading {
  min-height: 54px;
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid #dce5e9;
  border-radius: 10px 10px 0 0;
  background: #fff;
  color: #17242b;
  font-size: 17px;
  font-weight: 650;
  line-height: 24px;
}

body#checkout .block-onepagecheckout > .title-heading .ets_icon_svg {
  display: inline-flex;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

body#checkout .block-onepagecheckout > .title-heading .ets_icon_svg svg {
  width: 18px;
  height: 18px;
  fill: #0685a9;
}

body#checkout .block-onepagecheckout > .block-content,
body#checkout .block-address > .address-selector {
  padding: 18px;
}

/* ---------- Pola formularza ---------- */

body#checkout .mw-opc-flow .form-group.row {
  display: grid;
  grid-template-columns: 185px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 0 0 14px;
}

body#checkout .mw-opc-flow .form-group.row:last-child {
  margin-bottom: 0;
}

body#checkout .mw-opc-flow .form-group.row > .form-control-label,
body#checkout .mw-opc-flow .form-group.row > .opc_field_right {
  width: auto;
  max-width: none;
  padding: 0;
  float: none;
  flex: none;
}

body#checkout .mw-opc-flow .form-control-label {
  padding-top: 11px !important;
  color: #34454e;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

body#checkout .mw-opc-flow .form-control-label.required::after {
  margin-left: 3px;
  color: #cf2e2e;
}

body#checkout .mw-opc-flow .form-control,
body#checkout .mw-opc-flow select.form-control {
  min-height: 45px;
  padding: 10px 12px;
  border: 1px solid #bac9d0;
  border-radius: 6px;
  background-color: #fff;
  color: #17242b;
  font-size: 14px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

body#checkout .mw-opc-flow .form-control:focus,
body#checkout .mw-opc-flow select.form-control:focus {
  border-color: #0685a9;
  box-shadow: 0 0 0 3px rgba(6, 133, 169, .12);
}

body#checkout .mw-opc-field-help {
  display: block;
  margin-top: 5px;
  color: #667780;
  font-size: 11px;
  line-height: 1.4;
}

body#checkout .mw-opc-flow .form-error .form-control,
body#checkout .mw-opc-flow .form-control.is-invalid {
  border-color: #cf2e2e;
}

body#checkout .mw-opc-flow .ets_opc_error {
  margin-top: 5px;
  color: #cf2e2e;
  font-size: 12px;
}

body#checkout .type-checkout-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

body#checkout .type-checkout-options li {
  margin: 0;
}

body#checkout .type-checkout-options label {
  display: inline-flex;
  min-height: 39px;
  margin: 0;
  padding: 9px 13px;
  align-items: center;
  border: 1px solid #dce5e9;
  border-radius: 7px;
  background: #fff;
  color: #17242b;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
}

body#checkout .type-checkout-options label:has(input:checked) {
  border-color: #0685a9;
  background: rgba(6, 133, 169, .07);
  color: #046d8b;
}

body#checkout .mw-opc-company-switch {
  margin: 2px 0 14px 0px;
}

body#checkout .mw-opc-company-switch label {
  display: inline-flex;
  margin: 0;
  align-items: center;
  gap: 9px;
  color: #17242b;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
}

body#checkout .mw-opc-company-switch input {
  width: 18px;
  height: 18px;
  accent-color: #0685a9;
}

body#checkout .no_invoice_address {
  margin: 3px 0 12px;
  color: #667780;
  font-size: 12px;
  line-height: 1.5;
}

/* ---------- Dostawa ---------- */

body#checkout .block-shipping .delivery-options-list {
  margin: 0;
}

body#checkout .block-shipping .delivery-option {
  margin: 0 0 10px;
  overflow: hidden;
  border: 1px solid #dce5e9;
  border-radius: 8px;
  background: #fff;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

body#checkout .block-shipping .delivery-option:last-child {
  margin-bottom: 0;
}

body#checkout .block-shipping .delivery-option:hover {
  border-color: #9dbac6;
  background: #fbfdfe;
}

body#checkout .block-shipping .delivery-option.mw-selected {
  border-color: #0685a9;
  background: rgba(6, 133, 169, .045);
  box-shadow: 0 0 0 2px rgba(6, 133, 169, .1);
}

body#checkout .block-shipping .delivery-option > label {
  width: 100%;
  margin: 0;
  padding: 13px 14px;
  cursor: pointer;
}

body#checkout .block-shipping .delivery-option .left_content,
body#checkout .block-shipping .delivery-option .right_content {
  display: flex;
  min-height: 34px;
  align-items: center;
}

body#checkout .block-shipping .delivery-option .right_content {
  justify-content: flex-end;
  text-align: right;
}

body#checkout .block-shipping .carrier-name {
  color: #17242b;
  font-size: 13px;
  font-weight: 600;
}

body#checkout .block-shipping .carrier-price {
  color: #17242b;
  font-size: 13px;
  font-weight: 650;
}

body#checkout .block-shipping .carrier-delay {
  color: #667780;
  font-size: 11px;
  line-height: 1.35;
}

body#checkout .block-shipping .carrier-extra-content {
  margin: -2px 14px 13px;
  padding: 12px;
  border-radius: 6px;
  background: #f4f8fa;
}

/* ---------- Płatności ---------- */

body#checkout .block-payment .payment-options {
  display: grid;
  gap: 9px;
}

body#checkout .block-payment .ets_payment_method {
  overflow: hidden;
  border: 1px solid #dce5e9;
  border-radius: 8px;
  background: #fff;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

body#checkout .block-payment .ets_payment_method:hover {
  border-color: #9dbac6;
}

body#checkout .block-payment .ets_payment_method.mw-selected {
  border-color: #0685a9;
  background: rgba(6, 133, 169, .045);
  box-shadow: 0 0 0 2px rgba(6, 133, 169, .1);
}

body#checkout .block-payment .payment-option {
  display: flex;
  min-height: 52px;
  padding: 11px 13px;
  align-items: center;
  cursor: pointer;
}

body#checkout .block-payment .payment-option label {
  display: flex;
  flex: 1;
  margin: 0;
  align-items: center;
  color: #17242b;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
}

body#checkout .block-payment .payment-option label > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

body#checkout .block-payment .payment-option img {
  width: auto !important;
  max-width: 48px;
  max-height: 26px;
  object-fit: contain;
}

body#checkout .block-payment .additional-information {
  margin: 0;
  padding: 0 14px 12px 46px;
  color: #667780;
  font-size: 11px;
}

/* ---------- Podsumowanie ---------- */

body#checkout .mw-opc-summary .block-shopping-cart {
  box-shadow: 0 8px 28px rgba(22, 52, 65, .08);
}

body#checkout .mw-opc-summary .block-shopping-cart .block-content {
  padding: 12px 15px 15px;
}

body#checkout .mw-opc-summary .cart-grid,
body#checkout .mw-opc-summary .cart-grid-body {
  margin: 0;
}

body#checkout .mw-opc-summary .cart-container,
body#checkout .mw-opc-summary .cart-total-action,
body#checkout .mw-opc-summary .cart-summary {
  margin: 0;
  border: 0;
  box-shadow: none;
}

body#checkout .mw-opc-summary .cart-detailed-totals {
  border-top: 1px solid #dce5e9;
}

body#checkout .mw-opc-summary .cart-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #17242b;
}

body#checkout .mw-opc-summary .cart-summary-line .value {
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}

body#checkout .mw-opc-summary .cart-summary-line.cart-total {
  margin-top: 5px;
  padding-top: 11px;
  border-top: 1px solid #dce5e9;
  color: #0685a9;
  font-size: 18px;
  font-weight: 700;
}

body#checkout .mw-opc-promo-toggle {
  display: inline-flex;
  margin: 5px 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0685a9;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
}

body#checkout .mw-opc-promo-toggle::after {
  content: "▾";
  margin-left: 6px;
  transition: transform .16s ease;
}

body#checkout .mw-opc-promo-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

body#checkout .mw-opc-summary .ets-cart-voucher #promo-code form {
  display: flex;
  gap: 7px;
}

body#checkout .mw-opc-summary .ets-cart-voucher .promo-input {
  min-width: 0;
  height: 42px;
  flex: 1;
  border: 1px solid #bac9d0;
  border-radius: 6px;
}

body#checkout .mw-opc-summary .ets-cart-voucher .btn {
  min-height: 42px;
  border-radius: 6px;
}

body#checkout .mw-opc-summary .block-displayReassurance {
  padding: 12px 14px;
  box-shadow: none;
}

body#checkout .mw-opc-summary .block-displayReassurance ul,
body#checkout .mw-opc-summary .block-displayReassurance .blockreassurance_product {
  margin: 0;
}

body#checkout .mw-opc-summary #conditions-to-approve {
  margin: 0;
  padding: 13px 14px;
  box-shadow: none;
}

body#checkout .mw-opc-summary #conditions-to-approve ul,
body#checkout .mw-opc-summary #conditions-to-approve li {
  margin: 0;
  padding: 0;
}

body#checkout .mw-opc-summary #conditions-to-approve .condition-label {
  padding-left: 27px;
}

body#checkout .mw-opc-summary #conditions-to-approve label {
  color: #17242b;
  font-size: 11px;
  line-height: 1.45;
}

body#checkout .mw-opc-summary .checkout.card-block {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"] {
  width: 100%;
  min-height: 52px;
  padding: 14px 18px;
  background: #10a651;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
}

body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"]:hover,
body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"]:focus {
  background: #0b843f;
  box-shadow: 0 7px 18px rgba(16, 166, 81, .24);
}

body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"]:disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

body#checkout .mw-opc-summary .safe_icon {
  display: block;
  max-width: 100%;
  max-height: 38px;
  margin: 10px auto 0;
  object-fit: contain;
}

/* ---------- Komentarz ---------- */

body#checkout .block-comment .title-heading {
  position: relative;
  border-bottom: 0;
  cursor: pointer;
  user-select: none;
}

body#checkout .block-comment .title-heading::after {
  content: "＋";
  position: absolute;
  top: 50%;
  right: 17px;
  color: #0685a9;
  font-size: 19px;
  font-weight: 500;
  transform: translateY(-50%);
}

body#checkout .block-comment:not(.is-collapsed) .title-heading::after {
  content: "−";
}

body#checkout .block-comment textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  border: 1px solid #bac9d0;
  border-radius: 6px;
}

body#checkout .block-comment #label_delivery_message {
  display: none;
}

/* ---------- Klikalne kontrolki ---------- */

body#checkout .custom-radio,
body#checkout .ets_checkinput input + .ets_checkbox {
  flex: 0 0 auto;
}

body#checkout .custom-radio input[type="radio"] {
  cursor: pointer;
}

body#checkout .custom-radio input[type="radio"]:focus + span,
body#checkout input[type="checkbox"]:focus + .ets_checkbox {
  outline: 2px solid rgba(6, 133, 169, .35);
  outline-offset: 2px;
}

/* ---------- Pasek mobilny ---------- */

.mw-opc-mobile-bar {
  display: none;
}

/* ---------- Tablet ---------- */

@media (max-width: 991px) {
  body#cart .cart-grid-right {
    position: static;
  }

  body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  body#checkout .mw-opc-flow,
  body#checkout .mw-opc-summary {
    grid-column: 1;
  }

  body#checkout .mw-opc-summary {
    position: static;
  }
}

/* ---------- Telefon ---------- */

@media (max-width: 767px) {
  body#checkout {
    padding-bottom: 72px;
  }

  body#cart #wrapper,
  body#checkout #wrapper {
    padding-top: 10px;
  }

  body#cart .cart-container h1.h1 {
    font-size: 19px;
  }

  body#checkout .mw-opc-flow {
    gap: 13px;
  }

  body#checkout .block-onepagecheckout > .title-heading {
    min-height: 50px;
    padding: 13px 14px;
    font-size: 15px;
  }

  body#checkout .block-onepagecheckout > .block-content,
  body#checkout .block-address > .address-selector {
    padding: 14px;
  }

  body#checkout .mw-opc-flow .form-group.row {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    margin-bottom: 13px;
  }

  body#checkout .mw-opc-flow .form-control-label {
    padding-top: 0 !important;
    font-size: 12px;
  }

  body#checkout .mw-opc-flow .form-control,
  body#checkout .mw-opc-flow select.form-control {
    min-height: 48px;
    font-size: 16px;
  }

  body#checkout .mw-opc-company-switch {
    margin: 2px 0 14px;
  }

  body#checkout .type-checkout-options {
    display: grid;
    grid-template-columns: 1fr;
  }

  body#checkout .type-checkout-options label {
    width: 100%;
    min-height: 44px;
  }

  body#checkout .block-shipping .delivery-option .left_content,
  body#checkout .block-shipping .delivery-option .right_content {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
  }

  body#checkout .block-shipping .delivery-option .right_content {
    margin-top: 7px;
    padding-left: 32px;
  }

  body#checkout .block-shipping .delivery-option .right_content > div {
    width: auto;
    padding: 0 14px 0 0;
  }

  body#checkout .mw-opc-summary .checkout.card-block {
    display: none;
  }

  .mw-opc-mobile-bar {
    position: fixed;
    z-index: 999;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 64px;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #dce5e9;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -7px 22px rgba(22, 52, 65, .13);
  }

  .mw-opc-mobile-total {
    color: #17242b;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
  }

  .mw-opc-mobile-submit {
    min-height: 46px;
    min-width: 170px;
    padding: 11px 16px;
    border: 0;
    border-radius: 7px;
    background: #10a651;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
  }

  .mw-opc-mobile-submit:disabled {
    cursor: not-allowed;
    opacity: .5;
  }
}

@media (max-width: 390px) {
  .mw-opc-mobile-submit {
    min-width: 148px;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body#cart .btn-primary,
  body#checkout .btn-primary,
  body#checkout .block-shipping .delivery-option,
  body#checkout .block-payment .ets_payment_method {
    transition: none;
  }
}

/* =========================================================
   V1.2 — DOPRACOWANIE WIZUALNE CHECKOUTU
   ========================================================= */

body#checkout #form_ets_onepagecheckout.mw-opc-ready {
  box-sizing: border-box;
  padding: 20px !important;
  border: 1px solid #e3eaed;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 9px 30px rgba(29, 55, 68, .08);
  font-family: "Poppins", Arial, sans-serif !important;
}

body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 410px) !important;
  gap: 20px;
}

body#checkout .mw-opc-flow {
  gap: 14px;
}

body#checkout .mw-opc-flow .block-onepagecheckout {
  border: 1px solid #d8e4e8;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(29, 55, 68, .045);
}

body#checkout .mw-opc-flow .block-onepagecheckout > .title-heading {
  min-height: 56px;
  margin: 0 !important;
  padding: 15px 18px;
  border-bottom: 1px solid #e4ecef;
  border-radius: 12px 12px 0 0;
  color: #17242b;
  font-size: 17px;
  font-weight: 650;
}

body#checkout .mw-opc-flow .mw-opc-step-heading {
  display: flex;
  align-items: center;
  gap: 11px;
}

body#checkout .mw-opc-flow .mw-opc-step-heading > .ets_icon_svg {
  display: none;
}

body#checkout .mw-opc-flow .mw-opc-step-heading::before {
  content: attr(data-mw-step);
  display: inline-flex;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #0685a9;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

body#checkout .mw-opc-flow .block-onepagecheckout > .block-content,
body#checkout .mw-opc-flow .block-address > .address-selector {
  min-height: 0 !important;
  height: auto !important;
  padding: 18px 20px !important;
}

/* ---------- Krótszy i równiej ustawiony formularz ---------- */

body#checkout .mw-opc-flow .form-group.row {
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 14px;
  margin: 0 0 12px !important;
}

body#checkout .mw-opc-flow .form-control,
body#checkout .mw-opc-flow select.form-control {
  min-height: 44px;
  border-color: #b9cbd2;
  border-radius: 7px;
}

body#checkout .mw-opc-flow .form-control-label {
  padding-top: 10px !important;
}

body#checkout .type-checkout-options {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 20px 0px !important;
}

body#checkout .type-checkout-options li {
  display: block;
  min-width: 0;
}

body#checkout .type-checkout-options li label {
  width: 100%;
  min-height: 42px;
  justify-content: center;
  padding: 9px 10px;
  border-color: #d6e3e8;
  text-align: center;
}

body#checkout .type-checkout-options li label:has(input:checked) {
  border-color: #9dcbd7;
  background: #edf8fb;
  color: #056e8d;
  box-shadow: inset 0 0 0 1px rgba(6, 133, 169, .06);
}

body#checkout .block-customer .form-group.row:has(input[type="checkbox"]),
body#checkout .block-address .form-group.row:has(input[type="checkbox"]) {
  /*
   * Bez !important: ETS steruje inline widocznością pól guest/create.
   * Wymuszenie display:block pokazywało checkboxy nieaktywnego trybu.
   */
  display: block;
  width: auto !important;
  margin: 7px 0 8px 0px !important;
}

body#checkout .block-customer .form-group.row:has(input[type="checkbox"]) > *,
body#checkout .block-address .form-group.row:has(input[type="checkbox"]) > * {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body#checkout .mw-opc-company-switch {
  margin: 2px 0 15px 0px;
}

body#checkout .block-address .no_invoice_address {
  margin-left: 0px;
}

body#checkout .block-address label[for="use_another_address_for_invoice"],
body#checkout .block-address label[for="use_invoice_address"] {
  display: inline-flex;
  margin-left: 0px;
  align-items: flex-start;
  gap: 8px;
}

body#checkout .mw-opc-flow .checkbox label,
body#checkout .mw-opc-flow .custom-checkbox label,
body#checkout .mw-opc-flow .ets_checkinput {
  color: #34454e;
  font-size: 12px;
  line-height: 1.45;
}

/* ---------- Dostawa: każdy wariant jest pełnym kaflem ---------- */

body#checkout #form_ets_onepagecheckout .block-shipping .block-content {
  padding: 16px !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-options,
body#checkout #form_ets_onepagecheckout .block-shipping .delivery-options-list {
  margin: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .row.delivery-option {
  display: block !important;
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  border: 1px solid #d7e3e7;
  border-radius: 9px;
  background: #fff;
}

body#checkout #form_ets_onepagecheckout .block-shipping .row.delivery-option:hover {
  border-color: #a8c5cf;
  background: #fbfdfe;
}

body#checkout #form_ets_onepagecheckout .block-shipping .row.delivery-option.mw-selected {
  border-color: #8fc9d7;
  background: #eef8fa;
  box-shadow: 0 0 0 2px rgba(6, 133, 169, .08);
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option > label {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 13px 14px !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option > label > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .left_content,
body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .right_content {
  width: auto !important;
  min-height: 30px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .left_content {
  justify-content: flex-start;
}

/*
 * ETS nadaje nazwie przewoźnika klasę .h6, która dziedziczy dolny margines
 * nagłówka i przesuwa optycznie radio button o ok. 5 px w dół.
 * Zerowanie marginesu/paddingu sprawia, że koło i pierwszy wiersz tekstu
 * mają wspólny środek w osi pionowej.
 */
body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .carrier-name-img {
  display: flex;
  min-width: 0;
  align-items: center;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .carrier-name {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .custom-radio {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .right_content {
  display: flex !important;
  gap: 14px;
  justify-content: flex-end;
}

body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .right_content > div {
  width: auto !important;
  padding: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-price {
  white-space: nowrap;
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-delay {
  display: block;
  max-width: 170px;
  text-align: right;
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content {
  margin: -3px 0 10px !important;
  padding: 12px 14px !important;
  border: 1px solid #dfeaec;
  border-radius: 8px;
  background: #f7fafb;
  text-align: center;
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content .btn,
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content button {
  min-height: 42px;
  padding: 10px 16px;
  border: 0;
  border-radius: 7px;
  background: #0685a9;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
}

/* ---------- Płatność: równe, zwarte kafle ---------- */

body#checkout #form_ets_onepagecheckout .block-payment .block-content {
  padding: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-payment .content {
  padding: 16px !important;
}

body#checkout #form_ets_onepagecheckout .block-payment .payment-options {
  display: grid !important;
  gap: 9px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-payment .payment-options > form:empty {
  display: none;
}

body#checkout #form_ets_onepagecheckout .block-payment .ets_payment_method {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d7e3e7;
  border-radius: 9px;
  background: #fff;
}

body#checkout #form_ets_onepagecheckout .block-payment .ets_payment_method.mw-selected {
  border-color: #8fc9d7;
  background: #eef8fa;
  box-shadow: 0 0 0 2px rgba(6, 133, 169, .08);
}

body#checkout #form_ets_onepagecheckout .block-payment .payment-option {
  min-height: 58px;
  margin: 0 !important;
  padding: 12px 14px !important;
}

body#checkout #form_ets_onepagecheckout .block-payment .payment-option label {
  margin: 0 !important;
  font-size: 13px;
}

body#checkout #form_ets_onepagecheckout .block-payment .payment-option img {
  margin: 0 10px 0 0 !important;
}

body#checkout #form_ets_onepagecheckout .block-payment .additional-information {
  margin: 0 !important;
  padding: 0 14px 13px 47px !important;
}

/* ---------- Jeden spójny panel podsumowania ---------- */

body#checkout .mw-opc-summary {
  position: sticky;
  top: var(--mw-checkout-top, 80px);
  display: flex;
  gap: 0;
  align-self: start;
  overflow: hidden;
  border: 1px solid #d4e2e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(29, 55, 68, .09);
}

body#checkout .mw-opc-summary > * {
  width: 100%;
  flex: 0 0 auto;
}

body#checkout .mw-opc-summary .block-shopping-cart {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body#checkout .mw-opc-summary .block-shopping-cart > .title-heading {
  min-height: 57px;
  margin: 0 !important;
  padding: 16px 18px;
  border: 0;
  border-bottom: 1px solid #e3ebee;
  border-radius: 0;
  color: #17242b;
  font-size: 17px;
  font-weight: 650;
}

body#checkout .mw-opc-summary .block-shopping-cart .block-content {
  padding: 0 18px 15px !important;
}

body#checkout .mw-opc-summary .cart-items {
  max-height: 280px;
  margin: 0;
  padding: 0 3px 0 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bfd1d8 transparent;
}

body#checkout .mw-opc-summary .product-line-grid {
  position: relative;
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 0 13px;
  margin: 0 !important;
  padding: 15px 0 !important;
}

body#checkout .mw-opc-summary .product-line-grid-left {
  grid-column: 1;
  grid-row: 1;
  width: 84px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body#checkout .mw-opc-summary .product-line-grid-left .product-image {
  display: flex;
  width: 84px;
  height: 84px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #e1e9ec;
  border-radius: 8px;
  background: #fff;
}

body#checkout .mw-opc-summary .product-line-grid-left img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
}

body#checkout .mw-opc-summary .product-line-grid-body {
  grid-column: 2;
  grid-row: 1;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body#checkout .mw-opc-summary .product-line-grid-body .product_info_name {
  margin: 0 0 7px;
}

body#checkout .mw-opc-summary .product-line-grid-body .product_info_name a.label {
  display: block;
  padding: 0;
  color: #276f83;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

body#checkout .mw-opc-summary .product-line-grid-body .attribute {
  margin: 0 0 3px !important;
  color: #566a74;
  font-size: 11px;
  line-height: 1.35;
}

body#checkout .mw-opc-summary .product-line-grid-body > .product-price {
  display: none !important;
}

body#checkout .mw-opc-summary .product-line-grid-right.product-line-actions {
  grid-column: 1 / -1;
  grid-row: 2;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 13px 0 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid #e7edef;
  float: none !important;
}

body#checkout .mw-opc-summary .product-line-grid-right > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 8px;
  align-items: center;
  margin: 0 !important;
}

body#checkout .mw-opc-summary .form_info_price_mobile {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .form_info_price_mobile > .row {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 0 !important;
}

body#checkout .mw-opc-summary .form_info_price_mobile .qty {
  width: 96px !important;
  max-width: 96px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .form_info_price_mobile .bootstrap-touchspin {
  width: 96px !important;
  max-width: 96px;
}

body#checkout .mw-opc-summary .form_info_price_mobile .form_total_price {
  width: auto !important;
  min-width: 94px;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right;
}

body#checkout .mw-opc-summary .form_total_price .product-price {
  color: #087f9f;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

body#checkout .mw-opc-summary .ets_remove_cart {
  width: 30px !important;
  max-width: 30px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .remove-from-cart {
  display: flex !important;
  width: 30px !important;
  height: 34px !important;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #788b94;
}

body#checkout .mw-opc-summary .remove-from-cart:hover {
  background: #fff1f1;
  color: #c74040;
}

body#checkout .mw-opc-summary .product-line-grid > .clearfix {
  display: none;
}

body#checkout .mw-opc-summary .cart-total-action > .row {
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
}

body#checkout .mw-opc-summary .cart-total-action > .row > div {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .cart-total-action > .row > div:first-child {
  order: 2;
}

body#checkout .mw-opc-summary .cart-total-action > .row > div:last-child {
  order: 1;
}

body#checkout .mw-opc-summary .cart-detailed-totals {
  margin: 0;
  padding: 12px 0 2px;
  border-top: 1px solid #dfe8eb;
}

body#checkout .mw-opc-summary .cart-detailed-totals > .card-block,
body#checkout .mw-opc-summary .cart-detailed-totals > .card-block.cart-summary-totals {
  display: block;
  margin: 0;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .cart-summary-line {
  min-height: 27px;
  margin: 0 !important;
  padding: 3px 0 !important;
  align-items: baseline;
  font-size: 12px;
}

body#checkout .mw-opc-summary .cart-summary-line.cart-total {
  min-height: 44px;
  margin-top: 7px !important;
  padding: 11px 0 3px !important;
  align-items: center;
  border-top: 1px solid #dfe8eb;
  font-size: 18px;
}

body#checkout .mw-opc-summary .cart-summary-line.cart-total .label,
body#checkout .mw-opc-summary .cart-summary-line.cart-total .value {
  font-size: 18px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
}

body#checkout .mw-opc-summary .block-promo {
  margin: 0;
  padding: 3px 0 0;
}

body#checkout .mw-opc-summary .mw-opc-promo-toggle {
  margin: 3px 0 4px;
  font-size: 11px;
}

body#checkout .mw-opc-summary .block-displayReassurance {
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 0 !important;
  border-top: 1px solid #e2eaed !important;
  border-radius: 0 !important;
  background: #fbfcfd;
  box-shadow: none !important;
}

body#checkout .mw-opc-summary .blockreassurance_product > div {
  min-height: 37px;
  margin: 0 !important;
  padding: 3px 0 !important;
  align-items: center;
  font-size: 11px;
}

body#checkout .mw-opc-summary .blockreassurance_product .item-product {
  width: 32px;
  height: 32px;
  margin-right: 10px;
}

body#checkout .mw-opc-summary #conditions-to-approve {
  margin: 0 !important;
  padding: 13px 18px !important;
  border: 0 !important;
  border-top: 1px solid #e2eaed !important;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: none !important;
}

body#checkout .mw-opc-summary #conditions-to-approve li {
  align-items: flex-start;
}

body#checkout .mw-opc-summary #conditions-to-approve .condition-label {
  padding-left: 25px;
}

body#checkout .mw-opc-summary #conditions-to-approve label {
  font-size: 10.5px;
  line-height: 1.45;
}

body#checkout .mw-opc-summary .mw-opc-checkout-action {
  display: block !important;
  margin: 0 !important;
  padding: 14px 18px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body#checkout .mw-opc-summary .mw-opc-checkout-action .text-center {
  width: 100%;
}

body#checkout .mw-opc-summary .mw-opc-checkout-action button[name="submitCompleteMyOrder"] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 54px;
  margin: 0 !important;
  padding: 14px 16px;
  border-radius: 8px;
  background: #10a651;
  box-shadow: 0 7px 17px rgba(16, 166, 81, .2);
  font-size: 14px;
  font-weight: 750;
}

body#checkout .mw-opc-summary .mw-opc-checkout-action button[name="submitCompleteMyOrder"]:hover,
body#checkout .mw-opc-summary .mw-opc-checkout-action button[name="submitCompleteMyOrder"]:focus {
  background: #0b843f;
}

body#checkout .mw-opc-summary #payment-confirmation {
  display: none !important;
}

body#checkout .block-comment > .title-heading {
  min-height: 56px;
  margin: 0 !important;
  padding: 15px 18px;
  border-radius: 12px;
  font-size: 15px;
}

body#checkout .block-comment:not(.is-collapsed) > .title-heading {
  border-radius: 12px 12px 0 0;
}

/* ---------- Mniejszy desktop ---------- */

@media (max-width: 10px) and (min-width: 992px) {
  body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
    grid-template-columns: minmax(0, 1fr) 380px !important;
  }

  body#checkout .mw-opc-flow .form-group.row {
    grid-template-columns: 155px minmax(0, 1fr);
  }

  body#checkout .type-checkout-options,
  body#checkout .block-customer .form-group.row:has(input[type="checkbox"]),
  body#checkout .block-address .form-group.row:has(input[type="checkbox"]),
  body#checkout .mw-opc-company-switch,
  body#checkout .block-address .no_invoice_address,
  body#checkout .block-address label[for="use_another_address_for_invoice"],
  body#checkout .block-address label[for="use_invoice_address"] {
    margin-left: 0 !important;
  }
}

/* ---------- Tablet ---------- */

@media (max-width: 991px) {
  body#checkout #form_ets_onepagecheckout.mw-opc-ready {
    padding: 16px !important;
  }

  body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body#checkout .mw-opc-summary {
    position: static;
    grid-column: 1;
    margin-top: 2px !important;
  }
}

/* ---------- Telefon ---------- */

@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout.mw-opc-ready {
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body#checkout .mw-opc-flow {
    gap: 11px;
  }

  body#checkout .mw-opc-flow .block-onepagecheckout > .title-heading {
    min-height: 52px;
    padding: 12px 14px;
    font-size: 15px;
  }

  body#checkout .mw-opc-flow .block-onepagecheckout > .block-content,
  body#checkout .mw-opc-flow .block-address > .address-selector {
    padding: 14px !important;
  }

  body#checkout .mw-opc-flow .form-group.row {
    grid-template-columns: minmax(0, 1fr);
  }

  body#checkout .type-checkout-options {
    grid-template-columns: minmax(0, 1fr);
    margin-left: 0 !important;
  }

  body#checkout .block-customer .form-group.row:has(input[type="checkbox"]),
  body#checkout .block-address .form-group.row:has(input[type="checkbox"]),
  body#checkout .mw-opc-company-switch,
  body#checkout .block-address .no_invoice_address,
  body#checkout .block-address label[for="use_another_address_for_invoice"],
  body#checkout .block-address label[for="use_invoice_address"] {
    margin-left: 0 !important;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option > label > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .right_content {
    padding-left: 31px !important;
    justify-content: flex-start;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .carrier-delay {
    max-width: none;
    text-align: left;
  }

  body#checkout .mw-opc-summary .cart-items {
    max-height: none;
  }

  body#checkout .mw-opc-summary .product-line-grid {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0 11px;
  }

  body#checkout .mw-opc-summary .product-line-grid-left,
  body#checkout .mw-opc-summary .product-line-grid-left .product-image {
    width: 72px !important;
    height: 72px;
  }

  body#checkout .mw-opc-summary .mw-opc-checkout-action {
    display: none !important;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.3.0 — korekty po teście wizualnym
   ========================================================= */

/* Numeracja nie zależy od atrybutu odtwarzanego przez AJAX modułu. */
body#checkout .mw-opc-flow .block-customer > .title-heading,
body#checkout .mw-opc-flow .block-address > .title-heading,
body#checkout .mw-opc-flow .block-shipping > .title-heading,
body#checkout .mw-opc-flow .block-payment > .title-heading {
  display: flex !important;
  align-items: center;
  gap: 11px;
}

body#checkout .mw-opc-flow .block-customer > .title-heading > .ets_icon_svg,
body#checkout .mw-opc-flow .block-address > .title-heading > .ets_icon_svg,
body#checkout .mw-opc-flow .block-shipping > .title-heading > .ets_icon_svg,
body#checkout .mw-opc-flow .block-payment > .title-heading > .ets_icon_svg {
  display: none !important;
}

body#checkout .mw-opc-flow .block-customer > .title-heading::before,
body#checkout .mw-opc-flow .block-address > .title-heading::before,
body#checkout .mw-opc-flow .block-shipping > .title-heading::before,
body#checkout .mw-opc-flow .block-payment > .title-heading::before {
  display: inline-flex !important;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #0685a9;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

body#checkout .mw-opc-flow .block-customer > .title-heading::before {
  content: "1" !important;
}

body#checkout .mw-opc-flow .block-address > .title-heading::before {
  content: "2" !important;
}

body#checkout .mw-opc-flow .block-shipping > .title-heading::before {
  content: "3" !important;
}

body#checkout .mw-opc-flow .block-payment > .title-heading::before {
  content: "4" !important;
}

/* JS oznacza równoważne zgody, ale zachowuje i synchronizuje ich inputy. */
body#checkout .block-customer .mw-opc-duplicate-consent,
body#checkout .block-customer .mw-opc-optional-marketing {
  display: none !important;
}

/*
 * Reguła formularza checkboxów używa :has() i display:block!important.
 * Ten selektor celowo ma większą specyficzność, aby oznaczone pola
 * pozostały ukryte również po odświeżeniu sekcji przez AJAX.
 */
body#checkout #form_ets_onepagecheckout .mw-opc-flow .block-customer .form-group.row.mw-opc-duplicate-consent:has(input[type="checkbox"]),
body#checkout #form_ets_onepagecheckout .mw-opc-flow .block-customer .form-group.row.mw-opc-optional-marketing:has(input[type="checkbox"]) {
  display: none !important;
  margin: 0 !important;
}

/* Pole dodatkowego adresu nie otrzymuje podwójnego odsunięcia. */
body#checkout .block-address label[for="use_another_address_for_invoice"],
body#checkout .block-address label[for="use_invoice_address"] {
  margin-left: 0 !important;
}

/* Usunięcie poziomego paska przewijania generowanego przez wiersz produktu. */
body#checkout .mw-opc-summary .cart-items {
  overflow-x: hidden !important;
}

body#checkout .mw-opc-summary .product-line-grid,
body#checkout .mw-opc-summary .product-line-grid-right,
body#checkout .mw-opc-summary .product-line-grid-right > .row,
body#checkout .mw-opc-summary .form_info_price_mobile,
body#checkout .mw-opc-summary .form_info_price_mobile > .row {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

body#checkout .mw-opc-summary .form_info_price_mobile > .row {
  width: 100% !important;
}

/* Przycisk wyboru punktu pozostaje czytelny niezależnie od CSS przewoźnika. */
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content .btn,
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content button,
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content a[class*="btn"],
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content input[type="button"],
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content input[type="submit"] {
  min-height: 42px !important;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #0685a9 !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(6, 133, 169, .18) !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  -webkit-text-fill-color: #fff !important;
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content .btn:hover,
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content button:hover,
body#checkout #form_ets_onepagecheckout .block-shipping .carrier-extra-content a[class*="btn"]:hover {
  background: #046d8b !important;
}

/* Wewnętrzny komponent reassurance jest częścią jednego panelu, nie osobną kartą. */
body#checkout .mw-opc-summary .block-displayReassurance .blockreassurance_product {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* CTA: widoczny tekst i jednoznaczny stan również przed uzupełnieniem formularza. */
body#checkout .mw-opc-summary .mw-opc-checkout-action button[name="submitCompleteMyOrder"],
body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"] {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #10a651 !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(16, 166, 81, .2) !important;
  opacity: 1 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  -webkit-text-fill-color: #fff !important;
}

body#checkout .mw-opc-summary .mw-opc-checkout-action button[name="submitCompleteMyOrder"]:disabled,
body#checkout .mw-opc-summary .checkout button[name="submitCompleteMyOrder"]:disabled {
  cursor: not-allowed !important;
  background: #72bd8e !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(16, 166, 81, .15) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 767px) {
  body#checkout .mw-opc-summary .mw-opc-checkout-action {
    display: none !important;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.7.0
   Wiele produktów + panel mieszczący się w oknie
   ========================================================= */

@media (min-width: 992px) {
  /*
   * Cały panel mieści się w aktualnej wysokości okna.
   * Stałe pozostają: nagłówek, sumy, reassurance, zgoda i CTA.
   * Kurczy się wyłącznie obszar listy produktów.
   */
  body#checkout .mw-opc-summary {
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    min-height: 0;
  }

  body#checkout .mw-opc-summary .block-shopping-cart {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
  }

  body#checkout .mw-opc-summary .block-shopping-cart > .title-heading {
    flex: 0 0 auto;
  }

  body#checkout .mw-opc-summary .block-shopping-cart > .block-content {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  body#checkout .mw-opc-summary .block-shopping-cart > .block-content > #main,
  body#checkout .mw-opc-summary .block-shopping-cart #main > .cart-grid,
  body#checkout .mw-opc-summary .block-shopping-cart #main > .cart-grid > .cart-grid-body {
    display: flex;
    width: 100%;
    min-height: 0;
    flex: 1 1 auto;
  }

  body#checkout .mw-opc-summary .block-shopping-cart #main > .cart-grid {
    margin: 0 !important;
  }

  body#checkout .mw-opc-summary .block-shopping-cart #main > .cart-grid > .cart-grid-body {
    padding: 0 !important;
    flex-direction: column;
  }

  body#checkout .mw-opc-summary .block-shopping-cart .cart-container {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  body#checkout .mw-opc-summary .block-shopping-cart .cart-overview {
    display: flex;
    width: 100%;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
  }

  body#checkout .mw-opc-summary .block-shopping-cart .cart-items {
    width: 100%;
    height: 100%;
    max-height: none;
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  body#checkout .mw-opc-summary .block-shopping-cart .cart-total-action {
    flex: 0 0 auto;
  }

  /*
   * Zwarty wiersz produktu: zdjęcie zajmuje lewą kolumnę,
   * a ilość, cena i usunięcie są pod nazwą zamiast pod całym kaflem.
   */
  body#checkout .mw-opc-summary .product-line-grid {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 0 11px;
    padding: 12px 0 !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-left {
    grid-row: 1 / span 2;
    width: 68px !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-left .product-image {
    width: 68px;
    height: 68px;
  }

  body#checkout .mw-opc-summary .product-line-grid-body .product_info_name {
    margin-bottom: 4px;
  }

  body#checkout .mw-opc-summary .product-line-grid-body .product_info_name a.label {
    font-size: 12.5px;
    line-height: 1.3;
  }

  body#checkout .mw-opc-summary .product-line-grid-right.product-line-actions {
    grid-column: 2;
    grid-row: 2;
    margin: 7px 0 0 !important;
    padding: 7px 0 0 !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-right > .row {
    grid-template-columns: minmax(0, 1fr) 26px;
    gap: 6px;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile > .row {
    gap: 8px;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile .qty,
  body#checkout .mw-opc-summary .form_info_price_mobile .bootstrap-touchspin {
    width: 84px !important;
    max-width: 84px;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile .form_total_price {
    min-width: 82px;
  }

  body#checkout .mw-opc-summary .form_total_price .product-price {
    font-size: 12.5px;
  }

  body#checkout .mw-opc-summary .ets_remove_cart {
    width: 26px !important;
    max-width: 26px;
  }

  body#checkout .mw-opc-summary .remove-from-cart {
    width: 26px !important;
    height: 32px !important;
  }

  body#checkout .mw-opc-summary .cart-item + .cart-item {
    border-top: 1px solid #e4ecef;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.9.0
   Wyłącznie telefon — bez zmian desktopu i tabletu
   ========================================================= */

@media (max-width: 767px) {
  /*
   * Używamy prawdziwego przycisku formularza zamiast kopii tworzonej przez JS.
   * Dzięki temu CTA zawsze zachowuje stan disabled, walidację i wysłanie ETS.
   */
  body#checkout {
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
  }

  body#checkout .mw-opc-mobile-bar {
    display: none !important;
  }

  body#checkout .mw-opc-summary .checkout.card-block.mw-opc-checkout-action {
    position: fixed !important;
    z-index: 1200;
    right: 0;
    bottom: 0;
    left: 0;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
    border: 0 !important;
    border-top: 1px solid #d8e3e7 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 -7px 22px rgba(22, 52, 65, .14) !important;
  }

  body#checkout .mw-opc-summary .checkout.card-block.mw-opc-checkout-action .text-center {
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
  }

  body#checkout .mw-opc-summary .checkout.card-block.mw-opc-checkout-action button[name="submitCompleteMyOrder"] {
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
  }

  /* Zwarty, jednoliniowy górny pasek checkoutu. */
  body#checkout #header nav.header-nav {
    min-height: 38px;
    line-height: 38px;
  }

  body#checkout #header nav.header-nav .container > .row > [class*="col-"] {
    display: flex !important;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  body#checkout #header #_desktop_contact_link {
    min-width: 0;
    float: none;
  }

  body#checkout #header #contact-link {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
  }

  body#checkout #header #contact-link span.shop-phone {
    padding: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  body#checkout #header .lang_currency_top {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    float: none;
    white-space: nowrap;
  }

  body#checkout #header .header-top,
  body#checkout #header .header-top > .container > .row.header-flex,
  body#checkout #header .header-top > .container > .row.header-flex > * {
    height: 84px !important;
    min-height: 84px !important;
  }

  body#checkout #header .header-top #_desktop_logo > img {
    max-height: 84px !important;
  }

  /* Mniej pustej przestrzeni w danych kontaktowych i adresowych. */
  body#checkout .mw-opc-flow .block-onepagecheckout > .block-content,
  body#checkout .mw-opc-flow .block-address > .address-selector {
    padding: 12px !important;
  }

  body#checkout .mw-opc-flow .form-group.row {
    gap: 4px;
    margin: 0 0 10px !important;
  }

  body#checkout #form_ets_onepagecheckout.layout_1 .type-checkout-option .opc_field_right,
  body#checkout #form_ets_onepagecheckout.layout_1 .block-onepagecheckout .form-group .form-control-label + .col-md-8,
  body#checkout #form_ets_onepagecheckout.layout_1 .block-onepagecheckout .opc_field_right {
    padding-bottom: 0 !important;
  }

  body#checkout .mw-opc-field-help {
    margin-top: 3px;
  }

  /*
   * Gość pozostaje czytelnym wyborem głównym, a logowanie i rejestracja
   * mieszczą się obok siebie zamiast zajmować trzy pełne wiersze.
   */
  body#checkout .type-checkout-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 0 0 14px !important;
  }

  body#checkout .type-checkout-options li:first-child {
    grid-column: 1 / -1;
  }

  body#checkout .type-checkout-options li label {
    min-height: 42px;
    padding: 8px 9px;
    font-size: 11.5px;
  }

  /* Dostawy pozostają pełnymi kaflami, ale bez nadmiarowej wysokości. */
  body#checkout #form_ets_onepagecheckout .block-shipping .block-content {
    padding: 12px !important;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option > label {
    padding: 11px 12px !important;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .left_content {
    min-height: 25px;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .delivery-option .right_content {
    min-height: 0;
    margin-top: 3px !important;
    padding-left: 27px !important;
    gap: 10px;
  }

  body#checkout #form_ets_onepagecheckout .block-shipping .carrier-price,
  body#checkout #form_ets_onepagecheckout .block-shipping .carrier-delay {
    font-size: 11.5px;
    line-height: 1.35;
  }

  /* Czytelniejsze i niższe pozycje w podsumowaniu. */
  body#checkout .mw-opc-summary .block-shopping-cart .block-content {
    padding: 0 14px 12px !important;
  }

  body#checkout .mw-opc-summary .product-line-grid {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 0 10px;
    padding: 12px 0 !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-left,
  body#checkout .mw-opc-summary .product-line-grid-left .product-image {
    width: 64px !important;
    height: 64px;
  }

  body#checkout .mw-opc-summary .product-line-grid-body .product_info_name {
    margin-bottom: 3px;
  }

  body#checkout .mw-opc-summary .product-line-grid-right.product-line-actions {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-right > .row {
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 5px;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 90px minmax(0, 1fr);
    gap: 4px !important;
    align-items: end;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile > .row > div {
    width: auto !important;
    min-width: 0;
    padding: 0 4px !important;
  }

  body#checkout .mw-opc-summary .product-line-grid-right .qty::before,
  body#checkout .mw-opc-summary .product-line-grid-right .form_price::before,
  body#checkout .mw-opc-summary .product-line-grid-right .form_total_price::before {
    margin: 0 0 4px;
    color: #667780;
    font-size: 10.5px;
    line-height: 1.2;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile .qty,
  body#checkout .mw-opc-summary .form_info_price_mobile .bootstrap-touchspin {
    width: 90px !important;
    max-width: 90px;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile .form_total_price {
    min-width: 0;
  }

  body#checkout .mw-opc-summary .form_info_price_mobile .product-price,
  body#checkout .mw-opc-summary .form_info_price_mobile .price {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body#checkout .mw-opc-summary .ets_remove_cart,
  body#checkout .mw-opc-summary .remove-from-cart {
    width: 28px !important;
    max-width: 28px;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.10.0
   Wszystkie wymagane zgody w jednym miejscu
   ========================================================= */

body#checkout .mw-opc-summary .mw-opc-consents-panel {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #e2eaed;
  background: #fff;
}

body#checkout .mw-opc-summary .mw-opc-consents-title {
  margin: 0;
  padding: 12px 18px 4px;
  color: #17242b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

body#checkout .mw-opc-summary .mw-opc-final-consents:empty {
  display: none;
}

body#checkout .mw-opc-summary .mw-opc-final-consent-item {
  display: block;
  width: 100% !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box;
}

body#checkout .mw-opc-summary .mw-opc-final-consent-item > * {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-final-consent-item .checkbox,
body#checkout .mw-opc-summary .mw-opc-final-consent-item .custom-checkbox {
  margin: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-final-consent-item label {
  margin: 0 !important;
  color: #17242b;
  font-size: 10.5px;
  line-height: 1.45;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve {
  margin: 0 !important;
  padding: 8px 18px 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: none !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel.has-customer-consents #conditions-to-approve {
  margin-top: 2px !important;
  padding-top: 10px !important;
  border-top: 1px solid #edf2f4 !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve ul,
body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve li {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve label {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  body#checkout .mw-opc-summary .mw-opc-consents-title {
    padding: 13px 14px 4px;
  }

  body#checkout .mw-opc-summary .mw-opc-final-consent-item {
    padding: 8px 14px !important;
  }

  body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve {
    padding: 8px 14px 13px !important;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.11.0
   Bez automatycznego przybliżania formularza na iOS
   ========================================================= */

@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout input:not([type]),
  body#checkout #form_ets_onepagecheckout input[type="text"],
  body#checkout #form_ets_onepagecheckout input[type="email"],
  body#checkout #form_ets_onepagecheckout input[type="tel"],
  body#checkout #form_ets_onepagecheckout input[type="number"],
  body#checkout #form_ets_onepagecheckout input[type="password"],
  body#checkout #form_ets_onepagecheckout input[type="search"],
  body#checkout #form_ets_onepagecheckout input[type="url"],
  body#checkout #form_ets_onepagecheckout input[type="date"],
  body#checkout #form_ets_onepagecheckout select,
  body#checkout #form_ets_onepagecheckout textarea {
    font-size: 16px !important;
  }
}

/* =========================================================
   MW CHECKOUT OPTIMIZER 1.12.0
   Równy odstęp checkboxów w panelu wymaganych zgód
   ========================================================= */

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve li {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 4px;
  align-items: start !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve li > .float-xs-left {
  float: none !important;
  width: 16px;
  min-width: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve .condition-label {
  min-width: 0;
  margin: 0 !important;
  padding-left: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve span.checkbox.ets_checkinput {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 !important;
}

body#checkout .mw-opc-summary .mw-opc-consents-panel #conditions-to-approve i.ets_checkbox {
  margin: 0 !important;
  vertical-align: top;
}


/* =========================================================
   MW OPC v1.12.1 – LOGIN BUTTON VISIBILITY FIX
   ETS renders submitCustomerLogin inside .opc_forgot_submit.
   Keep ETS control of the parent visibility; only make the
   actual submit control reliably visible when the parent is shown.
   ========================================================= */

body#checkout #form_ets_onepagecheckout
.block-customer
.opc_forgot_submit
button[name="submitCustomerLogin"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  min-width: 150px;
  min-height: 42px;
  margin: 0 0 0 auto !important;
  padding: 10px 22px !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 7px;
  background: #0685a9 !important;
  color: #fff !important;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

body#checkout #form_ets_onepagecheckout
.block-customer
.opc_forgot_submit
button[name="submitCustomerLogin"]:hover,
body#checkout #form_ets_onepagecheckout
.block-customer
.opc_forgot_submit
button[name="submitCustomerLogin"]:focus {
  background: #046d8b !important;
  color: #fff !important;
}

body#checkout #form_ets_onepagecheckout
.block-customer
.opc_forgot_submit > div {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}

body#checkout #form_ets_onepagecheckout
.block-customer
.opc_forgot_submit .forgot-password {
  margin: 0;
}

@media (max-width: 575px) {
  body#checkout #form_ets_onepagecheckout
  .block-customer
  .opc_forgot_submit > div {
    flex-wrap: wrap;
  }

  body#checkout #form_ets_onepagecheckout
  .block-customer
  .opc_forgot_submit
  button[name="submitCustomerLogin"] {
    width: 100% !important;
    margin-left: 0 !important;
  }
}


/* =========================================================
   MW OPC v1.12.2 – REQUIRED FIELD / CONSENT ERROR STATES
   ========================================================= */

body#checkout #form_ets_onepagecheckout .mw-opc-invalid .form-control,
body#checkout #form_ets_onepagecheckout .form-control.mw-opc-invalid-control,
body#checkout #form_ets_onepagecheckout select.mw-opc-invalid-control,
body#checkout #form_ets_onepagecheckout textarea.mw-opc-invalid-control {
  border-color: #d32f2f !important;
  box-shadow: 0 0 0 2px rgba(211, 47, 47, .12) !important;
  background-color: #fff7f7 !important;
}

body#checkout #form_ets_onepagecheckout .mw-opc-invalid > label,
body#checkout #form_ets_onepagecheckout .mw-opc-invalid label.form-control-label,
body#checkout #form_ets_onepagecheckout .mw-opc-invalid .condition-label,
body#checkout #form_ets_onepagecheckout .mw-opc-invalid label.ets_checkinput {
  color: #b71c1c !important;
}

body#checkout #form_ets_onepagecheckout
.mw-opc-consents-panel .mw-opc-invalid {
  margin: 4px 0;
  padding: 8px 10px;
  border: 1px solid #d32f2f;
  border-radius: 6px;
  background: #fff7f7;
}

body#checkout #form_ets_onepagecheckout
.mw-opc-consents-panel .mw-opc-invalid i.ets_checkbox,
body#checkout #form_ets_onepagecheckout
.mw-opc-consents-panel input.mw-opc-invalid-control + i.ets_checkbox {
  border-color: #d32f2f !important;
  box-shadow: 0 0 0 2px rgba(211, 47, 47, .10);
}

body#checkout #form_ets_onepagecheckout
.mw-opc-step-invalid > .title-heading {
  color: #b71c1c !important;
  border-bottom-color: #d32f2f !important;
}

body#checkout #form_ets_onepagecheckout
.mw-opc-step-invalid .mw-opc-choice-required {
  border-color: #d32f2f !important;
  box-shadow: 0 0 0 2px rgba(211, 47, 47, .08);
}

body#checkout #form_ets_onepagecheckout
.mw-opc-step-invalid .mw-opc-choice-required label {
  color: #b71c1c !important;
}

/* Keep the state visible without changing layout dimensions. */
body#checkout #form_ets_onepagecheckout
.mw-opc-invalid-control:focus {
  border-color: #b71c1c !important;
  box-shadow: 0 0 0 3px rgba(183, 28, 28, .15) !important;
}


/* =========================================================
   MW OPC v1.12.3 – LOGIN BUTTON FINAL VISIBILITY OVERRIDE
   Explicit colors, no dependency on CSS variables.
   ========================================================= */

body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button[name="submitCustomerLogin"],
body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button.btn-primary[name="submitCustomerLogin"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;

  background: #0685A9 !important;
  background-color: #0685A9 !important;
  background-image: none !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  border: 1px solid #0685A9 !important;
  border-radius: 7px !important;

  min-width: 150px !important;
  min-height: 44px !important;
  padding: 10px 22px !important;

  align-items: center !important;
  justify-content: center !important;

  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: 0 6px 16px rgba(6, 133, 169, .18) !important;
  cursor: pointer !important;
}

body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button[name="submitCustomerLogin"]:hover,
body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button[name="submitCustomerLogin"]:focus,
body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button[name="submitCustomerLogin"]:active {
  background: #056f8e !important;
  background-color: #056f8e !important;
  background-image: none !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  border-color: #056f8e !important;
  box-shadow: 0 7px 18px rgba(6, 133, 169, .28) !important;
  outline: none !important;
}

/* ETS may apply disabled-like visual rules while validating.
   Keep the control readable; actual disabled state remains non-clickable. */
body#checkout #form_ets_onepagecheckout
.block-customer .opc_forgot_submit
button[name="submitCustomerLogin"]:disabled {
  background: #7fb9c9 !important;
  background-color: #7fb9c9 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #7fb9c9 !important;
  opacity: .72 !important;
  cursor: not-allowed !important;
}


/* =========================================================
   MW OPC v1.12.4 GLOBAL-FLAT – FINAL LOGIN BUTTON OVERRIDE
   No CSS variables: safe for global CSS injectors/compilers.
   ========================================================= */
body#checkout #form_ets_onepagecheckout button[name="submitCustomerLogin"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #0685a9 !important;
  background-color: #0685a9 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #0685a9 !important;
  border-radius: 7px !important;
  min-width: 150px !important;
  min-height: 44px !important;
  padding: 10px 22px !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

body#checkout #form_ets_onepagecheckout button[name="submitCustomerLogin"]:hover,
body#checkout #form_ets_onepagecheckout button[name="submitCustomerLogin"]:focus {
  background: #046d8b !important;
  background-color: #046d8b !important;
  border-color: #046d8b !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   MW OPC v1.12.5 — GOOGLE ACCOUNT UX
   Presentation belongs to AngarTheme; OAuth/backend stays in mwcareapi.
   ========================================================= */

body#checkout #form_ets_onepagecheckout .mw-opc-google-area {
  box-sizing: border-box;
  width: auto;
  margin: 14px 0 0 0px;
  clear: both;
  color: #17242b;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 10px;
  color: #7a8a91;
  font-size: 13px;
  line-height: 1;
  text-align: center;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-divider::before,
body#checkout #form_ets_onepagecheckout .mw-opc-google-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #d9e3e7;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  width: 100%;
  min-height: 48px;
  padding: 11px 16px;
  border: 1px solid #cbd7dc;
  border-radius: 8px;
  background: #fff;
  color: #17242b !important;
  box-shadow: 0 1px 2px rgba(17, 43, 51, .05);
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-button:hover {
  border-color: #91a6ae;
  background: #fbfdfe;
  box-shadow: 0 4px 12px rgba(17, 43, 51, .09);
  transform: translateY(-1px);
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-button:focus-visible {
  outline: 3px solid rgba(6, 133, 169, .20);
  outline-offset: 2px;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-button[aria-busy="true"] {
  pointer-events: none;
  opacity: .68;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-legal {
  margin: 7px 2px 0;
  color: #6b7c83;
  font-size: 11.5px;
  line-height: 1.5;
  text-align: center;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-legal a {
  color: #0685a9;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-existing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e1e9ec;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-existing-label {
  flex: 0 0 auto;
  color: #53666e;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-existing .mw-opc-google-button--compact {
  flex: 1 1 auto;
  width: auto;
  min-height: 42px;
  padding-top: 9px;
  padding-bottom: 9px;
  font-size: 13px;
}

body#checkout #form_ets_onepagecheckout .type-checkout-option.login .mw-opc-google-area--login {
  margin-top: 10px;
  margin-bottom: 18px;
}

body#checkout #form_ets_onepagecheckout .type-checkout-option.create .mw-opc-google-area--create,
body#checkout #form_ets_onepagecheckout .type-checkout-option.guest .mw-opc-google-area--guest {
  margin-bottom: 5px;
}

@media (max-width: 10px) and (min-width: 992px) {
  body#checkout #form_ets_onepagecheckout .mw-opc-google-area {
    margin-left: 169px;
  }
}

@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout .mw-opc-google-area {
    width: 100%;
    margin: 13px 0 0;
  }

  body#checkout #form_ets_onepagecheckout .mw-opc-google-button {
    min-height: 50px;
    padding-left: 13px;
    padding-right: 13px;
  }

  body#checkout #form_ets_onepagecheckout .mw-opc-google-existing {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body#checkout #form_ets_onepagecheckout .mw-opc-google-existing-label {
    text-align: center;
  }

  body#checkout #form_ets_onepagecheckout .mw-opc-google-existing .mw-opc-google-button--compact {
    width: 100%;
  }
}



/* =========================================================
   MW OPC v1.12.6 — CREATE ACCOUNT UX FINAL
   Google registration first; redundant ETS login suggestion hidden only
   while the "Utwórz konto" mode is active.
   ========================================================= */

body#checkout #form_ets_onepagecheckout.mw-opc-google-mode-create
.block-customer .type-checkout-option.suggest,
body#checkout #form_ets_onepagecheckout.mw-opc-google-mode-create
.block-customer .opc_hasaccount.suggest,
body#checkout #form_ets_onepagecheckout
.block-customer .mw-opc-native-account-suggest-hidden {
  display: none !important;
}

body#checkout #form_ets_onepagecheckout .mw-opc-google-area--create {
  margin-top: 0;
  margin-bottom: 12px;
}

body#checkout #form_ets_onepagecheckout
.mw-opc-google-area--create .mw-opc-google-divider {
  margin-top: 13px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout .mw-opc-google-area--create {
    margin-top: 0;
    margin-bottom: 10px;
  }
}


/* =========================================================
   MW OPC v1.12.7 — CREATE TAB NATIVE SUGGESTION + CACHE-SAFE FIX
   ETS renders "Posiadasz już konto?" as a create.suggest form-group.
   Hide that native suggestion only while the Create account tab is active.
   ========================================================= */
body#checkout #form_ets_onepagecheckout.mw-opc-google-mode-create
.block-customer > .block-content > .form-group.row.type-checkout-option.opc_hasaccount.create.suggest,
body#checkout #form_ets_onepagecheckout.mw-opc-google-mode-create
.block-customer .form-group.row.type-checkout-option.opc_hasaccount.create.suggest {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* MW checkout 1.13.0: header-aware summary and reachable controls. */
body#checkout .mw-opc-flow .block-onepagecheckout,
body#checkout .mw-opc-summary,
body#cart .cart-grid-right,
body#checkout .mw-opc-invalid-control {
  scroll-margin-top: var(--mw-checkout-top, 80px);
}

@media (min-width: 992px) {
  body#cart .cart-grid-right {
    max-height: var(--mw-cart-available, calc(100dvh - var(--mw-checkout-top, 80px) - 16px)) !important;
  }
  body#cart .cart-grid-right.mw-cart-footer-reached {
    position: relative;
    top: auto;
  }
  body#cart .cart-grid-right {
    top: var(--mw-checkout-top, 80px);
    max-height: calc(100vh - var(--mw-checkout-top, 80px) - 16px);
    max-height: calc(100dvh - var(--mw-checkout-top, 80px) - 16px);
    overflow-y: auto;
    scrollbar-width: thin;
  }

  /* 1.14: retain the existing flex chain from v1.7. Only the product list
     shrinks and scrolls; totals, consents and the real submit stay in view. */
  body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
    grid-template-columns: minmax(0, 1fr) 400px !important;
  }
  body#checkout .mw-opc-summary {
    top: var(--mw-checkout-top, 80px);
    max-height: calc(100dvh - 114px);
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
  }
  body#checkout .mw-opc-summary .cart-items {
    scrollbar-width: thin;
    scrollbar-color: #98b1ba #f3f6f7;
  }
  body#checkout .mw-opc-summary .cart-summary-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    min-height: 28px;
    margin: 0 !important;
    padding: 4px 0 !important;
  }
  body#checkout .mw-opc-summary .cart-summary-line:empty { display: none; }
  body#checkout .mw-opc-summary .cart-summary-line > .label,
  body#checkout .mw-opc-summary .cart-summary-line > .value {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none;
  }
  body#checkout .mw-opc-summary .cart-summary-line > .value {
    flex: 0 0 auto;
    text-align: right;
  }
  body#checkout .mw-opc-summary .cart-summary-line:not(.cart-total) > .label,
  body#checkout .mw-opc-summary .cart-summary-line:not(.cart-total) > .value {
    line-height: 20px;
  }
  body#checkout .mw-opc-summary .cart-summary-line.cart-total {
    min-height: 42px;
    padding: 10px 0 4px !important;
  }
  body#checkout .mw-opc-summary .block-promo,
  body#checkout .mw-opc-summary .ets-cart-voucher {
    margin: 0 !important;
  }
  body#checkout .mw-opc-summary .ets-cart-voucher { padding: 0 !important; }
  body#checkout .mw-opc-summary .mw-opc-promo-toggle {
    margin: 0 !important;
    min-height: 36px;
    display: flex;
    align-items: center;
  }
  body#checkout .mw-opc-summary .mw-opc-checkout-action {
    padding: 10px 18px 12px !important;
  }
  /* Extremely short windows need normal document scrolling to keep every
     consent readable. Even then the product list has its own bounded height. */
}

@media (min-width: 1200px) {
  body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {
    grid-template-columns: minmax(0, 1fr) 460px !important;
  }
}

@media (max-width: 991px) {
  body#checkout .mw-opc-summary .cart-items {
    max-height: 320px;
    max-height: min(34dvh, 320px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
  }

}

@media (max-width: 991px) {
  body#cart .cart-grid-right {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

body#checkout #form_ets_onepagecheckout .block-shipping .carrier-delay {
  color: #52666f !important;
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout input.form-control,
  body#checkout #form_ets_onepagecheckout select.form-control,
  body#checkout #form_ets_onepagecheckout textarea.form-control {
    font-size: 16px !important;
  }

  body#cart .bootstrap-touchspin,
  body#checkout .mw-opc-summary .bootstrap-touchspin {
    display: flex !important;
    width: 132px !important;
    max-width: 132px !important;
    height: 44px !important;
  }

  body#cart .bootstrap-touchspin .input-group-btn-vertical,
  body#checkout .mw-opc-summary .bootstrap-touchspin .input-group-btn-vertical {
    display: contents !important;
  }

  body#cart .bootstrap-touchspin input,
  body#checkout .mw-opc-summary .bootstrap-touchspin input,
  body#cart .bootstrap-touchspin .btn-touchspin,
  body#checkout .mw-opc-summary .bootstrap-touchspin .btn-touchspin {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    font-size: 16px !important;
  }

  body#cart .bootstrap-touchspin input,
  body#checkout .mw-opc-summary .bootstrap-touchspin input { order: 2; }
  body#cart .bootstrap-touchspin .bootstrap-touchspin-down,
  body#checkout .mw-opc-summary .bootstrap-touchspin .bootstrap-touchspin-down { order: 1; }
  body#cart .bootstrap-touchspin .bootstrap-touchspin-up,
  body#checkout .mw-opc-summary .bootstrap-touchspin .bootstrap-touchspin-up { order: 3; }

  body#checkout .mw-opc-summary .form_info_price_mobile > .row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 10px !important;
  }
  body#checkout .mw-opc-summary .form_info_price_mobile .qty,
  body#checkout .mw-opc-summary .form_info_price_mobile .bootstrap-touchspin {
    width: 132px !important;
    max-width: 132px !important;
  }
  body#checkout .mw-opc-summary .form_info_price_mobile > .row > .qty {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 0 !important;
    justify-self: start;
  }
  body#checkout .mw-opc-summary .form_info_price_mobile .form_total_price {
    grid-column: 2;
    grid-row: 1;
  }
  body#cart .product-line-grid-right > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    margin: 0;
  }
  body#cart .product-line-grid-right > .row > .hidden-md-up {
    display: none !important;
  }
  body#cart .product-line-grid-right > .row > div {
    width: auto;
    padding: 0;
  }
  body#cart .product-line-grid-right > .row > .col-md-10 > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
  }
  body#cart .product-line-grid-right .qty {
    flex: 0 0 132px;
    width: 132px;
    min-height: 44px;
    padding: 0;
  }
  body#cart .product-line-grid-right .price {
    flex: 1 0 auto;
    width: auto;
    padding: 0;
    text-align: right;
  }
  body#cart .bootstrap-touchspin .btn-touchspin .material-icons {
    position: static;
    display: inline;
  }
  /* The floating sales assistant obscures the cart's primary action on phones. */
  body#cart .dfd-chat-bubble {
    display: none !important;
  }
}

/* 1.15: cart and checkout follow the store palette and responsive spacing. */
html body:is(#cart,#checkout) #wrapper {background:#f4f5f6; color:#242424; padding-bottom:32px;}
html body:is(#cart,#checkout) #wrapper :is(.card,.block-onepagecheckout,.mw-opc-summary) {border-color:#e1e3e5; box-shadow:none;}
html body#checkout #wrapper #content-wrapper {padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important;}
html body#checkout #wrapper>.container>.row {margin:0;}
html body#cart .cart-container h1.h1 {font-size:26px; text-transform:none; letter-spacing:-.5px;}
html body#cart .cart-container>.card-block:first-child {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px;}
html body#cart .mw-cart-summary-jump {display:none;}
html body#cart .cart-container .separator {margin:0; border-color:#e5e5e5;}
html body#cart .cart-items {margin:0; padding:0 20px;}
html body#cart .cart-item {padding:18px 0; border-bottom:1px solid #e7e7e7;}
html body#cart .cart-item:last-child {border-bottom:0;}
html body#cart .product-line-grid {display:grid; grid-template-columns:96px minmax(0,1fr) 290px; align-items:center; gap:20px; margin:0;}
html body#cart .product-line-grid::after,
html body#cart .product-line-grid>.clearfix {display:none;}
html body#cart .product-line-grid>:is(.product-line-grid-left,.product-line-grid-body,.product-line-grid-right) {width:auto; float:none; padding:0; margin:0; min-width:0;}
html body#cart .product-image img {width:96px; height:96px; object-fit:contain; border:0;}
html body#cart .product-line-grid-body>.product-line-info>a {font-size:14px; line-height:1.5; font-weight:600; color:#242424!important; text-transform:none!important;}
html body#cart .product-line-grid-body>.product-line-info.product-price {margin:8px 0 0; font-size:13px; color:#555!important;}
html body#cart .product-line-grid-body>br {display:none;}
html body#cart .product-line-grid-right>.row {display:grid; grid-template-columns:minmax(0,1fr) 40px; align-items:center; gap:12px; margin:0;}
html body#cart .product-line-grid-right>.row>.hidden-md-up {display:none!important;}
html body#cart .product-line-grid-right>.row>div {width:auto; min-width:0; padding:0; float:none;}
html body#cart .product-line-grid-right>.row>.col-md-10>.row {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; margin:0;}
html body#cart .product-line-grid-right :is(.qty,.price) {width:auto; min-width:0; padding:0; float:none;}
html body#cart .product-line-grid-right .product-price {font-size:16px; color:#242424!important; white-space:nowrap;}
html body#cart .cart-grid-right {padding:0 0 4px;}
html body#cart .cart-summary .cart-total .value {font-size:24px; color:#242424!important;}
html body#cart .cart-summary-line .label {white-space:normal;}
html body#cart .mw-continue-shopping {margin-top:16px; min-height:44px; display:inline-flex; align-items:center; color:#444!important; background:#fff; border:1px solid #d8d8d8; border-radius:6px;}
html body#cart .blockreassurance_product :is(img,svg) {filter:grayscale(1);}

/* One quantity design on desktop and mobile; native events remain untouched. */
html body#cart .bootstrap-touchspin,
html body#checkout .mw-opc-summary .bootstrap-touchspin {display:flex!important; width:120px!important; max-width:120px!important; height:40px!important; border:1px solid #d5d5d5; border-radius:6px; overflow:hidden; background:#fff;}
html body#cart .bootstrap-touchspin .input-group-btn-vertical,
html body#checkout .mw-opc-summary .bootstrap-touchspin .input-group-btn-vertical {display:contents!important;}
html body#cart .bootstrap-touchspin :is(input,.btn-touchspin),
html body#checkout .mw-opc-summary .bootstrap-touchspin :is(input,.btn-touchspin) {position:static!important; flex:1 1 0!important; width:39px!important; min-width:0!important; max-width:none!important; height:38px!important; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; background:#fff!important; color:#242424!important; line-height:38px!important; text-align:center; box-shadow:none!important; transform:none!important;}
html body#cart .bootstrap-touchspin input,
html body#checkout .mw-opc-summary .bootstrap-touchspin input {order:2; font-size:14px!important; border-inline:1px solid #e5e5e5!important; appearance:textfield; -moz-appearance:textfield;}
html body#cart .bootstrap-touchspin .bootstrap-touchspin-down,
html body#checkout .mw-opc-summary .bootstrap-touchspin .bootstrap-touchspin-down {order:1;}
html body#cart .bootstrap-touchspin .bootstrap-touchspin-up,
html body#checkout .mw-opc-summary .bootstrap-touchspin .bootstrap-touchspin-up {order:3;}
html body:is(#cart,#checkout) .bootstrap-touchspin .btn-touchspin {display:flex!important; align-items:center; justify-content:center; font-size:0!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin .btn-touchspin .material-icons {display:none!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin .btn-touchspin::after {display:none!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin .btn-touchspin::before {position:static!important; inset:auto!important; transform:none!important; color:#242424!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin .bootstrap-touchspin-up::before {content:'+'!important; font:20px/1 Arial,sans-serif!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin .bootstrap-touchspin-down::before {content:'−'!important; font:20px/1 Arial,sans-serif!important;}
html body:is(#cart,#checkout) .bootstrap-touchspin input::-webkit-inner-spin-button {appearance:none; margin:0;}
html body:is(#cart,#checkout) #wrapper .remove-from-cart {display:inline-flex; align-items:center; justify-content:center; width:40px; min-height:40px; color:#666!important; border-radius:6px;}
html body:is(#cart,#checkout) #wrapper .remove-from-cart:hover {background:#fff4ed; color:#b83b00!important;}

html body#checkout #form_ets_onepagecheckout .title-heading {font-family:inherit!important; font-size:18px; font-weight:600; color:#242424!important; border-color:#e5e5e5;}
html body#checkout #form_ets_onepagecheckout .title-heading svg {fill:#b83b00!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-step-heading::before {background:#fff0e5!important; color:#b83b00!important;}
html body#checkout #form_ets_onepagecheckout :is(.product-price,.current-price .price,.cart-total .label,.cart-total .value,.product_info_name a.label) {color:#242424!important;}
html body#checkout #form_ets_onepagecheckout :is(.carrier-delay,.mw-opc-field-help,.mw-opc-google-legal) {color:#666!important;}
html body#checkout #form_ets_onepagecheckout :is(.mw-opc-promo-toggle,.mw-opc-google-legal a,.mw-opc-consents-panel a) {color:#a63d08!important;}
html body#checkout #form_ets_onepagecheckout .type-checkout-options {margin:0 0 18px!important; padding:0!important;}
html body#checkout #form_ets_onepagecheckout .type-checkout-options label {min-height:44px; color:#333!important; border-color:#dcdcdc; box-shadow:none;}
html body#checkout #form_ets_onepagecheckout .type-checkout-options label span {color:inherit!important;}
html body#checkout #form_ets_onepagecheckout .type-checkout-options label:has(input:checked),
html body#checkout #form_ets_onepagecheckout :is(.delivery-option,.ets_payment_method).mw-selected {background:#fff6ef!important; border-color:#f2b68e!important; box-shadow:none!important;}
html body#checkout #form_ets_onepagecheckout input:is([type=radio],[type=checkbox]) {accent-color:#e65300;}
html body#checkout #form_ets_onepagecheckout .mw-opc-flow .form-group.row {grid-template-columns:minmax(0,1fr); gap:6px; margin-bottom:16px;}
html body#checkout #form_ets_onepagecheckout .mw-opc-flow .form-control-label {padding-top:0!important; font-size:13px; color:#333;}
html body#checkout #form_ets_onepagecheckout .mw-opc-flow .form-group.row>:is(.form-control-label,.opc_field_right) {width:auto!important; min-width:0; padding:0!important;}
html body#checkout #form_ets_onepagecheckout .form-control {border-color:#cecece; border-radius:6px; color:#242424;}
html body#checkout #form_ets_onepagecheckout .form-control:focus {border-color:#bd4d17; box-shadow:0 0 0 3px #ff5a001a;}
html body#checkout #form_ets_onepagecheckout .mw-opc-google-area {margin-left:0!important; width:100%;}
html body#checkout #form_ets_onepagecheckout .mw-opc-google-existing {padding-top:12px; margin-top:12px;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .cart-items {scrollbar-color:#bbb #f4f4f4;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .cart-item {padding-block:12px!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid {row-gap:8px!important; padding:0!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-right {grid-column:1/-1; margin-top:0!important; padding-top:8px!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-right>.row {grid-template-columns:minmax(0,1fr) 40px; gap:8px; align-items:center;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .form_info_price_mobile>.row {display:flex!important; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .form_info_price_mobile .qty,
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .bootstrap-touchspin {width:120px!important; max-width:120px!important; padding:0!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .form_total_price {width:auto!important; padding:0!important; margin-left:auto;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary :is(.remove-from-cart,.ets_remove_cart) {width:40px!important; max-width:none; padding:0!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .remove-from-cart svg {fill:currentColor!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product_info_name a {font-size:12px!important; line-height:1.45; font-weight:500;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .cart-total .value {font-size:22px;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .mw-opc-consents-panel {border-color:#e5e5e5;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .mw-opc-consents-panel label {font-size:12px; line-height:1.5;}
html body:is(#cart,#checkout) #wrapper :is(a,button,input,select,textarea):focus-visible {outline:2px solid #b83b00!important; outline-offset:3px;}
html body#cart #wrapper .btn-primary,
html body#checkout #form_ets_onepagecheckout .btn-primary {background:#ff5a00!important; border-color:#ff5a00!important; color:#fff!important; box-shadow:none!important; transform:none!important;}
html body#cart #wrapper .btn-primary:hover,
html body#checkout #form_ets_onepagecheckout .btn-primary:hover {background:#de4e00!important; border-color:#de4e00!important;}
html body#checkout #form_ets_onepagecheckout .btn-primary:disabled {opacity:.55; cursor:not-allowed;}

@media(min-width:992px) {
  html body#cart .cart-grid {display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); gap:24px; margin:0;}
  html body#cart .cart-grid-body {width:auto; padding:0; min-width:0;}
  html body#cart .cart-grid-right {width:auto; min-width:0; overflow-y:auto;}
  html body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important; gap:24px;}
  html body#checkout #form_ets_onepagecheckout #customer-login,
  html body#checkout #form_ets_onepagecheckout .js-address-form {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px;}
  html body#checkout #form_ets_onepagecheckout #customer-login>* {grid-column:1/-1;}
  html body#checkout #form_ets_onepagecheckout #customer-login>.form-group:has(input[id$="_firstname"],input[id$="_lastname"]) {grid-column:auto;}
  html body#checkout #form_ets_onepagecheckout .js-address-form>* {grid-column:1/-1;}
  html body#checkout #form_ets_onepagecheckout .js-address-form>.form-group:has(input[id$="_city"],input[id$="_postal_code"],input[id$="_phone_mobile"],select[id$="_id_country"]) {grid-column:auto;}
}
@media(min-width:768px) and (max-width:10px) {
  html body#cart .product-line-grid {grid-template-columns:80px minmax(0,1fr); gap:12px 16px;}
  html body#cart .product-line-grid-right {grid-column:2;}
  html body#cart .product-image img {width:80px; height:80px;}
}
@media(max-width:991px) {
  html body#cart .cart-grid {margin:0;}
  html body#cart .cart-grid-body {padding:0;}
  html body#cart .cart-grid-right {margin-top:20px;}
}
@media(max-width:767px) {
  html body:is(#cart,#checkout) #wrapper {padding-top:16px;}
  html body#checkout #header .header-top {height:auto!important; min-height:0!important;}
  /* The native mobile search slot retains its final height before its widget mounts. */
  html body#checkout #header #mobile_search_wrapper {min-height:66px;}
  html body#checkout #header .header-top>.container>.row.header-flex,
  html body#checkout #header .header-top>.container>.row.header-flex>a#_desktop_logo {height:56px!important; min-height:56px!important;}
  html body#cart .cart-container>.card-block:first-child {padding:14px 16px; gap:8px;}
  html body#cart .cart-container h1.h1 {font-size:23px;}
  html body#cart .mw-cart-summary-jump {display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:#a63d08; text-decoration:underline; text-underline-offset:3px;}
  html body#cart .cart-items {padding:0 14px;}
  html body#cart .cart-item {padding:16px 0;}
  html body#cart .product-line-grid {grid-template-columns:76px minmax(0,1fr); gap:12px;}
  html body#cart .product-image img {width:76px; height:76px;}
  html body#cart .product-line-grid-body>.product-line-info>a {font-size:13px; line-height:1.45;}
  html body#cart .product-line-grid-right {grid-column:1/-1;}
  html body#cart .product-line-grid-right>.row {grid-template-columns:minmax(0,1fr) 44px; gap:8px;}
  html body#cart .product-line-grid-right .qty {flex:0 0 132px;}
  html body#cart .product-line-grid-right .price {flex:1 0 auto; text-align:right;}
  html body#cart .product-line-grid-right .product-price {font-size:14px;}
  html body#cart .bootstrap-touchspin,
  html body#checkout .mw-opc-summary .bootstrap-touchspin {width:132px!important; max-width:132px!important; height:44px!important;}
  html body#cart .bootstrap-touchspin :is(input,.btn-touchspin),
  html body#checkout .mw-opc-summary .bootstrap-touchspin :is(input,.btn-touchspin) {height:42px!important; line-height:42px!important; font-size:16px;}
  html body:is(#cart,#checkout) #wrapper .remove-from-cart {width:44px; min-height:44px;}
  html body#checkout #form_ets_onepagecheckout .title-heading {font-size:16px; padding:14px;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-flow {gap:16px;}
  html body#checkout #form_ets_onepagecheckout .block-onepagecheckout>.block-content,
  html body#checkout #form_ets_onepagecheckout .block-address>.address-selector {padding:14px!important;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-flow .form-group.row {margin-bottom:14px;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .cart-items {max-height:360px; max-height:min(45dvh,360px);}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .form_info_price_mobile .qty,
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .bootstrap-touchspin {width:132px!important; max-width:132px!important;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary :is(.remove-from-cart,.ets_remove_cart) {width:44px!important;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-right>.row {grid-template-columns:minmax(0,1fr) 44px;}
}

/* Native ETS inline colors also need the current checkout palette. */
html body#checkout #form_ets_onepagecheckout :is(.block-onepagecheckout,.cart-items,.ets_checkbox,.custom-radio) {border-color:#ddd!important;}
html body#checkout #form_ets_onepagecheckout :is(.mw-opc-google-divider,.mw-opc-google-existing-label,.no_invoice_address,.additional-information) {color:#666!important;}
html body#checkout #form_ets_onepagecheckout :is(.ets_checkinput,.cart-line-product-actions,.cart-summary-line.cart-total) {color:#333!important;}
html body#checkout #form_ets_onepagecheckout .block-shipping .carrier-delay {color:#666!important;}
html body#checkout #form_ets_onepagecheckout .custom-radio input:checked+span {background:#e65300!important;}
html body#checkout #form_ets_onepagecheckout .custom-radio:has(input:checked) {border-color:#e65300!important;}
html body#checkout #form_ets_onepagecheckout .promo-input,
html body#cart #wrapper .promo-input {background:#fff!important; border:1px solid #cecece!important; color:#242424!important; border-radius:6px;}
html body:is(#checkout,#cart) #wrapper .promo-input::placeholder {color:#777!important; opacity:1;}
html body#checkout #form_ets_onepagecheckout .block-promo .promo-code .ets_icon_svg {filter:grayscale(1);}

/* 1.16: keep account actions within their mode and give the order more room. */
html body#checkout #form_ets_onepagecheckout:has(input[name="type-checkout-options"][data-type="guest"]:checked) :is(.mw-opc-google-area,.mwcare-google-auth,[data-mwcare-google-checkout="1"]) {display:none!important;}
html body#checkout #form_ets_onepagecheckout .block-customer:has(.type-checkout-options) .opc_hasaccount {display:none!important;}
html body#checkout #form_ets_onepagecheckout .type-checkout-options label:focus-within {outline:2px solid #e65300; outline-offset:2px;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-left {grid-row:1;}
@media(min-width:992px) {
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-left {grid-row:1/span 2;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product-line-grid-right {grid-column:2; padding-top:0!important; border-top:0!important;}
}
@media(min-width:1200px) {
  html body#checkout #form_ets_onepagecheckout.mw-opc-ready #ets_onepagecheckout {grid-template-columns:minmax(0,1fr) minmax(400px,500px)!important;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .product_info_name a.label {font-size:13px!important; line-height:1.45;}
  html body#checkout #form_ets_onepagecheckout .mw-opc-summary .form_total_price .product-price {font-size:14px!important;}
}

/* Server-rendered checkout state; no hidden page or timed layout transition. */
html body#checkout #form_ets_onepagecheckout {font-family:'Poppins',Arial,sans-serif;}
html body#checkout #form_ets_onepagecheckout .block-address :is(.mw-opc-company-switch,.no_invoice_address,label[for="use_another_address_for_invoice"],label[for="use_invoice_address"]) {margin-left:0!important;text-align:left;}
html body#checkout #form_ets_onepagecheckout .js-address-form:has(.mw-opc-company-switch input:not(:checked)) .mw-opc-company-field {display:none!important;}
html body#checkout #form_ets_onepagecheckout:has(input[name="type-checkout-options"][data-type="guest"]:checked) .shipping_address :is(.firstname,.lastname),
html body#checkout #form_ets_onepagecheckout:has(input[name="type-checkout-options"][data-type="create"]:checked) .shipping_address[data-mw-use-account-name="1"] :is(.firstname,.lastname) {display:none!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-optional-marketing {display:none!important;}
html body#checkout #form_ets_onepagecheckout .opc_hasaccount {display:none!important;}

#mw-opc-order {display:contents;}

html body#checkout #form_ets_onepagecheckout .mw-opc-flow .form-control-label {text-align:left!important;}
html body#checkout #form_ets_onepagecheckout .block-address :is(.no_invoice_address,.address-selector>.form-group) {padding-inline:0!important; margin-left:0!important;}
html body#checkout #form_ets_onepagecheckout .mw-opc-summary .qty>input {width:120px!important;max-width:120px;height:40px;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;text-align:center;}
@media(max-width:767px){html body#checkout #form_ets_onepagecheckout .mw-opc-summary .qty>input {width:132px!important;max-width:132px;height:44px;}}

/* Stable initial size; only desktop scrolling can expand the product list. */
@media(min-width:992px){
 html body#checkout .mw-opc-summary .block-shopping-cart .cart-items {max-height:max(clamp(140px,20svh,280px),var(--mw-summary-list-available,0px))!important;}
}
@media(min-width:992px) and (max-height:620px){
 html body#checkout .mw-opc-summary {position:static;max-height:none;overflow:visible;}
 html body#checkout .mw-opc-summary .block-shopping-cart .cart-items {max-height:160px!important;}
}

html body#checkout #form_ets_onepagecheckout .block-address label:is([for="use_another_address_for_invoice"],[for="use_invoice_address"]) {gap:4px;}
html body#checkout #form_ets_onepagecheckout .block-address label:is([for="use_another_address_for_invoice"],[for="use_invoice_address"]) > .ets_checkbox {order:-1;margin-right:0;}

/* Align consent controls and keep every wrapped line beside the checkbox. */
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel {
  --mw-consent-inset: 18px;
  --mw-consent-gap: 8px;
}
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel .mw-opc-final-consent-item,
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve li {
  box-sizing: border-box;
  width: 100%;
  padding: 8px var(--mw-consent-inset) !important;
}
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve {
  padding: 0 0 13px !important;
}
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve li {
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: var(--mw-consent-gap);
}
body#checkout #form_ets_onepagecheckout .mw-opc-final-consent-item label.ets_checkinput {
  position: relative;
  display: block;
  width: 100%;
  min-height: 18px;
  padding-left: calc(16px + var(--mw-consent-gap)) !important;
  text-align: left;
}
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve span.checkbox.ets_checkinput {
  position: relative;
}
body#checkout #form_ets_onepagecheckout .mw-opc-final-consent-item label.ets_checkinput > input[type="checkbox"],
body#checkout #form_ets_onepagecheckout .mw-opc-final-consent-item label.ets_checkinput > i.ets_checkbox,
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve span.checkbox.ets_checkinput > input[type="checkbox"],
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel #conditions-to-approve span.checkbox.ets_checkinput > i.ets_checkbox {
  position: absolute;
  top: 1px;
  left: 0;
  width: 16px;
  height: 16px;
  margin: 0 !important;
}
body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel .mw-opc-invalid {
  border: 0 !important;
  outline: 1px solid #d32f2f;
  outline-offset: -1px;
}
@media (max-width: 767px) {
  body#checkout #form_ets_onepagecheckout .mw-opc-consents-panel {
    --mw-consent-inset: 14px;
  }
}
