/* Jato Checkout Pro — checkout clássico WooCommerce + CartFlows */
:root {
  --jcp-accent: #FF0000;
  --jcp-accent-dark: #D80000;
  --jcp-bg: #FFFFFF;
  --jcp-surface: #ffffff;
  --jcp-text: #111111;
  --jcp-muted: #667085;
  --jcp-border: #e4e8ef;
  --jcp-soft: #f7f9fc;
  --jcp-shadow: 0 20px 55px rgba(15, 23, 42, 0.09);
  --jcp-radius: 22px;
}


/* Marcador técnico usado pelo JavaScript para liberar a primeira pintura
   somente quando esta folha de estilos já estiver realmente aplicada. */
.jcp-css-sentinel {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 173px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body.jcp-checkout-active {
  background:
    radial-gradient(circle at 12% 4%, rgba(255, 16, 26, .075), transparent 24rem),
    radial-gradient(circle at 92% 8%, rgba(18, 27, 51, .06), transparent 30rem),
    var(--jcp-bg) !important;
  color: var(--jcp-text);
  min-height: 100vh;
}

body.jcp-clean-page #masthead,
body.jcp-clean-page #colophon,
body.jcp-clean-page .site-header,
body.jcp-clean-page .site-footer,
body.jcp-clean-page .elementor-location-header,
body.jcp-clean-page .elementor-location-footer,
body.jcp-clean-page .page-header,
body.jcp-clean-page .entry-header,
body.jcp-clean-page .entry-title,
body.jcp-clean-page .ast-title-bar-wrap,
body.jcp-clean-page .woocommerce-breadcrumb {
  display: none !important;
}

body.jcp-checkout-active .site-content,
body.jcp-checkout-active #content,
body.jcp-checkout-active .content-area,
body.jcp-checkout-active main,
body.jcp-checkout-active .entry-content,
body.jcp-checkout-active .elementor-widget-container {
  overflow: visible;
}

body.jcp-checkout-active .woocommerce,
body.jcp-checkout-active .wcf-embed-checkout-form,
body.jcp-checkout-active .wcf-checkout-template {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
  margin: 0 auto;
}

body.jcp-checkout-active .woocommerce {
  padding: 26px 0 56px;
}

.jcp-checkout-header {
  position: relative;
  text-align: center;
  padding: 6px 0 24px;
}

.jcp-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 98px;
  height: 98px;
  border-radius: 50%;
  background: #0f1424;
  padding: 4px;
  box-shadow: 0 16px 36px rgba(15, 20, 36, .18), 0 0 0 5px rgba(255, 255, 255, .95);
  transition: transform .2s ease, box-shadow .2s ease;
}

.jcp-brand:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(15, 20, 36, .22), 0 0 0 5px #fff;
}

.jcp-brand img {
  width: 90px !important;
  height: 90px !important;
  display: block;
  object-fit: cover;
  border-radius: 50%;
  margin: 0 !important;
}

.jcp-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 26px auto 18px;
}

.jcp-step {
  appearance: none;
  border: 0;
  background: transparent;
  color: #8a94a6;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 4px;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
  cursor: pointer;
  transition: color .2s ease;
}

.jcp-step-number {
  width: 29px;
  height: 29px;
  border: 2px solid #b8c0cf;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #8a94a6;
  font-size: 13px;
  line-height: 1;
  transition: all .2s ease;
}

.jcp-step.is-active {
  color: var(--jcp-text);
}

.jcp-step.is-active .jcp-step-number,
.jcp-step.is-complete .jcp-step-number {
  border-color: var(--jcp-accent);
  background: var(--jcp-accent);
  color: #fff;
  box-shadow: 0 7px 18px rgba(255, 16, 26, .22);
}

.jcp-step-line {
  width: 72px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--jcp-accent) 0 48%, #d5dbe5 48% 100%);
}

.jcp-top-trust {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  color: #5f697a;
  font-size: 12.5px;
  font-weight: 650;
}

.jcp-top-trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.jcp-top-trust svg,
.jcp-after-submit svg {
  width: 17px;
  height: 17px;
  fill: var(--jcp-accent);
  flex: 0 0 auto;
}

/* Avisos WooCommerce */
body.jcp-checkout-active .woocommerce-notices-wrapper,
body.jcp-checkout-active .woocommerce-NoticeGroup,
body.jcp-checkout-active .wcf-notices-wrapper {
  width: min(1180px, 100%);
  margin: 0 auto 16px;
}

body.jcp-checkout-active .woocommerce-error,
body.jcp-checkout-active .woocommerce-info,
body.jcp-checkout-active .woocommerce-message {
  border: 1px solid var(--jcp-border) !important;
  border-top: 0 !important;
  border-left: 4px solid var(--jcp-accent) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--jcp-text) !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
  padding: 15px 18px 15px 48px !important;
}

/* Cupom clássico */
body.jcp-checkout-active .woocommerce-form-coupon-toggle {
  margin: 0 auto 12px;
  max-width: 1180px;
}

body.jcp-checkout-active form.checkout_coupon,
body.jcp-checkout-active .wcf-coupon-code-input-wrap {
  border: 1px solid var(--jcp-border) !important;
  border-radius: 16px !important;
  background: var(--jcp-surface) !important;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
  padding: 16px !important;
  margin: 0 0 22px !important;
}

body.jcp-checkout-active form.checkout_coupon .form-row {
  margin: 0 !important;
}

body.jcp-checkout-active form.checkout_coupon .button,
body.jcp-checkout-active .wcf-coupon-code-input-wrap .wcf-submit-coupon {
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--jcp-text) !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 0 24px !important;
}

/* Layout principal do checkout clássico */
body.jcp-checkout-active form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  grid-template-areas:
    "customer review-title"
    "customer review";
  align-items: start;
  column-gap: 30px;
  row-gap: 0;
  width: 100%;
  margin: 0;
}

body.jcp-checkout-active form.checkout #customer_details {
  grid-area: customer;
  width: 100% !important;
  float: none !important;
  background: var(--jcp-surface);
  border: 1px solid var(--jcp-border);
  border-radius: var(--jcp-radius);
  box-shadow: var(--jcp-shadow);
  padding: 30px;
  margin: 0 !important;
}

body.jcp-checkout-active form.checkout #order_review_heading {
  grid-area: review-title;
  width: 100% !important;
  float: none !important;
  background: var(--jcp-surface);
  color: var(--jcp-text);
  border: 1px solid var(--jcp-border);
  border-bottom: 0;
  border-radius: var(--jcp-radius) var(--jcp-radius) 0 0;
  padding: 25px 26px 18px;
  margin: 0 !important;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 850;
}

body.jcp-checkout-active form.checkout #order_review {
  grid-area: review;
  width: 100% !important;
  float: none !important;
  background: var(--jcp-surface);
  border: 1px solid var(--jcp-border);
  border-top: 0;
  border-radius: 0 0 var(--jcp-radius) var(--jcp-radius);
  box-shadow: var(--jcp-shadow);
  padding: 0 26px 26px;
  margin: 0 !important;
}

/* CartFlows: mantém o formulário real e aplica visual consistente */
body.jcp-checkout-active .wcf-embed-checkout-form,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-checkout,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-checkout-form {
  color: var(--jcp-text);
}

body.jcp-checkout-active .wcf-embed-checkout-form .wcf-col2-set,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-wrap,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-review-wrapper,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-billing-fields,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-additional-fields {
  border-color: var(--jcp-border) !important;
  border-radius: var(--jcp-radius) !important;
}

body.jcp-checkout-active .wcf-embed-checkout-form .wcf-col2-set,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-wrap {
  background: var(--jcp-surface) !important;
  box-shadow: var(--jcp-shadow) !important;
}

body.jcp-checkout-active .wcf-embed-checkout-form .wcf-product-option-wrap,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-qty-options,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-bump-wrap {
  border-radius: 16px !important;
}

/* Colunas internas */
body.jcp-checkout-active #customer_details .col-1,
body.jcp-checkout-active #customer_details .col-2,
body.jcp-checkout-active .woocommerce-billing-fields,
body.jcp-checkout-active .woocommerce-shipping-fields,
body.jcp-checkout-active .woocommerce-additional-fields {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}

