/* Checkout jest oprawą WooCommerce, nie kopią jego szablonów. */
body.tb-site.woocommerce-checkout { background: #fff; }
body.tb-site.woocommerce-checkout .page_content_wrap { padding: 0; }
body.tb-site.woocommerce-checkout .content_wrap,
body.tb-site.woocommerce-checkout .content { max-width: none; width: 100%; }
.tb-commerce-page { background: #fff; color: #172341; min-height: 100vh; }
.tb-checkout-hero { background: radial-gradient(circle at 86% 11%,rgba(87,185,203,.14),transparent 24%),linear-gradient(145deg,#fff 0%,#f5fafb 100%); padding-block: clamp(3.5rem,7vw,6.5rem); }
.tb-checkout-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1.5rem; }
.tb-checkout-heading > div { max-width: 48rem; }
.tb-checkout-heading h1 { color: #172341; font-family: var(--tb-font-display); font-size: clamp(3rem,6vw,5.8rem); letter-spacing: -.055em; line-height: .96; margin: 1.2rem 0 1rem; }
.tb-checkout-heading > div > p:last-child { color: #5a6880; font-size: clamp(1rem,1.6vw,1.2rem); line-height: 1.65; margin: 0; }
.tb-checkout-test { background: #fff; border: 1px solid #b9dfe6; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(23,35,65,.08); color: #172341; flex: 0 0 17rem; padding: 1rem 1.2rem; }
.tb-checkout-test strong,.tb-checkout-test span { display: block; }.tb-checkout-test strong { color: #178da5; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }.tb-checkout-test span { font-size: .9rem; line-height: 1.45; margin-top: .35rem; }
.tb-checkout-assurances { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.tb-checkout-assurances li { background: rgba(255,255,255,.88); border: 1px solid #dbe8eb; border-radius: 999px; color: #37455e; font-size: .82rem; font-weight: 750; padding: .65rem .9rem; }
.tb-checkout-assurances li::before { color: #178da5; content: "✓"; font-weight: 900; margin-right: .45rem; }
.tb-checkout-engine { background: rgba(255,255,255,.94); border: 1px solid #dbe5e8; border-radius: 2rem; box-shadow: 0 1.5rem 5rem rgba(23,35,65,.09); overflow: hidden; padding: clamp(1.1rem,3vw,2.4rem); }
.tb-checkout-engine .wc-block-checkout { margin: 0; max-width: none; padding: 0; }
.tb-checkout-engine .wc-block-components-title,
.tb-checkout-engine .wc-block-components-checkout-step__title,
.tb-checkout-engine h2,
.tb-checkout-engine h3 { color: #172341; font-family: var(--tb-font-display); letter-spacing: -.025em; }
.tb-checkout-engine .wc-block-components-checkout-step { margin-bottom: 1.4rem; }
.tb-checkout-engine .wc-block-components-text-input input,
.tb-checkout-engine .wc-block-components-combobox .wc-block-components-combobox-control input,
.tb-checkout-engine textarea,
.tb-checkout-engine select { background: #fff; border: 1px solid #cfdde1 !important; border-radius: .85rem !important; color: #172341; min-height: 3.35rem; }
.tb-checkout-engine .wc-block-components-text-input input:focus,
.tb-checkout-engine textarea:focus,
.tb-checkout-engine select:focus { border-color: #57b9cb !important; box-shadow: 0 0 0 3px rgba(87,185,203,.14) !important; outline: 0; }
.tb-checkout-engine .wc-block-components-sidebar { background: #f4fafb; border: 0; border-radius: 1.35rem; padding: 1.35rem; }
.tb-checkout-engine .wc-block-components-totals-wrapper { border-color: #dbe5e8; }
.tb-checkout-engine .wc-block-components-button,
.tb-checkout-engine #place_order,
.tb-checkout-engine button[type="submit"] { background: #57b9cb !important; border: 0 !important; border-radius: 999px !important; color: #10203f !important; font-weight: 850 !important; min-height: 3.6rem; transition: background .2s ease,transform .2s ease; }
.tb-checkout-engine .wc-block-components-button:hover,
.tb-checkout-engine #place_order:hover,
.tb-checkout-engine button[type="submit"]:hover { background: #73c8d7 !important; transform: translateY(-1px); }
.tb-checkout-engine .wc-block-components-notice-banner { border-radius: 1rem; }
.tb-checkout-engine .woocommerce_status_bar { display: none !important; }
.tb-checkout-engine #payment-method .wc-block-components-radio-control { display: grid; gap: .65rem; }
.tb-checkout-engine #payment-method .wc-block-components-radio-control-accordion-option {
  background: #fff;
  border: 1px solid #d8e5e8;
  border-radius: 1rem;
  box-shadow: 0 .35rem 1.2rem rgba(23,35,65,.035);
  overflow: hidden;
  transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.tb-checkout-engine #payment-method .wc-block-components-radio-control-accordion-option:hover {
  border-color: #9fd4de;
  transform: translateY(-1px);
}
.tb-checkout-engine #payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  background: linear-gradient(135deg,#fff 0%,#f2fbfc 100%);
  border-color: #57b9cb;
  box-shadow: 0 0 0 3px rgba(87,185,203,.12),0 .65rem 1.8rem rgba(23,35,65,.06);
}
.tb-checkout-engine #payment-method .wc-block-components-radio-control__option {
  color: #172341;
  font-weight: 800;
  min-height: 4rem;
  padding: 1rem 1.1rem 1rem 3.4rem;
}
.tb-checkout-engine #payment-method .wc-block-components-radio-control__input {
  left: 1.15rem;
  top: 1.35rem;
}
.tb-checkout-engine #payment-method .wc-block-components-radio-control__label-group { align-items: center; gap: .8rem; }
.tb-checkout-engine #payment-method img { height: auto; max-height: 1.65rem; max-width: 6.5rem; object-fit: contain; }
.tb-checkout-engine #payment-method [id$="__content"] { color: #5a6880; padding: 0 1.1rem 1rem; }
.tb-checkout-engine .woocommerce-checkout-review-order,
.tb-checkout-engine .woocommerce-checkout-payment,
.tb-checkout-engine #payment { background: #f4fafb; border-radius: 1.25rem; }
.tb-checkout-engine #payment .payment_box { background: #fff; border-radius: .9rem; }
.tb-checkout-help { color: #5a6880; font-size: .92rem; margin: 1.25rem 0 0; text-align: center; }.tb-checkout-help a { color: #172341; font-weight: 800; text-decoration-color: #57b9cb; text-underline-offset: .2em; }
.tb-onboarding { background: linear-gradient(135deg,#172341 0%,#213253 100%); border-radius: 2rem; box-shadow: 0 1.5rem 4rem rgba(23,35,65,.16); color: #fff; display: grid; gap: clamp(1.5rem,4vw,3.5rem); grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); margin-top: 1.5rem; overflow: hidden; padding: clamp(1.4rem,4vw,3rem); position: relative; }
.tb-onboarding::after { background: #57b9cb; border-radius: 50%; content: ""; filter: blur(2px); height: 15rem; opacity: .12; position: absolute; right: -6rem; top: -8rem; width: 15rem; }
.tb-onboarding__copy { position: relative; z-index: 1; }.tb-onboarding__copy h2 { color: #fff; font-family: var(--tb-font-display); font-size: clamp(2rem,4vw,3.5rem); letter-spacing: -.045em; line-height: 1; margin: 1rem 0; }.tb-onboarding__copy > p:not(.tb-kicker) { color: #dce4f0; line-height: 1.65; max-width: 44rem; }
.tb-onboarding__button { background: #57b9cb; border-radius: 999px; color: #10203f; display: inline-flex; font-weight: 850; justify-content: center; margin-top: .6rem; padding: 1rem 1.35rem; text-decoration: none; transition: background .2s ease,transform .2s ease; }.tb-onboarding__button:hover { background: #75c9d8; color: #10203f; transform: translateY(-1px); }
.tb-onboarding__form-note { border-left: 2px solid rgba(87,185,203,.7); font-size: .9rem; margin-top: 1.4rem; padding-left: 1rem; }.tb-onboarding__form-note strong { color: #fff; }
.tb-onboarding__steps { display: grid; gap: .7rem; list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }.tb-onboarding__steps li { align-items: center; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; display: grid; gap: .2rem .8rem; grid-template-columns: 2.5rem 1fr; padding: .85rem 1rem; }.tb-onboarding__steps li > span { align-items: center; background: rgba(255,255,255,.1); border-radius: 50%; display: flex; font-weight: 850; grid-row: 1 / 3; height: 2.5rem; justify-content: center; width: 2.5rem; }.tb-onboarding__steps b { color: #fff; }.tb-onboarding__steps small { color: #aebbd0; }.tb-onboarding__steps .is-complete > span { background: #fff; color: #178da5; }.tb-onboarding__steps .is-current { background: rgba(87,185,203,.14); border-color: rgba(87,185,203,.65); }.tb-onboarding__steps .is-current > span { background: #57b9cb; color: #10203f; }
@media (max-width: 48rem) { .tb-checkout-heading { align-items: start; flex-direction: column; }.tb-checkout-test { flex-basis: auto; width: 100%; }.tb-checkout-engine { border-radius: 1.25rem; padding: .8rem; }.tb-checkout-engine .wc-block-checkout__main,.tb-checkout-engine .wc-block-checkout__sidebar { padding-left: 0; padding-right: 0; width: 100%; } }
.tb-booking-access { background: linear-gradient(145deg,#f4f8fb 0%,#fff 100%); border: 1px solid #dbe5ed; border-radius: 1.25rem; color: #52617a; padding: clamp(1.25rem,3vw,2rem); }.tb-booking-access h2 { color: #172341; font-family: var(--tb-font-display); font-size: clamp(1.35rem,3vw,2rem); letter-spacing: -.025em; line-height: 1.1; margin: 0 0 .75rem; }.tb-booking-access p { line-height: 1.65; margin: 0; }

@media (max-width: 48rem) { .tb-onboarding { border-radius: 1.25rem; grid-template-columns: 1fr; }.tb-onboarding__button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .tb-checkout-engine * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
