body.lma-pocket-checkout {
  --lpf-ink: #13233f;
  --lpf-blue: #4a61ec;
  --lpf-brand-end: #3e80f6;
  --lpf-sky: #eef4fb;
  --lpf-line: #d7dde5;
  --lpf-muted: #5d6b7d;
  background: #f3f3f3;
}

body.lma-pocket-checkout #header,
body.lma-pocket-checkout #footer,
body.lma-pocket-checkout #socket,
body.lma-pocket-checkout #scroll-top-link,
body.lma-pocket-checkout .title_container,
body.lma-pocket-checkout .avia-cookie-consent-wrap,
body.lma-pocket-checkout .wc-block-checkout__add-note,
body.lma-pocket-checkout .wc-block-components-address-form__address_2 {
  display: none !important;
}

body.lma-pocket-checkout #main,
body.lma-pocket-checkout .container_wrap,
body.lma-pocket-checkout .main_color {
  background: transparent;
  border: 0;
}

body.lma-pocket-checkout #main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.lma-pocket-checkout #main .container {
  width: min(760px, calc(100% - 32px));
  max-width: 760px;
  padding: 0 0 72px;
}

body.lma-pocket-checkout .content {
  width: 100%;
  padding-top: 0;
  border: 0;
}

.lpf-checkout-intro {
  display: block;
  margin: 0;
  padding: 28px 24px 24px;
  color: var(--lpf-ink);
  text-align: center;
}

.lpf-checkout-brand {
  display: inline-block;
  margin-bottom: 18px;
}

.lpf-checkout-brand img {
  display: block;
  width: 164px;
  height: auto;
}

.lpf-checkout-intro h1 {
  margin: 5px 0 7px;
  color: var(--lpf-ink);
  font-size: clamp(27px, 4vw, 34px);
  line-height: 1.18;
}

.lpf-checkout-intro p,
.lpf-checkout-intro small,
.lpf-checkout-intro span {
  color: var(--lpf-muted);
}

.lpf-checkout-kicker {
  color: var(--lpf-blue) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lpf-checkout-assurance {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0 0 18px;
  padding: 0 14px;
  color: #31516f;
  font-size: 13px;
  font-weight: 700;
}

body.lma-pocket-checkout .wp-block-woocommerce-checkout.wc-block-checkout {
  display: block !important;
  padding-top: 0 !important;
}

body.lma-pocket-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
  display: flex !important;
  flex-direction: column;
  gap: 18px;
  max-width: 760px;
  margin: 0 auto;
}

body.lma-pocket-checkout .wc-block-checkout__main,
body.lma-pocket-checkout .wc-block-checkout__sidebar {
  box-sizing: border-box;
}

body.lma-pocket-checkout .wc-block-checkout__main {
  order: 2;
  width: 100% !important;
  padding: 34px !important;
  background: #fff;
  border: 1px solid var(--lpf-line);
  border-radius: 26px;
  box-shadow: 0 12px 38px rgba(18, 35, 63, .07);
}

body.lma-pocket-checkout .wc-block-checkout__sidebar {
  order: 1;
  width: 100% !important;
  padding: 20px 26px !important;
  background: #fff;
  border: 1px solid var(--lpf-line);
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(18, 35, 63, .05);
}

body.lma-pocket-checkout .wc-block-components-title,
body.lma-pocket-checkout .wc-block-components-checkout-step__title {
  color: var(--lpf-ink);
  font-weight: 800;
}

body.lma-pocket-checkout .wc-block-components-checkout-step {
  margin-bottom: 30px;
}

body.lma-pocket-checkout .wc-block-components-checkout-step__description {
  color: var(--lpf-muted);
}

body.lma-pocket-checkout #contact-fields,
body.lma-pocket-checkout #billing-fields,
body.lma-pocket-checkout #order-fields {
  display: none !important;
}

.lpf-simple-fields {
  margin: 0;
  padding: 0;
  border: 0;
}

.lpf-simple-fields-mount {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto 18px;
  padding: 34px;
  background: #fff;
  border: 1px solid var(--lpf-line);
  border-radius: 26px;
  box-shadow: 0 12px 38px rgba(18, 35, 63, .07);
}

.lpf-simple-fields-mount:empty,
.lpf-payment-recovery-mount:empty {
  display: none;
}

.lpf-payment-recovery {
  margin: 0 auto 18px;
  padding: 18px 20px;
  color: #6b3510;
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: 16px;
}

.lpf-payment-recovery h2 {
  margin: 0 0 5px;
  color: #7c2d12;
  font-size: 20px;
}

.lpf-payment-recovery p {
  margin: 0 0 13px;
}

.lpf-payment-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lpf-payment-recovery .button {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 22px;
}

.lpf-payment-recovery .lpf-help-button {
  color: var(--lpf-blue);
  background: #fff;
  border: 1px solid #b9c7d8;
}