body.jcp-checkout-active .woocommerce-shipping-fields:empty,
body.jcp-checkout-active .woocommerce-additional-fields:empty,
body.jcp-checkout-active .col-2:empty {
  display: none !important;
}

body.jcp-checkout-active .woocommerce-billing-fields > h3,
body.jcp-checkout-active .woocommerce-additional-fields > h3,
body.jcp-checkout-active .woocommerce-shipping-fields > h3,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-billing-fields > h3,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-additional-fields > h3 {
  color: var(--jcp-text) !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
  margin: 0 0 23px !important;
}

body.jcp-checkout-active .woocommerce-billing-fields > h3::after {
  content: "Preencha seus dados para receber o acesso";
  display: block;
  margin-top: 8px;
  color: var(--jcp-muted);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 550;
  letter-spacing: 0;
}

/* Campos */
body.jcp-checkout-active .woocommerce-billing-fields__field-wrapper,
body.jcp-checkout-active .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 16px;
}

body.jcp-checkout-active .form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.jcp-checkout-active .woocommerce-billing-fields__field-wrapper > .form-row,
body.jcp-checkout-active .woocommerce-shipping-fields__field-wrapper > .form-row {
  margin: 0 !important;
}

body.jcp-checkout-active .form-row-first,
body.jcp-checkout-active .form-row-last {
  width: calc(50% - 8px) !important;
  float: none !important;
}

body.jcp-checkout-active .form-row-wide {
  width: 100% !important;
}

body.jcp-checkout-active .form-row label {
  display: block;
  color: #202838 !important;
  font-size: 13.5px !important;
  line-height: 1.4;
  font-weight: 750 !important;
  margin: 0 0 8px !important;
}

body.jcp-checkout-active .form-row label .required {
  color: var(--jcp-accent) !important;
  text-decoration: none !important;
}

body.jcp-checkout-active .form-row input.input-text,
body.jcp-checkout-active .form-row textarea,
body.jcp-checkout-active .form-row select,
body.jcp-checkout-active .select2-container .select2-selection--single,
body.jcp-checkout-active .wcf-embed-checkout-form input[type="text"],
body.jcp-checkout-active .wcf-embed-checkout-form input[type="email"],
body.jcp-checkout-active .wcf-embed-checkout-form input[type="tel"] {
  width: 100% !important;
  min-height: 56px !important;
  height: 56px;
  border: 1.5px solid #d7dde7 !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  color: var(--jcp-text) !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  padding: 0 16px !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.jcp-checkout-active .form-row textarea {
  height: 110px !important;
  min-height: 110px !important;
  padding-top: 14px !important;
  resize: vertical;
}

body.jcp-checkout-active .form-row input.input-text::placeholder,
body.jcp-checkout-active .form-row textarea::placeholder {
  color: #9aa3b2;
  opacity: 1;
}

body.jcp-checkout-active .form-row input.input-text:focus,
body.jcp-checkout-active .form-row textarea:focus,
body.jcp-checkout-active .form-row select:focus,
body.jcp-checkout-active .select2-container--open .select2-selection--single {
  border-color: var(--jcp-accent) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255, 16, 26, .09) !important;
}

body.jcp-checkout-active .woocommerce-invalid input.input-text,
body.jcp-checkout-active .woocommerce-invalid select {
  border-color: #d63638 !important;
  background: #fff6f6 !important;
}

body.jcp-checkout-active .woocommerce-validated input.input-text {
  border-color: #2e9d64 !important;
}

body.jcp-checkout-active .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 53px !important;
  padding-left: 0 !important;
}

body.jcp-checkout-active .select2-container .select2-selection--single .select2-selection__arrow {
  height: 54px !important;
  right: 10px !important;
}

/* Resumo do pedido */
body.jcp-checkout-active table.shop_table,
body.jcp-checkout-active table.woocommerce-checkout-review-order-table {
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
  margin: 0 0 22px !important;
  width: 100% !important;
}

body.jcp-checkout-active table.shop_table th,
body.jcp-checkout-active table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid var(--jcp-border) !important;
  color: var(--jcp-text) !important;
  font-size: 14px;
  padding: 15px 0 !important;
  vertical-align: middle !important;
}

body.jcp-checkout-active table.shop_table thead th {
  color: #687385 !important;
  font-size: 11.5px !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800 !important;
}

body.jcp-checkout-active table.shop_table th:last-child,
body.jcp-checkout-active table.shop_table td:last-child {
  text-align: right;
}

body.jcp-checkout-active .jcp-order-product {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

body.jcp-checkout-active .jcp-order-product .jcp-product-thumb,
body.jcp-checkout-active .product-name img {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px;
  object-fit: cover;
  border-radius: 14px !important;
  border: 1px solid var(--jcp-border);
  background: #f3f5f9;
  padding: 3px;
  margin: 0 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

body.jcp-checkout-active .jcp-product-name {
  min-width: 0;
  font-weight: 750;
  line-height: 1.35;
}

body.jcp-checkout-active .product-quantity {
  color: #697386;
  font-weight: 650;
}

body.jcp-checkout-active .cart-subtotal th,
body.jcp-checkout-active .cart-subtotal td {
  color: #5b6575 !important;
}

body.jcp-checkout-active .order-total th,
body.jcp-checkout-active .order-total td {
  border-bottom: 0 !important;
  padding-top: 18px !important;
  color: var(--jcp-text) !important;
  font-size: 19px !important;
  font-weight: 900 !important;
}

body.jcp-checkout-active .order-total .amount {
  color: var(--jcp-accent) !important;
  font-size: 22px;
}

/* Pagamento */
body.jcp-checkout-active #payment,
body.jcp-checkout-active .woocommerce-checkout-payment,
body.jcp-checkout-active .wcf-embed-checkout-form #payment {
  background: #f5f7fa !important;
  border: 1px solid var(--jcp-border) !important;
  border-radius: 18px !important;
  color: var(--jcp-text) !important;
  padding: 14px !important;
}

body.jcp-checkout-active #payment::before {
  content: "Formas de pagamento";
  display: block;
  color: var(--jcp-text);
  font-size: 20px;
  line-height: 1.25;
  font-weight: 850;
  margin: 3px 4px 14px;
}

body.jcp-checkout-active #payment ul.payment_methods {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.jcp-checkout-active #payment ul.payment_methods li {
  position: relative;
  border: 1px solid #dfe4ec !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 14px 14px !important;
  margin: 0 0 10px !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.jcp-checkout-active #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--jcp-accent) !important;
  box-shadow: 0 0 0 3px rgba(255, 16, 26, .075);
}

body.jcp-checkout-active #payment ul.payment_methods li:hover {
  transform: translateY(-1px);
}

body.jcp-checkout-active #payment ul.payment_methods li > label {
  color: var(--jcp-text) !important;
  font-size: 14.5px !important;
  font-weight: 780 !important;
  cursor: pointer;
}

body.jcp-checkout-active #payment input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 8px 0 0 !important;
  vertical-align: -4px;
  accent-color: var(--jcp-accent);
}

body.jcp-checkout-active #payment .payment_box {
  position: relative;
  border: 0 !important;
  border-radius: 11px !important;
  background: #fff5f5 !important;
  color: #454f61 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  padding: 13px 14px !important;
  margin: 12px 0 0 !important;
}

body.jcp-checkout-active #payment .payment_box::before {
  border-bottom-color: #fff5f5 !important;
}

body.jcp-checkout-active #payment .payment_box p:last-child {
  margin-bottom: 0 !important;
}

body.jcp-checkout-active #payment div.form-row.place-order {
  padding: 12px 0 0 !important;
  margin: 0 !important;
}

body.jcp-checkout-active .woocommerce-terms-and-conditions-wrapper {
  color: #697386;
  font-size: 12.5px;
  line-height: 1.5;
}

body.jcp-checkout-active #place_order,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-submit-coupon,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-button,
body.jcp-checkout-active .woocommerce-checkout button[type="submit"]#place_order {
  position: relative;
  width: 100% !important;
  min-height: 60px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--jcp-accent), var(--jcp-accent-dark)) !important;
  color: #fff !important;
  box-shadow: 0 15px 30px rgba(255, 16, 26, .24) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  padding: 15px 20px !important;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body.jcp-checkout-active #place_order:hover,
body.jcp-checkout-active .wcf-order-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(255, 16, 26, .3) !important;
  filter: saturate(1.08);
}

body.jcp-checkout-active #place_order:active,
body.jcp-checkout-active .wcf-order-button:active {
  transform: translateY(0);
}

body.jcp-checkout-active #place_order.jcp-is-loading {
  color: transparent !important;
  pointer-events: none;
}

body.jcp-checkout-active #place_order.jcp-is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 23px;
  height: 23px;
  border: 3px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: jcpSpin .7s linear infinite;
}

@keyframes jcpSpin { to { transform: rotate(360deg); } }

.jcp-after-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #657083;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 650;
  margin: 13px 2px 1px;
}

.jcp-after-submit svg {
  width: 15px;
  height: 15px;
}

/* Remove títulos/elementos duplicados comuns do CartFlows sem remover o formulário */
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-steps-wrap,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-progress-bar-nav,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-checkout-header,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-custom-checkout-header {
  display: none !important;
}

/* Widget flutuante não deve cobrir o botão no mobile */
body.jcp-checkout-active .ai-float-widget,
body.jcp-checkout-active [class*="ask-ai"],
body.jcp-checkout-active [id*="ask-ai"] {
  z-index: 80 !important;
}

@media (max-width: 900px) {
  body.jcp-checkout-active .woocommerce,
  body.jcp-checkout-active .wcf-embed-checkout-form,
  body.jcp-checkout-active .wcf-checkout-template {
    width: min(100% - 22px, 720px);
  }

  body.jcp-checkout-active .woocommerce {
    padding-top: 18px;
  }

  .jcp-brand {
    width: 88px;
    height: 88px;
  }

  .jcp-brand img {
    width: 80px !important;
    height: 80px !important;
  }

  body.jcp-checkout-active form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "customer"
      "review-title"
      "review";
    gap: 18px;
  }

  body.jcp-checkout-active form.checkout #customer_details {
    padding: 24px;
  }

  body.jcp-checkout-active form.checkout #order_review_heading {
    margin-top: 0 !important;
  }
}

@media (max-width: 600px) {
  body.jcp-checkout-active .woocommerce,
  body.jcp-checkout-active .wcf-embed-checkout-form,
  body.jcp-checkout-active .wcf-checkout-template {
    width: calc(100% - 16px);
  }

  .jcp-checkout-header {
    padding-bottom: 18px;
  }

  .jcp-stepper {
    gap: 8px;
    margin-top: 22px;
  }

  .jcp-step {
    font-size: 13px;
    gap: 7px;
  }

  .jcp-step-number {
    width: 26px;
    height: 26px;
  }

  .jcp-step-line {
    width: 38px;
  }

  .jcp-top-trust {
    gap: 8px 12px;
    font-size: 11.5px;
  }

  body.jcp-checkout-active form.checkout #customer_details {
    border-radius: 18px;
    padding: 21px 17px;
  }

  body.jcp-checkout-active form.checkout #order_review_heading {
    border-radius: 18px 18px 0 0;
    padding: 21px 18px 15px;
    font-size: 21px;
  }

  body.jcp-checkout-active form.checkout #order_review {
    border-radius: 0 0 18px 18px;
    padding: 0 18px 20px;
  }

  body.jcp-checkout-active .woocommerce-billing-fields > h3,
  body.jcp-checkout-active .woocommerce-additional-fields > h3,
  body.jcp-checkout-active .woocommerce-shipping-fields > h3 {
    font-size: 22px !important;
  }

  body.jcp-checkout-active .form-row-first,
  body.jcp-checkout-active .form-row-last {
    width: 100% !important;
  }

  body.jcp-checkout-active .woocommerce-billing-fields__field-wrapper,
  body.jcp-checkout-active .woocommerce-shipping-fields__field-wrapper {
    gap: 15px;
  }

  body.jcp-checkout-active .form-row input.input-text,
  body.jcp-checkout-active .form-row select,
  body.jcp-checkout-active .select2-container .select2-selection--single {
    min-height: 54px !important;
    height: 54px;
    font-size: 16px !important; /* evita zoom no iPhone */
  }

  body.jcp-checkout-active table.shop_table th,
  body.jcp-checkout-active table.shop_table td {
    font-size: 13.5px;
    padding: 13px 0 !important;
  }

  body.jcp-checkout-active .jcp-order-product .jcp-product-thumb,
  body.jcp-checkout-active .product-name img {
    width: 55px !important;
    height: 55px !important;
    min-width: 55px;
    border-radius: 12px !important;
  }

  body.jcp-checkout-active #payment,
  body.jcp-checkout-active .woocommerce-checkout-payment {
    padding: 11px !important;
  }

  body.jcp-checkout-active #place_order,
  body.jcp-checkout-active .wcf-order-button {
    min-height: 58px !important;
    font-size: 14.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jcp-brand,
  .jcp-step,
  body.jcp-checkout-active input,
  body.jcp-checkout-active button,
  body.jcp-checkout-active #payment ul.payment_methods li {
    transition: none !important;
  }
}

/* ==========================================================
   Jato Checkout Pro 1.1 — isolamento total do CartFlows
   ========================================================== */

body.jcp-checkout-active .jcp-force-hidden,
body.jcp-checkout-active .jcp-empty-section,
body.jcp-checkout-active .wcf-checkout-header,
body.jcp-checkout-active .wcf-checkout-header-wrapper,
body.jcp-checkout-active .wcf-custom-checkout-header,
body.jcp-checkout-active .wcf-header,
body.jcp-checkout-active .wcf-header-wrap,
body.jcp-checkout-active .wcf-header-wrapper,
body.jcp-checkout-active .wcf-header-logo,
body.jcp-checkout-active .wcf-checkout-logo,
body.jcp-checkout-active .wcf-step-header,
body.jcp-checkout-active .wcf-steps-wrap,
body.jcp-checkout-active .wcf-progress-bar-nav,
body.jcp-checkout-active .wcf-progress-bar-wrapper,
body.jcp-checkout-active .wcf-progress-bar,
body.jcp-checkout-active .wcf-checkout-progress,
body.jcp-checkout-active .wcf-multistep-nav {
  display: none !important;
}

body.jcp-standalone-mounted .jcp-original-layout-hidden {
  display: none !important;
}

body.jcp-standalone-mounted {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 10% 3%, rgba(255, 16, 26, .08), transparent 25rem),
    radial-gradient(circle at 92% 7%, rgba(18, 27, 51, .07), transparent 31rem),
    var(--jcp-bg) !important;
}

#jcp-standalone-root {
  display: block;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: transparent;
  isolation: isolate;
}

body.admin-bar #jcp-standalone-root {
  min-height: calc(100vh - 32px);
}

#jcp-standalone-root > .wcf-embed-checkout-form,
#jcp-standalone-root > .woocommerce,
#jcp-standalone-root .wcf-checkout-template,
#jcp-standalone-root .wcf-checkout-main,
#jcp-standalone-root .wcf-checkout-container,
#jcp-standalone-root .wcf-checkout-form-wrapper {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#jcp-standalone-root .wcf-embed-checkout-form > .woocommerce,
#jcp-standalone-root > .woocommerce {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 0 64px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#jcp-standalone-root .wcf-embed-checkout-form::before,
#jcp-standalone-root .wcf-embed-checkout-form::after,
#jcp-standalone-root .wcf-checkout-template::before,
#jcp-standalone-root .wcf-checkout-template::after {
  display: none !important;
  content: none !important;
}