.lpf-simple-fields legend {
  display: block;
  width: 100%;
  margin: 0 0 24px;
  color: var(--lpf-ink);
  font-size: clamp(25px, 4vw, 34px);
  font-weight: 800;
  line-height: 1.2;
}

.lpf-simple-field {
  margin-bottom: 20px;
}

.lpf-simple-field > label,
.lpf-profile-label {
  display: block;
  margin: 0 0 8px;
  color: #121b2b;
  font-size: 15px;
  font-weight: 700;
}

.lpf-required {
  color: #d63638;
}

.lpf-simple-field input[type="text"],
.lpf-simple-field input[type="email"],
.lpf-simple-field input[type="tel"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 12px 14px;
  color: var(--lpf-ink);
  background: #fff;
  border: 1px solid #cfd5dd;
  border-radius: 8px;
  font-size: 16px;
}

.lpf-simple-field input:focus {
  border-color: var(--lpf-blue);
  box-shadow: 0 0 0 2px rgba(18, 63, 136, .12);
  outline: 0;
}

.lpf-profile-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.lpf-profile-option {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  margin: 0;
  padding: 0 16px;
  color: var(--lpf-ink);
  background: #fff;
  border: 1px solid #cfd5dd;
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
}

.lpf-profile-option:has(input:checked) {
  background: var(--lpf-sky);
  border-color: var(--lpf-blue);
  box-shadow: 0 0 0 1px var(--lpf-blue);
}

.lpf-profile-option input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--lpf-blue);
}

.lpf-simple-error {
  display: none;
  margin: 7px 0 0;
  color: #b42318;
  font-size: 13px;
}

.lpf-simple-fields.lpf-show-errors input:invalid {
  border-color: #d63638;
}

.lpf-simple-fields.lpf-show-errors .lpf-profile-options:not(:has(input:checked)) + .lpf-simple-error {
  display: block;
}

body.lma-pocket-checkout .wc-block-components-text-input input,
body.lma-pocket-checkout .wc-block-components-combobox .components-combobox-control__input {
  min-height: 54px;
  background: #fff;
  border-color: #cfd5dd !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

body.lma-pocket-checkout .wc-block-components-text-input input:focus,
body.lma-pocket-checkout .wc-block-components-combobox .components-combobox-control__input:focus {
  border-color: var(--lpf-blue) !important;
  box-shadow: 0 0 0 2px rgba(18, 63, 136, .12) !important;
}

body.lma-pocket-checkout .wc-block-components-totals-coupon {
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--lpf-line);
}

body.lma-pocket-checkout .wc-block-components-totals-coupon__button {
  min-height: 48px;
  padding: 0 20px;
  color: #fff;
  background: var(--lpf-ink);
  border: 0;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
}

body.lma-pocket-checkout .wc-block-components-totals-coupon__button:hover,
body.lma-pocket-checkout .wc-block-components-totals-coupon__button:focus-visible {
  background: #0a172d;
}

body.lma-pocket-checkout .wc-block-components-totals-coupon__input input {
  min-height: 48px;
  background: #fff;
  border-color: #cfd5dd !important;
  border-radius: 8px !important;
  font-size: 16px !important;
}

body.lma-pocket-checkout .wc-block-components-checkout-place-order-button {
  min-height: 58px;
  color: #fff;
  background: linear-gradient(135deg, var(--lpf-blue), var(--lpf-brand-end));
  border: 0;
  border-radius: 28px;
  box-shadow: 0 10px 24px rgba(67, 111, 241, .25);
  font-size: 17px;
  font-weight: 800;
}

body.lma-pocket-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  font-size: 0;
}

body.lma-pocket-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
  content: "Pay securely & register";
  font-size: 17px;
}

body.lma-pocket-checkout .wc-block-components-checkout-place-order-button:hover {
  background: linear-gradient(135deg, #4056d8, #3471dc);
}

.lpf-payment-note {
  margin: 10px 0 0;
  color: var(--lpf-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

body.lma-pocket-checkout .wc-block-checkout__actions::after {
  content: "Your registration is confirmed only after successful payment. You can safely retry if payment is cancelled.";
  display: block;
  margin: 10px 0 0;
  color: var(--lpf-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

@media (max-width: 760px) {
  body.lma-pocket-checkout #main .container {
    width: min(100% - 20px, 680px);
    padding-bottom: 34px;
  }

  .lpf-checkout-intro {
    padding: 22px 10px 18px;
  }

  .lpf-checkout-brand img {
    width: 124px;
  }

  .lpf-checkout-assurance {
    padding: 9px 5px;
    gap: 7px 14px;
    font-size: 12px;
  }

  body.lma-pocket-checkout .wc-block-checkout__main,
  body.lma-pocket-checkout .wc-block-checkout__sidebar {
    padding: 20px !important;
    border-radius: 18px;
  }

  .lpf-simple-fields-mount {
    padding: 20px;
    border-radius: 18px;
  }

  .lpf-profile-options {
    grid-template-columns: 1fr;
  }
}