/* Fallback para páginas CartFlows montadas no Elementor antes do JS isolar o formulário. */
body.jcp-standalone-mode .elementor-element:has(form.checkout),
body.jcp-standalone-mode .e-con:has(form.checkout),
body.jcp-standalone-mode .elementor-container:has(form.checkout),
body.jcp-standalone-mode .elementor-column:has(form.checkout),
body.jcp-standalone-mode .elementor-widget-wrap:has(form.checkout) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.jcp-checkout-active .wcf-embed-checkout-form {
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce,
body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-checkout,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-checkout-form {
  max-width: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.jcp-checkout-active form.checkout.woocommerce-checkout,
body.jcp-checkout-active form.wcf-checkout-form {
  clear: both;
  min-width: 0;
}

body.jcp-checkout-active form.checkout .wcf-col2-set,
body.jcp-checkout-active form.checkout .wcf-order-wrap,
body.jcp-checkout-active form.checkout .wcf-order-review-wrapper {
  min-width: 0 !important;
  max-width: none !important;
  margin-top: 0 !important;
}

body.jcp-checkout-active .jcp-checkout-header {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  border: 0 !important;
  background: transparent !important;
}

body.jcp-checkout-active #customer_details,
body.jcp-checkout-active #order_review,
body.jcp-checkout-active #order_review_heading,
body.jcp-checkout-active .wcf-col2-set,
body.jcp-checkout-active .wcf-order-wrap {
  min-width: 0 !important;
}

body.jcp-checkout-active .product-name,
body.jcp-checkout-active .jcp-product-name,
body.jcp-checkout-active .jcp-product-name a {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.jcp-checkout-active .woocommerce-additional-fields.jcp-empty-section,
body.jcp-checkout-active .woocommerce-shipping-fields.jcp-empty-section,
body.jcp-checkout-active #customer_details .col-2.jcp-empty-section {
  display: none !important;
}

/* Remove margens e linhas externas deixadas pelo template do funil. */
body.jcp-checkout-active .wcf-container,
body.jcp-checkout-active .wcf-row,
body.jcp-checkout-active .wcf-col,
body.jcp-checkout-active .wcf-checkout-wrapper {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

@media (max-width: 900px) {
  #jcp-standalone-root .wcf-embed-checkout-form > .woocommerce,
  #jcp-standalone-root > .woocommerce {
    width: min(100% - 22px, 720px) !important;
    padding-top: 18px !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar #jcp-standalone-root {
    min-height: calc(100vh - 46px);
  }
}

@media (max-width: 600px) {
  #jcp-standalone-root .wcf-embed-checkout-form > .woocommerce,
  #jcp-standalone-root > .woocommerce {
    width: calc(100% - 16px) !important;
    padding-bottom: 36px !important;
  }
}

/* ==========================================================
   Jato Checkout Pro 1.2 — fundo branco + tela Pix profissional
   ========================================================== */

:root {
  --jcp-accent: #FF0000;
  --jcp-accent-dark: #D80000;
  --jcp-bg: #FFFFFF;
  --jcp-surface: #FFFFFF;
  --jcp-text: #111111;
  --jcp-muted: #667085;
  --jcp-border: #E3E6EB;
  --jcp-soft: #F7F8FA;
  --jcp-shadow: 0 16px 45px rgba(17, 24, 39, .075);
}

html:has(body.jcp-checkout-active),
body.jcp-checkout-active,
body.jcp-standalone-mounted,
body.jcp-payment-mounted {
  background: #FFFFFF !important;
}

body.jcp-checkout-active {
  background-image: none !important;
}

body.jcp-checkout-active .jcp-brand,
body.jcp-checkout-active .jcp-brand:hover {
  box-shadow: 0 8px 24px rgba(17, 24, 39, .10), 0 0 0 4px #FFFFFF !important;
}

body.jcp-checkout-active .jcp-step.is-active .jcp-step-number,
body.jcp-checkout-active .jcp-step.is-complete .jcp-step-number,
body.jcp-checkout-active .form-row input.input-text:focus,
body.jcp-checkout-active .form-row textarea:focus,
body.jcp-checkout-active .form-row select:focus,
body.jcp-checkout-active .select2-container--open .select2-selection--single,
body.jcp-checkout-active #payment ul.payment_methods li:has(input:checked) {
  box-shadow: none !important;
}

body.jcp-checkout-active form.checkout #customer_details,
body.jcp-checkout-active form.checkout #order_review,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-col2-set,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-wrap {
  box-shadow: var(--jcp-shadow) !important;
}

body.jcp-checkout-active #place_order,
body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-button,
body.jcp-checkout-active .woocommerce-checkout button[type="submit"]#place_order,
body.jcp-checkout-active #place_order:hover,
body.jcp-checkout-active .wcf-order-button:hover {
  background: var(--jcp-qr-corner, #FF0000) !important;
  box-shadow: none !important;
  filter: none !important;
}

body.jcp-checkout-active #place_order:hover,
body.jcp-checkout-active .wcf-order-button:hover {
  background: #D80000 !important;
}

body.jcp-checkout-active #payment .payment_box {
  background: #FAFAFA !important;
}

body.jcp-checkout-active #payment .payment_box::before {
  border-bottom-color: #FAFAFA !important;
}

body.jcp-standalone-mounted {
  background-image: none !important;
}

/* Isolamento da etapa de pagamento/obrigado do CartFlows. */
body.jcp-payment-active .jcp-force-hidden,
body.jcp-payment-active .jcp-payment-original-hidden,
body.jcp-payment-active .wcf-checkout-header,
body.jcp-payment-active .wcf-checkout-header-wrapper,
body.jcp-payment-active .wcf-custom-checkout-header,
body.jcp-payment-active .wcf-header,
body.jcp-payment-active .wcf-header-wrap,
body.jcp-payment-active .wcf-header-wrapper,
body.jcp-payment-active .wcf-header-logo,
body.jcp-payment-active .wcf-checkout-logo,
body.jcp-payment-active .wcf-step-header,
body.jcp-payment-active .wcf-steps-wrap,
body.jcp-payment-active .wcf-progress-bar-nav,
body.jcp-payment-active .wcf-progress-bar-wrapper,
body.jcp-payment-active .wcf-progress-bar,
body.jcp-payment-active .wcf-checkout-progress,
body.jcp-payment-active .wcf-multistep-nav {
  display: none !important;
}

#jcp-payment-template[hidden] {
  display: none !important;
}

#jcp-payment-root {
  width: 100%;
  min-height: 100vh;
  box-sizing: border-box;
  margin: 0;
  padding: 32px 20px 28px;
  background: #FFFFFF;
  color: #111111;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body.admin-bar #jcp-payment-root {
  min-height: calc(100vh - 32px);
}

.jcp-payment-header {
  width: min(760px, 100%);
  margin: 0 auto 24px;
  text-align: center;
}

.jcp-payment-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  padding: 3px;
  border: 1px solid #E5E7EB;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .08);
}

.jcp-payment-logo img {
  display: block;
  width: 80px !important;
  height: 80px !important;
  margin: 0 !important;
  border-radius: 50%;
  object-fit: cover;
}

.jcp-payment-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}

.jcp-payment-stepper > i {
  display: block;
  width: 66px;
  height: 1px;
  background: #D6DAE1;
}

.jcp-payment-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #667085;
  font-size: 14px;
}

.jcp-payment-step > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1.5px solid #C9CED7;
  border-radius: 50%;
  background: #FFFFFF;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.jcp-payment-step.is-complete > span {
  border-color: #111111;
  background: #111111;
  color: #FFFFFF;
}

.jcp-payment-step.is-active {
  color: #111111;
}

.jcp-payment-step.is-active > span {
  border-color: #FF0000;
  background: #FF0000;
  color: #FFFFFF;
}

.jcp-payment-header > p {
  margin: 13px 0 0;
  color: #667085;
  font-size: 13px;
}

.jcp-payment-stage {
  width: min(720px, 100%);
  margin: 0 auto;
}

body.jcp-payment-active .payment-container {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 34px 36px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 20px !important;
  background: #FFFFFF !important;
  box-shadow: 0 14px 38px rgba(17, 24, 39, .07) !important;
  color: #111111 !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  text-align: center !important;
}

body.jcp-payment-active .payment-container * {
  box-sizing: border-box;
}

body.jcp-payment-active .payment-container h2 {
  margin: 0 0 12px !important;
  color: #FF0000 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: -.02em;
}

body.jcp-payment-active .payment-container h3 {
  color: #111111 !important;
}

body.jcp-payment-active .payment-container p,
body.jcp-payment-active .payment-container strong,
body.jcp-payment-active .payment-container span,
body.jcp-payment-active .payment-container li {
  color: #111111;
}

.jcp-access-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0 22px;
  padding: 13px 15px;
  border: 1px solid #E3E6EB;
  border-radius: 12px;
  background: #FAFAFA;
  color: #3D4654;
  text-align: left;
  font-size: 13.5px;
  line-height: 1.55;
}

.jcp-access-notice svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  margin-top: 1px;
  fill: #FF0000;
}

body.jcp-payment-active .payment-container .pix-image {
  width: 238px !important;
  max-width: 78vw !important;
  height: auto !important;
  margin: 13px auto 10px !important;
  padding: 7px;
  border: 1px solid #E5E7EB;
  border-radius: 14px !important;
  background: #FFFFFF;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .copy-container {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 10px 0 0 !important;
  padding: 8px !important;
  border: 1px solid #DDE1E7 !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .copy-container input {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #F5F6F8 !important;
  box-shadow: none !important;
  color: #1F2937 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 13px !important;
  text-align: left !important;
  text-overflow: ellipsis;
}

body.jcp-payment-active .payment-container .copy-container button,
body.jcp-payment-active .payment-container .check-payment-btn,
body.jcp-payment-active .payment-container a[href*="minha-conta"] {
  border: 0 !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.jcp-payment-active .payment-container .copy-container button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 88px;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.jcp-payment-active .payment-container .check-payment-btn {
  min-height: 52px !important;
  margin-top: 12px !important;
  padding: 12px 18px !important;
  border-radius: 11px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

body.jcp-payment-active .payment-container .copy-container button:hover,
body.jcp-payment-active .payment-container .check-payment-btn:hover,
body.jcp-payment-active .payment-container a[href*="minha-conta"]:hover {
  background: #D80000 !important;
}

body.jcp-payment-active .payment-container .check-payment-btn:disabled {
  background: #B7BCC5 !important;
}

body.jcp-payment-active .payment-container .progress-container {
  overflow: hidden;
  height: 7px !important;
  margin-top: 14px !important;
  border-radius: 999px !important;
  background: #ECEEF2 !important;
}

body.jcp-payment-active .payment-container .progress-bar {
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .pix-instructions,
body.jcp-payment-active .payment-container .product-info {
  margin-top: 22px !important;
  padding: 20px !important;
  border: 1px solid #E3E6EB !important;
  border-radius: 14px !important;
  background: #FAFAFA !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.jcp-payment-active .payment-container .pix-instructions h3,
body.jcp-payment-active .payment-container .product-info h3 {
  margin: 0 0 15px !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

body.jcp-payment-active .payment-container .product-item img {
  width: 58px !important;
  height: 58px !important;
  border: 1px solid #E1E5EA;
  border-radius: 11px !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .approved-box {
  margin-top: 0 !important;
  padding: 26px !important;
  border: 1px solid #B8E4C7 !important;
  border-radius: 16px !important;
  background: #F4FCF7 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .approved-box > div > div {
  box-shadow: none !important;
}

body.jcp-payment-active #receipt-modal > div {
  border: 1px solid #E1E5EA !important;
  box-shadow: 0 18px 50px rgba(17, 24, 39, .16) !important;
}

body.jcp-payment-active .toast {
  border-radius: 10px !important;
  background: #111111 !important;
  box-shadow: 0 12px 30px rgba(17, 24, 39, .18) !important;
}

.jcp-payment-footer {
  width: min(720px, 100%);
  margin: 26px auto 0;
}

.jcp-support-card {
  padding: 24px 24px 22px;
  border: 1px solid #DDE1E7;
  border-radius: 16px;
  background: #FFFFFF;
  box-shadow: none;
}

.jcp-support-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.jcp-support-copy {
  min-width: 0;
}

.jcp-support-copy h3 {
  margin: 0 0 8px;
  color: #111111;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900;
}

.jcp-support-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #E5F7E9;
  color: #25813C;
  font-size: 12px;
  font-weight: 700;
}

.jcp-support-copy p {
  margin: 12px 0 0;
  color: #4B5563;
  font-size: 14px;
}

.jcp-support-top > img {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px;
  margin: 0 !important;
  border-radius: 50%;
  object-fit: cover;
}

.jcp-support-email {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #E1E5EA;
}

.jcp-support-email > span {
  height: 1px;
  flex: 1 1 auto;
  background: #DDE1E7;
}

.jcp-support-email a {
  flex: 0 1 auto;
  color: #111111;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.jcp-payment-signature {
  padding: 18px 12px 0;
  text-align: center;
}

.jcp-payment-signature > strong {
  display: block;
  color: #5D6675;
  font-size: 13px;
  letter-spacing: .02em;
}

.jcp-payment-signature p {
  margin: 5px 0 0;
  color: #5D6675;
  font-size: 14px;
}

.jcp-payment-signature a,
.jcp-payment-signature b {
  color: #FF0000;
  font-weight: 850;
  text-decoration: none;
}

.jcp-payment-signature small {
  display: block;
  max-width: 520px;
  margin: 7px auto 0;
  color: #8A93A1;
  font-size: 11.5px;
  line-height: 1.5;
}

.jcp-payment-signature img {
  display: block;
  width: 78px !important;
  max-height: 36px;
  margin: 20px auto 0 !important;
  object-fit: contain;
}

@media (max-width: 782px) {
  body.admin-bar #jcp-payment-root {
    min-height: calc(100vh - 46px);
  }
}

@media (max-width: 600px) {
  #jcp-payment-root {
    padding: 20px 10px 22px;
  }

  .jcp-payment-logo {
    width: 78px;
    height: 78px;
  }

  .jcp-payment-logo img {
    width: 70px !important;
    height: 70px !important;
  }

  .jcp-payment-stepper {
    gap: 8px;
  }

  .jcp-payment-stepper > i {
    width: 28px;
  }

  .jcp-payment-step {
    gap: 6px;
    font-size: 12.5px;
  }

  .jcp-payment-step > span {
    width: 25px;
    height: 25px;
  }

  body.jcp-payment-active .payment-container {
    padding: 25px 16px !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  body.jcp-payment-active .payment-container h2 {
    font-size: 21px !important;
  }

  body.jcp-payment-active .payment-container .copy-container {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body.jcp-payment-active .payment-container .copy-container input {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 10px !important;
    font-size: 11.5px !important;
  }

  body.jcp-payment-active .payment-container .copy-container button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 76px !important;
    padding-inline: 12px !important;
  }

  body.jcp-payment-active .payment-container .pix-instructions,
  body.jcp-payment-active .payment-container .product-info {
    padding: 16px !important;
  }

  .jcp-support-card {
    padding: 20px 17px;
  }

  .jcp-support-top > img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px;
  }

  .jcp-support-copy h3 {
    font-size: 17px;
  }

  .jcp-support-email {
    gap: 8px;
  }

  .jcp-support-email > span {
    display: none;
  }

  .jcp-support-email a {
    width: 100%;
    text-align: center;
  }
}

/* ==========================================================
   Jato Checkout Pro 1.3 — refinamentos da tela Pix
   ========================================================== */

html:has(body.jcp-payment-active),
body.jcp-payment-active,
body.jcp-payment-mounted,
#jcp-payment-root {
  background: #FFFFFF !important;
  background-image: none !important;
}

/* Cabeçalho limpo, sem sombras, com as duas etapas na mesma linha. */
.jcp-payment-logo,
.jcp-payment-logo:hover {
  box-shadow: none !important;
}

.jcp-payment-stepper {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  gap: 12px !important;
  white-space: nowrap !important;
}

.jcp-payment-step {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.jcp-payment-step strong {
  display: inline-block !important;
  white-space: nowrap !important;
}

.jcp-payment-stepper > i {
  flex: 0 0 66px !important;
}

/* Card principal branco puro e sem sombra. */
body.jcp-payment-active .payment-container {
  padding: 34px 36px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Remove definitivamente o aviso duplicado acima do QR Code. */
body.jcp-payment-active .payment-container .jcp-access-notice {
  display: none !important;
}

/* QR Code maior e nítido. */
body.jcp-payment-active .payment-container .pix-image {
  display: block !important;
  width: 310px !important;
  max-width: min(82vw, 310px) !important;
  height: auto !important;
  margin: 22px auto 14px !important;
  padding: 5px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  image-rendering: auto;
}

/* Tutorial fica logo abaixo do botão, sem linha vermelha intermediária. */
body.jcp-payment-active .payment-container .pix-instructions {
  margin-top: 20px !important;
  padding: 20px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 14px !important;
  background: #FAFAFA !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .pix-instructions > div {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

body.jcp-payment-active .payment-container .pix-instructions > div span {
  line-height: 1.5 !important;
}

/* Informações do pedido organizadas. */
body.jcp-payment-active .payment-container .product-info {
  margin-top: 20px !important;
  padding: 22px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 14px !important;
  background: #FAFAFA !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .product-item,
body.jcp-payment-active .payment-container .jcp-product-row {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #E1E5EA !important;
  text-align: left !important;
}

body.jcp-payment-active .payment-container .product-item img,
body.jcp-payment-active .payment-container .jcp-product-row img {
  display: block !important;
  width: 86px !important;
  height: 86px !important;
  margin: 0 !important;
  border: 1px solid #DCE1E7 !important;
  border-radius: 13px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  object-fit: cover !important;
}

body.jcp-payment-active .payment-container .product-item > div,
body.jcp-payment-active .payment-container .jcp-product-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: left !important;
}

body.jcp-payment-active .payment-container .product-item > div p,
body.jcp-payment-active .payment-container .jcp-product-copy p {
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

body.jcp-payment-active .payment-container .product-item > div p:first-child,
body.jcp-payment-active .payment-container .jcp-product-copy p:first-child {
  color: #111111 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

body.jcp-payment-active .payment-container .product-item > div p:last-child,
body.jcp-payment-active .payment-container .jcp-product-copy p:last-child {
  color: #596273 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

/* Dados do pedido em um bloco mais legível. */
body.jcp-payment-active .payment-container .product-info > div:not(.product-item):not(.jcp-product-row) {
  display: grid !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body.jcp-payment-active .payment-container .product-info > div:not(.product-item):not(.jcp-product-row) p {
  margin: 0 !important;
  color: #303846 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Botão Meu Painel em largura total. */
body.jcp-payment-active .payment-container .product-info a[href*="minha-conta"],
body.jcp-payment-active .payment-container .jcp-panel-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 100% !important;
  min-height: 50px !important;
  margin: 16px 0 0 !important;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body.jcp-payment-active .payment-container .product-info a[href*="minha-conta"]:hover,
body.jcp-payment-active .payment-container .jcp-panel-button:hover {
  background: #D80000 !important;
  color: #FFFFFF !important;
}

/* Sem sombras nos blocos e no rodapé. */
.jcp-payment-footer,
.jcp-support-card,
.jcp-payment-signature,
body.jcp-payment-active .payment-container .pix-instructions,
body.jcp-payment-active .payment-container .product-info {
  box-shadow: none !important;
}

@media (max-width: 600px) {
  #jcp-payment-root {
    padding: 18px 10px 22px !important;
  }

  .jcp-payment-header {
    margin-bottom: 18px !important;
  }

  .jcp-payment-stepper {
    gap: 7px !important;
  }

  .jcp-payment-stepper > i {
    flex-basis: 28px !important;
    width: 28px !important;
  }

  .jcp-payment-step {
    gap: 5px !important;
    font-size: 12px !important;
  }

  .jcp-payment-step > span {
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
  }

  body.jcp-payment-active .payment-container {
    padding: 24px 15px !important;
    border-radius: 15px !important;
  }

  body.jcp-payment-active .payment-container .pix-image {
    width: 265px !important;
    max-width: min(82vw, 265px) !important;
    margin-top: 18px !important;
  }

  body.jcp-payment-active .payment-container .product-info,
  body.jcp-payment-active .payment-container .pix-instructions {
    padding: 16px !important;
  }

  body.jcp-payment-active .payment-container .product-item,
  body.jcp-payment-active .payment-container .jcp-product-row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  body.jcp-payment-active .payment-container .product-item img,
  body.jcp-payment-active .payment-container .jcp-product-row img {
    width: 72px !important;
    height: 72px !important;
  }
}

@media (max-width: 390px) {
  .jcp-payment-stepper {
    gap: 5px !important;
  }

  .jcp-payment-stepper > i {
    flex-basis: 18px !important;
    width: 18px !important;
  }

  .jcp-payment-step {
    font-size: 11.5px !important;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.4 — ajustes de progresso e mobile
   ========================================================== */

/* Mantém somente um título de pagamento. O título externo do gateway continua visível. */
body.jcp-checkout-active #payment::before,
body.jcp-checkout-active .woocommerce-checkout-payment::before,
body.jcp-checkout-active .wcf-embed-checkout-form #payment::before {
  display: none !important;
  content: none !important;
}

/* Botão de verificação em largura total. */
body.jcp-payment-active .payment-container .check-payment-btn {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 14px 0 0 !important;
}

/* A barra original do PodPay começa oculta pelo próprio gateway e aparece no clique. */
body.jcp-payment-active .payment-container .progress-container {
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ECEEF2 !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .progress-bar {
  display: block !important;
  height: 7px !important;
  min-height: 7px !important;
  border-radius: 999px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  box-shadow: none !important;
  transition: width .12s linear !important;
}

/* Toast original do PodPay fora do card, fixo na tela. */
body.jcp-payment-active .toast {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 24px !important;
  width: auto !important;
  min-width: 250px !important;
  max-width: calc(100vw - 28px) !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  transform: translateX(-50%) !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18) !important;
  z-index: 999999 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

@media (max-width: 600px) {
  /* Usa melhor a largura do celular sem alterar o desktop. */
  body.jcp-checkout-active .woocommerce,
  body.jcp-checkout-active .wcf-embed-checkout-form,
  body.jcp-checkout-active .wcf-checkout-template,
  #jcp-standalone-root .wcf-embed-checkout-form > .woocommerce,
  #jcp-standalone-root > .woocommerce {
    width: calc(100% - 8px) !important;
    max-width: none !important;
  }

  body.jcp-checkout-active form.checkout.woocommerce-checkout,
  body.jcp-checkout-active form.wcf-checkout-form {
    gap: 12px !important;
  }

  /* Evita padding duplo do CartFlows ao redor de Detalhes de cobrança. */
  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-col2-set {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.jcp-checkout-active form.checkout #customer_details,
  body.jcp-checkout-active .wcf-embed-checkout-form #customer_details {
    width: 100% !important;
    margin: 0 !important;
    padding: 19px 13px !important;
    border-radius: 17px !important;
  }

  body.jcp-checkout-active .woocommerce-billing-fields > h3,
  body.jcp-checkout-active .wcf-embed-checkout-form .woocommerce-billing-fields > h3 {
    margin-bottom: 18px !important;
  }

  body.jcp-checkout-active .woocommerce-billing-fields__field-wrapper,
  body.jcp-checkout-active .woocommerce-shipping-fields__field-wrapper {
    gap: 12px !important;
  }

  body.jcp-checkout-active .form-row label {
    margin-bottom: 6px !important;
  }

  /* Remove o grande fundo branco externo do bloco Seu pedido no celular. */
  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-wrap,
  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-review-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* O card real de Seu pedido fica alinhado ao card de cobrança. */
  body.jcp-checkout-active form.checkout #order_review_heading,
  body.jcp-checkout-active .wcf-embed-checkout-form #order_review_heading {
    width: 100% !important;
    margin: 0 !important;
    padding: 19px 14px 13px !important;
    border: 1px solid var(--jcp-border) !important;
    border-bottom: 0 !important;
    border-radius: 17px 17px 0 0 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
  }

  body.jcp-checkout-active form.checkout #order_review,
  body.jcp-checkout-active .wcf-embed-checkout-form #order_review {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px 16px !important;
    border: 1px solid var(--jcp-border) !important;
    border-top: 0 !important;
    border-radius: 0 0 17px 17px !important;
    background: #FFFFFF !important;
    box-shadow: var(--jcp-shadow) !important;
  }

  body.jcp-checkout-active table.shop_table,
  body.jcp-checkout-active table.woocommerce-checkout-review-order-table {
    margin-bottom: 16px !important;
  }

  body.jcp-checkout-active #payment,
  body.jcp-checkout-active .woocommerce-checkout-payment {
    padding: 10px !important;
  }

  body.jcp-payment-active .payment-container .check-payment-btn {
    width: 100% !important;
  }

  body.jcp-payment-active .toast {
    bottom: 16px !important;
    min-width: 0 !important;
    width: calc(100vw - 28px) !important;
  }
}

/* ==========================================================
   Jato Checkout Pro 1.5 — erros por campo, cards mobile e Pix
   ========================================================== */

/* Os avisos de campos obrigatórios do WooCommerce/CartFlows ficam ocultos.
   O JavaScript transfere cada mensagem para baixo do campo correspondente.
   Erros gerais (por exemplo, falha do gateway) recebem esta classe e continuam visíveis. */
body.jcp-information-active .woocommerce-NoticeGroup-checkout:not(.jcp-has-general-errors),
body.jcp-information-active .woocommerce-notices-wrapper:not(.jcp-has-general-errors) > .woocommerce-error:not(.jcp-has-general-errors),
body.jcp-information-active .wcf-notices-wrapper:not(.jcp-has-general-errors) > .woocommerce-error:not(.jcp-has-general-errors),
body.jcp-information-active form.checkout > .woocommerce-error:not(.jcp-has-general-errors),
body.jcp-information-active form.wcf-checkout-form > .woocommerce-error:not(.jcp-has-general-errors) {
  display: none !important;
}

body.jcp-information-active .woocommerce-NoticeGroup-checkout.jcp-has-general-errors,
body.jcp-information-active .woocommerce-notices-wrapper.jcp-has-general-errors,
body.jcp-information-active .wcf-notices-wrapper.jcp-has-general-errors,
body.jcp-information-active .woocommerce-error.jcp-has-general-errors {
  display: block !important;
}

body.jcp-checkout-active .jcp-field-error {
  display: block !important;
  width: 100%;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  color: #D92D20 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

body.jcp-checkout-active .jcp-field-invalid input.input-text,
body.jcp-checkout-active .jcp-field-invalid select,
body.jcp-checkout-active .jcp-field-invalid textarea {
  border-color: #D92D20 !important;
  background: #FFF8F8 !important;
  box-shadow: none !important;
}

body.jcp-checkout-active .jcp-field-invalid input.input-text:focus,
body.jcp-checkout-active .jcp-field-invalid select:focus,
body.jcp-checkout-active .jcp-field-invalid textarea:focus {
  border-color: #D92D20 !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, .10) !important;
}

/* Barra do PodPay: invisível em qualquer situação até existir clique real. */
body.jcp-payment-active .payment-container .progress-container.jcp-progress-guarded:not(.jcp-progress-started) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

body.jcp-payment-active .payment-container .progress-container.jcp-progress-started {
  visibility: visible !important;
  opacity: 1 !important;
  height: 7px !important;
  min-height: 7px !important;
  margin: 12px 0 0 !important;
}

/* Toast original da PodPay, agora movido para fora do layout escondido. */
body.jcp-payment-active #jcp-payment-root > .toast,
body.jcp-payment-active #jcp-payment-root .toast {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.jcp-payment-active #jcp-payment-root > .toast.show,
body.jcp-payment-active #jcp-payment-root .toast.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  color: #FFFFFF !important;
  z-index: 9999999 !important;
}

@media (max-width: 600px) {
  /* Card Detalhes de cobrança com o mesmo contorno cinza discreto do desktop. */
  body.jcp-checkout-active form.checkout #customer_details,
  body.jcp-checkout-active .wcf-embed-checkout-form #customer_details {
    border: 1px solid #DDE1E7 !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
  }

  /* Card Seu pedido: uma única aparência, borda pequena e sem fundo externo. */
  body.jcp-checkout-active form.checkout #order_review_heading,
  body.jcp-checkout-active .wcf-embed-checkout-form #order_review_heading {
    border-color: #DDE1E7 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
  }

  body.jcp-checkout-active form.checkout #order_review,
  body.jcp-checkout-active .wcf-embed-checkout-form #order_review {
    border-color: #DDE1E7 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
  }

  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-col2-set,
  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-wrap,
  body.jcp-checkout-active .wcf-embed-checkout-form .wcf-order-review-wrapper {
    background: transparent !important;
    box-shadow: none !important;
  }

  body.jcp-checkout-active .jcp-field-error {
    margin-top: 6px !important;
    font-size: 11.5px !important;
  }
}

/* ==========================================================
   Jato Checkout Pro 1.6 — botão confirmado e rodapé completo
   ========================================================== */

/* Botão do painel na confirmação de pagamento: largura total e tamanho correto. */
body.jcp-payment-active .payment-container .approved-box a[href*="minha-conta"],
body.jcp-payment-active .payment-container #payment-approved-section a[href*="minha-conta"],
body.jcp-payment-active .payment-container .jcp-approved-panel-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 52px !important;
  margin: 18px 0 0 !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body.jcp-payment-active .payment-container .approved-box a[href*="minha-conta"]:hover,
body.jcp-payment-active .payment-container #payment-approved-section a[href*="minha-conta"]:hover,
body.jcp-payment-active .payment-container .jcp-approved-panel-button:hover {
  background: #D80000 !important;
  color: #FFFFFF !important;
}

/* Rodapé também no checkout, centralizado e com espaço real no fim da página. */
.jcp-checkout-footer {
  clear: both;
  width: min(720px, calc(100% - 32px));
  margin: 42px auto 0 !important;
}

.jcp-payment-footer {
  padding-bottom: 42px;
}

/* Linha final e logo abaixo, presente no checkout e na tela de pagamento. */
.jcp-footer-end {
  width: 100%;
  margin: 26px auto 0;
  padding: 0 12px;
  text-align: center;
}

.jcp-footer-separator {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0 0 22px;
  background: #E1E5EA;
}

.jcp-footer-brand-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 3px;
  border: 1px solid #E1E5EA;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: none;
  text-decoration: none;
}

.jcp-footer-brand-logo img {
  display: block;
  width: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  border-radius: 50%;
  object-fit: cover;
}

/* Evita que wrappers do CartFlows comprimam o rodapé do checkout. */
body.jcp-checkout-active .jcp-checkout-footer,
#jcp-standalone-root .jcp-checkout-footer {
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  max-width: 720px !important;
}

@media (max-width: 600px) {
  body.jcp-payment-active .payment-container .approved-box a[href*="minha-conta"],
  body.jcp-payment-active .payment-container #payment-approved-section a[href*="minha-conta"],
  body.jcp-payment-active .payment-container .jcp-approved-panel-button {
    min-height: 50px !important;
    padding: 13px 16px !important;
    font-size: 14px !important;
  }

  .jcp-checkout-footer {
    width: calc(100% - 20px);
    margin-top: 28px !important;
  }

  .jcp-payment-footer {
    padding-bottom: 30px;
  }

  .jcp-footer-end {
    margin-top: 22px;
    padding: 0 4px;
  }

  .jcp-footer-separator {
    margin-bottom: 18px;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.6.1 — ajuste final do rodapé
   ========================================================== */

/* No checkout, a linha fica antes do card de suporte. */
.jcp-checkout-footer-separator {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0 0 24px;
  background: #E1E5EA;
}

/* O e-mail de suporte mantém a cor padrão preta, mesmo com CSS do tema. */
.jcp-payment-footer .jcp-support-email a,
.jcp-checkout-footer .jcp-support-email a {
  color: #111111 !important;
}

/* Somente “Painel” recebe o destaque vermelho na frase de entrega. */
.jcp-payment-signature a {
  color: #FF0000 !important;
}

.jcp-payment-signature b {
  color: inherit !important;
  font-weight: 850;
}

@media (max-width: 600px) {
  .jcp-checkout-footer-separator {
    margin-bottom: 20px;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.7.1 — rodapé idêntico no checkout e Pix
   ========================================================== */

/* Impede regras do tema/CartFlows de deixarem o nome da marca branco. */
.jcp-payment-footer .jcp-support-copy h3,
.jcp-checkout-footer .jcp-support-copy h3,
.jcp-payment-footer .jcp-payment-signature > strong,
.jcp-checkout-footer .jcp-payment-signature > strong {
  color: #111111 !important;
}

/* ==========================================================
   Jato Checkout Pro 1.7.3 — código Pix estável + toast compacto
   ========================================================== */

/* Mantém toda a área Pix dentro da largura disponível, sem rolagem lateral. */
body.jcp-payment-active #jcp-payment-root,
body.jcp-payment-active #jcp-payment-root .jcp-payment-stage,
body.jcp-payment-active #jcp-payment-root .payment-container {
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* O código e o botão continuam lado a lado. O texto longo fica recortado
   visualmente, mas o valor integral permanece no input e no botão Copiar. */
body.jcp-payment-active .payment-container .copy-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.jcp-payment-active .payment-container .copy-container input#pix_code,
body.jcp-payment-active .payment-container .copy-container input[type="text"] {
  display: block !important;
  flex: 1 1 0 !important;
  width: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  direction: ltr !important;
  touch-action: pan-y !important;
  overscroll-behavior-inline: contain !important;
  caret-color: transparent !important;
}

body.jcp-payment-active .payment-container .copy-container button#copy_button,
body.jcp-payment-active .payment-container .copy-container button {
  flex: 0 0 auto !important;
  max-width: 42% !important;
  white-space: nowrap !important;
}

/* Toast original da PodPay: compacto, centralizado e sem largura de 100%. */
body.jcp-payment-active .toast,
body.jcp-payment-active #jcp-payment-root > .toast,
body.jcp-payment-active #jcp-payment-root .toast {
  left: 50% !important;
  right: auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: min(380px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  padding: 12px 17px !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}

@supports not (width: max-content) {
  body.jcp-payment-active .toast,
  body.jcp-payment-active #jcp-payment-root > .toast,
  body.jcp-payment-active #jcp-payment-root .toast {
    width: auto !important;
  }
}

@media (max-width: 600px) {
  body.jcp-payment-active .payment-container .copy-container {
    gap: 7px !important;
    padding: 7px !important;
  }

  body.jcp-payment-active .payment-container .copy-container input#pix_code,
  body.jcp-payment-active .payment-container .copy-container input[type="text"] {
    width: 0 !important;
    padding-inline: 9px !important;
  }

  body.jcp-payment-active .payment-container .copy-container button#copy_button,
  body.jcp-payment-active .payment-container .copy-container button {
    min-width: 72px !important;
    max-width: 38% !important;
    padding-inline: 11px !important;
  }

  body.jcp-payment-active .toast,
  body.jcp-payment-active #jcp-payment-root > .toast,
  body.jcp-payment-active #jcp-payment-root .toast {
    bottom: 16px !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 30px) !important;
    padding: 11px 15px !important;
    font-size: 14px !important;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.7.4 — recuperação local da imagem Pix
   ========================================================== */

/* A imagem é reconstruída usando o mesmo Pix copia e cola quando o PNG
   temporário da PodPay não carregar. Estas regras atingem somente a tela Pix. */
body.jcp-payment-active .payment-container .pix-image.jcp-qr-generated {
  display: block !important;
  width: 320px !important;
  max-width: min(82vw, 320px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  image-rendering: pixelated;
  background: #FFFFFF !important;
}

body.jcp-payment-active .payment-container .pix-image.jcp-qr-broken {
  color: transparent !important;
}

@media (max-width: 600px) {
  body.jcp-payment-active .payment-container .pix-image.jcp-qr-generated {
    width: min(78vw, 300px) !important;
    max-width: 100% !important;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.7.5 — QR Pix vermelho com cantos
   ========================================================== */

/* Moldura inspirada no modelo enviado, sem alterar o código Pix nem a área
   silenciosa necessária para a leitura. Tudo fica restrito à tela do Pix. */
body.jcp-payment-active .payment-container .jcp-qr-frame {
  position: relative !important;
  display: block !important;
  width: 330px !important;
  max-width: min(82vw, 330px) !important;
  margin: 22px auto 14px !important;
  padding: 8px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  line-height: 0 !important;
  overflow: visible !important;
}

body.jcp-payment-active .payment-container .jcp-qr-frame .pix-image,
body.jcp-payment-active .payment-container .jcp-qr-frame .pix-image.jcp-qr-generated {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  object-fit: contain !important;
  image-rendering: pixelated;
}

body.jcp-payment-active .payment-container .jcp-qr-corner {
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  pointer-events: none !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner::before,
body.jcp-payment-active .payment-container .jcp-qr-corner::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  border-radius: 3px !important;
  background: var(--jcp-qr-corner, #FF0000) !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner::before {
  width: 38px !important;
  height: 4px !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner::after {
  width: 4px !important;
  height: 38px !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-left {
  top: 5px !important;
  left: 5px !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-left::before,
body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-left::after {
  top: 0 !important;
  left: 0 !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-right {
  top: 5px !important;
  right: 5px !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-right::before {
  top: 0 !important;
  right: 0 !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-top-right::after {
  top: 0 !important;
  right: 0 !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-left {
  bottom: 5px !important;
  left: 5px !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-left::before {
  bottom: 0 !important;
  left: 0 !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-left::after {
  bottom: 0 !important;
  left: 0 !important;
}

body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-right {
  right: 5px !important;
  bottom: 5px !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-right::before {
  right: 0 !important;
  bottom: 0 !important;
}
body.jcp-payment-active .payment-container .jcp-qr-corner.is-bottom-right::after {
  right: 0 !important;
  bottom: 0 !important;
}

@media (max-width: 600px) {
  body.jcp-payment-active .payment-container .jcp-qr-frame {
    width: min(78vw, 310px) !important;
    max-width: 100% !important;
    padding: 5px !important;
    border-radius: 17px !important;
  }

  body.jcp-payment-active .payment-container .jcp-qr-corner {
    width: 32px !important;
    height: 32px !important;
  }

  body.jcp-payment-active .payment-container .jcp-qr-corner::before {
    width: 32px !important;
  }

  body.jcp-payment-active .payment-container .jcp-qr-corner::after {
    height: 32px !important;
  }
}


/* ==========================================================
   Jato Checkout Pro 1.7.6 — QR preto configurável + tutorial em etapas
   ========================================================== */
body.jcp-payment-active .payment-container .pix-instructions.jcp-pix-instructions-enhanced,
body.jcp-payment-active .payment-container .pix-instructions {
  margin-top: 20px !important;
  padding: 16px !important;
  border: 1px solid #E1E5EA !important;
  border-radius: 17px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .pix-instructions h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
  color: var(--jcp-text) !important;
}

body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 0 10px !important;
  padding: 12px 13px !important;
  border: 1px solid #E3E7EC !important;
  border-radius: 13px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
}

body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  background: rgba(255, 0, 0, .09) !important;
  color: var(--jcp-accent) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step-text {
  min-width: 0 !important;
  color: var(--jcp-text) !important;
  line-height: 1.5 !important;
  font-size: 14px !important;
  text-align: left !important;
}

body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-safe {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 13px 0 0 !important;
  padding-top: 2px !important;
  color: #596273 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-align: center !important;
}

body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-safe svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--jcp-accent) !important;
  color: var(--jcp-accent) !important;
  flex: 0 0 16px !important;
}

@media (max-width: 600px) {
  body.jcp-payment-active .payment-container .pix-instructions.jcp-pix-instructions-enhanced,
  body.jcp-payment-active .payment-container .pix-instructions {
    padding: 13px !important;
    border-radius: 15px !important;
  }

  body.jcp-payment-active .payment-container .pix-instructions h3 {
    font-size: 17px !important;
  }

  body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    padding: 11px 12px !important;
    gap: 9px !important;
  }

  body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step-number {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
  }

  body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-step-text,
  body.jcp-payment-active .payment-container .pix-instructions .jcp-pix-safe {
    font-size: 12.5px !important;
  }
}

